Skip to content

Flightmode Settings

raemin edited this page Jan 22, 2016 · 32 revisions

On the input configuration page:

Input configuration

You can select which behavior the different flight mode switches trigger, and use this to change modes while flying.

Flight Modes

Acro

This means the fairly typical thing for what Acro mode is called. The roll and pitch axes are assigned to rate mode (see below for details and tuning) and the yaw axis is assigned to Axis Lock (slightly better tracking than rate).

Leveling

This is a self leveling mode. The roll and pitch axes are set to Atittude (see below for details and tuning) and the yaw axis is assigned to Axis Lock.

VirtualBar

Helicopter only! This is an advanced variant of rate that has a lot more throw on the output. This is required to properly actuate the cyclic. The roll and pitch axis are both set to Virtual Bar (see below for details and tuning) and the yaw axis is assigned to Axis Lock.

Stabilized{1,2,3}

These modes are for customizing what each axis does. So, for example, Stabilized1 in the photo above will use Attitude for Roll and Pitch and AxisLock for Yaw. To understand what these individual axis selections do, please read below.

Altitude Hold

In this mode, by default you will be flying in a vario mode. That means that if your throttle is high the aircraft will climb and if it is low it will descend. There is a deadband around mid throttle where it will hold the current altitude and an exponential component to the range to make it less sensitive in the middle.

See examples of this mode https://vimeo.com/88439963 and https://vimeo.com/88549064

To use this, make sure you enable the AltitudeHold module and reboot, or you will have a configuration error. Also with the current code you cannot arm in this mode so if you are disarmed and in AltitudeHold mode you will have an error.

Altitude Hold Settings

  • AltitudeHoldSettings.TiltCompensation: In Altitude Hold mode there is compensation for the bank angle to allow the MR to hold altitude as it flies forward. This can be disabled by setting AltitudeHoldSettings.TiltCompensation to 0. TiltCompensation can also be adjusted if you find it drops as you start flying forward, by setting it to greater than 100%. Often values like 200% are needed.

  • AltitudeHoldSettings.MaxRate: To change the stick sensitivity, change AltitudeHoldSettings.MaxRate. Set this to zero if you do not want to be able to climb or descend and just want it to hold altitude.

  • AltitudeHoldSettings.Expo: adjustable exponential on the throttle around 50%. Increase to make it less sensitive near the middle.

  • AltitudeHoldSettings.{PositionKp,VelocityKp,VelocityKi}: PID settings for the altitude controller. There is an outer loop (that is tuned by PositionKp) that requests a faster desired velocity (up to MaxRate) the further from the set point the FC is. There is a VelocityKp and VelocityKi for the inner loop that goes from velocity error to throttle position. When moving the stick (requesting a change in height) only VelocityKp and VelocityKi matter as the stick sets the desired velocity.

  • AltitudeHoldSettings.Deadband: (not in the current release) deadband near the center position where the board will just hold altitude

ReturnToHome. PositionHold and PathPlanner

Ask on the forums and make sure you fully understand how to attempt this before using these modes.

Individual axis modes

None:

No stabilization on this axis. Inputs are directly passed to outputs.

Rate:

dRonin will aim for a target rate of turn around the axis. This target is defined by the manual control. When the manual control is neutral, dRonin will try to maintain zero rotation. E.g. on a multirotor, in "rate mode", the angle of the elevation/aileron sticks determines the rate of change of the pitch and roll axis. If you let go and return to a neutral position, the airframe will keep going in that (possibly inverted) direction. It's up to the pilot to return the craft to level, so it behaves like a "real" aircraft.

Attitude:

dRonin will aim for a target attitude. This target is defined by the manual control. When the manual control is neutral, dRonin will steer towards level flight. This applies an offset (from TrimAnglesSettings) to the requested attitude. For details on how to trim this go here

E.g. on a multirotor, in "attitude mode", the angle of the elevation/aileron sticks directly determines the set point for the pitch and the roll axis of the multirotor. If you let go and return the stick to a neutral position the multirotor would level and drift to a halt in hover.

AxisLock:

dRonin will try to keep the total amount of rotation on the selected axis on 0 when the stick is not touched. When dRonin detects 5 degrees of rotation, it will try and undo that. Axis lock essentially grabs the current position of the axis when you let go of the stick and tries to stay there.

This feels similar to rate mode but can provide a more locked in feeling.

WeakLeveling:

Weak leveling is basically rate mode with a slow component to make the attitude go towards zero. In weak leveling your aircraft slowly drifts back to level - sort of rate mode with an assist. Note that it's not recommended for yaw because it basically will turn your nose facing forward again.

VirtualBar:

This mode is released in the upcoming firmware, for helis it can be compared to a standard flybarless controller and for multi rotors a much more aggressive roll and flip rate "could" be achieved. Please note as of pre-release 3, this flight mode was tested with mixed-success on multi-copter, better to keep it for a traditional flybarless heli.

At present (January 20th, 2016 "renata" release)

  • tuning is done through uavobjects in the object browser ([system] tab), there's no direct GCS interface.
  • vBar was left untouched since forking, in other words it's the same as it was in TauLabs. Unfortunately documentation on Taulabs forum is just as scarce as it is in dRonin with respect to vBar!

Horizon:

Horizon is based on MultiiWii Horizon mode. It smoothly transitions from attitude mode in the middle to rate mode on the stick extremes. It uses the tuning from the separate modes so once they are both well tuned it should work well. This is useful for FPV where you might want tight self leveling and control plus rate mode.

RateMW:

RateMW is based on MultiiWii Acro mode. This mode has its own PID settings. Please see Stabilization / MultiWiiRate. NOTE: As of January 2016, there are some ongoing discussion regarding the future of this flight mode. Judging from the current enhancement requests, supressing it would free some memory and make the ground station more homogeneous...

SystemIdent:

??? These modes are used by relay tuning for automatically tuning your airframe. Not recommended for normal use.

POI:

This is used for tracking a point-of-interest, usually provided by a tablet.

CoordinatedFlight:

This mode is used for planes with a rudder and will apply rudder during turns to try and have zero side slip. This mode should only be used on planes yaw axis.

Clone this wiki locally