Skip to content
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

[control] rework the stabilization for rotorcraft #3248

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

gautierhattenberger
Copy link
Member

Introducing several changes to the control stask for the stabilization:

  • new structures: stabilization, stab (att and/or rates) and thrust (vector)
  • more functional approach: stabilization receives the stab and thrust setpoints from guidance and fill command vector at the end
  • modes and sub-modes are redefined (split stab and guidance modes), some AP modes are removed (FLIP and MODULE)
  • the AP_MODULE mode is replaced by generated autopilot
  • the ABI hack for guidance indi is not needed anymore
  • AP generator supports a new 'store' attribute to use return values of functions
  • cleaning of the stabilization API (for setter functions)

Most of the changes should have been tested in simulation, but not much in real flight. Even if it is a quite big changes, I think it is an overall simplification of the control architecture.

@gautierhattenberger
Copy link
Member Author

It seems that the RC inputs are not correctly handled anymore. I'm looking at this.

@gautierhattenberger
Copy link
Member Author

Updating with a better support of RC inputs, where each part is properly separated (AP, stab, guidance_h/v)

Introducing several changes to the control stask for the stabilization:
- new structures: stabilization, stab (att and/or rates) and thrust (vector)
- more functional approach: stabilization receives the stab and thrust
  setpoints from guidance and fill command vector at the end
- modes and sub-modes are redefined (split stab and guidance modes),
  some AP modes are removed (FLIP and MODULE)
- RC read functions are removed and replaced by ABI bindings, one for
  each part (AP, stab, guidance_h, guidance_v) with dedicated functions
- transition ratio (float in [0-1]) replace transition_percentage (int)
- the AP_MODULE mode is replaced by generated autopilot
- the ABI hack for guidance indi is not needed anymore
- AP generator supports a new 'store' attribute to use return values of
  functions
- cleaning of the stabilization API (for setter functions)
@gautierhattenberger
Copy link
Member Author

@EwoudSmeur @fvantienen @dewagter, did you get a chance to test this branch ? I would like to integrate this soon, by the end of the month if possible. Thanks

Copy link
Member

@EwoudSmeur EwoudSmeur left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Gautier, thanks for your hard work! I simulated some of our drones and that went smoothly! I also looked through the code, I don't really have comments because it is hard to see the structural changes because of all the refactoring, but I agree with your idea. Thank you!

@dewagter
Copy link
Member

@gautierhattenberger: this nice but big PR #3248 together with Freek's #3254 for the black cube chibi and Tomaso's current #3261 and next updates (#3237) will contain quite important changes.

The current version in master is particularly well test-flown.

Would it be an option to make a new release first and merge these big changes in a fresh dev branch?

@gautierhattenberger
Copy link
Member Author

The last stable version dates from December, with around 30 commits since that. Next release is usually around June, but if you feel that the changes are worth making a release, it is possible. Honestly, we have not flown a lot during the last months... Note that the current tag is "v7.0_unstable" :)

@gautierhattenberger
Copy link
Member Author

@dewagter so, do you prefer a 7.0 stable version before merging this ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants