Difference between revisions of "Module/collective tracking control"
Jump to navigation
Jump to search
(Created page with " center") |
|||
Line 1: | Line 1: | ||
== Introduction == | |||
This module/algorithm allows a team of aircraft (they can fly at different speeds) to track a (possibly moving) target. In particular, the centroid of the team converges to the target as it is shown in the following screenshots | |||
[[File:Ctc mission.png|center]] | [[File:Ctc mission.png|center]] | ||
== Custom messages == | |||
The module needs all-to-all communication (including the target). The following messages need to be included in your messages.xml. | |||
These messages go in the telemetry section of messages.xml. The CTC_CONTROL message is just for telemetry porpuses. | |||
<source lang="html"> | |||
<message name="CTC" id="37"> | |||
<field name="table" type="int16[]"/> | |||
</message> | |||
<message name="CTC_INFO_FROM_TARGET" id="40"> | |||
<field name="px" type="float"/> | |||
<field name="py" type="float"/> | |||
<field name="vx" type="float"/> | |||
<field name="vy" type="float"/> | |||
</message> | |||
<message name="CTC_CONTROL" id="211"> | |||
<field name="v_centroid_x" type="float" unit="m"/> | |||
<field name="v_centroid_y" type="float" unit="m"/> | |||
<field name="target_vx" type="float" unit="m/s"/> | |||
<field name="target_vy" type="float" unit="m/s"/> | |||
<field name="target_px" type="float" unit="m"/> | |||
<field name="target_py" type="float" unit="m"/> | |||
<field name="ref_px" type="float" unit="m"/> | |||
<field name="ref_py" type="float" unit="m"/> | |||
</message> | |||
<message name="CTC_INFO_TO_NEI" id="255"> | |||
<field name="vx" type="float"/> | |||
<field name="vy" type="float"/> | |||
<field name="px" type="float"/> | |||
<field name="py" type="float"/> | |||
</message> | |||
</source> | |||
These messages go in the datalink section of messages.xml. They are necessary to init the algorithm from the ground control station. | |||
<source lang="html"> | |||
<message name="CTC_REG_TABLE" id="160" link="forwarded"> | |||
<field name="ac_id" type="uint8"/> | |||
<field name="nei_id" type="uint8"/> | |||
</message> | |||
<message name="CTC_CLEAN_TABLE" id="161" link="forwarded"> | |||
<field name="ac_id" type="uint8"/> | |||
</message> | |||
</source> | |||
== Python Simulation == | |||
One can run a Python simulation in ./paparazzi/sw/ground_segment/python/collective_tracking_control/ctc_simulation.py |
Revision as of 03:04, 29 October 2019
Introduction
This module/algorithm allows a team of aircraft (they can fly at different speeds) to track a (possibly moving) target. In particular, the centroid of the team converges to the target as it is shown in the following screenshots
Custom messages
The module needs all-to-all communication (including the target). The following messages need to be included in your messages.xml.
These messages go in the telemetry section of messages.xml. The CTC_CONTROL message is just for telemetry porpuses.
<message name="CTC" id="37">
<field name="table" type="int16[]"/>
</message>
<message name="CTC_INFO_FROM_TARGET" id="40">
<field name="px" type="float"/>
<field name="py" type="float"/>
<field name="vx" type="float"/>
<field name="vy" type="float"/>
</message>
<message name="CTC_CONTROL" id="211">
<field name="v_centroid_x" type="float" unit="m"/>
<field name="v_centroid_y" type="float" unit="m"/>
<field name="target_vx" type="float" unit="m/s"/>
<field name="target_vy" type="float" unit="m/s"/>
<field name="target_px" type="float" unit="m"/>
<field name="target_py" type="float" unit="m"/>
<field name="ref_px" type="float" unit="m"/>
<field name="ref_py" type="float" unit="m"/>
</message>
<message name="CTC_INFO_TO_NEI" id="255">
<field name="vx" type="float"/>
<field name="vy" type="float"/>
<field name="px" type="float"/>
<field name="py" type="float"/>
</message>
These messages go in the datalink section of messages.xml. They are necessary to init the algorithm from the ground control station.
<message name="CTC_REG_TABLE" id="160" link="forwarded">
<field name="ac_id" type="uint8"/>
<field name="nei_id" type="uint8"/>
</message>
<message name="CTC_CLEAN_TABLE" id="161" link="forwarded">
<field name="ac_id" type="uint8"/>
</message>
Python Simulation
One can run a Python simulation in ./paparazzi/sw/ground_segment/python/collective_tracking_control/ctc_simulation.py