Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
eff_scheduling_rot_wing module

T

he control effectiveness scheduler for the rotating wing quadplane drone type

  • it requires a servo called ROTATION_MECH

Example for airframe file

Add to your firmware section:

<module name="eff_scheduling_rot_wing"/>

Module configuration options

Airframe file section

  • section name: ROT_WING prefix: ROT_WING_EFF_SCHED_
    • name IXX_BODY value: 0
    • name IYY_BODY value: 0
    • name IZZ value: 0
    • name IXX_WING value: 0
    • name IYY_WING value: 0
    • name M value: 0
    • name ROLL_ARM value: 0
    • name PITCH_ARM value: 0
    • name HOVER_DF_DPPRZ value: 0
    • name HOVER_ROLL_PITCH_COEF value: {0,0}

Module functions

Init Functions

These initialization functions are called once on startup.

Periodic Functions

These functions are called periodically at the specified frequency from the module periodic loop.

Files

Header Files

The following headers are automatically included in modules.h

Source Files

Raw eff_scheduling_rot_wing.xml file:

<!DOCTYPE module SYSTEM "module.dtd">
<module name="eff_scheduling_rot_wing" dir="ctrl">
<doc>
<description>T
he 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>
<header>
<file name="eff_scheduling_rot_wing.h"/>
</header>
<init fun="eff_scheduling_rot_wing_init()"/>
<periodic fun="eff_scheduling_rot_wing_periodic()" freq="10.0"/>
<makefile>
<file name="eff_scheduling_rot_wing.c"/>
<test>
<define name="ACTUATORS_NB" value="10"/>
<define name="SERVO_ROTATION_MECH_IDX" value="8"/>
<define name="SERVO_MOTOR_FRONT" value="0"/>
<define name="SERVO_MOTOR_RIGHT" value="1"/>
<define name="SERVO_MOTOR_BACK" value="2"/>
<define name="SERVO_MOTOR_LEFT" value="3"/>
<define name="SERVO_MOTOR_PUSH" value="8"/>
<define name="SERVO_SERVO_ELEVATOR" value="5"/>
<define name="INDI_NUM_ACT" value="4"/>
<define name="INDI_OUTPUTS" value="3"/>
<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="ROT_WING_EFF_SCHED_DM_DPPRZ_HOVER_PITCH" value="1"/>
<define name="ROT_WING_EFF_SCHED_DM_DPPRZ_HOVER_ROLL" value="1"/>
<define name="ROT_WING_EFF_SCHED_HOVER_ROLL_PITCH_COEF" value="{1,1}"/>
<define name="ROT_WING_EFF_SCHED_HOVER_ROLL_ROLL_COEF" value="{1,1}"/>
<define name="ROT_WING_EFF_SCHED_K_ELEVATOR" value="{1,1,1}"/>
<define name="ROT_WING_EFF_SCHED_K_RUDDER" value="{1,1,1}"/>
<define name="ROT_WING_EFF_SCHED_K_AILERON" value="1"/>
<define name="ROT_WING_EFF_SCHED_K_FLAPERON" value="1"/>
<define name="ROT_WING_EFF_SCHED_K_PUSHER" value="{1,1}"/>
<define name="ROT_WING_EFF_SCHED_K_ELEVATOR_DEFLECTION" value="{1,1}"/>
<define name="ROT_WING_EFF_SCHED_D_RUDDER_D_PPRZ" value="1"/>
<define name="ROT_WING_EFF_SCHED_K_RPM_PPRZ_PUSHER" value="{1,1,1}"/>
<define name="ROT_WING_EFF_SCHED_K_LIFT_WING" value="{1,1}"/>
<define name="ROT_WING_EFF_SCHED_K_LIFT_FUSELAGE" value="1"/>
<define name="ROT_WING_EFF_SCHED_K_LIFT_TAIL" value="1"/>
</test>
</makefile>
</module>