[swarm] add formation control for rotorcraft (#2246)

* [swarm] add formation control for rotorcraft

Based on Ewoud Smeur (INDI) and Hector Garcia de Marina (Formation
control) work. See
https://blog.paparazziuav.org/2017/12/02/pilot-a-super-rotorcraft
- several UAV can be control from the ground (using a joystick for
  instance) by sending proper acceleration setpoint to the INDI guidance
  controller
- configuration of the formation is done from a JSON file (2 example
  files provided)

Some extra changes:
- update accel from IMU in GPS passthrough INS
- add accel setpoint to ABI messages
- by to accel setpoint in INDI guidance
- send ground reference from natnet2ivy
- possibility to have a joystick labeled 'GCS' with input2ivy
This commit is contained in:
Gautier Hattenberger
2018-03-20 16:07:16 +01:00
committed by GitHub
parent 547668c555
commit 789437978d
17 changed files with 859 additions and 37 deletions
+43
View File
@@ -0,0 +1,43 @@
<!-- Thrusmaster T1600 M
4 axis, 1 hat, 16 buttons
Only send ground JOYSTICK messages (4 axis, 4 buttons)
-->
<joystick>
<input>
<axis index="0" name="roll"/>
<axis index="1" name="pitch"/>
<axis index="2" name="yaw"/>
<axis index="3" name="thrust"/>
<button index="0" name="fire"/>
<button index="1" name="top_center"/>
<button index="2" name="top_left"/>
<button index="3" name="top_right"/>
<button index="4" name="b4"/>
<button index="5" name="b5"/>
<button index="6" name="b6"/>
<button index="7" name="b7"/>
<button index="8" name="b8"/>
<button index="9" name="b9"/>
</input>
<messages period="0.05">
<message class="ground" name="JOYSTICK" send_always="true">
<field name="id" value="JoystickID()"/>
<field name="axis1" value="roll"/>
<field name="axis2" value="pitch"/>
<field name="axis3" value="yaw"/>
<field name="axis4" value="Fit(-thrust,-127,127,0,127)"/>
<field name="button1" value="top_left"/>
<field name="button2" value="top_right"/>
<field name="button3" value="fire"/>
<field name="button4" value="top_center"/>
</message>
</messages>
</joystick>