apogee_lc.xml <http://lists.paparazziuav.org/file/n16439/apogee_lc.xml>
Hi,
I am working on a apogee board, which in a quadrotor airframe. The
current
config file does not work well. Cause, the there are only two motor
working
while the throttle open. But the motors have reflection while the
joystick
operates.
I really appreciate anyone would let me know which part of the config
relate
to the problem.
Sorry for the copy and paste.
<!DOCTYPE airframe SYSTEM "../../airframe.dtd">
<airframe name="apogee">
<firmware name="rotorcraft">
<define name="USE_I2C1"/>
<define name="USE_I2C2"/>
<define name="USE_BARO_BOARD"/>
<target name="ap" board="apogee_1.0">
</target>
<target name="nps" board="pc">
<subsystem name="fdm" type="jsbsim"/>
</target>
<subsystem name="motor_mixing"/>
<subsystem name="actuators" type="pwm">
<define name="SERVO_HZ" value="400"/>
</subsystem>
<subsystem name="radio_control" type="datalink"/>
<subsystem name="telemetry" type="transparent"/>
<subsystem name="sdlog"/>
<subsystem name="imu" type="apogee"/>
<subsystem name="stabilization" type="int_quat"/>
<subsystem name="ahrs" type="int_cmpl_quat">
<define name="USE_MAGNETOMETER"/>
<define name="MODULE_mag_ak8975_UPDATE_AHRS"/>
</subsystem>
<subsystem name="ins"/>
</firmware>
<servos driver="Pwm">
<servo name="TOP_LEFT" no="0" min="800" neutral="1000"
max="1900"/>
<servo name="TOP_RIGHT" no="1" min="800" neutral="1000"
max="1900"/>
<servo name="BOTTOM_LEFT" no="2" min="800" neutral="1000"
max="1900"/>
<servo name="BOTTOM_RIGHT" no="3" min="800" neutral="1000"
max="1900"/>
</servos>
<commands>
<axis name="ROLL" failsafe_value="0"/>
<axis name="PITCH" failsafe_value="0"/>
<axis name="YAW" failsafe_value="0"/>
<axis name="THRUST" failsafe_value="0"/>
</commands>
<section name="MIXING" prefix="MOTOR_MIXING_">
<define name="TRIM_ROLL" value="0"/>
<define name="TRIM_PITCH" value="0"/>
<define name="TRIM_YAW" value="0"/>
<define name="NB_MOTOR" value="4"/>
<define name="SCALE" value="256"/>
<define name="ROLL_COEF" value="{ 256, -256, -256, 256 }"/>
<define name="PITCH_COEF" value="{ 256, 256, -256, -256 }"/>
<define name="YAW_COEF" value="{ -256, 256, -256, 256 }"/>
<define name="THRUST_COEF" value="{ 256, 256, 256, 256 }"/>
</section>
<command_laws>
<call fun="motor_mixing_run(autopilot_motors_on,FALSE,values)"/>
<set servo="TOP_LEFT" value="motor_mixing.commands[0]"/>
<set servo="TOP_RIGHT" value="motor_mixing.commands[1]"/>
<set servo="BOTTOM_LEFT" value="motor_mixing.commands[2]"/>
<set servo="BOTTOM_RIGHT" value="motor_mixing.commands[3]"/>
</command_laws>
<section name="IMU" prefix="IMU_">
<define name="BODY_TO_IMU_PHI" value="0.0" unit="deg"/>
<define name="BODY_TO_IMU_THETA" value="0.0" unit="deg"/>
<define name="BODY_TO_IMU_PSI" value="0.0" unit="deg"/>
<define name="ACCEL_X_NEUTRAL" value="0"/>
<define name="ACCEL_Y_NEUTRAL" value="0"/>
<define name="ACCEL_Z_NEUTRAL" value="0"/>
<define name="ACCEL_X_SENS" value="2.46053275899" integer="16"/>
<define name="ACCEL_Y_SENS" value="2.45567151099" integer="16"/>
<define name="ACCEL_Z_SENS" value="2.44223710019" integer="16"/>
<define name="GYRO_P_NEUTRAL" value="0"/>
<define name="GYRO_Q_NEUTRAL" value="0"/>
<define name="GYRO_R_NEUTRAL" value="0"/>
<define name="GYRO_P_SENS" value="2.17953" integer="16"/>
<define name="GYRO_Q_SENS" value="2.17953" integer="16"/>
<define name="GYRO_R_SENS" value="2.17953" integer="16"/>
<define name="MAG_X_SIGN" value="1"/>
<define name="MAG_Y_SIGN" value="1"/>
<define name="MAG_Z_SIGN" value="1"/>
<define name="MAG_X_NEUTRAL" value="1264"/>
<define name="MAG_Y_NEUTRAL" value="-1258"/>
<define name="MAG_Z_NEUTRAL" value="1413"/>
<define name="MAG_X_SENS" value="1.03006422406" integer="16"/>
<define name="MAG_Y_SENS" value="0.938977337564" integer="16"/>
<define name="MAG_Z_SENS" value="1.14818205257" integer="16"/>
</section>
<section name="AHRS" prefix="AHRS_">
<define name="H_X" value="0.516264"/>
<define name="H_Y" value="-0.0602113"/>
<define name="H_Z" value="0.854311"/>
</section>
<section name="INS" prefix="INS_">
</section>
<section name="STABILIZATION_RATE" prefix="STABILIZATION_RATE_">
<define name="SP_MAX_P" value="10000"/>
<define name="SP_MAX_Q" value="10000"/>
<define name="SP_MAX_R" value="10000"/>
<define name="DEADBAND_P" value="20"/>
<define name="DEADBAND_Q" value="20"/>
<define name="DEADBAND_R" value="200"/>
<define name="REF_TAU" value="4"/>
<define name="GAIN_P" value="400"/>
<define name="GAIN_Q" value="400"/>
<define name="GAIN_R" value="350"/>
<define name="IGAIN_P" value="75"/>
<define name="IGAIN_Q" value="75"/>
<define name="IGAIN_R" value="50"/>
<define name="DDGAIN_P" value="300"/>
<define name="DDGAIN_Q" value="300"/>
<define name="DDGAIN_R" value="300"/>
</section>
<section name="STABILIZATION_ATTITUDE"
prefix="STABILIZATION_ATTITUDE_">
<define name="SP_MAX_PHI" value="45" unit="deg"/>
<define name="SP_MAX_THETA" value="45" unit="deg"/>
<define name="SP_MAX_R" value="90" unit="deg/s"/>
<define name="SP_PSI_DELTA_LIMIT" value="45" unit="deg"/>
<define name="DEADBAND_A" value="0"/>
<define name="DEADBAND_E" value="0"/>
<define name="DEADBAND_R" value="250"/>
<define name="REF_OMEGA_P" value="800" unit="deg/s"/>
<define name="REF_ZETA_P" value="0.85"/>
<define name="REF_MAX_P" value="400." unit="deg/s"/>
<define name="REF_MAX_PDOT" value="RadOfDeg(8000.)"/>
<define name="REF_OMEGA_Q" value="800" unit="deg/s"/>
<define name="REF_ZETA_Q" value="0.85"/>
<define name="REF_MAX_Q" value="400." unit="deg/s"/>
<define name="REF_MAX_QDOT" value="RadOfDeg(8000.)"/>
<define name="REF_OMEGA_R" value="500" unit="deg/s"/>
<define name="REF_ZETA_R" value="0.85"/>
<define name="REF_MAX_R" value="180." unit="deg/s"/>
<define name="REF_MAX_RDOT" value="RadOfDeg(1800.)"/>
<define name="PHI_PGAIN" value="507"/>
<define name="PHI_DGAIN" value="274"/>
<define name="PHI_IGAIN" value="79"/>
<define name="THETA_PGAIN" value="507"/>
<define name="THETA_DGAIN" value="274"/>
<define name="THETA_IGAIN" value="79"/>
<define name="PSI_PGAIN" value="300"/>
<define name="PSI_DGAIN" value="160"/>
<define name="PSI_IGAIN" value="50"/>
<define name="PHI_DDGAIN" value="106"/>
<define name="THETA_DDGAIN" value="106"/>
<define name="PSI_DDGAIN" value="106"/>
</section>
<section name="GUIDANCE_V" prefix="GUIDANCE_V_">
<define name="MIN_ERR_Z" value="POS_BFP_OF_REAL(-10.)"/>
<define name="MAX_ERR_Z" value="POS_BFP_OF_REAL( 10.)"/>
<define name="MIN_ERR_ZD" value="SPEED_BFP_OF_REAL(-10.)"/>
<define name="MAX_ERR_ZD" value="SPEED_BFP_OF_REAL( 10.)"/>
<define name="MAX_SUM_ERR" value="2000000"/>
<define name="HOVER_KP" value="150"/>
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="20"/>
</section>
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
<define name="MAX_BANK" value="20" unit="deg"/>
<define name="PGAIN" value="100"/>
<define name="DGAIN" value="100"/>
<define name="IGAIN" value="0"/>
</section>
<section name="SIMULATOR" prefix="NPS_">
<define name="ACTUATOR_NAMES" value="{"ne_motor",
"se_motor", "sw_motor", "nw_motor"}"/>
<define name="JSBSIM_INIT" value=""reset00""/>
<define name="JSBSIM_MODEL" value=""simple_x_quad""/>
<define name="SENSORS_PARAMS"
value=""nps_sensors_params_default.h""/>
<define name="JS_AXIS_MODE" value="4"/>
</section>
<section name="AUTOPILOT">
<define name="MODE_MANUAL" value="AP_MODE_ATTITUDE_DIRECT"/>
<define name="MODE_AUTO1" value="AP_MODE_HOVER_DIRECT"/>
<define name="MODE_AUTO2" value="AP_MODE_NAV"/>
</section>
<section name="BAT">
<define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
<define name="CRITIC_BAT_LEVEL" value="9.6" unit="V"/>
<define name="LOW_BAT_LEVEL" value="11.1" unit="V"/>
<define name="MAX_BAT_LEVEL" value="12.4" unit="V"/>
</section>
</airframe>
--
View this message in context:
http://lists.paparazziuav.org/Configuration-for-apogee-quadrotor-tp16439.html
Sent from the paparazzi-devel mailing list archive at Nabble.com.
_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel