paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] No throttle in Auto2


From: David Buzz Carlson
Subject: Re: [Paparazzi-devel] No throttle in Auto2
Date: Fri, 22 Aug 2008 11:45:10 +0300
User-agent: Thunderbird 2.0.0.16 (X11/20080724)

Can anybody confirm this?  And if so, what is the parameter that needs set?

Thanks,
David

address@hidden wrote:
As I recall, the default behavior is to not send data to the plane.  There is 
some parameter that must be added in order to enable sending.  I don't know the 
flag or where to put it though :(  I think it goes on the link line?

-- "cory barton" <address@hidden> wrote:
I added the datalink section from the previous email to the airframe
config, but it didn't make a difference. I still have communication
from the plane, but not able to send.  On the groundstation modem, the
tx light never lights up. The rx light is flashing constantly. I moved
all the waypoints, so I would expect the groundstation to try to send
that data to the airplane, but it seems to send nothing. I am using
the Flight address@hidden session for the GCS.

Here is the airframe config:

<!DOCTYPE airframe SYSTEM "airframe.dtd">

<!--
     NexStar EP RTF (http://www.hobbiconexstar.com/nexstar-ep/index.html)
     Tiny 2.1 board (http://paparazzi.enac.fr/wiki/index.php/Tiny_v2)
     Tilted infrared sensor
(http://paparazzi.enac.fr/wiki/index.php/Image:Tiny_v2_1_Funjet.jpg)
     ADXRS300 Gyro
(http://ppzuav.com/osc/catalog/product_info.php?cPath=10&products_id=50)
     XBee modem
(http://paparazzi.enac.fr/wiki/index.php/Modems#Maxstream_XBee_Pro)
-->

<airframe name="NexStar EP">

<!-- commands section -->
  <servos>
    <servo name="MOTOR"    no="0" min="1000" neutral="1000" max="2000"/>
    <servo name="AILERON"  no="2" min="1130" neutral="1500" max="1880"/>
    <servo name="ELEVATOR" no="6" min="1980" neutral="1515" max="1170"/>
    <servo name="RUDDER"   no="7" min="1980" neutral="1515" max="1170"/>
  </servos>

  <commands>
    <axis name="THROTTLE" failsafe_value="0"/>
    <axis name="ROLL"     failsafe_value="0"/>
    <axis name="PITCH"    failsafe_value="0"/>
    <axis name="YAW"      failsafe_value="0"/>
  </commands>

  <rc_commands>
    <set command="THROTTLE" value="@THROTTLE"/>
    <set command="ROLL"     value="@ROLL"/>
    <set command="PITCH"    value="@PITCH"/>
    <set command="YAW"      value="@YAW"/>
  </rc_commands>
<!--TODO
  <section name="MIXER">
    <define name="AILEVON_AILERON_RATE" value="0.75"/>
    <define name="AILEVON_ELEVATOR_RATE" value="0.75"/>
  </section>
-->

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

  <section name="AUTO1" prefix="AUTO1_">
    <define name="MAX_ROLL" value="0.80"/><!-- about 45 degrees -->
    <define name="MAX_PITCH" value="0.6"/><!-- about 34 degrees -->
  </section>

  <section name="adc" prefix="ADC_CHANNEL_">
    <define name="IR1" value="ADC_1"/>
    <define name="IR2" value="ADC_2"/>
    <define name="IR_TOP" value="ADC_0"/>
    <define name="IR_NB_SAMPLES" value="16"/>

    <define name="GYRO_ROLL" value="ADC_5"/>
    <define name="GYRO_NB_SAMPLES" value="16"/>

  </section>

  <section name="INFRARED" prefix="IR_">
    <define name="ADC_IR1_NEUTRAL" value="513"/>
    <define name="ADC_IR2_NEUTRAL" value="512"/>
    <define name="ADC_TOP_NEUTRAL" value="512"/>

    <define name="LATERAL_CORRECTION" value="1."/>
    <define name="LONGITUDINAL_CORRECTION" value="1."/>
    <define name="VERTICAL_CORRECTION" value="1.5"/>

    <define name="HORIZ_SENSOR_TILTED" value="1"/>
    <define name="IR2_SIGN" value="-1"/>
    <define name="TOP_SIGN" value="1"/>

    <define name="ROLL_NEUTRAL_DEFAULT" value="0" unit="deg"/>
    <define name="PITCH_NEUTRAL_DEFAULT" value="0" unit="deg"/>

    <define name="CORRECTION_UP" value="1."/>
    <define name="CORRECTION_DOWN" value="1."/>
    <define name="CORRECTION_LEFT" value="1."/>
    <define name="CORRECTION_RIGHT" value="1."/>
  </section>
 <section name="GYRO" prefix="GYRO_">
    <define name="ADC_ROLL_NEUTRAL" value="501.25"/>
    <define name="ADC_TEMP_NEUTRAL" value="476"/>
    <define name="ADC_TEMP_SLOPE" value="0"/>
    <define name="DYNAMIC_RANGE" value="300" unit="deg/s"/>
    <define name="ADXRS300_RESISTOR_BRIDGE" value="(3.3/(3.3+1.8))"/>
    <define name="ADXRS300_SENSITIVITY" value="5" unit="mV/(deg/s)"/>
    <define name="ROLL_SCALE"
value="3.3*1000./1024./(GYRO_ADXRS300_SENSITIVITY*GYRO_ADXRS300_RESISTOR_BRIDGE)"
unit="deg/s/adc_unit"/>
    <define name="ROLL_DIRECTION" value="-1."/>
  </section>
  <section name="BAT">
    <define name="MILLIAMP_PER_PERCENT" value="0.86"/>
    <define name="CATASTROPHIC_BAT_LEVEL" value="6.0" unit="V"/>
    <define name="CRITIC_BAT_LEVEL" value="6.5" unit="V"/>
    <define name="LOW_BAT_LEVEL" value="7.0" unit="V"/>
    <define name="MAX_BAT_LEVEL" value="8.4" unit="V"/>
  </section>

 <section name="DATALINK" prefix="DATALINK_">
    <define name="DEVICE_TYPE" value="XBEE"/>
    <define name="DEVICE_ADDRESS" value="...."/>
  </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="(1.5*MAX_DIST_FROM_HOME)"/>
    <define name="CONTROL_RATE" value="60" unit="Hz"/>
    <!-- <define name="XBEE_INIT"
value="\"ATPL2\rATRN1\rATTT80\r\ATBD6\rATWR\r\""/> -->
    <!--<define name="XBEE_INIT" value="\"ATPL2\rATRN1\rATTT80\r\""/>-->
    <!--    <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="80."/>
    <define name="MIN_CIRCLE_RADIUS" value="50."/>
  </section>
  <section name="VERTICAL CONTROL" prefix="V_CTL_">
    <define name="POWER_CTL_BAT_NOMINAL" value="5.0" unit="volt"/>
    <!-- outer loop proportional gain -->
    <define name="ALTITUDE_PGAIN" value="-0.04"/>
    <!-- outer loop saturation -->
    <define name="ALTITUDE_MAX_CLIMB" value="2."/>
    <!-- auto throttle inner loop -->
    <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.5"/>
    <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.35"/>
    <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="-1000"/>
    <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.05"/>
    <!-- auto pitch inner loop -->
    <define name="AUTO_PITCH_PGAIN" value="-0.05"/>
    <define name="AUTO_PITCH_IGAIN" value="0.075"/>
    <define name="AUTO_PITCH_MAX_PITCH" value="0.35"/>
    <define name="AUTO_PITCH_MIN_PITCH" value="-0.35"/>
   <define name="THROTTLE_SLEW" value="0.5"/>
  </section>
  <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
    <define name="COURSE_PGAIN" value="-0.8"/>
    <define name="ROLL_MAX_SETPOINT" value="0.6" unit="radians"/>
    <define name="PITCH_MAX_SETPOINT" value="0.5" unit="radians"/>
    <define name="PITCH_MIN_SETPOINT" value="-0.5" unit="radians"/>
    <define name="PITCH_PGAIN" value="-10000."/>
    <define name="PITCH_DGAIN" value="1.5"/>
    <define name="ELEVATOR_OF_ROLL" value="2500"/>
    <define name="ROLL_ATTITUDE_GAIN" value="-7500"/>
    <define name="ROLL_RATE_GAIN" value="-1500"/>
  </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.8"/><!-- Gaz for Aggressive Climb -->
    <define name="CLIMB_PITCH" value="0.3"/><!-- Pitch for Aggressive Climb -->
    <define name="DESCENT_THROTTLE" value="0.1"/><!-- Gaz for
Aggressive Decent -->
    <define name="DESCENT_PITCH" value="-0.15"/><!-- 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="GYRO_GAINS">
    <define name="GYRO_MAX_RATE" value="200."/>
    <define name="ROLLRATESUM_NB_SAMPLES" value="64"/>
    <define name="ALT_ROLL__PGAIN" value="1.0"/>
    <define name="ROLL_RATE_PGAIN" value="1000.0"/>
    <define name="ROLL_RATE_IGAIN" value="0.0"/>
    <define name="ROLL_RATE_DGAIN" value="0.0"/>
  </section>
  <section name="FAILSAFE" prefix="FAILSAFE_">
        <define name="DELAY_WITHOUT_GPS" value="1" unit="s"/>
        <define name="DEFAULT_THROTTLE" value="0.3" unit="%"/>
        <define name="DEFAULT_ROLL" value="0.3" unit="rad"/>
        <define name="DEFAULT_PITCH" value="0.5" unit="rad"/>
        <define name="HOME_RADIUS" value="100" unit="m"/>
</section>

 <section name="DATALINK" prefix="DATALINK_">
    <define name="DEVICE_TYPE" value="XBEE"/>
    <define name="DEVICE_ADDRESS" value="...."/>
  </section>

 <section name="SIMU">
    <define name="YAW_RESPONSE_FACTOR" value="0.5"/>
 </section>

 <makefile>
CONFIG = \"tiny_2_1.h\"

include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile

FLASH_MODE=IAP

ap.CFLAGS +=  -DFBW -DAP -DCONFIG=$(CONFIG) -DLED -DTIME_LED=1
ap.srcs = sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c
main_fbw.c main_ap.c main.c

ap.srcs += commands.c

ap.CFLAGS += -DACTUATORS=\"servos_4017_hw.h\" -DSERVOS_4017
ap.srcs += $(SRC_ARCH)/servos_4017_hw.c actuators.c

ap.CFLAGS += -DRADIO_CONTROL -DRADIO_CONTROL_TYPE=RC_FUTABA
ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c

#ap.CFLAGS += -DDOWNLINK -DUSE_UART1
-DDOWNLINK_TRANSPORT=XBeeTransport -DXBEE_UART=Uart1 -DDATALINK=XBEE
-DUART1_BAUD=B9600
#ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c xbee.c

#ap.CFLAGS += -DDOWNLINK -DUSE_UART1
-DDOWNLINK_TRANSPORT=XBeeTransport -DXBEE_UART=Uart1 -DDATALINK=XBEE
-DUART1_BAUD=B9600
#ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c xbee.c

#TRANSPARENT
ap.CFLAGS += -DDOWNLINK -DUSE_UART1 -DDOWNLINK_TRANSPORT=PprzTransport
-DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1
-DPPRZ_UART=Uart1 -DDATALINK=PPRZ -DUART1_BAUD=B9600
#TRANSPARENT
ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c pprz_transport.c

ap.CFLAGS += -DINTER_MCU
ap.srcs += inter_mcu.c

ap.CFLAGS += -DADC -DUSE_ADC_0 -DUSE_ADC_1 -DUSE_ADC_2 -DUSE_ADC_5
ap.srcs += $(SRC_ARCH)/adc_hw.c

ap.CFLAGS += -DGPS -DUBX -DUSE_UART0 -DGPS_LINK=Uart0
-DUART0_BAUD=B38400 -DGPS_LED=2 -DGPS_USE_LATLONG
ap.srcs += gps_ubx.c gps.c latlong.c

ap.CFLAGS += -DINFRARED -DALT_KALMAN
ap.srcs += infrared.c estimator.c

ap.CFLAGS += -DNAV -DAGR_CLIMB -DLOITER_TRIM
ap.srcs += nav.c fw_h_ctl.c fw_v_ctl.c

ap.CFLAGS += -DGYRO -DADXRS150
ap.srcs += gyro.c nav_line.c
ap.srcs += nav_survey_rectangle.c
# chemotaxis.c anemotaxis.c discsurvey.c

########## Barometer (SPI)
#ap.CFLAGS += -DUSE_SPI -DSPI_MASTER -DUSE_SPI_SLAVE0 -DUSE_BARO_MS5534A
#ap.srcs += spi.c $(SRC_ARCH)/spi_hw.c $(SRC_ARCH)/baro_MS5534A.c

########## Chemo sensor (I2C)
#ap.srcs += i2c.c arm7/i2c_hw.c enose.c chemo_detect.c
#ap.CFLAGS += -DUSE_I2C -DENOSE


# Config for SITL simulation
include $(PAPARAZZI_SRC)/conf/autopilot/sitl.makefile
sim.CFLAGS += -DCONFIG=\"tiny.h\" -DAGR_CLIMB -DLOITER_TRIM -DALT_KALMAN
sim.srcs += nav_line.c nav_survey_rectangle.c

# a test program to setup actuators
setup_actuators.ARCHDIR = $(ARCHI)
setup_actuators.ARCH = arm7tdmi
setup_actuators.TARGET = setup_actuators
setup_actuators.TARGETDIR = setup_actuators

setup_actuators.CFLAGS += -DFBW -DCONFIG=\"tiny.h\" -DLED -DTIME_LED=1
-DACTUATORS=\"servos_4015_hw.h\" -DSERVOS_4015 -DUSE_UART1
-DUART1_BAUD=B9600 -DDATALINK=XBEE -DPPRZ_UART=Uart1
setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c
$(SRC_ARCH)/armVIC.c pprz_transport.c setup_actuators.c
$(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4015_hw.c main.c

  </makefile>
</airframe>


On Thu, Aug 21, 2008 at 5:18 PM,  <address@hidden> wrote:
So I disconnected the rf modems, and tried using the ftdi cable, but
the behavior is exactly the same. I think based on the experience with
the usb modem that the gcs is not sending any messages. I am looking
for a way to watch the outgoing messages, but if anyone knows how,
please let me know.
Do you have an XBee init in your airframe file (rebuild ap and restart
ground station after change)?

 <section name="DATALINK" prefix="DATALINK_">
   <define name="DEVICE_TYPE" value="XBEE"/>
   <define name="DEVICE_ADDRESS" value="...."/>
 </section>





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



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


____________________________________________________________
Want a great salary and great benefits?  Click here to start a criminal justice 
career.
http://thirdpartyoffers.juno.com/TGL2141/fc/Ioyw6i3nNLNANQHDJ9hVnI75B1hfMFpSRDtFSPXVPROUceOs2dspE5/


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





reply via email to

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