Files
paparazzi/conf/modules/gvf_module.xml
T
Hector Garcia de Marina 2257a889da Guidance Vector Field (#1919)
* pprzlink updated to master

* guidance vector field module

* sin trajectory, forgot a minus sign...

* xml files for GVF

* control/gvf.xml not needed anymore

* added some structs for settings and placing gvf_variables into structs

* demo flight plan for testing the settings of the GVF

* style fixed

* trigonometry calculations made only once

* syntax fixed

* pprzlink updated

* added defines and improved description in the module .xml

* module only works for fixedwing (so far)
2016-11-03 22:48:02 +01:00

73 lines
3.2 KiB
XML

<!DOCTYPE module SYSTEM "module.dtd">
<module name="gvf" dir="guidance/gvf">
<doc>
<description>Guidance algorithm for tracking smooth trajectories. The algorithm is based on the idea of stearing the vehicle to a vector field that smoothly converges to the desired trajectory.
For more details we refer to https://wiki.paparazziuav.org/wiki/Module/guidance_vector_field .
</description>
</doc>
<settings name="complete">
<dl_settings>
<dl_settings NAME="GVF">
<dl_settings NAME="Control">
<dl_setting MAX="5" MIN="0.0" STEP="0.01" VAR="gvf_control.ke" shortname="gvf_ke" param="GVF_KE"/>
<dl_setting MAX="5" MIN="0.0" STEP="0.01" VAR="gvf_control.kn" shortname="gvf_kn" param="GVF_KN"/>
<dl_setting MAX="1" MIN="-1" STEP="2" VAR="gvf_control.s" shortname = "direction"/>
</dl_settings>
<dl_settings NAME="Ellipse">
<dl_setting MAX="150" MIN="0.0" STEP="10" VAR="gvf_ellipse_par.a" shortname="a" param="GVF_ELLIPSE_A"/>
<dl_setting MAX="150" MIN="0.0" STEP="10" VAR="gvf_ellipse_par.b" shortname="b" param="GVF_ELLIPSE_B"/>
<dl_setting MAX="90" MIN="-90" STEP="1" VAR="gvf_ellipse_par.alpha" shortname="alpha" param="GVF_ELLIPSE_ALPHA"/>
</dl_settings>
<dl_settings NAME="Line">
<dl_setting MAX="180" MIN="-180" STEP="1" VAR="gvf_line_par.alpha" shortname="alpha" param="GVF_LINE_ALPHA"/>
</dl_settings>
<dl_settings NAME="Sine">
<dl_setting MAX="180" MIN="-180" STEP="1" VAR="gvf_sin_par.alpha" shortname="alpha" param="GVF_SIN_ALPHA"/>
<dl_setting MAX="0.01" MIN="0" STEP="0.0001" VAR="gvf_sin_par.w" shortname="w" param="GVF_SIN_W"/>
<dl_setting MAX="6.2" MIN="0" STEP="0.002" VAR="gvf_sin_par.off" shortname="off" param="GVF_SIN_OFF"/>
<dl_setting MAX="100" MIN="0" STEP="1" VAR="gvf_sin_par.A" shortname="amplitude" param="GVF_SIN_A"/>
</dl_settings>
</dl_settings>
</dl_settings>
</settings>
<settings name="control">
<dl_settings>
<dl_settings NAME="GVF">
<dl_settings NAME="Control">
<dl_setting MAX="5" MIN="0.0" STEP="0.01" VAR="gvf_control.ke" shortname="gvf_ke" param="GVF_KE"/>
<dl_setting MAX="5" MIN="0.0" STEP="0.01" VAR="gvf_control.kn" shortname="gvf_kn" param="GVF_KN"/>
<dl_setting MAX="1" MIN="-1" STEP="2" VAR="gvf_control.s" shortname="direction"/>
</dl_settings>
</dl_settings>
</dl_settings>
</settings>
<header>
<file name="gvf.h"/>
<file name="trajectories/gvf_line.h"/>
<file name="trajectories/gvf_sin.h"/>
<file name="trajectories/gvf_ellipse.h"/>
</header>
<init fun = "gvf_init()"/>
<makefile firmware="fixedwing">
<define name="GVF_ELLIPSE_A" value="80"/>
<define name="GVF_ELLIPSE_B" value="80"/>
<define name="GVF_ELLIPSE_ALPHA" value="0"/>
<define name="GVF_SIN_ALPHA" value="0"/>
<define name="GVF_SIN_W" value="0"/>
<define name="GVF_SIN_OFF" value="0"/>
<define name="GVF_SIN_A" value="0"/>
<define name="GVF_LINE_ALPHA" value="0"/>
<file name="gvf.c"/>
<file name="trajectories/gvf_line.c"/>
<file name="trajectories/gvf_sin.c"/>
<file name="trajectories/gvf_ellipse.c"/>
</makefile>
</module>