Throttle curve


question : why arducopter doesn’t manage the throttle curve ?


Up until now, we’ve mostly only thought about flying electric helis with built-in governors. However, I am now working on an internal throttle curve mode, and an internal governor with tachometer feedback.

I would love to have some input from people on how they would like this to work.

I ma quite a newbee in APM, I have only setup a multicopter. I have study the setup for a traditional heli but not actually perform the setting. I have setup 2 helli with a flybarless controler. So excuse me if I tell mistakes.

From my point of view, i would be very interested to have the same kind of features than a Flybarless controler boards.
What I think is missing in the arducopter for a traditional helli is :

  • setup configuration. I mean the way the APM is setup on the helicopter (where and which way it is) not always horizontal but could also be attached verticaly on one side of the helli frame, could also be horizontal but perpendicular, could also be horizontal but upside down…
  • from my understanding in the flybarless controler, the throttle and pitch curves are managed by the transmitter. With APM a “manual mode” could be used that will make the APM acts as a flybarless. There could also have other modes that will handle the curves to fully controll the heli (position hold, altitude hold, auto…) the same way as for a multicopter.

thanks a lot for your job


Rob, I think having a governor in the code would be useful if it was proactive. If I am not mistaken our current ESC governors are just reactive because there is no gain control coming out of the APM/ Pixhawk. I run a Castle Edge controller in governor mode with the gain set fairly low. The problem is its just sensing motor speed and not the collective pitch. I have a wire that’s meant to hook into a FBL controller to change the gain but I don’t think the code supports it. It would help a little to have a governor that not only monitored motor/rotor speed but also collective output. If the collective was changing a lot the gain would be higher or if hovering or moving about slowly the gain would be lower. Make sense ? Does a throttle curve based on ground speed make sense. I run a 1550 headspeed on a 550 that weighs about 9 1/2 Lbs. If I get it moving fast, 15m/s, it doesn’t stop as fast as I would like it to. Just my thoughts.

David R. Boulanger

Benoit, you can actually mount the APM or Pixhawk in any orientation you want. There’s a parameter for that. On my Trex 500, it is mounted sideways. On most of my others, upside-down.

On your second point, we do have an “Acro” mode that can be set up to behave exactly as a flybarless controller. The only thing missing is the ability to run the ESC in manual mode with pass-through from the transmitter. It seems to me the majority of people are using an ESC governor, so I don’t see a lot of need to offer a feature like this.


Last week I took the first step to having an internal governor. I created an RSC mode which creates a simple 2-point collective-throttle curve within Arducopter. This will give open-loop control of a throttle.

The next step will be to add tachometer input. I’m not sure if we can add a direct tachometer input, so I plan instead to use an Arduino Pro Mini to measure the rotor speed, and then talk to Arducopter over I2C. That will then allow an internal governor with a PID. But it will also feature collective feed-forward, which is what you want.

You talk about gain in a few places, and I think you are using the term incorrectly. Gain is typically the P-term of a PID. I don’t think you’d be changing that in flight the way you talk. You would typically be using a load feedforward to help. That load is the collective, so the collective feed-forward is what you want.

Sounds Good
David R. Boulanger