|
|
* [Intro](#intro)
|
|
|
* [Input](#input)
|
|
|
* [Output](#output)
|
|
|
* [Quickstart](#quickstart)
|
|
|
* [Velocity Commmander](#velocity-commmander)
|
|
|
* [Full Setup](#full-setup)
|
|
|
* [Launch System](#launch-system)
|
|
|
* [Entry Launchfiles](#entry-launchfiles)
|
|
|
* [General Launchfile](#general-launchfile)
|
|
|
* [Results {.tabset}](#results-tabset)
|
|
|
* [Plots](#plots)
|
|
|
* [Tables](#tables)
|
|
|
[[_TOC_]]
|
|
|
|
|
|
|
|
|
# Intro
|
|
|
|
... | ... | @@ -85,32 +75,46 @@ These transformations should not be used for further processing. Their purpose i |
|
|
|
|
|
# Quickstart
|
|
|
|
|
|
As explained in the [introduction](#intro), this package consists of two nodes. In the following, quickstart guides for only using the `velocity_commander` and for using the full setup are given. These are prepared to work only in a gazebo simulation. For an execution on the target hardware, see [Launch System](#launch-system).
|
|
|
As explained in the [introduction](#intro), this package consists of two nodes. In the following, quickstart guides for only using the `velocity_commander` and for using the full setup are given. These can be executed in a simulation with gazebo or on the target hardware. In case the procedure differs, this is explained. \
|
|
|
To follow this quickstart manual, [QGroundControl](https://docs.qgroundcontrol.com/master/en/getting_started/quick_start.html) must be installed. Also for execution on the target hardware, make sure that the [RTPS Connection](hardware/rtps-connection) is set up properly.
|
|
|
|
|
|
## Velocity Commmander
|
|
|
The setup for simulation and the target hardware is very different. So these are explained independently:
|
|
|
|
|
|
**Simulation**\
|
|
|
To test the `velocity_commander` with the gazebo simulation, open a terminal window. Navigate to the `PX4-Autopilot` directory and start the Autopilot:
|
|
|
|
|
|
```plaintext
|
|
|
```
|
|
|
make px4_sitl_rtps gazebo
|
|
|
```
|
|
|
Wait until PX4 is fully started and then type
|
|
|
```
|
|
|
micrortps_client start -t UDP
|
|
|
```
|
|
|
to start the rtps connection on the pixhawk side. Then open a new terminal to start the connection on the ROS side:
|
|
|
```
|
|
|
micrortps_agent start -t UDP &
|
|
|
```
|
|
|
|
|
|
wait until the PX4 is fully started and then start the micrortps handler on the PX4 side by typing:
|
|
|
Then connect to PX4 using QGroundControl. Then next steps are explained below the Target section.
|
|
|
|
|
|
```plaintext
|
|
|
micrortps_client start -t UDP &
|
|
|
**Target**\
|
|
|
To apply this quickstart to the software running on the target hardware (i.e. Pixhawk and Raspberry Pi), start the Pixhawk and connect to it using QGroundControl. Then open the [Mavlink Console](https://docs.qgroundcontrol.com/master/en/analyze_view/mavlink_console.html). There, start the micrortps handler on the PX4 side by typing:
|
|
|
```
|
|
|
micrortps_client start -t UART -d /dev/ttyS3
|
|
|
```
|
|
|
Open a terminal on the Raspberry Pi and type
|
|
|
```
|
|
|
micrortps_agent start -t UART -d /dev/ttyUSB0 &
|
|
|
```
|
|
|
|
|
|
Then open another terminal and launch the corresponding ROS2 launch file:
|
|
|
|
|
|
**Further steps**\
|
|
|
The last steps are independent on whether they are executed in the simulation or on target hardware. Go the last opened terminal and type
|
|
|
```plaintext
|
|
|
micrortps_agent start -t UDP &
|
|
|
ros2 run landing_controller velocity_commander
|
|
|
```
|
|
|
to start the velocity commander.
|
|
|
|
|
|
This start the micrortps handler for ROS and the `velocity_commander` node.
|
|
|
|
|
|
Finally, open a third and terminal and type:
|
|
|
Finally, open another terminal and type:
|
|
|
|
|
|
```plaintext
|
|
|
ros2 run teleop_twist_keyboard teleop_twist_keyboard
|
... | ... | @@ -122,9 +126,12 @@ If an error occurs, this package is probably not installed. To fix this, type: |
|
|
sudo apt-get install ros-$ROS_DISTRO-teleop-twist-keyboard
|
|
|
```
|
|
|
|
|
|
Once the node is started, the avaible keys to control the drone are presented. For the current setup, the Holonomic mode must be used by pressing the shift key. When now applying the shown controls, the drone moves in the gazebo environment according to these commands.
|
|
|
Once the node is started, the avaible keys to control the drone are presented. For the current setup, the Holonomic mode must be used by pressing the shift key. \
|
|
|
To start the drone, go to QGroundControl, press the `Takeoff` button on the left and confirm by moving the slider on the bottom of the window. Once the drone has reached its hold altitude, click on the flight mode in the top left corner (on the right of the 'Flying' tag) and choose `Offboard`. Now switch back to the terminal with the teleoperation node. When applying the shown controls, the drone moves according to these commands.
|
|
|
|
|
|
## Full Setup
|
|
|
TODO
|
|
|
|
|
|
|
|
|
# Launch System
|
|
|
|
... | ... | @@ -146,4 +153,10 @@ The launch files that are supposed to be called using `ros2 launch` are `simulat |
|
|
|
|
|
This launch file starts all nodes which are independent of the environment (i.e. simulation or realworld). At first the `velocity_controller` and `velocity_commander` are started. Afterwards the launch file calls the rosbag to record all necessary topics. Therefore, the `VelocityCommander` class is examined and all topics which communicate with it are added to the list with the recorded topics.
|
|
|
|
|
|
You can turn parallel sections to tabs in `html_document` output. |
|
|
\ No newline at end of file |
|
|
# Documentation
|
|
|
TODO
|
|
|
## Velocity Controller
|
|
|
- internal tf tree
|
|
|
- determining error e -> apply control
|
|
|
## Velocity Commander
|
|
|
-> no arming nor changing mode |
|
|
\ No newline at end of file |