# Precise meaning of rc\_override commands for automatic control

**URL:** <https://discuss.bluerobotics.com/t/precise-meaning-of-rc-override-commands-for-automatic-control/4335>\
**Category:** Blue Robotics Software\
**Created:** [February 14, 2019, 4:37pm UTC](https://discuss.bluerobotics.com/t/precise-meaning-of-rc-override-commands-for-automatic-control/4335 "2019-02-14T16:37:34Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![jwalser](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/jwalser/32/2234_2.png) [@jwalser](https://discuss.bluerobotics.com/u/jwalser)\
**Post date:** [February 22, 2019, 6:40pm UTC](https://discuss.bluerobotics.com/t/precise-meaning-of-rc-override-commands-for-automatic-control/4335/2 "2019-02-22T18:40:57Z")

</div>

@JArber,

These ‘forward, lateral, throttle’ commands that you are referring to are just pilot input. They are do not result in proportional change in motor speed. The motor output will depend on the operating mode that you are using. In manual mode, the input command is just passed directly to the speed controllers (there is no closed loop control of rotor speed here, or in any case). In the other modes, the motor output is closed loop to maintain attitude and speed of the vehicle. This closed loop control (again it’s not controlling rotor speed, but relative thrust to maintain attitude) will compensate effectively for the nonlinearities you pointed out.

ArduSub already has position and waypoint controllers (not deemed stable, but demonstrated to work). I recommend you look into this rather than rolling your own with automated pilot input.

You don’t have to reverse engineer anything, the code is open source and available on [github](https://github.com/ArduPilot/ardupilot/tree/master/ArduSub). I recommend you check that out to gain an intimate understanding of how it works.

> [@JArber](#):
>
> –\> If a propeller has both yaw and forward factors set to 1, how do you handle a maximal command on both yaw, and forward ? It would require a propeller speed that the ESC can’t deliver, right ? How do you handle this ?

The motor output is saturated, no normalization is performed.

> [@JArber](#):
>
> –\> In the situation where we stop sending a rc\_override command for yaw, the ROV switches from controlling the rotation rate to controlling the angle value. What is then considered the new target angle ? Is it the angle at the precise time where the yaw command stopped ? Furthermore, does a 1500 rc\_override cmd for yaw stabilize the rotation rate at zero or the angle value around the initial value ?

It again, depends on the operating mode that you are in. In stabilize or depth hold mode, the angle target i[s locked 250ms after](https://github.com/ArduPilot/ardupilot/blob/master/ArduSub/control_stabilize.cpp#L41) the rate command drops to zero. Then it is stabilizing angle.

---

_[View the full topic](https://discuss.bluerobotics.com/t/precise-meaning-of-rc-override-commands-for-automatic-control/4335)._
