mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-25 23:46:04 +08:00
132 lines
5.5 KiB
XML
132 lines
5.5 KiB
XML
<airframe name="Gorazoptere_brushless_ANALOG">
|
|
<section name="IMU_ANALOG" prefix="IMU_">
|
|
<define name="INIT_EULER_DOT_VARIANCE_MAX" value="3"/>
|
|
<define name="INIT_EULER_DOT_NB_SAMPLES_MIN" value ="10"/>
|
|
<define name="ADC_ROLL_DOT" value="1"/>
|
|
<define name="ADC_PITCH_DOT" value="2"/>
|
|
<define name="ADC_YAW_DOT" value="3"/>
|
|
<define name="ADC_ROLL_DOT_SIGN" value="-"/>
|
|
<define name="ADC_PITCH_DOT_SIGN" value="+"/>
|
|
<define name="ADC_YAW_DOT_SIGN" value="-"/>
|
|
<define name="ADC_ROLL_DOT_ZERO" value="512"/>
|
|
<define name="ADC_PITCH_DOT_ZERO" value="512"/>
|
|
<define name="ADC_YAW_DOT_ZERO" value="512"/>
|
|
<define name="ADC_ROLL_DOT_SCALE" value="(real_t) (0.9444 * 3.14159 / 180.0)"/>
|
|
<define name="ADC_PITCH_DOT_SCALE" value="(real_t) (0.9444 * 3.14159 / 180.0)"/>
|
|
<define name="ADC_YAW_DOT_SCALE" value="(real_t) (0.9444 * 3.14159 / 180.0)"/>
|
|
<define name="ADC_ACCELX" value="4"/>
|
|
<define name="ADC_ACCELY" value="3"/>
|
|
<define name="ADC_ACCELZ" value="2"/>
|
|
<define name="ADC_ACCELX_SIGN" value="-"/>
|
|
<define name="ADC_ACCELY_SIGN" value="-"/>
|
|
<define name="ADC_ACCELZ_SIGN" value="-"/>
|
|
<define name="ADC_ACCELX_ZERO" value="0x24A"/>
|
|
<define name="ADC_ACCELY_ZERO" value="0x280"/>
|
|
<define name="ADC_ACCELZ_ZERO" value="0x210"/>
|
|
<define name="ADC_ACCELX_SCALE" value="0x24A"/>
|
|
<define name="ADC_ACCELY_SCALE" value="0x280"/>
|
|
<define name="ADC_ACCELZ_SCALE" value="0x210"/>
|
|
|
|
</section>
|
|
<section name="RATE_LOOP">
|
|
<define name="ROLL_DOT_PGAIN" value="-100."/>
|
|
<define name="ROLL_DOT_IGAIN" value="0."/>
|
|
<define name="ROLL_DOT_DGAIN" value="0."/>
|
|
<define name="PITCH_DOT_PGAIN" value="-100."/>
|
|
<define name="PITCH_DOT_IGAIN" value="0."/>
|
|
<define name="PITCH_DOT_DGAIN" value="0."/>
|
|
<define name="YAW_DOT_PGAIN" value="-100."/>
|
|
<define name="YAW_DOT_IGAIN" value="0."/>
|
|
<define name="YAW_DOT_DGAIN" value="0."/>
|
|
</section>
|
|
<section name="DESIRED_OF_RADIO" prefix="DESIRED_OF_RADIO_">
|
|
<define name="ROLL_DOT" value="0.015"/>
|
|
<define name="PITCH_DOT" value="0.015"/>
|
|
<define name="YAW_DOT" value="0.015"/>
|
|
</section>
|
|
<section name="adc" prefix="ADC_CHANNEL_">
|
|
<define name="IR1" value="0"/>
|
|
<define name="IR2" value="1"/>
|
|
<define name="VSUPPLY" value="6"/>
|
|
</section>
|
|
<section name="servo">
|
|
<define name="SERVOS_FALLING_EDGE" value="1"/>
|
|
</section>
|
|
<servos min="1000" neutral="1500" max="2000">
|
|
<servo name="MOTOR_FRONT" no="1" min="1250" neutral="1250" max="1850"/>
|
|
<servo name="MOTOR_BACK" no="2" min="1250" neutral="1250" max="1850"/>
|
|
<servo name="MOTOR_LEFT" no="3" min="1250" neutral="1250" max="1850"/>
|
|
<servo name="MOTOR_RIGHT" no="4" min="1250" neutral="1250" max="1850"/>
|
|
</servos>
|
|
<command>
|
|
<let var="roll" value="0.3 * @ROLL"/>
|
|
<let var="pitch" value="0.3 * @PITCH"/>
|
|
<let var="yaw" value="-0.4 * @YAW"/>
|
|
<let var="throttle" value="2.0 * @THROTTLE"/>
|
|
<set servo="MOTOR_FRONT" value="$throttle + $pitch - $yaw"/>
|
|
<set servo="MOTOR_BACK" value="$throttle - $pitch - $yaw"/>
|
|
<set servo="MOTOR_RIGHT" value="$throttle + $roll + $yaw"/>
|
|
<set servo="MOTOR_LEFT" value="$throttle - $roll + $yaw"/>
|
|
</command>
|
|
<section name="INFRARED" prefix="IR_">
|
|
<define name="ADC_ROLL_NEUTRAL" value="0"/>
|
|
<define name="ADC_PITCH_NEUTRAL" value="1024"/>
|
|
<define name="ROLL_NEUTRAL_DEFAULT" value="0" unit="deg"/>
|
|
<define name="PITCH_NEUTRAL_DEFAULT" value="0" unit="deg"/>
|
|
<define name="DEFAULT_CONTRAST" value="200"/>
|
|
<define name="RAD_OF_IR_CONTRAST" value="0.75"/>
|
|
<linear name="RollOfIrs" arity="2" coeff1="-1" coeff2="1"/>
|
|
<linear name="PitchOfIrs" arity="2" coeff1="1" coeff2="1"/>
|
|
</section>
|
|
<section name="PID">
|
|
<define name="ROLL_PGAIN" value="23000."/>
|
|
<define name="PITCH_OF_ROLL" value="0.0"/>
|
|
<define name="PITCH_PGAIN" value="23000."/>
|
|
<define name="MAX_ROLL" value="0.35"/>
|
|
<define name="MAX_PITCH" value="0.35"/>
|
|
<define name="MIN_PITCH" value="-0.35"/>
|
|
<define name="AILERON_OF_GAZ" value="-0.13"/>
|
|
</section>
|
|
<section name="ALT" prefix="CLIMB_">
|
|
<define name="PITCH_PGAIN" value="-0.1"/>
|
|
<define name="PITCH_IGAIN" value="0.025"/>
|
|
<define name="PGAIN" value="-0.03"/>
|
|
<define name="IGAIN" value="0.1"/>
|
|
<define name="MAX" value="1."/>
|
|
<define name="LEVEL_GAZ" value="0.31"/>
|
|
<define name="PITCH_OF_VZ_PGAIN" value="0.05"/>
|
|
<define name="GAZ_OF_CLIMB" value="0.2" unit="%/(m/s)"/>
|
|
</section>
|
|
<section name="NAV">
|
|
<define name="COURSE_PGAIN" value="-0.2"/>
|
|
<define name="ALTITUDE_PGAIN" value="-0.025"/>
|
|
<define name="NAV_PITCH" value="0."/>
|
|
</section>
|
|
<section name="BAT">
|
|
<define name="MILLIAMP_PER_PERCENT" value="2.16"/>
|
|
<define name="VOLTAGE_ADC_A" value="0.0175"/>
|
|
<define name="VOLTAGE_ADC_B" value="0.088"/>
|
|
<define name="VoltageOfAdc(adc)" value="(VOLTAGE_ADC_A * adc + VOLTAGE_ADC_B)"/>
|
|
<define name="LOW_BATTERY" value="93" unit="1e-1V"/>
|
|
</section>
|
|
<section name="MISC">
|
|
<define name="NOMINAL_AIRSPEED" value="10." unit="m/s"/>
|
|
<define name="CARROT" value="5." unit="s"/>
|
|
</section>
|
|
<makefile>
|
|
include $(PAPARAZZI_SRC)/conf/autopilot/v1_2_1.makefile
|
|
|
|
LOCAL_CFLAGS += -DIMU_ANALOG
|
|
|
|
fbw.CFLAGS += -DRATE_LOOP
|
|
fbw.EXTRA_SRCS += control.c imu.c
|
|
fbw.CFLAGS += -DIMU_RESET_ON_BOOT
|
|
|
|
ap.CFLAGS += -DUBX
|
|
ap.CFLAGS += -DTELEMETER
|
|
ap.EXTRA_SRCS += $(SRC_ARCH)/i2c_ap.c srf08.c
|
|
ap.CFLAGS += -DAHRS
|
|
ap.EXTRA_SRCS += $(SRC_ARCH)/ahrs_asm.S ahrs.c
|
|
</makefile>
|
|
</airframe>
|