2012-05-24 10:53:14 +02:00
<xml >
2013-06-22 19:58:54 +02:00
<object name= "FixedWingPathFollowerSettings" singleinstance= "true" settings= "true" category= "Control" >
2012-05-24 11:09:53 +02:00
<description > Settings for the @ref FixedWingPathFollowerModule</description>
2012-05-27 20:49:07 +02:00
<!-- these coefficients control desired movement in airspace -->
2013-07-10 15:55:12 +02:00
<field name= "HorizontalVelMax" units= "m/s" type= "float" elements= "1" defaultvalue= "20" />
2012-10-28 21:49:22 +01:00
<!-- Maximum speed the autopilot will try to achieve, usually for long distances -->
2013-07-10 15:55:12 +02:00
<field name= "HorizontalVelMin" units= "m/s" type= "float" elements= "1" defaultvalue= "10" />
2012-10-28 21:49:22 +01:00
<!-- V_y, Minimum speed the autopilot will try to fly, for example when loitering -->
2012-05-27 20:49:07 +02:00
<field name= "VerticalVelMax" units= "m/s" type= "float" elements= "1" defaultvalue= "10" />
<!-- maximum allowed climb or sink rate in guided flight -->
2013-07-10 15:55:12 +02:00
<field name= "CourseFeedForward" units= "s" type= "float" elements= "1" defaultvalue= "3.0" />
2012-06-15 18:02:24 +03:00
<!-- how many seconds to plan the flight vector ahead when initiating necessary heading changes - increase for planes with sluggish response -->
2014-05-17 16:52:22 +02:00
<field name= "ReverseCourseOverlap" units= "deg" type= "float" elements= "1" defaultvalue= "20.0" />
<!-- how big the overlapping area behind the plane is, where, if the desired course lies behind, the current bank angle will determine if the plane goes left or right -->
2012-05-27 20:49:07 +02:00
2014-08-15 20:36:14 +02:00
<field name= "HorizontalPosP" units= "(m/s)/m" type= "float" elements= "1" defaultvalue= "0.2" />
2012-05-27 20:49:07 +02:00
<!-- proportional coefficient for correction vector in path vector field to get back on course - reduce for fast planes to prevent course oscillations -->
2014-08-15 20:36:14 +02:00
<field name= "VerticalPosP" units= "(m/s)/m" type= "float" elements= "1" defaultvalue= "0.4" />
2012-05-27 20:49:07 +02:00
<!-- proportional coefficient for desired vertical speed in relation to altitude displacement -->
2015-05-31 11:17:49 +02:00
<field name= "UseAirspeedSensor" units= "bool" type= "enum" elements= "1" options= "False,True" defaultvalue= "True" />
<!-- allows to ignore the airspeed sensor, set to false if you have none, which will trigger fallback algorithm without indicating a fault -->
2012-05-27 20:49:07 +02:00
<!-- these coefficients control actual control outputs -->
2013-07-10 15:55:12 +02:00
<field name= "CoursePI" units= "deg/deg" type= "float" elements= "3" elementnames= "Kp,Ki,ILimit" defaultvalue= "0.2, 0, 0" />
2012-06-15 18:02:24 +03:00
<!-- coefficients for desired bank angle in relation to ground bearing error - this controls heading -->
2012-05-27 20:49:07 +02:00
2013-07-11 14:02:05 +02:00
<field name= "SpeedPI" units= "deg / (m/s)" type= "float" elements= "3" elementnames= "Kp,Ki,ILimit" defaultvalue= "2.5, .25, 10" />
2012-05-27 20:49:07 +02:00
<!-- coefficients for desired pitch
2012-11-11 16:35:19 +01:00
in relation to speed error IASerror -->
<field name= "VerticalToPitchCrossFeed" units= "deg / (m/s)" type= "float" elementnames= "Kp,Max" defaultvalue= "5, 10" />
2012-05-27 20:49:07 +02:00
<!-- coefficients for adjusting desired pitch
2012-11-11 16:35:19 +01:00
in relation to "vertical speed error -->
2013-07-11 14:02:05 +02:00
<field name= "AirspeedToPowerCrossFeed" units= "1 / (m/s)" type= "float" elementnames= "Kp,Max" defaultvalue= "0.2, 1" />
2012-05-27 20:49:07 +02:00
<!-- proportional coefficient for adjusting vertical speed error for power calculation
2012-11-11 16:35:19 +01:00
in relation to airspeed error IASerror -->
2013-07-15 22:51:13 +02:00
<field name= "PowerPI" units= "1/(m/s)" type= "float" elements= "3" elementnames= "Kp,Ki,ILimit" defaultvalue= "0.01,0.05,0.5" />
2014-02-09 19:33:29 +01:00
<!-- proportional coefficient for desired thrust
2012-05-27 20:49:07 +02:00
in relation to vertical speed error (absolute but including crossfeed) -->
<!-- output limits -->
2014-08-15 20:36:14 +02:00
<field name= "RollLimit" units= "deg" type= "float" elements= "3" elementnames= "Min,Neutral,Max" defaultvalue= "-45,0,45" />
2012-05-27 20:49:07 +02:00
<!-- maximum allowed bank angles in navigates flight -->
2013-07-11 14:02:05 +02:00
<field name= "PitchLimit" units= "deg" type= "float" elements= "3" elementnames= "Min,Neutral,Max" defaultvalue= "-10,5,20" />
2012-05-27 20:49:07 +02:00
<!-- maximum allowed pitch angles and setpoint for neutral pitch -->
2014-02-09 19:33:29 +01:00
<field name= "ThrustLimit" units= "" type= "float" elements= "3" elementnames= "Min,Neutral,Max" defaultvalue= "0.1,0.5,0.9" />
<!-- minimum and maximum allowed thrust and setpoint for cruise speed -->
2013-07-17 14:50:23 +02:00
<field name= "Safetymargins" units= "" type= "float"
2015-05-23 10:02:53 +02:00
elementnames="Wind, Stallspeed, Lowspeed, Highspeed, Overspeed, Lowpower, Highpower, Rollcontrol, Pitchcontrol"
2015-05-29 21:39:00 +02:00
defaultvalue="1, 1.0, 0.5, 1.5, 1.0, 1, 0, 1, 1" />
2013-07-17 14:50:23 +02:00
<!-- Wind: degrees of crabbing allowed
Speeds: percentage (1.0=100%) of the limit to be over/onder
Power & Control: flag to turn on/off 0.0 =off 1.0 = on -->
2015-05-23 10:02:53 +02:00
<field name= "SafetyCutoffLimits" units= "" type= "float"
elementnames="RollDeg,PitchDeg,YawDeg,MaxDecelerationDeltaMPS" defaultvalue="25.0, 25.0, 25.0, 4.0" />
<!-- maximum margins from attempted attitude allowed during takeoff
In flight Roll/Pitch are added to RollLimit/PitchLimit as max limits - throttle is cut when beyond
if roll > RollLimit.Max + TakeOffLimits.RollDeg
the same happens when MaxDecelerationDeltaMPS below Lowspeed limit
if speed < Safetymargins.Lowspeed * H o r i z o n t a l V e l M i n - T a k e O f f L i m i t s . M a x D e c e l e r a t i o n D e l t a M P S - - >
2015-05-21 20:39:09 +02:00
<field name= "TakeOffPitch" units= "deg" type= "float" elements= "1" defaultvalue= "25.0" />
<field name= "LandingPitch" units= "deg" type= "float" elements= "1" defaultvalue= "15.0" />
2012-05-24 10:53:14 +02:00
<field name= "UpdatePeriod" units= "ms" type= "int32" elements= "1" defaultvalue= "100" />
2013-07-17 14:50:23 +02:00
2012-05-24 10:53:14 +02:00
<access gcs= "readwrite" flight= "readwrite" />
<telemetrygcs acked= "true" updatemode= "onchange" period= "0" />
<telemetryflight acked= "true" updatemode= "onchange" period= "0" />
<logging updatemode= "manual" period= "0" />
</object>
</xml>