mirror of
https://github.com/l0k1/oprf_assets.git
synced 2026-09-12 10:29:28 +00:00
power
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<pid-controller>
|
||||
<debug>false</debug>
|
||||
<enable>
|
||||
<prop>/autopilot/locks/heading</prop>
|
||||
<value>dg-heading-hold</value>
|
||||
</enable>
|
||||
<input>
|
||||
<prop>/orientation/heading-deg</prop>
|
||||
</input>
|
||||
<reference>
|
||||
<prop>/autopilot/internal/heading-deg</prop>
|
||||
</reference>
|
||||
<output>
|
||||
<prop>/controls/flight/rudder</prop>
|
||||
</output>
|
||||
<config>
|
||||
<Kp>0.00</Kp>
|
||||
<Ti>100.0</Ti>
|
||||
<Td>0.0</Td>
|
||||
<u_min>-1.0</u_min>
|
||||
<u_max>1.0</u_max>
|
||||
</config>
|
||||
</pid_controller>
|
||||
|
||||
<pid-controller>
|
||||
<name>Auto throttle</name>
|
||||
<debug>false</debug>
|
||||
<enable>
|
||||
<prop>/autopilot/locks/speed</prop>
|
||||
<value>speed-with-throttle</value>
|
||||
</enable>
|
||||
<input>
|
||||
<prop>/velocities/groundspeed-kt</prop>
|
||||
</input>
|
||||
<reference>
|
||||
<prop>/autopilot/settings/target-speed-kt</prop>
|
||||
</reference>
|
||||
<output>
|
||||
<prop>/controls/engines/engine[0]/throttle</prop>
|
||||
</output>
|
||||
<config>
|
||||
<Kp>0.15</Kp>
|
||||
<Ti>20.0</Ti>
|
||||
<Td>0.00001</Td>
|
||||
<u_min>0.0</u_min>
|
||||
<u_max>1.0</u_max>
|
||||
</config>
|
||||
</pid-controller>
|
||||
|
||||
</PropertyList>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
Copyright (c) 2015 onox
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<filter>
|
||||
<name>FBW Throttle</name>
|
||||
<type>gain</type>
|
||||
<gain>30.0</gain>
|
||||
<input>
|
||||
<property>/controls/engines/engine[0]/throttle</property>
|
||||
</input>
|
||||
<output>
|
||||
<property>/carrier/fbw/target/groundspeed-kt</property>
|
||||
</output>
|
||||
</filter>
|
||||
|
||||
</PropertyList>
|
||||
@@ -0,0 +1,410 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
Copyright (c) 2015 onox
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<!-- Simulate the groundspeed -->
|
||||
<filter>
|
||||
<name>FDM Groundspeed</name>
|
||||
<type>noise-spike</type>
|
||||
<input>
|
||||
<property>/carrier/fbw/target/groundspeed-kt</property>
|
||||
</input>
|
||||
<output>
|
||||
<property>/velocities/groundspeed-kt</property>
|
||||
</output>
|
||||
|
||||
<!-- Reaching maximum speed takes 20 minutes -->
|
||||
<max-rate-of-change>0.075</max-rate-of-change>
|
||||
</filter>
|
||||
|
||||
<!-- Flags use true-heading-deg because only that property is available
|
||||
in multiplayer.
|
||||
-->
|
||||
<filter>
|
||||
<name>FDM True Heading For Flags</name>
|
||||
<type>gain</type>
|
||||
<input>
|
||||
<property>/orientation/heading-deg</property>
|
||||
</input>
|
||||
<output>
|
||||
<property>/orientation/true-heading-deg</property>
|
||||
</output>
|
||||
</filter>
|
||||
|
||||
<!-- ================================================================== -->
|
||||
<!-- Waves -->
|
||||
<!-- ================================================================== -->
|
||||
|
||||
<!-- Compute the heading of the waves relative to the ship. -90 or
|
||||
90 if perpendicular, and 0 if colinear.
|
||||
-->
|
||||
<filter>
|
||||
<name>FDM Wave Heading</name>
|
||||
<type>gain</type>
|
||||
<input>
|
||||
<expression>
|
||||
<difference>
|
||||
<rad2deg>
|
||||
<atan2>
|
||||
<property>/environment/sea/surface/wind-from-east-fps</property>
|
||||
<property>/environment/sea/surface/wind-from-north-fps</property>
|
||||
</atan2>
|
||||
</rad2deg>
|
||||
<property>/orientation/heading-deg</property>
|
||||
</difference>
|
||||
</expression>
|
||||
<period>
|
||||
<min>-90</min>
|
||||
<max>90</max>
|
||||
</period>
|
||||
</input>
|
||||
<output>
|
||||
<property>/carrier/fdm/output/wave-heading</property>
|
||||
</output>
|
||||
</filter>
|
||||
|
||||
<!-- Compute the normalized value of the relative wave heading. 1 if
|
||||
perpendicular, 0 if sailing in to the wind.
|
||||
-->
|
||||
<filter>
|
||||
<name>FDM Wave Perpendicular Normalized</name>
|
||||
<type>gain</type>
|
||||
<input>
|
||||
<expression>
|
||||
<div>
|
||||
<abs>
|
||||
<property>/carrier/fdm/output/wave-heading</property>
|
||||
</abs>
|
||||
<value>90.0</value>
|
||||
</div>
|
||||
</expression>
|
||||
</input>
|
||||
<output>
|
||||
<property>/carrier/fdm/output/wave-perpendicular-norm</property>
|
||||
</output>
|
||||
</filter>
|
||||
|
||||
<!-- Computes the strength of the waves in knots -->
|
||||
<filter>
|
||||
<name>FDM Wave Strength</name>
|
||||
<type>gain</type>
|
||||
<input>
|
||||
<expression>
|
||||
<product>
|
||||
<sqrt>
|
||||
<sum>
|
||||
<pow>
|
||||
<property>/environment/sea/surface/wind-from-east-fps</property>
|
||||
<value>2.0</value>
|
||||
</pow>
|
||||
<pow>
|
||||
<property>/environment/sea/surface/wind-from-north-fps</property>
|
||||
<value>2.0</value>
|
||||
</pow>
|
||||
</sum>
|
||||
</sqrt>
|
||||
|
||||
<!-- fps to knots -->
|
||||
<value>0.5924838012958964</value>
|
||||
</product>
|
||||
</expression>
|
||||
</input>
|
||||
<output>
|
||||
<property>/carrier/fdm/output/wave-speed-kt</property>
|
||||
</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>FDM Heel Wave Factor</name>
|
||||
<type>gain</type>
|
||||
<input>
|
||||
<expression>
|
||||
<div>
|
||||
<min>
|
||||
<product>
|
||||
<property>/carrier/fdm/output/wave-speed-kt</property>
|
||||
<sin>
|
||||
<deg2rad>
|
||||
<abs>
|
||||
<property>/carrier/fdm/output/wave-heading</property>
|
||||
</abs>
|
||||
</deg2rad>
|
||||
</sin>
|
||||
</product>
|
||||
<property>/carrier/fdm/settings/max-heel-oscillation-wave-kt</property>
|
||||
</min>
|
||||
<property>/carrier/fdm/settings/max-heel-oscillation-wave-kt</property>
|
||||
</div>
|
||||
</expression>
|
||||
</input>
|
||||
<output>
|
||||
<property>/carrier/fdm/output/heel-wave-factor</property>
|
||||
</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>FDM Trim Wave Factor</name>
|
||||
<type>gain</type>
|
||||
<input>
|
||||
<expression>
|
||||
<div>
|
||||
<min>
|
||||
<sum>
|
||||
<product>
|
||||
<property>/carrier/fdm/output/wave-speed-kt</property>
|
||||
<cos>
|
||||
<deg2rad>
|
||||
<abs>
|
||||
<property>/carrier/fdm/output/wave-heading</property>
|
||||
</abs>
|
||||
</deg2rad>
|
||||
</cos>
|
||||
</product>
|
||||
<property>/velocities/groundspeed-kt</property>
|
||||
</sum>
|
||||
<property>/carrier/fdm/settings/max-trim-oscillation-wave-kt</property>
|
||||
</min>
|
||||
<property>/carrier/fdm/settings/max-trim-oscillation-wave-kt</property>
|
||||
</div>
|
||||
</expression>
|
||||
</input>
|
||||
<output>
|
||||
<property>/carrier/fdm/output/trim-wave-factor</property>
|
||||
</output>
|
||||
</filter>
|
||||
|
||||
<!-- ================================================================== -->
|
||||
<!-- Roll -->
|
||||
<!-- ================================================================== -->
|
||||
|
||||
<!-- Simulate the movement of the rudder -->
|
||||
<filter>
|
||||
<name>FDM Rudder</name>
|
||||
<type>noise-spike</type>
|
||||
<input>
|
||||
<property>/controls/flight/rudder</property>
|
||||
</input>
|
||||
<output>
|
||||
<property>/surface-positions/rudder-pos-norm</property>
|
||||
</output>
|
||||
|
||||
<!-- Moving the rudder to maximum deviation takes 5 seconds -->
|
||||
<max-rate-of-change>0.2</max-rate-of-change>
|
||||
</filter>
|
||||
|
||||
<!-- Simulate the roll of the ship depending on the rudder deflection
|
||||
and groundspeed. A roll of 15 deg will be obtained at a groundspeed
|
||||
of 30 knots and maximum rudder deflection.
|
||||
-->
|
||||
<filter>
|
||||
<name>FDM Turn Centrifugal Force</name>
|
||||
<type>gain</type>
|
||||
<input>
|
||||
<expression>
|
||||
<product>
|
||||
<div>
|
||||
<property>/velocities/groundspeed-kt</property>
|
||||
<value>30.0</value>
|
||||
</div>
|
||||
<property>/surface-positions/rudder-pos-norm</property>
|
||||
<property>/carrier/fdm/settings/bank-limit</property>
|
||||
<value>-1.0</value>
|
||||
</product>
|
||||
</expression>
|
||||
</input>
|
||||
<output>
|
||||
<property>/carrier/fdm/target/roll-deg</property>
|
||||
</output>
|
||||
</filter>
|
||||
|
||||
<!-- PID controller used to simulate slowly reaching the target roll
|
||||
degree representing the roll caused when turning.
|
||||
-->
|
||||
<pid-controller>
|
||||
<name>FDM Turn PID</name>
|
||||
<input>
|
||||
<property>/carrier/roll-deg</property>
|
||||
</input>
|
||||
<reference>
|
||||
<property>/carrier/fdm/target/roll-deg</property>
|
||||
</reference>
|
||||
<output>
|
||||
<property>/carrier/fdm/output/roll-deg</property>
|
||||
</output>
|
||||
<config>
|
||||
<Kp>0.5</Kp>
|
||||
<Ti>2.0</Ti>
|
||||
<u_min>
|
||||
<property>/carrier/fdm/settings/bank-limit</property>
|
||||
<scale>-1.0</scale>
|
||||
</u_min>
|
||||
<u_max>
|
||||
<property>/carrier/fdm/settings/bank-limit</property>
|
||||
</u_max>
|
||||
</config>
|
||||
</pid-controller>
|
||||
|
||||
<!-- An undamped oscillator simulating heeling (continuously rolling
|
||||
around the longitudinal axis) of the ship. The output does not
|
||||
oscillate around 0, instead it oscillates between 0 and some
|
||||
negative value. See the gain filter below, which makes the value
|
||||
oscillate around 0.
|
||||
-->
|
||||
<filter>
|
||||
<name>FDM Heeling Force Oscillator</name>
|
||||
<type>damped-oscillation</type>
|
||||
<debug>false</debug>
|
||||
<a>
|
||||
<value>0.0</value>
|
||||
</a>
|
||||
<b>
|
||||
<property>/carrier/fdm/settings/heel-frequency</property>
|
||||
</b>
|
||||
<c>
|
||||
<expression>
|
||||
<product>
|
||||
<property>/carrier/fdm/settings/heel-frequency</property>
|
||||
<property>/carrier/fdm/settings/heel-overshoot</property>
|
||||
</product>
|
||||
</expression>
|
||||
</c>
|
||||
<output>
|
||||
<property>/carrier/fdm/output/heel-osci</property>
|
||||
</output>
|
||||
</filter>
|
||||
|
||||
<!-- Add the configured heel overshoot to make the oscillating value
|
||||
oscillate around 0.
|
||||
-->
|
||||
<filter>
|
||||
<name>FDM Heeling Degree</name>
|
||||
<type>gain</type>
|
||||
<input>
|
||||
<expression>
|
||||
<sum>
|
||||
<property>/carrier/fdm/output/heel-osci</property>
|
||||
<property>/carrier/fdm/settings/heel-overshoot</property>
|
||||
</sum>
|
||||
</expression>
|
||||
</input>
|
||||
<output>
|
||||
<property>/carrier/fdm/output/heel-deg</property>
|
||||
</output>
|
||||
</filter>
|
||||
|
||||
<!-- Use the sum of the PID controller and the undamped oscillator
|
||||
as the actual roll degree.
|
||||
-->
|
||||
<filter>
|
||||
<name>FDM Roll</name>
|
||||
<type>gain</type>
|
||||
<input>
|
||||
<condition>
|
||||
<property>/carrier/fdm/settings/movement</property>
|
||||
</condition>
|
||||
<property>/carrier/fdm/output/roll-deg</property>
|
||||
<offset>
|
||||
<property>/carrier/fdm/output/heel-deg</property>
|
||||
<scale>
|
||||
<property>/carrier/fdm/output/heel-wave-factor</property>
|
||||
</scale>
|
||||
</offset>
|
||||
</input>
|
||||
<input>
|
||||
<value>0.0</value>
|
||||
</input>
|
||||
<output>
|
||||
<property>/carrier/roll-deg</property>
|
||||
</output>
|
||||
</filter>
|
||||
|
||||
<!-- ================================================================== -->
|
||||
<!-- Pitch -->
|
||||
<!-- ================================================================== -->
|
||||
|
||||
<!-- An undamped oscillator simulating trimming (continuously pitching
|
||||
around the lateral axis) of the ship. The output does not
|
||||
oscillate around 0, instead it oscillates between 0 and some
|
||||
negative value. See the gain filter below, which makes the value
|
||||
oscillate around 0.
|
||||
-->
|
||||
<filter>
|
||||
<name>FDM Trimming Force Oscillator</name>
|
||||
<type>damped-oscillation</type>
|
||||
<debug>false</debug>
|
||||
<a>
|
||||
<value>0.0</value>
|
||||
</a>
|
||||
<b>
|
||||
<property>/carrier/fdm/settings/trim-frequency</property>
|
||||
</b>
|
||||
<c>
|
||||
<expression>
|
||||
<product>
|
||||
<property>/carrier/fdm/settings/trim-frequency</property>
|
||||
<property>/carrier/fdm/settings/trim-overshoot</property>
|
||||
</product>
|
||||
</expression>
|
||||
</c>
|
||||
<output>
|
||||
<property>/carrier/fdm/output/trim-osci</property>
|
||||
</output>
|
||||
</filter>
|
||||
|
||||
<!-- Add the configured trim overshoot to make the oscillating value
|
||||
oscillate around 0.
|
||||
-->
|
||||
<filter>
|
||||
<name>FDM Trimming Degree</name>
|
||||
<type>gain</type>
|
||||
<input>
|
||||
<expression>
|
||||
<sum>
|
||||
<property>/carrier/fdm/output/trim-osci</property>
|
||||
<property>/carrier/fdm/settings/trim-overshoot</property>
|
||||
</sum>
|
||||
</expression>
|
||||
</input>
|
||||
<output>
|
||||
<property>/carrier/fdm/output/trim-deg</property>
|
||||
</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>FDM Pitch</name>
|
||||
<type>gain</type>
|
||||
<input>
|
||||
<condition>
|
||||
<property>/carrier/fdm/settings/movement</property>
|
||||
</condition>
|
||||
<property>/carrier/fdm/output/trim-deg</property>
|
||||
<scale>
|
||||
<property>/carrier/fdm/output/trim-wave-factor</property>
|
||||
</scale>
|
||||
</input>
|
||||
<input>
|
||||
<value>0.0</value>
|
||||
</input>
|
||||
<output>
|
||||
<property>/carrier/pitch-deg</property>
|
||||
</output>
|
||||
</filter>
|
||||
|
||||
</PropertyList>
|
||||
Reference in New Issue
Block a user