Reverse Thrust on copter

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.

It sounds like what you really want is to stop fast when going up. Is that the only thing you’re looking for?

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.

Hi, Mike:

Sorry to revive a dead thread, but can you expand on what you mean by “set the throttle such that 1500 is zero throttle”?

I’ve combed through the parameters here and I can’t seem to find anything that looks like what you are talking about.

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

So the flight controller will just “figure it out”? I’m controlling flight from a raspberry pi issuing MAVLink commands.

No not at all. As far as I know Arducopter does not support 3D in any way. The original answer was in the context of “manual control”.

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.

Hi Adam,

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.

Thanks,
Hao