Can I Set Arduplane to do Flat Turns?

I have an application in mind where I want to use Arduplane to do flat turns. Currently plane uses the ailerons to bank and turn, with the rudder maybe mixed in for turn coordination. Is it possible to use just the rudder for the turns? Maybe something using the ground steering system or some other method? I just need the craft to pivot about the vertical axis.

Are LUA scripts a viable option to use the rudder only to maintain a heading?

Would adding another parameter switch for flat turns, rather than banked, be relatively easy for the developers to add in?

Any help or thoughts on the subject would be appreciated :slight_smile:

I have been reading on this page that in Plane 4.2 that the yaw controller has been updated to be similar to the pitch and roll controllers. That controller needs to be enabled by setting YAW_RATE_ENABLE to 1.

This page with the block diagrams for the yaw controller has not been updated. Is there an updated block diagram for the new yaw controller anywhere please?

If this has indeed been implemented then I might have all the functionality I require.

Thanks :slight_smile:

OK. I have found some information on the new PID Yaw controller on this page.

The new control loop is shown as:

This has been a great addition to the firmware and works well in my intended application, at least on the bench. Thanks for the feature.

Does this new control regime have any input for gain scaling with the airspeed sensor? Is there something between “output” and the servo for velocity scaling the control surface excursions?

Here is the non-PID control loop for comparison:

Any clarity from those in-the-know on this would be appreciated :slight_smile:

By default the yaw controller is only for coordinating the turn. Each of the modes that involve heading control are written to command a bank to change heading. You could fly the aircraft in FBWB and write a custom loop for heading in Lua to control the rudder while mixing in the attitude controller output. The acrobatics feature might also allow for this kind of control. Although it is not written for this specifically, it might just do it. Do you have SITL set up for testing?

1 Like

Thanks Charlie. I am using this in an unconventional way, hence the need for the gain scheduling according to velocity. I thought the ability to use a PID loop (in acro anyway, as it is implemented) would make sense to have this feature. I guess it would go after the “output” of the PID, similar to how it is in the older controller.

I have thought about a custom LUA loop for heading hold, just haven’t done it yet. Life gets in the way sometimes. I might just fly it as is and put up with the varying control authority.

I haven’t set up SITL yet. I suspect my vehicle would be a bit difficult to simulate. This is for a rocket.

hi @cambull,

you can try enabling the RUDDER_ONLY parameter to use only the rudder, ensure that the ailerons are physically locked (and servo disconnected) so that they don’t cause a problem in flight.
You can also limit the bank value LIM_ROLL_CD to turn as level as necessary but ensure to have your loiter radius, WP radius and other radiuses are large enough to compensate for the shallow turn.