-
Notifications
You must be signed in to change notification settings - Fork 16.8k
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
Plane: tiltrotors: allow vectored yaw motor tilt when disarmed #12756
Conversation
I'm don't think this is more intuitive than yawing the plane and seeing the yaw tilt motor move to counteract. That is what I think it does now? |
It does nothing when disarmed, and I've never seen the tilt servos react to yaw without the props spinning. |
Its been a long time since I have played with VTOL stuff IRL. I thinking again your correct, in that case I think this makes sense. The only possible issue is that in arming it will do a full yaw. On some vehicles this might make the props hit the ground. Is there a options bitmask parameter somewhere we could put this in? |
Yes, this has the potential disadvantage that rudder arm/disarm results in maximum yaw tilt. And when you put a Convergence or a TVBS into FBWA the motors promptly tilt all the way forward, even when disarmed, which pretty much guarantees that props will scrape the ground. I don't think there are any existing params which could be exploited to turn this on and off. |
this could spin up while tilted |
Demo with Q_M_SPIN_ARM and Q_M_SPIN_MIN set to 0.15. Note that on arming with rudder, motors return to vertical during the warning beep and before spooling up. But on rudder disarm, the motors tilt while coasting down. added 3 second delay from disarm to tilt |
5b97026
to
51e204c
Compare
Copter's ARMING_DELAY is not implemented in quadplane. Commit 51e204c adds a const expression: ARMING_DELAY_MS = 2000; and delays spoolup in motors_output for that length of time. This also allows time for the motor tilt to return to vertical on rudder arming. |
You could put the this and the delay as a bit on this param ardupilot/ArduPlane/quadplane.cpp Line 333 in 36ea023
So by default there is no change, if you enable the bit you get the tilting and the delay |
Cool... Question is whether this is a safety issue that was overlooked in quadplane. In Copter (and PX4) there is an intentional delay between arming (and the start of the arming tone) and the motors spinning up. Gives you time to move your fingers out of the way :) |
you could always give them a bit each ;) |
put disarmed tilt on a q_option bit and only do the delays if it is enabled |
c9d5f28
to
9ea8f50
Compare
9ea8f50
to
cfe7938
Compare
@tridge I think this is acceptable now... |
rebased and tested on miniConvergence with mRoX21 |
@tridge added the missing parentheses and squashed; ready to merge if it passes CI |
ArduPlane/quadplane.cpp
Outdated
motors->output(); | ||
return; | ||
} else { | ||
hal.util->reset_delay_arming(); |
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 don't think this belongs at the hal level, it creates a dependency on ARMING_DELAY_MS in the hal
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.
OK, won't consider consolidating the arming delay with copter
@tridge moved arming_delay from HAL to quadplane |
moving arming_delay logic to AP_Arming_Plane gives better localization and simplifies the logic in quadplane.cpp SITL test:
|
b1afea9
to
589787f
Compare
demonstration of disarmed motor tilt and rudder arm/disarm with spoolup delayed till end of alarm tone |
589787f
to
e411612
Compare
add disarm tilt delay add arming delay add Q_OPTIONS for disarmed motor tilt and delayed arming add comment explaining arming delay option eliminate millis() wrap in arming delay
e411612
to
7c8b1e8
Compare
Useful for checking the vectored yaw tilt direction and range when setting up tilt SERVO MAX/MIN and Q_TILT_YAW_ANGLE