-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Figure of eight loitering #21852
Conversation
@dagar just so that this one doesnt get kicked down the road too far:
do you have insights here how to handle? would the current action look something like default kconfiging the fig8 as disabled while there is a development mavlink link? (but then need to still make sure we have mavsdk test and a build that can run in ci.. even though on all the main binary builds it would be disabled)
Is this already a nogo? or would mavsdk test be enough while this is in mavlink development.xml? If the lack of operator command ease marks this as not good for merging now.. let's just decide quickly so that we'll take this back downstream until such point that we can bring it in more properly upstream. @KonradRudin if we proceed with this PR - you may need to check the implications of this PR on the figure eight logic #21988 |
@tstastny Why not just add it to QGC 😏? |
|
a0ccce0
to
6994eeb
Compare
@dagar is this ok to go in now? before we e.g. run out of flash / need another rebase with other fixed-wing things on the docket? @KonradRudin i re-started the tailsitter test, it was failing, but i didnt see an erroneous timeout.. may actually be something wrong, can you check? https://github.com/PX4/PX4-Autopilot/actions/runs/6655895059/job/18096246149#step:17:1383 |
@dagar all checks passing - should we smash the button? |
The command is sent by a dedicated mavlink command and forwarded to the fixed wing position controller. The pattern is defined by the radius of the major axis, the radius of the minor axis and the orientation. The pattern is then defined by: The upper part of the pattern consist of a clockwise circle with radius defined by the minor axis. The center of the circle is defined by the major axis minus the minor axis away from the pattern center. The lower part of the pattern consist of a counter-clockwise circle with the same definitions as above. In between, the circles are connected with straight lines in a cross configuration. The lines are always tangetial to the circles. The orientation rotates the major axis around the NED down axis. The loitering logic is defined inside its own class used by the fixed wing position control module. It defines which segment (one of the circles or lines) is active and uses the path controller (npfg or l1-control) to determine the desired roll angle. A feedback mavlink message is send with the executed pattern parameters.
c6181ab
to
550cca6
Compare
@tstastny had to rebase, since it had some merge conflicts (only in the mavsdk tests). |
Solved Problem
Add support for a figure of eight loitering pattern for fixed wing vehicles (can e.g. be used to replace orbit when tracking POIs with a limited panning gimbal). This adds the support for the MAV_CMD_DO_FIGURE_EIGHT mavlink command currently defined in the development dialect.
Solution
Changelog Entry
For release notes:
Alternatives
Test coverage
Context
To discuss: