hey guys,
thanks for all your help so far.
I have sorted out the shorting and overheating problems, so now my
hardware is all good to go.
The RC Radio is functioning properly with the Tiny V2.11, but I still
haven't been able to get the radio modems to talk to each other.
I am using a MaxStream 9XTend PKG-U for the ground station and a
9XTend OEM Module for the airborne modem.
The airborne modem is connected to the tiny via 4 cables: +5V, GND,
TX, RX. The TX and RX are connected to the correct pins on the tiny,
as per the wiki. The +5VDC is also connected to the 'shutdown' pin (on
the modem)
The drivers for the ground station modem are installed, and the modem
confirms a successful connection and proper drivers by lighting an LED
on it.
Seeing as everything to do with hardware seems fine, it is likely that
the problem lies in the code. I have selected PPRZ transparent mode
wherever I have seen it, and I have set the baud rates for both the
ground modem and airborne modem to 9600 (the default settings). The
Ublox baud rate is set at 38400, is this correct? I bought my Tiny in
a bundle package from PPZUAV, so it came with the bootloader and
tunnel already done for me.
If I run the 'messages' function, I don't see any sign of activity.
There are some LEDs on the ground modem which indicate transmition and
reception, but I haven't ever seen them light up.
The flight plan I am using is 'dummy'. It just makes the plane circle
around home. I have set the latitude and longitude for 'home' as the
centre of the park which I fly from.
Which telemetry file should I be using? I have tried a few, but are
now using default.xml
The settings file I am using is basic.xml
I have attached the files I am using for: Airframe, Flight plan,
Settings, Radio, Telemetry
If I am unable to get the radio modem working soon, is there any way I
can still get the Tiny to act as a flight stabiliser, like the FMA
Co-Pilot. Would I even be able to get it to follow a flight plan
without the radio connection? Even just circling around one waypoint.
Of course, I would still have an RC control link. I am entered in a
competition, and need to demonstrate some amount of autonomy asap.
Thanks for any help you can provide...
Ben
On Tue, Sep 9, 2008 at 7:08 AM, Gautier Hattenberger
<address@hidden
<mailto:address@hidden>> wrote:
Hi,
For your compilation problem, just add the lines :
ap.srcs += nav_line.c nav_survey_rectangle.c
sim.srcs += nav_line.c nav_survey_rectangle.c
It will compile the sources for autopilot and simulation
GH
Ben Paratz a écrit :
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
<mailto:address@hidden> <mailto:address@hidden
<mailto: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
<mailto:address@hidden>
<mailto:address@hidden <mailto: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 <mailto:address@hidden>
<mailto:address@hidden <mailto: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
<mailto:address@hidden>
<mailto:address@hidden
<mailto:address@hidden>>
> > http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
> >
>
>
>
> _______________________________________________
> Paparazzi-devel mailing list
> address@hidden
<mailto:address@hidden>
<mailto:address@hidden
<mailto:address@hidden>>
> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
>
_______________________________________________
Paparazzi-devel mailing list
address@hidden
<mailto:address@hidden>
<mailto:address@hidden
<mailto:address@hidden>>
http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
------------------------------------------------------------------------
_______________________________________________
Paparazzi-devel mailing list
address@hidden <mailto:address@hidden>
http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
_______________________________________________
Paparazzi-devel mailing list
address@hidden <mailto:address@hidden>
http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
------------------------------------------------------------------------
_______________________________________________
Paparazzi-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/paparazzi-devel