update ENAC frames

This commit is contained in:
Gautier Hattenberger
2011-09-28 15:36:54 +02:00
parent 6a1c3aabb9
commit 1d154b68de
4 changed files with 132 additions and 91 deletions
+16 -15
View File
@@ -21,20 +21,20 @@
<target name="sim" board="pc"/>
<target name="ap" board="umarim_1.0">
<configure name="FLASH_MODE" value="IAP"/>
<define name="USE_I2C0"/>
<define name="USE_I2C1"/>
</target>
<subsystem name="radio_control" type="ppm"/>
<subsystem name="i2c">
<define name="USE_I2C0"/>
<define name="USE_I2C1"/>
</subsystem>
<!-- Communication -->
<subsystem name="telemetry" type="transparent"/>
<subsystem name="telemetry" type="transparent">
<configure name="MODEM_BAUD" value="B57600"/>
</subsystem>
<!-- Actuators are automatically chosen according to board-->
<subsystem name="imu" type="umarim"/>
<subsystem name="ahrs" type="dcm">
<subsystem name="ahrs" type="float_dcm">
<define name="USE_HIGH_ACCEL_FLAG"/>
</subsystem>
<subsystem name="control" type="adaptive"/>
@@ -123,8 +123,8 @@
</section>
<section name="INS" prefix="INS_">
<define name="ROLL_NEUTRAL_DEFAULT" value="0.048" unit="rad"/>
<define name="PITCH_NEUTRAL_DEFAULT" value="0." unit="rad"/>
<define name="ROLL_NEUTRAL_DEFAULT" value="-0.0640000030398" unit="rad"/>
<define name="PITCH_NEUTRAL_DEFAULT" value="0.0670000016689" unit="rad"/>
</section>
<section name="BAT">
@@ -142,6 +142,7 @@
<define name="ALT_KALMAN_ENABLED" value="TRUE"/>
<define name="DEFAULT_CIRCLE_RADIUS" value="80."/>
<define name="UNLOCKED_HOME_MODE" value="TRUE"/>
<define name="TELEMETRY_MODE_AP" value="1"/>
</section>
<section name="VERTICAL CONTROL" prefix="V_CTL_">
@@ -158,10 +159,10 @@
<define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.80"/>
<define name="AUTO_THROTTLE_LOITER_TRIM" value="1500"/>
<define name="AUTO_THROTTLE_DASH_TRIM" value="-2500"/>
<define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.1" unit="%/(m/s)"/>
<define name="AUTO_THROTTLE_PGAIN" value="-0.02"/>
<define name="AUTO_THROTTLE_IGAIN" value="0.1"/>
<define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.15"/>
<define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.05" unit="%/(m/s)"/>
<define name="AUTO_THROTTLE_PGAIN" value="-0.007"/>
<define name="AUTO_THROTTLE_IGAIN" value="0.067"/>
<define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.11"/>
<!-- auto pitch inner loop -->
<define name="AUTO_PITCH_PGAIN" value="-0.05"/>
@@ -174,7 +175,7 @@
</section>
<section name="HORIZONTAL CONTROL" prefix="H_CTL_">
<define name="COURSE_PGAIN" value="-1.23500001431"/>
<define name="COURSE_PGAIN" value="-0.9"/>
<define name="ROLL_MAX_SETPOINT" value="0.805000007153" unit="radians"/>
<define name="PITCH_MAX_SETPOINT" value="0.5" unit="radians"/>
@@ -185,8 +186,8 @@
<define name="ELEVATOR_OF_ROLL" value="2000."/>
<define name="ROLL_ATTITUDE_GAIN" value="-12000"/>
<define name="ROLL_RATE_GAIN" value="-2500"/>
<define name="ROLL_ATTITUDE_GAIN" value="-2600"/>
<define name="ROLL_RATE_GAIN" value="-850"/>
<define name="ROLL_KFF" value="-500"/>
<define name="ROLL_IGAIN" value="-00"/>
+1 -1
View File
@@ -33,7 +33,7 @@
<!-- Actuators are automatically chosen according to board-->
<subsystem name="imu" type="umarim"/>
<subsystem name="ahrs" type="float_dcm"/>
<subsystem name="ahrs" type="float_dcm">
<define name="USE_HIGH_ACCEL_FLAG"/>
</subsystem>
<subsystem name="control" type="new"/>
+47 -19
View File
@@ -28,12 +28,15 @@
<subsystem name="radio_control" type="ppm"/>
<subsystem name="telemetry" type="transparent"/>
<subsystem name="actuators" type="asctec"/>
<!--subsystem name="actuators" type="mkk"/-->
<subsystem name="imu" type="b2_v1.1"/>
<subsystem name="gps" type="ublox">
<configure name="GPS_BAUD" value="B57600"/>
</subsystem>
<subsystem name="stabilization" type="euler"/>
<subsystem name="ahrs" type="int_cmpl_euler"/>
<subsystem name="ahrs" type="int_cmpl_euler">
<define name="USE_NOISE_FILTER"/>
</subsystem>
<subsystem name="ins" type="hff"/>
</firmware>
@@ -50,6 +53,12 @@
<servo name="YAW" no="2" min="0" neutral="0" max="255"/>
<servo name="THRUST" no="3" min="0" neutral="0" max="255"/>
</servos>
<!--servos min="0" neutral="0" max="0xff">
<servo name="FRONT" no="0" min="0" neutral="0" max="255"/>
<servo name="BACK" no="1" min="0" neutral="0" max="255"/>
<servo name="RIGHT" no="2" min="0" neutral="0" max="255"/>
<servo name="LEFT" no="3" min="0" neutral="0" max="255"/>
</servos-->
<commands>
<axis name="PITCH" failsafe_value="0"/>
@@ -58,6 +67,31 @@
<axis name="THRUST" failsafe_value="0"/>
</commands>
<!--section name="ACTUATORS_MKK" prefix="ACTUATORS_MKK_">
<define name="NB" value="4"/>
<define name="ADDR" value="{ 0x52, 0x56, 0x54, 0x58 }"/>
</section-->
<section name="SUPERVISION" prefix="SUPERVISION_">
<define name="TRIM_A" value="0"/>
<define name="TRIM_E" value="0"/>
<define name="TRIM_R" value="0"/>
</section>
<!--section name="SUPERVISION" prefix="SUPERVISION_">
<define name="MIN_MOTOR" value="25"/>
<define name="MAX_MOTOR" value="243"/>
<define name="TRIM_A" value="0"/>
<define name="TRIM_E" value="0"/>
<define name="TRIM_R" value="0"/>
<define name="NB_MOTOR" value="4"/>
<define name="SCALE" value="256"/>
<define name="ROLL_COEF" value="{ 0, 0, -256, 256}"/>
<define name="PITCH_COEF" value="{ 256, -256, 0, 0}"/>
<define name="YAW_COEF" value="{ -256, -256, 256, 256}"/>
<define name="THRUST_COEF" value="{ 256, 256, 256, 256}"/>
</section-->
<section name="IMU" prefix="IMU_">
<define name="GYRO_P_CHAN" value="1"/>
@@ -96,8 +130,8 @@
<define name="MAG_Y_SENS" value="5.43740121157" integer="16"/>
<define name="MAG_Z_SENS" value="2.60492836649" integer="16"/>
<define name="BODY_TO_IMU_PHI" value="RadOfDeg(-10.)"/>
<define name="BODY_TO_IMU_THETA" value="RadOfDeg(-10.)"/>
<define name="BODY_TO_IMU_PHI" value="RadOfDeg(0.)"/>
<define name="BODY_TO_IMU_THETA" value="RadOfDeg(0.)"/>
<!--define name="BODY_TO_IMU_PSI" value="RadOfDeg(45.)"/-->
<define name="BODY_TO_IMU_PSI" value="RadOfDeg(0.)"/>
@@ -140,31 +174,25 @@
<define name="REF_MAX_RDOT" value="RadOfDeg(900.)"/>
<!-- feedback -->
<define name="PHI_PGAIN" value="-1500"/>
<define name="PHI_DGAIN" value="-350"/>
<define name="PHI_IGAIN" value="-50"/>
<define name="PHI_PGAIN" value="-400"/>
<define name="PHI_DGAIN" value="-160"/>
<define name="PHI_IGAIN" value="-40"/>
<define name="THETA_PGAIN" value="-1500"/>
<define name="THETA_DGAIN" value="-350"/>
<define name="THETA_IGAIN" value="-50"/>
<define name="THETA_PGAIN" value="-400"/>
<define name="THETA_DGAIN" value="-160"/>
<define name="THETA_IGAIN" value="-40"/>
<define name="PSI_PGAIN" value="-1000"/>
<define name="PSI_DGAIN" value="-350"/>
<define name="PSI_IGAIN" value="-10"/>
<!-- feedforward -->
<define name="PHI_DDGAIN" value=" 350"/>
<define name="THETA_DDGAIN" value=" 350"/>
<define name="PHI_DDGAIN" value=" 300"/>
<define name="THETA_DDGAIN" value=" 300"/>
<define name="PSI_DDGAIN" value=" 300"/>
</section>
<section name="SUPERVISION" prefix="SUPERVISION_">
<define name="TRIM_A" value="0"/>
<define name="TRIM_E" value="0"/>
<define name="TRIM_R" value="0"/>
</section>
<section name="INS" prefix="INS_">
<define name="BARO_SENS" value="16.5" integer="16"/>
</section>
@@ -225,7 +253,7 @@
<define name="PAN_MIN" value="0"/>
<define name="PAN_MAX" value="25736"/> <!-- 360 deg (2^12) -->
<define name="DEFAULT_MODE" value="BOOZ_CAM_MODE_MANUAL"/>
<!--define name="SetPwm(_v)" value="Booz2SetPwm1Value(_v)"/-->
<define name="SetPwm(_v)" value="Booz2SetPwm1Value(_v)"/>
</section>
@@ -233,7 +261,7 @@
<define name="BOOZ_ANALOG_BARO_THRESHOLD" value="800"/>
<define name="FACE_REINJ_1" value="1024"/>
<define name="DEFAULT_CIRCLE_RADIUS" value="10."/>
<define name="BoozDropPwm(_v)" value="BoozSetPwm1Value(_v)"/>
<define name="BoozDropPwm(_v)" value="BoozSetPwm0Value(_v)"/>
<define name="IMU_MAG_OFFSET" value="-9."/>
</section>
+68 -56
View File
@@ -1,9 +1,11 @@
<airframe name="BOOZ2_G1">
<modules main_freq="512">
<!--load name="booz_pwm.xml"/-->
<!--load name="booz_drop.xml"/-->
<!--load name="booz_cam.xml"/-->
<load name="booz_pwm.xml">
<define name="USE_PWM1"/>
</load>
<load name="booz_drop.xml"/>
<load name="booz_cam.xml"/>
<!--load name="sonar_maxbotix_booz.xml">
<configure name="ADC_SONAR" value="ADC_0"/>
</load-->
@@ -161,67 +163,77 @@
</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="REF_MIN_ZDD" value="-1.5*9.81"/>
<define name="REF_MAX_ZDD" value=" 0.5*9.81"/>
<define name="REF_MIN_ZD" value="-1.5"/>
<define name="REF_MAX_ZD" value=" 1.5"/>
<define name="HOVER_KP" value="-150"/>
<define name="HOVER_KD" value="-80"/>
<define name="HOVER_KI" value="0"/>
<!-- 1.5m/s for full stick : SPEED_BFP_OF_REAL(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- SPEED_BFP_OF_REAL(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<!-- <define name="INV_M" value="0.118"/> -->
<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="REF_MIN_ZDD" value="-1.5*9.81"/>
<define name="REF_MAX_ZDD" value=" 0.5*9.81"/>
<define name="REF_MIN_ZD" value="-1.5"/>
<define name="REF_MAX_ZD" value=" 1.5"/>
<define name="HOVER_KP" value="-150"/>
<define name="HOVER_KD" value="-80"/>
<define name="HOVER_KI" value="0"/>
<!-- 1.5m/s for full stick : SPEED_BFP_OF_REAL(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- SPEED_BFP_OF_REAL(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<!-- <define name="INV_M" value="0.118"/> -->
</section>
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
<define name="PGAIN" value="-50"/>
<define name="DGAIN" value="-100"/>
<define name="IGAIN" value="-15"/>
<define name="NGAIN" value="-0"/>
<!-- feedforward -->
<define name="AGAIN" value="100"/>
</section>
<define name="PGAIN" value="-50"/>
<define name="DGAIN" value="-100"/>
<define name="IGAIN" value="-15"/>
<define name="NGAIN" value="-0"/>
<!-- feedforward -->
<define name="AGAIN" value="100"/>
</section>
<section name="BAT">
<define name="MILLIAMP_PER_PERCENT" value="0.86"/>
<define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
<define name="BATTERY_SENS" value="0.183" integer="16"/>
</section>
<section name="BAT">
<define name="MILLIAMP_PER_PERCENT" value="0.86"/>
<define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
<define name="BATTERY_SENS" value="0.183" integer="16"/>
</section>
<section name="AUTOPILOT">
<define name="MODE_MANUAL" value="AP_MODE_ATTITUDE_DIRECT"/>
<define name="MODE_AUTO1" value="AP_MODE_ATTITUDE_Z_HOLD"/>
<define name="MODE_AUTO2" value="AP_MODE_NAV"/>
</section>
<section name="AUTOPILOT">
<define name="MODE_MANUAL" value="AP_MODE_ATTITUDE_DIRECT"/>
<define name="MODE_AUTO1" value="AP_MODE_ATTITUDE_Z_HOLD"/>
<define name="MODE_AUTO2" value="AP_MODE_NAV"/>
</section>
<section name="FMS">
<define name="BOOZ_FMS_TIMEOUT" value="0"/>
</section>
<section name="FMS">
<define name="BOOZ_FMS_TIMEOUT" value="0"/>
</section>
<section name="CAM" prefix="BOOZ_CAM_">
<section name="CAM" prefix="BOOZ_CAM_">
<define name="ON" value="LED_ON(CAM_SWITCH_LED)"/>
<define name="OFF" value="LED_OFF(CAM_SWITCH_LED)"/>
<define name="TILT_NEUTRAL" value="1500"/>
<define name="TILT_MIN" value="1000"/>
<define name="TILT_MAX" value="2000"/>
<define name="TILT_ANGLE_MIN" value="RadOfDeg(-85.)" unit="rad"/>
<define name="TILT_ANGLE_MAX" value="RadOfDeg( 30.)" unit="rad"/>
<define name="TILT_MAX" value="1000"/>
<define name="TILT_MIN" value="2300"/>
<define name="TILT_ANGLE_MIN" value="RadOfDeg(-90.)" unit="rad"/>
<define name="TILT_ANGLE_MAX" value="RadOfDeg( 10.)" unit="rad"/>
<define name="PAN_NEUTRAL" value="0"/>
<define name="PAN_MIN" value="0"/>
<define name="PAN_MAX" value="25736"/> <!-- 360 deg (2^12) -->
</section>
<define name="SetPwm(_v)" value="BoozSetPwm1Value(_v)"/>
</section>
<section name="MISC">
<define name="BOOZ_ANALOG_BARO_THRESHOLD" value="800"/>
<define name="FACE_REINJ_1" value="1024"/>
<define name="DEFAULT_CIRCLE_RADIUS" value="10."/>
</section>
<section name="DROP">
<define name="DROP_SERVO_CLOSED" value="2120"/>
<define name="DROP_SERVO_OPEN" value="1060"/>
<!--define name="BoozDropPwm(_v)" value="BoozSetPwm0Value(_v)"/-->
</section>
<section name="MISC">
<define name="BOOZ_ANALOG_BARO_THRESHOLD" value="800"/>
<define name="FACE_REINJ_1" value="1024"/>
<define name="DEFAULT_CIRCLE_RADIUS" value="10."/>
<!--define name="IMU_MAG_OFFSET" value="-5.8"/-->
</section>
<section name="GCS">
<define name="ALT_SHIFT_PLUS_PLUS" value="5"/>
@@ -229,10 +241,10 @@
<define name="ALT_SHIFT_MINUS" value="-1"/>
</section>
<section name="SIMULATOR" prefix="NPS_">
<define name="ACTUATOR_NAMES" value="{&quot;front_motor&quot;, &quot;back_motor&quot;, &quot;right_motor&quot;, &quot;left_motor&quot;}"/>
<!--define name="INITIAL_CONDITITONS" value="&quot;reset_enac&quot;"/-->
<define name="SENSORS_PARAMS" value="&quot;nps_sensors_params_booz2_a1.h&quot;"/>
</section>
<section name="SIMULATOR" prefix="NPS_">
<define name="ACTUATOR_NAMES" value="{&quot;front_motor&quot;, &quot;back_motor&quot;, &quot;right_motor&quot;, &quot;left_motor&quot;}"/>
<!--define name="INITIAL_CONDITITONS" value="&quot;reset_enac&quot;"/-->
<define name="SENSORS_PARAMS" value="&quot;nps_sensors_params_booz2_a1.h&quot;"/>
</section>
</airframe>