paparazzi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] Rotorcraft - starting motors


From: MRSA
Subject: Re: [Paparazzi-devel] Rotorcraft - starting motors
Date: Thu, 11 Oct 2012 09:40:50 +0200

Apparently the pwm_supervision subsystem doesn't take care of updating the
additional servos, it only updates the motors.
In Esden's branch (
https://github.com/psinha/paparazzi/commit/8b00c2d498d62c43e706705d745bf6482
5efc134 ), there is an additional subsystem to update the servo
(camera_mount). I will try to do something similar but for 2 servos instead
of one and I will keep you informed.
Cédric

-----Message d'origine-----
De : address@hidden
[mailto:address@hidden De la part
de Cedric Marzer
Envoyé : mardi 9 octobre 2012 22:50
À : address@hidden
Objet : Re: [Paparazzi-devel] Rotorcraft - starting motors

I still have some problems to make the two servos of my gimbal work.
Basically I get a servo signal out of the lisa autopilot (1500 ms verified
on the scope), but it is the neutral value and I can't make it change with
my transmitter pots as it should.
I join my airframe file, my radio file and the generated airframe.h in case
someone would have an idea… The next step will be to stabilize the gimbal.
Is there a way to define the servo position based on the pitch or the roll
directly in the airframe file or should a write a new module ? (the cam
module doesn't do exactly what I want).
Thanks for your help
Cédric

<airframe name="mzrhexa">
   <firmware name="rotorcraft">
       <target name="sim" board="pc">
           <subsystem name="fdm"   type="nps"/>
       </target>
       <target name="ap" board="lisa_m_2.0"/>
           <!--define name="GUIDANCE_H_USE_REF"/-->
           <!--define name="USE_THROTTLE_FOR_MOTOR_ARMING"/-->
           <!--define name="USE_KILL_SWITCH_FOR_MOTOR_ARMING"/-->
           <define name="USE_SERVOS_7AND8"/>
           <define name="SERVO_HZ" value="400"/>
           <define name="SERVO_HZ_SECONDARY" value="40"/>   
           <subsystem name="radio_control" type="ppm"/>
           <subsystem name="telemetry"     type="transparent">
               <configure name="MODEM_BAUD"  value="B57600"/>
               <configure name="MODEM_PORT"  value="UART2"/>
           </subsystem>
           <subsystem name="actuators"
type="pwm_supervision">                         
           </subsystem>
           <subsystem name="imu"           type="aspirin_v2.1"/>
           <subsystem name="gps"           type="ublox"/>
           <subsystem name="ahrs"          type="int_cmpl_quat"/>
           <subsystem name="stabilization" type="int_quat"/>
           <configure name="AHRS_PROPAGATE_FREQUENCY" value="500"/>
   </firmware>
    <servos min="0" neutral="0" max="0xff">
   <servo name="FRONT_RIGHT"   no="0" min="1000" neutral="1000"
max="2000"/>
   <servo name="FRONT_LEFT"  no="1" min="1000" neutral="1000"
max="2000"/>
   <servo name="LEFT"        no="2" min="1000" neutral="1000"
max="2000"/>
   <servo name="BACK_LEFT"   no="3" min="1000" neutral="1000"
max="2000"/>
   <servo name="BACK_RIGHT"    no="4" min="1000" neutral="1000"
max="2000"/>
   <servo name="RIGHT"         no="5" min="1000" neutral="1000"
max="2000"/>
   <servo name="CAM_TILT"         no="6" min="1000" neutral="1500"
max="2000"/>
   <servo name="CAM_ROLL"         no="7" min="1000" neutral="1500"
max="2000"/>
 </servos>
   <commands>
       <axis name="PITCH"  failsafe_value="0"/>
       <axis name="ROLL"   failsafe_value="0"/>
       <axis name="YAW"    failsafe_value="0"/>
       <axis name="THRUST" failsafe_value="0"/>
       <axis name="CAM_TILT"    failsafe_value="0"/>
       <axis name="CAM_ROLL" failsafe_value="0"/>
   </commands>
 <rc_commands>
   <set command="CAM_TILT" value="@VRC"/>
   <set command="CAM_ROLL" value="@VRA"/>   
 </rc_commands>
   <command_laws>
       <!-- command_laws is needed for pwm_supervision -->
       <!-- but can be empty if no additional servos are used -->
       <!--set servo="FRONT_RIGHT"   value="0"/>
       <set servo="FRONT_LEFT"  value="1"/>
       <set servo="LEFT"        value="2"/>
       <set servo="BACK_LEFT"   value="3"/>
       <set servo="BACK_RIGHT"    value="4"/>
       <set servo="RIGHT"         value="5"/-->
       <set servo="CAM_TILT"  value="@CAM_TILT"/>
       <set servo="CAM_ROLL" value="@CAM_ROLL"/>
   </command_laws>
   <section name="SUPERVISION" prefix="SUPERVISION_">
       <define name="STOP_MOTOR" value="900"/>
       <define name="MIN_MOTOR" value="1200" />
       <define name="MAX_MOTOR" value="2100" />
       <define name="TRIM_A" value="0" />
       <define name="TRIM_E" value="0" />
       <define name="TRIM_R" value="0" />
       <define name="NB_MOTOR" value="6" />
       <define name="SCALE" value="256"/>
       <define name="ROLL_COEF"   value="{  -128, 128, 256, 128,  -128,
-256}" />
       <define name="PITCH_COEF"  value="{ 256, 256,  0, -256, -256, 0}" />
       <define name="YAW_COEF"    value="{ 256, -256, 256, -256,  256,
-256}" />
       <define name="THRUST_COEF" value="{ 256,  256,  256,  256,  256,
256}"/>
   </section>
   <section name="IMU" prefix="IMU_">
       <define name="ACCEL_X_NEUTRAL" value="11"/>
       <define name="ACCEL_Y_NEUTRAL" value="11"/>
       <define name="ACCEL_Z_NEUTRAL" value="-25"/>
       <!-- replace this with your own calibration -->
       <define name="MAG_X_NEUTRAL" value="-152"/>
       <define name="MAG_Y_NEUTRAL" value="-51"/>
       <define name="MAG_Z_NEUTRAL" value="10"/>
       <define name="MAG_X_SENS" value="4.04042714046" integer="16"/>
       <define name="MAG_Y_SENS" value="3.95350991963" integer="16"/>
       <define name="MAG_Z_SENS" value="3.83055079257" integer="16"/>
       <define name="BODY_TO_IMU_PHI"   value="0." unit="deg"/>
       <define name="BODY_TO_IMU_THETA" value="0." unit="deg"/>
       <define name="BODY_TO_IMU_PSI"   value="0." unit="deg"/>
   </section>
   <section name="AHRS" prefix="AHRS_">
       <define name="H_X" value="0.3770441"/>
       <define name="H_Y" value="0.0193986"/>
       <define name="H_Z" value="0.9259921"/>
   </section>
   <section name="INS" prefix="INS_">
       <define name="BARO_SENS" value="3.3" integer="16"/>
   </section>
   <section name="STABILIZATION_RATE" prefix="STABILIZATION_RATE_">
       <!-- setpoints -->
       <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"/>
       <!-- feedback -->
       <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"/>
       <!-- feedforward -->
       <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_">
       <!-- setpoints -->
       <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="DEADBAND_A"     value="0"/>
       <define name="DEADBAND_E"     value="0"/>
       <define name="DEADBAND_R"     value="250"/>
       <!-- reference -->
       <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.)"/>
       <!-- feedback -->
       <define name="PHI_PGAIN"  value="1000"/>
       <define name="PHI_DGAIN"  value="400"/>
       <define name="PHI_IGAIN"  value="200"/>
       <define name="THETA_PGAIN"  value="1000"/>
       <define name="THETA_DGAIN"  value="400"/>
       <define name="THETA_IGAIN"  value="200"/>
       <define name="PSI_PGAIN"  value="500"/>
       <define name="PSI_DGAIN"  value="300"/>
       <define name="PSI_IGAIN"  value="10"/>
       <!-- feedforward -->
       <define name="PHI_DDGAIN"   value="300"/>
       <define name="THETA_DDGAIN" value="300"/>
       <define name="PSI_DDGAIN"   value="300"/>
   </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"/>
       <!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) /
(MAX_PPRZ/2) -->
       <define name="RC_CLIMB_COEF" value ="163"/>
       <!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
       <define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
       <!-- NOMINAL_HOVER_THROTTLE sets a fixed value instead of the
adaptive estimation -->
       <!--define name="NOMINAL_HOVER_THROTTLE" value="0.5"/-->
   </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="{&quot;front_motor&quot;,
&quot;back_motor&quot;, &quot;right_motor&quot;, &quot;left_motor&quot;}"/>
       <define name="INITIAL_CONDITITONS" value="&quot;reset00&quot;"/>
       <define name="SENSORS_PARAMS"
value="&quot;nps_sensors_params_default.h&quot;"/>
   </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_HOVER_Z_HOLD"/>
   </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="9.7" unit="V"/>
       <define name="MAX_BAT_LEVEL" value="12.6" unit="V"/>
   </section>
   <modules main_freq="512">
       <load name="gps_ubx_ucenter.xml"/>
   </modules>
</airframe>

<!DOCTYPE radio SYSTEM "radio.dtd">
 <radio name="T9cap_mzr" data_min="900" data_max="2100" sync_min="5000"
sync_max="15000" pulse_type="POSITIVE">
 <channel ctl="aileron_stick" function="ROLL" min="1000" neutral="1500"
max="2000" average="0"/>
 <channel ctl="elevator_stick" function="PITCH" min="1000"
neutral="1500" max="2000" average="0"/>
 <channel ctl="throttle_stick" function="THROTTLE" min="1800"
neutral="1800" max="1200" average="0"/>  <channel ctl="rudder_stick"
function="YAW" min="1100" neutral="1500"
max="1900" average="0"/>
 <channel ctl="switch_G" function="KILL_SWITCH" min="2000"
neutral="1500" max="1000" average="0"/>
 <channel ctl="VRA" function="VRA" min="1000" neutral="1500" max="2000"
average="0"/>
 <channel ctl="VRC" function="VRC" min="1000" neutral="1500" max="2000"
average="0"/>
 <channel ctl="switch_E" function="MODE" min="2000" neutral="1500"
max="1000" average="0"/>
</radio>

/* This file has been generated
from /home/marzer/paparazzi/conf/airframes/mzrhexa.xml */
/* Please DO NOT EDIT */

#ifndef AIRFRAME_H
#define AIRFRAME_H

#define AIRFRAME_NAME "MZRHEXA"
#define AC_ID 3
#define MD5SUM ((uint8_t*)"\277\014\364\146\010\335\357\002\144\070\360
\272\262\125\321\232")

#define SERVOS_NB 8

#define SERVO_FRONT_RIGHT 0
#define SERVO_FRONT_RIGHT_NEUTRAL 1000
#define SERVO_FRONT_RIGHT_TRAVEL_UP 0.104166666667 #define
SERVO_FRONT_RIGHT_TRAVEL_DOWN 0 #define SERVO_FRONT_RIGHT_MAX 2000 #define
SERVO_FRONT_RIGHT_MIN 1000

#define SERVO_FRONT_LEFT 1
#define SERVO_FRONT_LEFT_NEUTRAL 1000
#define SERVO_FRONT_LEFT_TRAVEL_UP 0.104166666667 #define
SERVO_FRONT_LEFT_TRAVEL_DOWN 0 #define SERVO_FRONT_LEFT_MAX 2000 #define
SERVO_FRONT_LEFT_MIN 1000

#define SERVO_LEFT 2
#define SERVO_LEFT_NEUTRAL 1000
#define SERVO_LEFT_TRAVEL_UP 0.104166666667 #define SERVO_LEFT_TRAVEL_DOWN 0
#define SERVO_LEFT_MAX 2000 #define SERVO_LEFT_MIN 1000

#define SERVO_BACK_LEFT 3
#define SERVO_BACK_LEFT_NEUTRAL 1000
#define SERVO_BACK_LEFT_TRAVEL_UP 0.104166666667 #define
SERVO_BACK_LEFT_TRAVEL_DOWN 0 #define SERVO_BACK_LEFT_MAX 2000 #define
SERVO_BACK_LEFT_MIN 1000

#define SERVO_BACK_RIGHT 4
#define SERVO_BACK_RIGHT_NEUTRAL 1000
#define SERVO_BACK_RIGHT_TRAVEL_UP 0.104166666667 #define
SERVO_BACK_RIGHT_TRAVEL_DOWN 0 #define SERVO_BACK_RIGHT_MAX 2000 #define
SERVO_BACK_RIGHT_MIN 1000

#define SERVO_RIGHT 5
#define SERVO_RIGHT_NEUTRAL 1000
#define SERVO_RIGHT_TRAVEL_UP 0.104166666667 #define SERVO_RIGHT_TRAVEL_DOWN
0 #define SERVO_RIGHT_MAX 2000 #define SERVO_RIGHT_MIN 1000

#define SERVO_CAM_TILT 6
#define SERVO_CAM_TILT_NEUTRAL 1500
#define SERVO_CAM_TILT_TRAVEL_UP 0.0520833333333 #define
SERVO_CAM_TILT_TRAVEL_DOWN 0.0520833333333 #define SERVO_CAM_TILT_MAX 2000
#define SERVO_CAM_TILT_MIN 1000

#define SERVO_CAM_ROLL 7
#define SERVO_CAM_ROLL_NEUTRAL 1500
#define SERVO_CAM_ROLL_TRAVEL_UP 0.0520833333333 #define
SERVO_CAM_ROLL_TRAVEL_DOWN 0.0520833333333 #define SERVO_CAM_ROLL_MAX 2000
#define SERVO_CAM_ROLL_MIN 1000


#define COMMAND_PITCH 0
#define COMMAND_ROLL 1
#define COMMAND_YAW 2
#define COMMAND_THRUST 3
#define COMMAND_CAM_TILT 4
#define COMMAND_CAM_ROLL 5
#define COMMANDS_NB 6
#define COMMANDS_FAILSAFE {0,0,0,0,0,0}


#define SetCommandsFromRC(_commands_array, _rc_array) { \
_commands_array[COMMAND_CAM_TILT] = _rc_array[RADIO_VRC];\
_commands_array[COMMAND_CAM_ROLL] = _rc_array[RADIO_VRA];\ }

#define SetActuatorsFromCommands(values) { \  uint32_t servo_value;\  float
command_value;\  command_value = values[COMMAND_CAM_TILT];\  command_value
*= command_value>0 ? SERVO_CAM_TILT_TRAVEL_UP :
SERVO_CAM_TILT_TRAVEL_DOWN;\
 servo_value = SERVO_CAM_TILT_NEUTRAL + (int32_t)(command_value);\
actuators[SERVO_CAM_TILT] = ChopServo(servo_value, SERVO_CAM_TILT_MIN,
SERVO_CAM_TILT_MAX);\ \
 Actuator(SERVO_CAM_TILT) =
SERVOS_TICS_OF_USEC(actuators[SERVO_CAM_TILT]);\
\
 command_value = values[COMMAND_CAM_ROLL];\  command_value *=
command_value>0 ? SERVO_CAM_ROLL_TRAVEL_UP :
SERVO_CAM_ROLL_TRAVEL_DOWN;\
 servo_value = SERVO_CAM_ROLL_NEUTRAL + (int32_t)(command_value);\
actuators[SERVO_CAM_ROLL] = ChopServo(servo_value, SERVO_CAM_ROLL_MIN,
SERVO_CAM_ROLL_MAX);\ \
 Actuator(SERVO_CAM_ROLL) =
SERVOS_TICS_OF_USEC(actuators[SERVO_CAM_ROLL]);\
\
 ActuatorsCommit();\
}

#define AllActuatorsInit() { \
 ActuatorsInit();\
}

#define SECTION_SUPERVISION 1
#define SUPERVISION_STOP_MOTOR 900
#define SUPERVISION_MIN_MOTOR 1200
#define SUPERVISION_MAX_MOTOR 2100
#define SUPERVISION_TRIM_A 0
#define SUPERVISION_TRIM_E 0
#define SUPERVISION_TRIM_R 0
#define SUPERVISION_NB_MOTOR 6
#define SUPERVISION_SCALE 256
#define SUPERVISION_ROLL_COEF {  -128, 128, 256, 128,  -128,  -256} #define
SUPERVISION_PITCH_COEF { 256, 256,  0, -256, -256, 0} #define
SUPERVISION_YAW_COEF { 256, -256, 256, -256,  256, -256} #define
SUPERVISION_THRUST_COEF { 256,  256,  256,  256,  256,  256}

#define SECTION_IMU 1
#define IMU_ACCEL_X_NEUTRAL 11
#define IMU_ACCEL_Y_NEUTRAL 11
#define IMU_ACCEL_Z_NEUTRAL -25
#define IMU_MAG_X_NEUTRAL -152
#define IMU_MAG_Y_NEUTRAL -51
#define IMU_MAG_Z_NEUTRAL 10
#define IMU_MAG_X_SENS 4.04042714046
#define IMU_MAG_X_SENS_NUM 5297
#define IMU_MAG_X_SENS_DEN 1311
#define IMU_MAG_Y_SENS 3.95350991963
#define IMU_MAG_Y_SENS_NUM 51194
#define IMU_MAG_Y_SENS_DEN 12949
#define IMU_MAG_Z_SENS 3.83055079257
#define IMU_MAG_Z_SENS_NUM 24550
#define IMU_MAG_Z_SENS_DEN 6409
#define IMU_BODY_TO_IMU_PHI 0.
#define IMU_BODY_TO_IMU_THETA 0.
#define IMU_BODY_TO_IMU_PSI 0.

#define SECTION_AHRS 1
#define AHRS_H_X 0.3770441
#define AHRS_H_Y 0.0193986
#define AHRS_H_Z 0.9259921

#define SECTION_INS 1
#define INS_BARO_SENS 3.3
#define INS_BARO_SENS_NUM 33
#define INS_BARO_SENS_DEN 10

#define SECTION_STABILIZATION_RATE 1
#define STABILIZATION_RATE_SP_MAX_P 10000 #define
STABILIZATION_RATE_SP_MAX_Q 10000 #define STABILIZATION_RATE_SP_MAX_R 10000
#define STABILIZATION_RATE_DEADBAND_P 20 #define
STABILIZATION_RATE_DEADBAND_Q 20 #define STABILIZATION_RATE_DEADBAND_R 200
#define STABILIZATION_RATE_REF_TAU 4 #define STABILIZATION_RATE_GAIN_P 400
#define STABILIZATION_RATE_GAIN_Q 400 #define STABILIZATION_RATE_GAIN_R 350
#define STABILIZATION_RATE_IGAIN_P 75 #define STABILIZATION_RATE_IGAIN_Q 75
#define STABILIZATION_RATE_IGAIN_R 50 #define STABILIZATION_RATE_DDGAIN_P
300 #define STABILIZATION_RATE_DDGAIN_Q 300 #define
STABILIZATION_RATE_DDGAIN_R 300

#define SECTION_STABILIZATION_ATTITUDE 1 #define
STABILIZATION_ATTITUDE_SP_MAX_PHI 0.7853981625 #define
STABILIZATION_ATTITUDE_SP_MAX_THETA 0.7853981625 #define
STABILIZATION_ATTITUDE_SP_MAX_R 1.570796325 #define
STABILIZATION_ATTITUDE_DEADBAND_A 0 #define
STABILIZATION_ATTITUDE_DEADBAND_E 0 #define
STABILIZATION_ATTITUDE_DEADBAND_R 250 #define
STABILIZATION_ATTITUDE_REF_OMEGA_P 13.962634 #define
STABILIZATION_ATTITUDE_REF_ZETA_P 0.85 #define
STABILIZATION_ATTITUDE_REF_MAX_P 6.981317 #define
STABILIZATION_ATTITUDE_REF_MAX_PDOT RadOfDeg(8000.) #define
STABILIZATION_ATTITUDE_REF_OMEGA_Q 13.962634 #define
STABILIZATION_ATTITUDE_REF_ZETA_Q 0.85 #define
STABILIZATION_ATTITUDE_REF_MAX_Q 6.981317 #define
STABILIZATION_ATTITUDE_REF_MAX_QDOT RadOfDeg(8000.) #define
STABILIZATION_ATTITUDE_REF_OMEGA_R 8.72664625 #define
STABILIZATION_ATTITUDE_REF_ZETA_R 0.85 #define
STABILIZATION_ATTITUDE_REF_MAX_R 3.14159265 #define
STABILIZATION_ATTITUDE_REF_MAX_RDOT RadOfDeg(1800.) #define
STABILIZATION_ATTITUDE_PHI_PGAIN 1000 #define
STABILIZATION_ATTITUDE_PHI_DGAIN 400 #define
STABILIZATION_ATTITUDE_PHI_IGAIN 200 #define
STABILIZATION_ATTITUDE_THETA_PGAIN 1000 #define
STABILIZATION_ATTITUDE_THETA_DGAIN 400 #define
STABILIZATION_ATTITUDE_THETA_IGAIN 200 #define
STABILIZATION_ATTITUDE_PSI_PGAIN 500 #define
STABILIZATION_ATTITUDE_PSI_DGAIN 300 #define
STABILIZATION_ATTITUDE_PSI_IGAIN 10 #define
STABILIZATION_ATTITUDE_PHI_DDGAIN 300 #define
STABILIZATION_ATTITUDE_THETA_DDGAIN 300 #define
STABILIZATION_ATTITUDE_PSI_DDGAIN 300

#define SECTION_GUIDANCE_V 1
#define GUIDANCE_V_MIN_ERR_Z POS_BFP_OF_REAL(-10.) #define
GUIDANCE_V_MAX_ERR_Z POS_BFP_OF_REAL( 10.) #define GUIDANCE_V_MIN_ERR_ZD
SPEED_BFP_OF_REAL(-10.) #define GUIDANCE_V_MAX_ERR_ZD SPEED_BFP_OF_REAL(
10.) #define GUIDANCE_V_MAX_SUM_ERR 2000000 #define GUIDANCE_V_HOVER_KP 150
#define GUIDANCE_V_HOVER_KD 80 #define GUIDANCE_V_HOVER_KI 20 #define
GUIDANCE_V_RC_CLIMB_COEF 163 #define GUIDANCE_V_RC_CLIMB_DEAD_BAND 160000

#define SECTION_GUIDANCE_H 1
#define GUIDANCE_H_MAX_BANK 0.34906585
#define GUIDANCE_H_PGAIN 100
#define GUIDANCE_H_DGAIN 100
#define GUIDANCE_H_IGAIN 0

#define SECTION_SIMULATOR 1
#define NPS_ACTUATOR_NAMES {"front_motor", "back_motor", "right_motor",
"left_motor"} #define NPS_INITIAL_CONDITITONS "reset00"
#define NPS_SENSORS_PARAMS "nps_sensors_params_default.h"

#define SECTION_AUTOPILOT 1
#define MODE_MANUAL AP_MODE_ATTITUDE_DIRECT #define MODE_AUTO1
AP_MODE_ATTITUDE_Z_HOLD #define MODE_AUTO2 AP_MODE_HOVER_Z_HOLD

#define SECTION_BAT 1
#define CATASTROPHIC_BAT_LEVEL 9.3
#define CRITIC_BAT_LEVEL 9.6
#define LOW_BAT_LEVEL 9.7
#define MAX_BAT_LEVEL 12.6


#endif // AIRFRAME_H



Le 8 oct. 2012 à 22:42, Cedric Marzer a écrit :

> OK, the problem was the yaw stick not reaching the extrema. It is working
now.
> My next step is to make my camera stabilization work. I guess I should
look into the cam point module. Has anyone already achieve that ?
> 
> 


_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel





reply via email to

[Prev in Thread] Current Thread [Next in Thread]