-
Notifications
You must be signed in to change notification settings - Fork 13.3k
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
Add support for quadtailsitter in SITL Gazebo #20558
Conversation
Very cool push, the model looks nice! But doesn't really work in FW for me, does it for you? Maybe there is more work from https://github.com/PX4/PX4-Autopilot/commits/pr-enable-quad-tailsitter-diff-thrust-main we can pull to improve the control. |
Thanks! Yes, the fixedwing attitude control still needs a bit(a lot) of tuning 😄 For some reason after the geometry changed from the previous tailsitter, it seems to be harder to tune. |
177bf13
to
d6d4ac0
Compare
51de421
to
5a8a1f3
Compare
bcd5ca7
to
b62329a
Compare
8b53d47
to
fc0835b
Compare
2b9f800
to
048cd3b
Compare
Switching to the advanced lift drag plugin helped a lot in getting this stable. Screen recording: |
@julianoes Thanks! Might need a bit more tuning to make it nicer, but overall I think it is ready to get in
Roll rate seems to oscillate a lot in a bank |
@Jaeyoung-Lim wow the back transition in the video happens out nowhere, that's a bit suboptimal, although probably unrelated to this PR. |
I've STIL tested it quite extensively and proposed some tuning adaptions. I noticed that the FW rate controller saturation logic is wrong with this model, as here we have the FW actuators in the matrix instance 0 and not 1. It results in the rate controller I being disabled in the FW flight. I'm checking what we could do against it short term.
|
@julianoes tailsitter SITL tests seems to be reliably failing after PX4/PX4-SITL_gazebo-classic#980 |
71d7dfe
to
053993f
Compare
Force pushed to remove unrelated commit and push that in a separate PR: #21592 |
I think that's funny. We should swap it to the advanced lift drag plugin. The model working before seemed pretty much nonsense. |
I've adapted the tuning now also for the tailsitter with control surfaces, see last two commits. |
@tstastny @sfuhrer @julianoes Anything else to address to get this in? I would rather merge it and address improvements separately |
@Jaeyoung-Lim let's resolve the conflict and get this in, I also don't see any blocker. |
This is now using the advanced lift drag plugin. The important step was to enable airmode for yaw, otherwise yaw gets saturated at low throttle and we can barely roll. The other trick was to raise airspeed a little bit to avoid operating too much at the lower end of throttle where control authority is low. Signed-off-by: Julian Oes <julian@oes.ch>
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
5s is a more reasobale time for tailsitters, which rely differently on this param than other VTOL types. Tailsitters will ramp the pitch up withing this time, while for other VTOLS types its only the max transitiont time. Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
f474c35
to
e290376
Compare
@sfuhrer Thanks! Done! |
Describe problem solved by this pull request
The current tailsitter model has control surfaces, and a control surface-less tailsitter was not available for testing in simulation
Describe your solution
This PR adds support for a quadtailsitter, which models the HEQ SWAN K1.
The 3D mesh was provided by Holybro
Test data / coverage
Tested in SITL Gazebo
Additional context