mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-31 12:23:23 +08:00
Rotating Wing State and Scheduling updates (#3334)
* first push * Removed old test section from new eff scheduling * Added test * Fixed test defines * Fix commands index in case needs to be unique for test * Changed general variables to make them more specific. Added explanation. * Make use V2 more specific to the rotating wing drone * changed variable names
This commit is contained in:
committed by
GitHub
parent
4e00e22993
commit
5f18e784b6
@@ -139,7 +139,7 @@
|
||||
<module name="rotwing_state_V2"/>
|
||||
<module name="agl_dist"/>
|
||||
<module name="rot_wing_automation">
|
||||
<define name="USE_V2" value="TRUE"/>
|
||||
<define name="RW_USE_MODULES_V2" value="TRUE"/>
|
||||
</module>
|
||||
</firmware>
|
||||
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
<module name="rotwing_state_V2"/>
|
||||
<module name="agl_dist"/>
|
||||
<module name="rot_wing_automation">
|
||||
<define name="USE_V2" value="TRUE"/>
|
||||
<define name="RW_USE_MODULES_V2" value="TRUE"/>
|
||||
</module>
|
||||
</firmware>
|
||||
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
<module name="rotwing_state_V2"/>
|
||||
<module name="agl_dist"/>
|
||||
<module name="rot_wing_automation">
|
||||
<define name="USE_V2" value="TRUE"/>
|
||||
<define name="RW_USE_MODULES_V2" value="TRUE"/>
|
||||
</module>
|
||||
</firmware>
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
</module>
|
||||
<module name="agl_dist"/>
|
||||
<module name="rot_wing_automation">
|
||||
<define name="USE_V2" value="TRUE"/>
|
||||
<define name="RW_USE_MODULES_V2" value="TRUE"/>
|
||||
</module>
|
||||
</firmware>
|
||||
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
<module name="eff_scheduling_rot_wing_V2" dir="ctrl">
|
||||
<doc>
|
||||
<description>T
|
||||
The control effectiveness scheduler for the rotating wing quadplane drone type
|
||||
- it requires a servo called ROTATION_MECH
|
||||
</description>
|
||||
<section name="ROT_WING" prefix="ROT_WING_EFF_SCHED_">
|
||||
<define name="IXX_BODY" value="0" description=""/>
|
||||
<define name="IYY_BODY" value="0" description=""/>
|
||||
<define name="IZZ" value="0" description=""/>
|
||||
<define name="IXX_WING" value="0" description=""/>
|
||||
<define name="IYY_WING" value="0" description=""/>
|
||||
<define name="M" value="0" description=""/>
|
||||
<define name="ROLL_ARM" value="0" description=""/>
|
||||
<define name="PITCH_ARM" value="0" description=""/>
|
||||
<define name="HOVER_DF_DPPRZ" value="0" description=""/>
|
||||
<define name="HOVER_ROLL_PITCH_COEF" value="{0,0}" description=""/>
|
||||
</section>
|
||||
</doc>
|
||||
<settings>
|
||||
<dl_settings>
|
||||
<dl_settings NAME="eff_sched">
|
||||
<dl_setting var="ele_min" min="0" step="100" max="6400" shortname="ele_min"/>
|
||||
<dl_setting var="ele_eff" min="5" step="0.5" max="50" shortname="ele_eff"/>
|
||||
<dl_setting var="airspeed_fake_on" min="0" step="1" max="1" values="OFF|ON" shortname="bool_airspeed_fake"/>
|
||||
<dl_setting var="airspeed_fake" min="0" step="0.001" max="20" shortname="airspeed_fake"/>
|
||||
</dl_settings>
|
||||
</dl_settings>
|
||||
</settings>
|
||||
<header>
|
||||
<file name="eff_scheduling_rot_wing_V2.h"/>
|
||||
</header>
|
||||
<init fun="eff_scheduling_rot_wing_init()"/>
|
||||
<periodic fun="eff_scheduling_rot_wing_periodic()"/>
|
||||
<makefile>
|
||||
<file name="eff_scheduling_rot_wing_V2.c"/>
|
||||
<test firmware="rotorcraft">
|
||||
<define name="ROT_WING_EFF_SCHED_IXX_BODY" value="1"/>
|
||||
<define name="ROT_WING_EFF_SCHED_IYY_BODY" value="1"/>
|
||||
<define name="ROT_WING_EFF_SCHED_IZZ" value="1"/>
|
||||
<define name="ROT_WING_EFF_SCHED_IXX_WING" value="1"/>
|
||||
<define name="ROT_WING_EFF_SCHED_IYY_WING" value="1"/>
|
||||
<define name="ROT_WING_EFF_SCHED_M" value="1"/>
|
||||
<define name="M_PI" value="3.14"/>
|
||||
<define name="PERIODIC_FREQUENCY" value="500.0"/>
|
||||
<define name="ACTUATORS_NB" value="10"/>
|
||||
<define name="COMMANDS_NB_PASSIVE" value="1"/>
|
||||
<define name="COMMANDS_NB_VIRTUAL" value="2"/>
|
||||
<define name="COMMANDS_NB_REAL" value="9"/>
|
||||
<define name="COMMANDS_NB_OTHER" value="2"/>
|
||||
<define name="ANDI_OUTPUTS" value="6"/>
|
||||
<define name="EFF_MAT_ROWS_NB" value="6"/>
|
||||
<define name="EFF_MAT_COLS_NB" value="11"/>
|
||||
<define name="COMMAND_MOTOR_FRONT" value="0"/>
|
||||
<define name="COMMAND_MOTOR_RIGHT" value="8"/>
|
||||
<define name="COMMAND_MOTOR_BACK" value="9"/>
|
||||
<define name="COMMAND_MOTOR_LEFT" value="3"/>
|
||||
<define name="COMMAND_MOTOR_PUSHER" value="10"/>
|
||||
<define name="COMMAND_ELEVATOR" value="5"/>
|
||||
<define name="COMMAND_RUDDER" value="6"/>
|
||||
<define name="COMMAND_AILERONS" value="7"/>
|
||||
<define name="COMMAND_ROT_MECH" value="11"/>
|
||||
<define name="RW_aX" value="0"/>
|
||||
<define name="RW_aY" value="1"/>
|
||||
<define name="RW_aZ" value="2"/>
|
||||
<define name="RW_aN" value="0"/>
|
||||
<define name="RW_aE" value="1"/>
|
||||
<define name="RW_aD" value="2"/>
|
||||
<define name="RW_ap" value="3"/>
|
||||
<define name="RW_aq" value="4"/>
|
||||
<define name="RW_ar" value="5"/>
|
||||
<define name="ZERO_ELE_PPRZ" value="8000"/>
|
||||
<define name="ELE_MIN_AS" value="8.8"/>
|
||||
<define name="ELE_MAX_AS" value="16.0"/>
|
||||
</test>
|
||||
</makefile>
|
||||
</module>
|
||||
@@ -0,0 +1,29 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
<module name="rotwing_state_V2" dir="rot_wing_drone">
|
||||
<doc>
|
||||
<description>This module keeps track of the current state of a rotating wing drone and desired state set by the RC or flightplan. Paramters are being scheduled in each change of a current state and desired state. Functions are defined in this module to call the actual state and desired state and set a desired state.</description>
|
||||
<section name="ROTWING_STATE" prefix="ROTWING_STATE_">
|
||||
<define name="USE_ROTATION_REF_MODEL" value="FALSE" description="Slow down the wing rotation with a reference model"/>
|
||||
</section>
|
||||
</doc>
|
||||
<settings>
|
||||
<dl_settings>
|
||||
<dl_settings NAME="RotWingState">
|
||||
<dl_setting var="rotwing_state_skewing.wing_angle_deg_sp" min="0" step="1" max="90" shortname="skew angle"/>
|
||||
<dl_setting var="rotwing_state_skewing.force_rotation_angle" min="0" step="1" max="1" values="FALSE|TRUE" shortname="force_skew"/>
|
||||
<dl_setting var="rotwing_state_max_hover_speed" min="5" step="0.5" max="25" shortname="hover_speed"/>
|
||||
<dl_setting var="hover_motors_active" min="0" step="1" max="1" values="FALSE|TRUE" shortname="h_motors_active"/>
|
||||
<dl_setting var="bool_disable_hover_motors" min="0" step="1" max="1" values="FALSE|TRUE" shortname="h_motors_disable"/>
|
||||
</dl_settings>
|
||||
</dl_settings>
|
||||
</settings>
|
||||
<header>
|
||||
<file name="rotwing_state_V2.h"/>
|
||||
</header>
|
||||
<init fun="init_rotwing_state()"/>
|
||||
<periodic fun="periodic_rotwing_state()" freq="50"/>
|
||||
<periodic fun="rotwing_state_skew_actuator_periodic()"/>
|
||||
<makefile>
|
||||
<file name="rotwing_state_V2.c"/>
|
||||
</makefile>
|
||||
</module>
|
||||
@@ -13,7 +13,7 @@
|
||||
<configure name="ADC_CHANNEL_WING_ROTATION_CONTROLLER_POSITION" default="ADC_5" case="lower|upper"/>
|
||||
<define name="ADC_CHANNEL_WING_ROTATION_CONTROLLER_POSITION" value="$(ADC_CHANNEL_WING_ROTATION_CONTROLLER_POSITION_UPPER)"/>
|
||||
<define name="USE_$(ADC_CHANNEL_WING_ROTATION_CONTROLLER_POSITION_UPPER)"/>
|
||||
<define name="ADC_WING_ROTATION" value="TRUE"/>
|
||||
<define name="ADC_WING_ROTATION" value="TRUE"/>
|
||||
<file name="wing_rotation_adc_sensor.c"/>
|
||||
</makefile>
|
||||
</module>
|
||||
|
||||
Reference in New Issue
Block a user