Board index FlightGear Development Aircraft Autopilot and route manager

How I can define time limit for a control surface deflection

Designing a stable autopilot is one of the hardest things. Need help?

How I can define time limit for a control surface deflection

Postby mrostami » Thu May 31, 2018 8:50 pm

Is there anyway to simulate the slow movements of the control surfaces as they react rapidly. I mean defining time limit. I know it is possible to do this for the case o an autopilot but I don't know how to set this for the case of a regular action of the control surface without turning on the autopilot.
Posts: 6
Joined: Fri Mar 02, 2018 10:04 pm

Re: How to define time limit for a control surface deflectio

Postby Necolatis » Thu May 31, 2018 8:56 pm

For Yasim you just use the property rules. (same syntax as autopilot)
For JSBSim there is several components that does that. (actuator/kinematic)
"Airplane travel is nature's way of making you look like your passport photo."
— Al Gore
User avatar
Posts: 2113
Joined: Mon Oct 29, 2012 12:40 am
Location: EKOD
Callsign: Leto
IRC name: Neco
Version: 2019.1.2
OS: Windows 10

Re: How I can define time limit for a control surface deflec

Postby enrogue » Fri Jun 01, 2018 12:35 pm

For basic definition of how long a given control surface takes to move to full deflection, yasim has this built in (from

Some controls (most notably flaps and hydraulics) have maximum slew rates and cannot respond instantly to pilot input. This can be implemented with a control-speed tag, which defines a "transition time" required to slew through the full input range. Note that this tag is semi-deprecated, complicated control input filtering can be done much more robustly from a Nasal script.

control: Name of the control axis. See above.
transition-time: Time in seconds to slew through input range.

in practise this looks something like:

Code: Select all

         <flap0 start="0" end="1" lift="1.50" drag="1.3" />
         <control-input axis="/controls/flight/elevator" control="FLAP0" square="false"/>
         <control-input axis="/controls/flight/elevator-trim" control="FLAP0"/>
         <control-output control="FLAP0" prop="surface-positions/elevator-pos-norm"/>
         <control-speed control="FLAP0" transition-time="2"/>

As Necolatis says, if you want something more robust than this then property rules or nasal is the way to go
User avatar
Posts: 269
Joined: Mon May 19, 2014 6:40 pm
Location: London (UK)
Callsign: enrogue
OS: Ubuntu, macOS

Return to Autopilot and route manager

Who is online

Users browsing this forum: No registered users and 0 guests