paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] Tiny v2.11 - Programming help required


From: Ben Paratz
Subject: Re: [Paparazzi-devel] Tiny v2.11 - Programming help required
Date: Tue, 9 Sep 2008 06:43:02 -0400

Hi,

I may have a problem. I mentioned earlier that certain parts of the autopilot (in the centre, around the power supply) would get very hot after a short amount of time. I was told that this is likely due to a short. I have been using a multimetre to look for bridges between solder joints on the board, and have found one on the 'serial' socket. The +5V pin and the GND pin have almost no resistance between them. They must be connected. I have been trying for more than a couple of hours to try and break the bridge with a soldering iron, but have had no success. Should these two pins be 'joined'? I wouldn't ever think so, but i have removed as much solder as I can from the two pins and they are still somehow touching. Can you please provide assistance with this?

When I selected the flight plan 'Basic.xml' the code would not compile. It gave me the following error:
/home/ben/paparazzi3/var/EASYSTAR/sim/nav.o: In function `nav_periodic_task':
nav.c:(.text+0x1696): undefined reference to `nav_line_init'
nav.c:(.text+0x16ea): undefined reference to `nav_survey_rectangle_init'
nav.c:(.text+0x1b9f): undefined reference to `nav_survey_rectangle'
nav.c:(.text+0x1f61): undefined reference to `nav_line'
collect2: ld returned 1 exit status
Error while building custom runtime system
make[1]: *** [/home/ben/paparazzi3/var/EASYSTAR/sim/simsitl] Error 2
make[1]: Leaving

I have now selected the flight plan 'dummy.xml' as this is a very simple flight pln that just causes the uav to circle around the home point. Will this be alright for the test flight.

Thanks,
Ben

On Mon, Sep 8, 2008 at 6:29 PM, <address@hidden> wrote:
Hi,

you can plug your IRV where you want as soon as it correctly specified in your
airframe file. But, if any adc channel is set to ADC_6, you have to add the
    -DUSE_ADC_6
flag to the ap.CFLAGS variables. You won't get any warning if you forget it :-(

--Pascal


Quoting David Buzz Carlson <address@hidden>:

> Looking through his airframe file, it seems he is using ADC_6 for his
> vertical IR sensor.  However,
> http://paparazzi.enac.fr/wiki/index.php/Tiny_v2  would have me believe
> that IRV is ADC_0.  I believe ADC_0 is the correct one, can anybody
> confirm that for me?
>
> Buzz
>
> address@hidden wrote:
> > Ben
> >
> > I believe the maxstream packages use an FTDI USB-to-serial converter chip
> (everything in linux is chip-specific).  The FTDI driver is already present
> and functional in Ubuntu so you may be all set.  Type "dmesg | tail" after
> plugging in the modem and look for something about ftdi on ttyusb0 or such.
> >
> > The ground modem can be any baud you want.  Maxtream and some others allow
> independent configuration of the RF baud and serial port baud to allow the
> air and ground serial baud rates to be unequal so long as the RF rates are
> equal.  Make sure your ap and airborne modem are at the same baud
> (-DUART0_BAUD=B9600 in your case) and same for the gcs (link line should have
> "-s 9600" or such to match the ground modem) and make sure your modems are
> each configured for their appropriate baud rates as well (maybe 9600 is the
> default?).
> >
> > The RC modes are set in conf/radios/*.xml but I don't know how those
> settings get mapped to channels 1 thru 8.  I usually use the transmitter
> programming to change the channel of my switch until I find the one that
> works.
> >
> > Your airframe file looks ok but I should point out that the GPS failsafe
> values on many of the cvs airframes are strange, specifying 30% throttle, 30
> degree pitch up, and 17 degree roll in the event of a total loss of GPS
> position info.  It sounds to me more like a wild spin, throttle-on crash and
> lipo fire.  I advise something more like 0 throttle, 10 deg up and 17 roll or
> whatever produces a gentle circling glide on your airframe.  I think these
> pitch/roll values are used in "kill" mode as well so you can test them in the
> air.
> > ____________________________________________________________
> > Fashion Design Education - Click Here!
> >
>
http://thirdpartyoffers.juno.com/TGL2141/fc/Ioyw6i3oIaxayhf6v0qyKFdfvXplzTMUHQ82EF1TvuOwIQPzEsrgkl/
> >
> > ------------------------------------------------------------------------
> >
> > Hi,
> >
> > I have a Tiny v2.11 autopilot with all the hardware needed for
> > autonomous flight. I have started on the programming, but have run
> > into a few difficulties.
> >
> > I have installed all the hardware in my aircraft, but have not gotten
> > any further than that succesfully. I am meant to be demonstrating
> > autonomous flight a week from now, so it would be really great if I
> > could get the autopilot fully working by then.
> >
> > I am new to Linux, and have run into some problems regarding the
> > programming. It would be extremely helpful if you could provide some
> > assistance. I am using Ubuntu 8.04.1 - Hardy Heron
> >
> > I have been studying the Wiki and following it very closely.
> >
> > This is what I need help with:
> >
> > - Installing the drivers for the radio modem (the ground-station
> > modem. It plugs into the USB port and grabs the serial signals. I'm
> > sure you know all about this... The readme file that came with it says
> > that I need to compile the driver into a 'Loadable Kernel Module' but
> > I am unsure how to do this. The modem I am using is a Digi (Maxstream)
> > 9XTend operating on 900MHz. I have been told that I may not need to
> > install the driver, but can you please advise me on what to do.
> >
> > - Configuring the rc radio settings: I am using a 6-channel JR Radio.
> > I have found (using a scope) that my JR R700 7-channel receiver
> > outputs the ppm signal through the 'signal' pin in the battery
> > connector. I can attach a picture of the signal if you want. Also, how
> > do you choose which channel determines the mode? (Auto 1, Auto 2, Manual).
> >
> > - Configuring the airframe file: I have had a go at making my own
> > airframe file (following the wiki), but are not sure if it is correct.
> > I have pasted the code at the bottom. My airframe is very simple: A
> > 3-Channel Easystar. It also hope to be able to trigger a servo for
> > controlling the shutter on a camera at a set position, but I will keep
> > it simple and focus on achieving autonomous flight first.
> >
> >
> > It would really be great if you could help me get this working within
> > the next week.
> >
> > Thankyou very much,
> >
> > Ben
> >
> >
> > Here is my airframe code:
> >
> > <!DOCTYPE airframe SYSTEM "airframe.dtd">
> >
> > <airframe name="EASYSTAR">
> >  <!-- tiny v2.11 airframe -->
> >
> > <!-- commands section -->
> >   <servos>
> >     <servo name="THROTTLE"  no="0" min="1000" neutral="1500" max="2000"/>
> >     <servo name="RUDDER"  no="2" min="1000" neutral="1500" max="2000"/>
> >     <servo name="ELEVATOR" no="6" min="1000" neutral="1500" min="2000"/>
> >   </servos>
> >
> >   <commands>
> >     <axis name="THROTTLE" failsafe_value="0"/>
> >     <axis name="YAW"     failsafe_value="0"/>
> >     <axis name="PITCH"    failsafe_value="0"/>
> >   </commands>
> >
> >   <rc_commands>
> >     <set command="THROTTLE" value="@THROTTLE"/>
> >     <set command="ROLL"     value="@ROLL"/>
> >     <set command="PITCH"    value="@PITCH"/>
> >   </rc_commands>
> >
> >   <command_laws>
> >     <set servo="THROTTLE" value="@THROTTLE"/>
> >     <set servo="RUDDER" value="@ROLL"/>
> > <set servo="ELEVATOR" value="@PITCH"/>
> >   </command_laws>
> >
> >   <section name="AUTO1" prefix="AUTO1_">
> >     <define name="MAX_ROLL" value="0.6"/>
> >     <define name="MAX_PITCH" value="0.6"/>
> >   </section>
> >
> >   <section name="adc" prefix="ADC_CHANNEL_">
> >     <define name="IR1" value="ADC_0"/>
> >     <define name="IR2" value="ADC_1"/>
> >     <define name="IR_TOP" value="ADC_6"/>
> >
> >   </section>
> >
> >   <section name="INFRARED" prefix="IR_">
> >     <define name="ADC_IR1_NEUTRAL" value="512"/>
> >     <define name="ADC_IR2_NEUTRAL" value="512"/>
> >     <define name="ADC_TOP_NEUTRAL" value="512"/>
> >     <define name="IR2_SIGN" value="-1"/>
> >     <define name="TOP_SIGN" value="-1"/>
> >     <define name="HORIZ_SENSOR_TILTED" value="1"/>
> >     <define name="LATERAL_CORRECTION" value="1"/>
> >     <define name="LONGITUDINAL_CORRECTION" value="1"/>
> >     <define name="VERTICAL_CORRECTION" 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="BAT">
> >     <define name="MILLIAMP_PER_PERCENT" value="0.86"/>
> >     <define name="CATASTROPHIC_BAT_LEVEL" value="5.5" unit="V"/>
> >   </section>
> >
> >   <section name="MISC">
> >     <define name="NOMINAL_AIRSPEED" value="7" 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"/>
> >   </section>
> >
> >   <section name="PID">
> >     <define name="ROLL_PGAIN" value="5000."/>
> >     <define name="PITCH_OF_ROLL" value="0.25"/>
> >     <define name="PITCH_PGAIN" value="10000."/>
> >     <define name="MAX_ROLL" value="0.35"/>
> >     <define name="MAX_PITCH" value="0.35"/>
> >     <define name="MIN_PITCH" value="-0.35"/>
> >     <define name="AILERON_OF_THROTTLE" value="0.0"/>
> >     <define name="CRUISE_THROTTLE" value="0.35"/>
> >   </section>
> >
> >   <section name="ALT" prefix="CLIMB_">
> >     <define name="PITCH_PGAIN" value="-0.05"/>
> >     <define name="PITCH_IGAIN" value="0.075"/>
> >     <define name="PGAIN" value="-0.01"/>
> >     <define name="IGAIN" value="0.1"/>
> >     <define name="MAX" value="1."/>
> >     <define name="PITCH_OF_VZ_PGAIN" value="0.05"/>
> >     <define name="THROTTLE_OF_CLIMB" value="0.15" unit="%/(m/s)"/>
> >   </section>
> >
> >   <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
> >     <define name="COURSE_PGAIN" value="-0.4"/>
> >     <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="ROLL_PGAIN" value="5000."/>
> >     <define name="AILERON_OF_THROTTLE" value="0.0"/>
> >     <define name="PITCH_PGAIN" value="-9000."/>
> >     <define name="PITCH_DGAIN" value="1.5"/>
> >
> >     <!--  roll rate loop -->
> >     <define name="ROLL_RATE_MODE_DEFAULT" value="1"/>
> >     <define name="ROLL_RATE_SETPOINT_PGAIN" value="-5." unit="rad/s/rad"/>
> >     <define name="ROLL_RATE_MAX_SETPOINT" value="10"/>
> >     <define name="LO_THROTTLE_ROLL_RATE_PGAIN" value="1000."/>
> >     <define name="HI_THROTTLE_ROLL_RATE_PGAIN" value="1000."/>
> >     <define name="ROLL_RATE_IGAIN" value="0"/>
> >     <define name="ROLL_RATE_DGAIN" value="0"/>
> >     <define name="ROLL_RATE_SUM_NB_SAMPLES" value="64"/>
> >
> >   </section>
> >
> >   <section name="VERTICAL CONTROL" prefix="V_CTL_">
> >
> >     <define name="POWER_CTL_BAT_NOMINAL" value="6" unit="volt"/>
> >     <!-- outer loop proportional gain -->
> >     <define name="ALTITUDE_PGAIN" value="-0.03"/>
> >     <!-- outer loop saturation -->
> >     <define name="ALTITUDE_MAX_CLIMB" value="2."/>
> >
> >     <!-- auto throttle inner loop -->
> >     <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.4"/>
> >     <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.30"/>
> >     <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.15"
> > unit="%/(m/s)"/>
> >     <define name="AUTO_THROTTLE_PGAIN" value="-0.01"/>
> >     <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.1"/>
> >
> >   </section>
> >
> >
> >   <section name="NAV">
> >     <define name="NAV_PITCH" value="0.0"/>
> >     <define name="NAV_GLIDE_PITCH_TRIM" value="0.2"/>
> >     <define name="DEFAULT_CIRCLE_RADIUS" value="100" unit="m"/>
> >   </section>
> >
> >   <section name="AGGRESSIVE" prefix="AGR_">
> >     <define name="CLIMB_THROTTLE" value="0.95"/><!-- Throttle for
> > Aggressive Climb -->
> >     <define name="DESCENT_THROTTLE" value="0.1"/><!-- Throttle for
> > Aggressive Decent -->
> >     <define name="CLIMB_PITCH" value="0.3"/><!-- Pitch for Aggressive
> > Climb -->
> >     <define name="DESCENT_PITCH" value="-0.25"/><!-- Pitch for
> > Aggressive Decent -->
> >     <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_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="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="PPRZ"/>
> >     <define name="DEVICE_ADDRESS" value="...."/>
> >   </section>
> > -->
> >
> >
> >  <makefile>
> > include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile
> >
> > FLASH_MODE=IAP
> >
> > ap.CFLAGS +=  -DFBW -DAP -DCONFIG=\"tiny.h\" -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.CFLAGS += -DLED_3_BANK=0 -DLED_3_PIN=17 -DLED_4_BANK=0
> > -DLED_4_PIN=18 -DLED_5_BANK=0 -DLED_5_PIN=19 -DLED_6_BANK=0 -DLED_6_PIN=20
> >
> >
> > ap.srcs += commands.c
> >
> > ap.CFLAGS += -DACTUATORS=\"servos_4015_hw.h\" -DSERVOS_4015
> > ap.srcs += actuators.c $(SRC_ARCH)/servos_4015_hw.c
> >
> > ap.CFLAGS += -DRADIO_CONTROL -DRADIO_CONTROL_TYPE=RC_JR
> > ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c
> >
> > ap.CFLAGS += -DDOWNLINK -DUSE_UART0 -DDOWNLINK_TRANSPORT=PprzTransport
> > -DDOWNLINK_FBW_DEVICE=Uart0 -DDOWNLINK_AP_DEVICE=Uart0
> > -DPPRZ_UART=Uart0 -DDATALINK=PPRZ -DUART0_BAUD=B9600
> > ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c
> > pprz_transport.c latlong.c
> >
> >
> > ap.CFLAGS += -DINTER_MCU
> > ap.srcs += inter_mcu.c
> >
> > ap.CFLAGS += -DADC -DUSE_AD0 -DUSE_AD0_2 -DUSE_AD0_3 -DUSE_AD1
> > -DUSE_AD1_5 -DUSE_AD1_3 -DUSE_AD1_5
> > ap.srcs += $(SRC_ARCH)/adc_hw.c
> >
> > ap.CFLAGS += -DGPS -DUBX -DUSE_UART1 -DGPS_LINK=Uart1 -DUART1_BAUD=B9600
> >
> > ap.srcs += gps_ubx.c gps.c
> >
> > ap.CFLAGS += -DINFRARED
> > ap.srcs += infrared.c estimator.c
> >
> > ap.CFLAGS += -DNAV
> > ap.srcs += nav.c fw_h_ctl.c fw_v_ctl.c nav_survey_rectangle.c nav_line.c
> >
> >
> > ap.CFLAGS += -DGYRO -DADXRS150 -DPID_RATE_LOOP
> > ap.srcs += gyro.c
> >
> > # Harware In The Loop
> >
> > #ap.CFLAGS += -DHITL
> >
> > # 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_survey_rectangle.c traffic_info.c nav_line.c
> >   </makefile>
> > </airframe>
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > 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
>




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