I have a use case where I would like the copter’s propellers to spin backwards, producing an effective reverse thrust. Assuming I have compatible ESCS, is this possible with the current flight stack? Can this behavior be controlled by a companion computer easily?
For simplicity’s purpose, let’s say I wanted the copter to accelerate up at full thrust, and then accelerate downwards at full thrust until it reaches 0 velocity. I would also like to be able to scale this arbitrarily, so for example accelerate at 75% upwards, and then 50% thrust downwards until the copter reaches 0 velocity.
If you have any experience with this, I would be interested in the ESCS you have used and how you set everything up.
No, that’s just an example. The actual reason I want to have this capability is a bit convoluted and not really relevant. Given the ability as described I could then modify it for my needs.
I guess to clarify slightly, ideally I would like to set a position and velocity target over MAVLink with the companion computer, and then the flight controller would then figure out if it needs to “accelerate” or “brake” to meet that target. This would also need to work when traveling downwards as well, so for example, if I set a target that is going faster traveling downwards then the copter is currently, I’d like it to add thrust and accelerate in the downwards direction to meet that target.
If this isn’t possible and I have to manually control thrust somehow I can also work around that.
Yes, just use a “3D” esc and set the throttle such that 1500 is zero throttle. Then throttle commands for under 1500 will be reversed rotation. I would certainly be concerned about the transitions tho.
If you have a 3D ESC this is built-in. 1500 will be zero throttle and lower values are one rotation and positive values are the other rotation. That is a function of the 3D ESC.
You can control the min and max pwm values that affect throttle, not really germane to this thread but:
MOT_PWM_MIN: PWM output miniumum
Note: This parameter is for advanced users
This sets the min PWM output value in microseconds that will ever be output to the motors, 0 = use input RC3_MIN
Range Units
0 - 2000 PWM in microseconds
I think we support reverse thrust with the helicopter firmware. For example, an Assassin V383 variable pitch multicopter can fly upside-down. The weird thing about it perhaps is that the multicopter is treated like a helicopter… Still, this is a way to get started I think.
Have you figured this out? Is there an easy way to reverse motor direction in ArduCopter? I have a similar use case here that requires 3D flying support.