Update 'README.md'

This commit is contained in:
cesar.alejandro 2022-07-05 08:01:50 -07:00
parent b42dba5375
commit b5f831aacd
1 changed files with 51 additions and 21 deletions

View File

@ -136,59 +136,89 @@ In catkin_ws (or any working directory) add to devel/setup.bash:
## ROS NODES
__LinkState.py__ determines payload load angles and their rates (theta and phi) using Gazebo (needs to be made more robust), as well as determines tether length and keeps track of variables needed in case of step test.
### Publishes to:
### LinkState.py
determines payload load angles and their rates (theta and phi) using Gazebo (needs to be made more robust), as well as determines tether length and keeps track of variables needed in case of step test.
__Publishes to__:
/status/twoBody_status # localization and angles
/status/load_angles # payload angles (and tates) relative to vehicle
/status/path_follow # boolean to run trajectory test
### Subscribes to:
__Subscribes to__:
none
__wpoint_tracker.py__ Sets original waypoints to be (in meters): [x=0,y=0,z=5]. This node listens to topic to keep track of desired waypoints. If any other node wants to change the waypoints, they publish to "reference/waypoints" and __wpoint_tracker creates these new waypoints.
### Publishes to:
### wpoint_tracker.py
Sets original waypoints to be (in meters): [x=0,y=0,z=5]. This node listens to topic to keep track of desired waypoints. If any other node wants to change the waypoints, they publish to "reference/waypoints" and wpoint_tracker creates these new waypoints.
__Publishes to__:
none
### Subscribes to:
__Subscribes to__:
/reference/waypoints
__ref_signalGen.py__ takes in desired position (xd) and determines smooth path trajectory.
### Publishes to:
### ref_signalGen.py
takes in desired position (xd) and determines smooth path trajectory.
__Publishes to__:
/reference/path # smooth path
/reference/flatsetpoint # needed to determine thrust
### Subscribes to:
__Subscribes to__:
/status/load_angles
/mavros/local_position/pose
/mavros/local_position/velocity_body
/mavros/imu/data
/mavros/state
/reference/waypoints
__klausen_control.py__ determines forces on drone needed based on smooth path and feedback to dampen oscillations. From the forces needed, it publishes attitude commands.
### Publishes to:
### klausen_control.py
determines forces on drone needed based on smooth path and feedback to dampen oscillations. From the forces needed, it publishes attitude commands.
__Publishes to__:
/command/quaternions # attitude commands
### Subscribes to:
__Subscribes to__:
/status/load_angles
/reference/path
/mavros/local_position/pose
/mavros/local_position/velocity_body
/mavros/imu/data
- node from _mavros_controllers/geometric_controller_ subscribes to _/reference/flatsetpoint_ to determine thrust commands which are published to _command/bodyrate_command_ by default
__path_follow.cpp__ sets the vehicle in OFFBOARD mode (PX4) and takes off to a set height for 25 seconds before starting to publish attitude and thrust commands.
### Publishes to:
### path_follow.cpp
sets the vehicle in OFFBOARD mode (PX4) and takes off to a set height for 25 seconds before starting to publish attitude and thrust commands.
__Publishes to__:
mavros/setpoint_position/local # needed to hover @ set height
mavros/setpoint_raw/attitude # attitude and thrust commands
### Subscribes to:
__Subscribes to__:
/command/quaternions
/command/bodyrate_command
/mavros/state
## Launching simulation
- To launch a simulation, run the following command:
To launch a simulation, run the following command:
roslaunch oscillation_ctrl oscillation_damp.launch
- This simulation is set to have a Spiri Mu hover at an alitude of 5 m.
- The launch file itself has two usable arguments:
This simulation is set to have a Spiri Mu hover at an alitude of 5 m.
The launch file itself has two usable arguments:
__model:__
spiri_with_tether # Spiri Mu with a tethered payload
spiri # Spiri Mu without tethered paylaod
headless_spiri_with_tether # headless mode: launches with no Gazebo GUI. This is the default model
spiri_with_tether # Spiri Mu with a tethered payload
spiri # Spiri Mu without tethered paylaod
headless_spiri_with_tether # headless mode: launches with no Gazebo GUI. This is the default model
__test:__