paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] Can not use AUTOSHOOT function.


From: Christophe De Wagter
Subject: Re: [Paparazzi-devel] Can not use AUTOSHOOT function.
Date: Sat, 4 Aug 2012 14:07:58 +0200

as a reference: this is our photogrammetry plane nr1: https://github.com/tudelft/paparazzi/blob/tudelft4.0/conf/airframes/TUDelft/TwinStarXSens.xml

-Christophe 



On Sat, Aug 4, 2012 at 2:07 PM, Christophe De Wagter <address@hidden> wrote:
I think 

 <define name="SENSOR_SYNC_SEND"/>

should be

 <define name="SENSOR_SYNC_SEND" value="1" />

Don't you get a warning about this during compile?

-Christophe 




On Sat, Aug 4, 2012 at 1:29 PM, Marvin Wang <address@hidden> wrote:
hi Christophe ,

thanks for answering ,

i have read your mail before,  maybe now the code is different.

and now i set

#define LINE_START_FUNCTION dc_autoshoot = DC_AUTOSHOOT_PERIODIC

and also

#define LINE_START_FUNCTION dc_autoshoot = DC_AUTOSHOOT_DISTANCE

both of them can not auto trigger  the shutter..

i don't know what i have missed . this is my airframe file. could you
check it for me ?

thanks

<!DOCTYPE airframe SYSTEM "airframe.dtd">

<airframe name="Sky Surfer 1.4m with Lisa/M 2.0">

    <firmware name="fixedwing">
    <target name="sim" board="pc">
      <define name="LOITER_TRIM"/>
      <define name="ALT_KALMAN"/>
      <define name="AGR_CLIMB"/>
    </target>

    <target name="ap" board="lisa_m_2.0">
      <define name="LOITER_TRIM"/>
      <define name="ALT_KALMAN"/>
      <define name="AGR_CLIMB"/>
       <define name="USE_BARO_BMP"/>
      <define name="DC_AUTOSHOOT_PERIODIC"/>

    </target>

    <subsystem name="imu" type="aspirin_v2.1"/>
    <subsystem name="ahrs" type="int_cmpl_quat">
       <define name="AHRS_PROPAGATE_LOW_PASS_RATES"/>
    </subsystem>
    <subsystem name="radio_control" type="ppm"/>
    <subsystem name="telemetry" type="transparent">
      <configure name="MODEM_BAUD" value="B9600"/>
    </subsystem>

    <subsystem name="gps" type="ublox"/>
    <subsystem name="control" type="new"/>
    <subsystem name="navigation" type="extra"/>
  </firmware>

  <modules>
   <load name="baro_bmp.xml">
      <define name="BMP_I2C_DEV" value="i2c2"/>
      <define name="USE_I2C2"/>
      <define name="SENSOR_SYNC_SEND"/>
    </load>


 <load name="digital_cam.xml">
    <define name="DC_SHUTTER_LED" value="5"/>
    <define name="LED_5_BANK" value="1"/>
    <define name="LED_5_PIN" value="18"/>
    <define name="PUSH" value="LED_ON" />
    <define name="RELEASE" value="LED_OFF" />
    <define name="DC_SHUTTER_DELAY" value="1" unit="quarter_second"/>
    <define name="AUTOSHOOT_QUARTERSEC_PERIOD" value="8" unit="quarter_second"/>
    <define name="AUTOSHOOT_METER_GRID" value="50" unit="meter"/>
 </load>
  </modules>


  <firmware name="setup">
    <target name="tunnel" board="lisa_m_2.0"/>
    <target name="setup_actuators" board="lisa_m_2.0"/>
  </firmware>



  <section name="AHRS" prefix="AHRS_">
  <define name="H_X" value="0.4358310"/>
  <define name="H_Y" value="0.0208085"/>
  <define name="H_Z" value="0.8997879"/>
<!--
   above data calcultated by
www.ngdc.noaa.gov/geomagmodels/struts/calcIGRFWMM , model =
urumqi,China, date: 2012,june,1th
-->
</section>


<!-- commands section -->
<!-- ppm input process chain:
     radio.xml -> decode according to radio.xml -> commands->
rc_command + command_law -->
  <commands>
    <axis name="ROLL" failsafe_value="0"/>
    <axis name="THROTTLE" failsafe_value="0"/>
    <axis name="PITCH" failsafe_value="0"/>
    <axis name="YAW" failsafe_value="0"/>
  </commands>

  <rc_commands>
    <set command="ROLL" value="@ROLL"/>
    <set command="THROTTLE" value="@THROTTLE"/>
    <set command="PITCH" value="@PITCH"/>
    <set command="YAW" value="@YAW"/>
  </rc_commands>

  <servos>
    <servo name="AILERON" no="0" min="1948" neutral="1536" max="1108"/>
    <servo name="THROTTLE" no="1" min="1000" neutral="1000" max="2000"/>
    <servo name="ELEVATOR" no="2" min="1940" neutral="1520" max="1074"/>
    <servo name="RUDDER" no="3" min="1844" neutral="1428" max="1004"/>
  </servos>

  <command_laws>
    <set servo="THROTTLE" value="@THROTTLE"/>
    <set servo="RUDDER" value="@YAW"/>
    <set servo="ELEVATOR" value="@PITCH"/>
    <set servo="AILERON" value="@ROLL"/>
  </command_laws>




  <auto_rc_commands>
  <!-- enable rudder in AUTO1 mode-->
    <set command="YAW" value="@YAW"/>
  </auto_rc_commands>
<!-- End command section -->

  <section name="AUTO1" prefix="AUTO1_">
    <define name="MAX_ROLL" value="RadOfDeg(50)"/>
    <define name="MAX_PITCH" value="RadOfDeg(30)"/>
  </section>

   <section name="IMU" prefix="IMU_">
<!-- gyrosens, accelemeter neutral and sens undefined here means use
default value defined in imu_aspirinv2.0.h

/paparazzi/sw/airbone/subsystems/imu/ -->
<!-- mag sensor values are found by calibrate.py scrip, 2012/05/22
NCKU_iaa_building, Tainan, Taiwan-->

    <define name="MAG_X_NEUTRAL" value="-61"/>
    <define name="MAG_Y_NEUTRAL" value="-258"/>
    <define name="MAG_Z_NEUTRAL" value="-6"/>
    <define name="MAG_X_SENS" value="3.50911622834" integer="16"/>
    <define name="MAG_Y_SENS" value="3.69626231743" integer="16"/>
    <define name="MAG_Z_SENS" value="3.74651660215" integer="16"/>



    <define name="BODY_TO_IMU_PHI" value="RadOfDeg(0.0)"/>
    <define name="BODY_TO_IMU_THETA" value="RadOfDeg(90.0)"/>
    <define name="BODY_TO_IMU_PSI" value="RadOfDeg(90.0)"/>
  </section>


  <section name="INS" prefix="INS_">
    <define name="ROLL_NEUTRAL_DEFAULT" value="-0.00899999961257" unit="rad"/>
    <define name="PITCH_NEUTRAL_DEFAULT" value="0.00499999988824" unit="rad"/>
  </section>

  <section name="BAT">
 <!-- checked-->
    <define name="MILLIAMP_AT_FULL_THROTTLE" value="35000" unit="mA"/>
    <define name="CATASTROPHIC_BAT_LEVEL" value="8.5" unit="V"/>
    <define name="CRITIC_BAT_LEVEL" value="9.5" unit="V"/>
    <define name="LOW_BAT_LEVEL" value="10" unit="V"/>
    <define name="MAX_BAT_LEVEL" value="12.5" unit="V"/>
    <!-- adc factor in sw/airbone/boards/lisa_m_2.0.h has been changed
into 0.00455(defult 0.00485) -->
  </section>

  <section name="MISC">
    <define name="NOMINAL_AIRSPEED" value="15." unit="m/s"/>
    <define name="CARROT" value="5." unit="s"/>
    <define name="KILL_MODE_DISTANCE" value="MAX_DIST_FROM_HOME"/>
    <define name="CONTROL_RATE" value="60" unit="Hz"/>
    <define name="NAV_RADIUS" value="30" unit="m"/>
    <define name="NO_XBEE_API_INIT" value="TRUE"/>
    <define name="ALT_KALMAN_ENABLED" value="TRUE"/>
    <define name="TRIGGER_DELAY" value="1."/>
    <define name="DEFAULT_CIRCLE_RADIUS" value="60."/>
  </section>

  <section name="VERTICAL CONTROL" prefix="V_CTL_">
    <define name="POWER_CTL_BAT_NOMINAL" value="11.0" unit="volt"/>
    <!-- outer loop -->
    <define name="ALTITUDE_PGAIN" value="0.075" unit="(m/s)/m"/>
    <define name="ALTITUDE_MAX_CLIMB" value="4." unit="m/s"/>
    <!-- auto throttle inner loop -->
    <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.5" unit="%"/>
    <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.4" unit="%"/>
    <define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.8" unit="%"/>
    <define name="AUTO_THROTTLE_LOITER_TRIM" value="1500" unit="pprz_t"/>
    <define name="AUTO_THROTTLE_DASH_TRIM" value="-1000" unit="pprz_t"/>
    <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.1"
unit="%/(m/s)"/>
    <define name="AUTO_THROTTLE_PGAIN" value="0.02" unit="%/(m/s)"/>
    <define name="AUTO_THROTTLE_IGAIN" value="0.1"/>
    <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.05"
unit="rad/(m/s)"/>
    <!-- auto pitch inner loop-->
    <define name="AUTO_PITCH_PGAIN" value="0.06"/>
    <define name="AUTO_PITCH_IGAIN" value="0.025"/>
    <define name="AUTO_PITCH_MAX_PITCH" value="RadOfDeg(25)"/>
    <define name="AUTO_PITCH_MIN_PITCH" value="RadOfDeg(-25)"/>
    <define name="THROTTLE_SLEW" value="1.0"/>
  </section>

  <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
    <define name="COURSE_PGAIN" value="0.7"/>
    <define name="ROLL_MAX_SETPOINT" value="35" unit="deg"/>
    <define name="PITCH_MAX_SETPOINT" value="25" unit="deg"/>
    <define name="PITCH_MIN_SETPOINT" value="-25" unit="deg"/>
    <define name="PITCH_PGAIN" value="20000."/>
    <define name="PITCH_DGAIN" value="1.5"/>
    <define name="ELEVATOR_OF_ROLL" value="2500"/>
    <define name="ROLL_ATTITUDE_GAIN" value="6400"/>
    <define name="ROLL_RATE_GAIN" value="200"/>
  </section>

  <section name="NAV">
    <define name="NAV_PITCH" value="0."/>
    <define name="NAV_GLIDE_PITCH_TRIM" value="0"/>
  </section>

  <section name="AGGRESSIVE" prefix="AGR_">
    <define name="BLEND_START" value="20"/><!-- Altitude Error to
Initiate Aggressive Climb CANNOT BE ZERO!!-->
    <define name="BLEND_END" value="10"/><!-- Altitude Error to Blend
Aggressive to Regular Climb Modes  CANNOT BE ZERO!!-->
    <define name="CLIMB_THROTTLE" value="0.9"/><!-- Gaz for Aggressive Climb -->
    <define name="CLIMB_PITCH" value="RadOfDeg(20)"/><!-- Pitch for
Aggressive Climb -->
    <define name="DESCENT_THROTTLE" value="0.1"/><!-- Gaz for
Aggressive Decent -->
    <define name="DESCENT_PITCH" value="RadOfDeg(-20)"/><!-- Pitch for
Aggressive Decent -->
    <define name="CLIMB_NAV_RATIO" value="0.8"/><!-- Percent
Navigation for Altitude Error Equal to Start Altitude -->
    <define name="DESCENT_NAV_RATIO" value="1.0"/>
  </section>




  <section name="SIMU">
    <define name="WEIGHT" value="1."/>
    <define name="YAW_RESPONSE_FACTOR" value="1."/>
    <define name="ROLL_RESPONSE_FACTOR" value="15."/>
  </section>

</airframe>



Marvin

_______________________________________________
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]