Files
paparazzi/conf/modules/stabilization_plane_pid.xml
T
Gautier Hattenberger 4b6c185516
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
Docker update / build_docker_image (push) Has been cancelled
[hybrid] add basic support for Heewing T1 Ranger VTOL (#3464)
The Ranger T1 is a tilt-rotor hybrid plane. As a first basic approach,
two separated controls are used for hovering (INDI) and forward flight
(PID). The mixing is done by a dedicated module and the autopilot is
customized to support the specific modes.
A simple PID controller is added to the rotorcraft firmware as it is not
possible to directly reuse the one from fixedwing firmware.
In a future work, a full INDI version might be used, but this approach
can still serves as an example of customized autopilot.
A simulation model for JSBSim is also provided.
2025-06-24 15:02:36 +02:00

43 lines
2.5 KiB
XML

<!DOCTYPE module SYSTEM "module.dtd">
<module name="stabilization_plane_pid" dir="stabilization" task="control">
<doc>
<description>
Basic fixed-wing PID controller for rotorcraft firmware using float euler implementation
</description>
<section name="STABILIZATION_PLANE" prefix="STABILIZATION_PLANE_">
<define name="SP_MAX_PHI" value="45." description="max setpoint for roll angle" unit="deg"/>
<define name="SP_MAX_THETA" value="45." description="max setpoint for pitch angle" unit="deg"/>
<define name="PHI_PGAIN" value="400" description="feedback roll P gain"/>
<define name="PHI_DGAIN" value="300" description="feedback roll D gain"/>
<define name="PHI_IGAIN" value="100" description="feedback roll I gain"/>
<define name="THETA_PGAIN" value="400" description="feedback pitch P gain"/>
<define name="THETA_DGAIN" value="300" description="feedback pitch D gain"/>
<define name="THETA_IGAIN" value="100" description="feedback pitch I gain"/>
</section>
</doc>
<settings target="ap|nps">
<dl_settings>
<dl_settings NAME="Att Loop">
<dl_setting var="stab_plane_gains.p.x" min="1" step="1" max="15000" shortname="pgain phi" param="STABILIZATION_PLANE_PHI_PGAIN" persistent="true" module="stabilization/stabilization_attitude_plane_pid"/>
<dl_setting var="stab_plane_gains.i.x" min="0" step="1" max="800" shortname="igain phi" param="STABILIZATION_PLANE_PHI_IGAIN" persistent="true"/>
<dl_setting var="stab_plane_gains.d.x" min="1" step="1" max="4000" shortname="dgain p" param="STABILIZATION_PLANE_PHI_DGAIN" persistent="true"/>
<dl_setting var="stab_plane_gains.p.y" min="1" step="1" max="15000" shortname="pgain theta" param="STABILIZATION_PLANE_THETA_PGAIN" persistent="true"/>
<dl_setting var="stab_plane_gains.i.y" min="0" step="1" max="800" shortname="igain theta" param="STABILIZATION_PLANE_THETA_IGAIN" persistent="true"/>
<dl_setting var="stab_plane_gains.d.y" min="1" step="1" max="4000" shortname="dgain q" param="STABILIZATION_PLANE_THETA_DGAIN" persistent="true"/>
</dl_settings>
</dl_settings>
</settings>
<dep>
<depends>stabilization_rotorcraft,@attitude_command</depends>
<provides>commands</provides>
</dep>
<header>
<file name="stabilization_attitude_plane_pid.h"/>
</header>
<init fun="stabilization_attitude_plane_pid_init()"/>
<makefile target="ap|nps" firmware="rotorcraft">
<file name="stabilization_attitude_plane_pid.c" dir="$(SRC_FIRMWARE)/stabilization"/>
</makefile>
</module>