-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Nav rotorcraft rework #2964
Nav rotorcraft rework #2964
Conversation
Thx, nice development. @gautierhattenberger @Fabien-B Small remark, It would be great if the testdrone color is not the same green as the expected track, can you make it Pink, Yellow or Reddish, or Cyan please. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work Gautier! I think it was a great idea to bring a bit more structure to the guidance. I had a few questions looking through the code, but from what I could see it all made sense. It's hard to keep track of all the changes, as some things were just moved. I'll try to do some simulation tests soon!
sw/airborne/firmwares/rotorcraft/stabilization/stabilization_indi.c
Outdated
Show resolved
Hide resolved
sw/airborne/firmwares/rotorcraft/guidance/guidance_indi_hybrid.c
Outdated
Show resolved
Hide resolved
it should be already done before in guidance, depending if the flag GUIDANCE_HEADING_IS_FREE is set or not
@EwoudSmeur after testing again in simulation, I realized that the |
|
||
<dl_setting var="cruise_throttle" MIN="0" STEP="1" MAX="9600" shortname="cruis_throttle"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cruise Throttle
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have removed the shortname
instead of correcting the spelling since it was the same than name
(so it makes no difference in the end)
After maybe @EwoudSmeur has checked it we can merge it. |
@@ -9,7 +9,7 @@ | |||
<settings> | |||
<dl_settings> | |||
<dl_settings NAME="guidance_indi_hybrid"> | |||
<dl_setting var="gih_params.liftd_p50" min="0.1" step="0.1" max="10.0" shortname="liftd_p50" param="GUIDANCE_INDI_LIFTD_P50" persistent="true"/> | |||
<dl_setting var="gih_params.liftd_p50" min="0.1" step="0.1" max="10.0" shortname="liftd_p50" param="GUIDANCE_INDI_LIFTD_P50" persistent="true" module="guidance/guidance_indi_hybrid"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is there a module added here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The module
attribute is a legacy prior to the "modules" we have now. It can be replaced by header
and it was used to specified the header file for settings.
We will clean that someday...
&(stateGetPositionEnu_i()->x), | ||
&(stateGetPositionEnu_i()->y), | ||
&(stateGetPositionEnu_i()->z), | ||
&pos->x, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If our navigation is in floats does it still make sense to send it down in integers? (Maybe something for later to update)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, indeed, but it is more related to redefining most messages, so it is an other job
This is a complete rework of the navigation for rotorcraft with the key features: - all nav functions and interface in float - nav function are registered (decoupling between nav API and implementation of standard pattern) - submodes to specify if setpoint is a position (legacy), speed or accel (better integration of algorithms like GVF) - guidance (H and V) is reorganized with default function to implement (run_pos, run_speed, run_accel) - guidance control (the old default PID) is separated from the guidance logic --------- Co-authored-by: Freek van Tienen <freek.v.tienen@gmail.com>
This is a complete rework of the navigation for rotorcraft with the key features:
Still some questions ahead:
@EwoudSmeur @fvantienen What is your opinion about this approach ? Do you see a proper way to integrate the indi/hybrid in a with this ?
I would like to split the stabilization from guidance, but maybe it is a bit to much for a single pull request ?