-
Notifications
You must be signed in to change notification settings - Fork 13.6k
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
VTOL Weathervane functionality - cleaned #9830
Conversation
@sanderux FYI |
@ivodre Could you please rebase on master? |
@RomanBapst Where is this standing? |
@LorenzMeier We are going to fly it today. |
vtol_att_control Orients the VTOL aircraft with the nose facing the wind. This is done by using the (nonzero) roll setpoint necessary to stay on a fixed position to determine in which direction to turn in order to turn nose to wind. When nose is against wind only pitch/pusher will be necessary for staying in one position. Signed-off-by: Ivo Drescher <ivo.drescher@gmail.com>
2b0299d
to
a3b1f12
Compare
@LorenzMeier Rebase done. @roman I hope the flight tests go well! |
@ivodre I finally got a little bit of wind on Friday and tested this on the convergence vtol. There wasn't really a lot of wind but I thought it might have been enough to see the algorithm working. Looking at the log I assume I need to increase the gain of the algorithm and possibly also tune the yaw rate loop of the convergence better. I do see the commanded yaw_sp_move_rate but it's not tracked well (no the problem of the weather-vane algorithm) Here's the log file: I basically hovered the entire time in position control at one spot. Since there was not too much wind I pulled one side of the wing during the last phase of the flight to simulate stronger wind. |
@RomanBapst I fully agree. It looks like even as you had a roll angle of 20 degrees towards the end, the yaw_sp_move_rate did not go over 10 deg/s. I would increase the gain (maybe double it first, but it could be that the proper gain is 5 times higher than the current one). Without wind, we also tested the algorithm by commanding a sideways movement. Let's say you command it to fly to the left. The result of commanding a left movement should be that while the aircraft first rolls to the left to achieve that movement it also starts rotating (yawing) to the left. You can use this to tune the gain until there is a reasonable yawing toward the direction you are heading to. |
@ivodre Where are you standing with testing this? We would love get this validated, tuned and merged. Where is your own testing standing? |
@LorenzMeier I am using this functionality already and saw it working well also in relatively strong wind. What would you guys need in terms of validation and tuning? Do you have feedback? One thing we might want to discuss is the behavior of the drone when What is happening right now: The current behavior has the advantage that the transition direction does not depend on where the wind is coming form and can therefore be predicted. The disadvantage might be that the vehicle is turning away from its optimal heading towards the wind when we switch to altitude control (I never experienced issues/instabilities due to that though). |
@ivodre We finally had strong wind yesterday and were able to test this. I have to say it works quite well!
Here is the log file: |
@RomanBapst Great testing! What is the timeline to get this rebased & merged with the additional fixes you suggested? |
This might be a terrible idea, but we could consider trying the "Simple" style relative control with manual position mode plus weathervaning active. |
@RomanBapst I believe it's the yaw setpoint in the position controller. It either needs to be made aware of weathervaning, or kept constrained. Take a look at the thrust -> attitude helper. |
@dagar Are you suggesting to superpose a manually controlled yaw rate over the yaw rate commanded by the weathervaning function (if the manual yaw command is 0 than it's just the weathervaning, otherwise a combination of weathervaning and manual yaw rate (which can be stronger than the yaw rate form weathervaning))? |
@RomanBapst @dagar We could introduce an option to select what steering mode we want to use when weathervaning is active (or allow the user to switch between two "types" of weathervaning. If you guys want I could join the dev call next Wednesday to discuss this. |
@ivodre @dagar Having manual yaw rate control on top of weathervane actually does not sound too bad. Basically if you have no wind at all it could be annoying if you cannot yaw because there is no specific heading that makes sense. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Closing as stale. |
vtol_att_control
Orients the VTOL aircraft with the nose facing the wind.
This is done by using the (nonzero) roll setpoint necessary to stay on a fixed position to determine in which direction to turn in order to turn nose to wind. When nose is against wind only pitch/pusher will be necessary for staying in one position.
Signed-off-by: Ivo Drescher ivo.drescher@gmail.com
@RomanBapst @dagar