Pages

Monday, August 16, 2010

Part 1

Here are some notes on the steps i took to get the Ardupilot to


perform autolanding on a typical RC plane



USB to Serial converter

Looked at pinouts of cable from DIYDrones compared to HVWTech converter (see schematics)



Found the typical "Hello World" LED Blink program for Ardupilot (AP) board. This flashes a

LED attached to D13. We shall power the AP using the ESC plugged into Output 3



Preparing the hardware:

Use a piece of network cable and some jumpers to connect the AP to the FTDI



Using Arduino 16 software keep the default controller



9 Jul, 2009

Got HVWTech USB to Serial converter working on EEEPC



Investigating the manual over-ride feature of AP > Look for the MUX LED. OFF = Manual, ON = Autopilot

Had a look at the original [MUX] board, Stamp AP @ DIYDrones.com



Had an idea for GPS circle. Calculate distance from WP and keep it constant



May want to add a digital compass > got it.



17 Jul, 2009

tested AP board programming with blink program > yay, it worked

NOTES: i did not connect the VCC wire since it was being powered by an ESC jumper



next > load the original code and check the GPS



I got a Stamp BS2e and using the wireless I plan to create a simple ground monitor to allow the AP

to confirm settings and display status when in range



18 Jul, 2009

Loaded 2.2 code > it wants a jumper to be connected :( see shield notes in AP manual

Loaded 1.0 code > it gave me a GPS lock (blue led) :)



Now want to pick apart the code starting with the GPS, perhaps send strings back to the computer.

The code seems to include a few test routines to output GPS data (See "system")



21 Jul, 2009

Figured out what jumper wire does (AP manual). See appendix 4

It connects the throttle for manual control MUX_IN to D8. These seems to be left unconnected for optional use (3-4 MUX_IN)



I may choose to put the throttle under AP control so leave this unconnected for now.



See "Servo". Controls output to servos and has a nice test routine.



Use some serial test progs like "Ascii Table" to get some data displayed on the IDE



22 Jul, 2009

Learned how to program waypoints into the setup utility. also checked home coordinates

of my house on google maps.



Possible testing areas >

Home Depot car park (ground testing), bowness park, large field in tuscany, highway extension



24 Jul

Looked for my old programs (Bs2) but no luck. Will need to do from scratch - not to worry.

Servo control using pulseout. Each unit is 2 microsec. Need pulses 0.6mS (min) to 1.5ms (center) to 2.4 ms (max)

http://www.geocities.com/bourbonstreet/3220/servobasics.html

Off time can be 10-30ms but if it is longer then the servo may jitter. The proper solution is a servo controller chip

such as the FT639 or Parallax servo controller board

An easier but more expensive solution is to use a separate BS2 or BS1 for servo control. This will "memorize" the signals that

it recieves and offload the processing of NAV data from the first BS2

Read control signals from RC unit using pulsein.



Jul 25

Looking through code for XY Sensor stuff > signals, calculations

Picked up some wire-wrap for circuits, landing gear supplies for yellow (test) plane, nylon screws

for CG idea.

Wire wrapping techniques > http://www.vpc.com/downloads/Wire_Wrap_Techniques/Wire_Wrap_Techniques.pdf



Tried Chris A's GPs program with BS2 - it does not have the memory capability of the higher level stamps but I got some data out

Wiring up the BS2e (extra memory)



transferring the FTDI from AP to Stamp. remember the wires go from Rx to CTS

BS2e did not work with FTDI for some reason. Works fine with my other USB/Serial converter so will pair those.

Chris A.'s code does not work unless you are using a high level stamp capable of high speed buffering.



However, I got the SIRFDemo program to Rx GPS data directly into the computer using FTDI. Data looks great!



Should graph the "height" data to look for drift



Jul 26

http://dailyduino.com/archives/category/communication/wireless

nice article on using Parallax wireless Tx/Rx with arduino



Jul 27

got some GPS data out of BS2. Had to tune to 9600 baud and used the old Chris A code for Stamp based AP



Jul 28

hacking AP 1.0 code

found routines for testing the servos and reading the GPS. Blue LED for GPS Lock is D12



Time to test v1.0 with RC gear hooked up

perhaps do a waypoint with 1m height and add landing later (take out of AP control before)

Insert wireless transmitter between FTDI and AP so that you can read serial output of AP on BS2



IDEA: develop a digital protocol for sending data to AP via a spare channel on Tx with coded PWM

See > http://ban-sidhe.com/blog/?p=1465



July 29

XY sensor and Co-Pilot arrived today. yay



IDEA: graphical (BW with grey levels) representaion of XY sensor outputs using A/D from Arduino



Fixed landing gear and ailerons on yellow plane. revived 6 channel radio, charging batteries



Going through older blog posts to see the history of 2.x AP code

2.0 seems to work without the "shield"

stuff gets interesting from Feb 2009 blog

Google code repository has earlier versions of 2.x code > look options that work without the shield and z sensor.

notice the labels and bug fixes



Used windiff to look at differences in 2.2 and 2.1 code



2.1 specifically has z sensor as optional. Connect jumper between pins D6 and D7 for ground setup and sensor calibration



Tested the IR sensor with VM and A/D program. Used info in

http://diydrones.com/profiles/blogs/getting-ready-for-ardupilot-20

need to ground z sensor input. works ok.



Count connections to XY sensor from "cable" going anticlockwise. First (Yaw) gives more positive results if you put hand closer.

First (Pitch - second one round) gives more positive. values between 500-600



Also, got a lock on GPS



Next - how to calibrate the XY sensor

Found it. See AP Manual and the section entitled

ArduPilot 2.1 and above (no Z sensor):

Notice that the sensor is mounted diagonally with support for reversing the physical setup



Need 2 passthrough jumpers to connect RC Rx - pick them up when I'm gettin my Eflite Apprentice checked out



IDEA: Nunchuk interface to RC tx



2.1 docs

http://diydrones.com/profiles/blog/show?id=705844%3ABlogPost%3A71674&page=1#comment-705844_Comment_71702



Jul 31

Assembled Eflite apprentice platform. Had some bugs so took it back to hobby shop. All good now.

Looked into brushless conversion for Piper Cub.

Picked up a 4 line LCD display and a spare Ardupilot (in case of burnout)

Also picked up a simple RC car platform for testing.



Now working on landing algorithm. []=subroutines, ()= optional



Pseudocode for landing algorithm:

setup

read start runway coordinates

read end runway coordinates

Wait until landing command detected

calculated waypoints till runway start using best route and [glideslope]

loop

goto waypoints until ground detected

end loop

ground detected

flare - switch to hieght maintenance

droprate (until touchdown)

cut engine and switch to manual or taxi and park (need other coordinates)



OK, tested the AP with servos and XY sensor. 3 modes show correctly with LEDs. Manual mode works ok but there is some

jitter in the servos, possibly due to noise from the GPS data



Checking the config tool

http://maps.google.ca/?ie=UTF8&ll=51.123203,-114.24916&spn=0.001108,0.003176&t=h&z=18



Testing location using GPS

LAT LON

51123324 -114249248

51123336 -114249320

51123340 -114249360



Google maps is slightly off compared to the GPS measurements. For navigation purposes this is ok but for landing

we will need to use field measurements



Still need to figure out connection for Throttle? A - it seems from the code that D8 is used so we should solder the jumper

Use BS2e for data logging? Timestamped GPS data



Ready to test Piper Cub platform:

- Wiring AP onto plane

- Loading waypoints for test site (bring GPS for Microsoft Streets and Trips)

- Do early missions



Aug 1

tested platforms (no AP, just manual)

Piper Cub needed mods to landing gear for stability

Apprentice got damaged (Ellie stepped on it out in the field) - repairs complete

Put jumpers on AP board for more solid connections

Tested AP board out in the open. Tried to calibrate XY sensor but power from 4 pins next to GPS - They are actually unregulated!

nearly burned out the XY sensor but it seems to be OK



IDEA: use BS2 to act as Tx input to AP for simulations

This is working. Using BS2 the limits of pulsout are 1150(max), 250 min (multiply by 2uS for real pulse length)



Did a demo video showing

- operation of the XY sensor for leveling in flight

- correct operation of LEDs for 3 modes (Manual, Waypoint and RTL)



IDEA: Take AP on drive down the hill in the Athletic Park. Check the operation of the hieght readings and

look for consistency.



Checked the waypoints in AP memory - still good i.e. this does not get overwritten if you reprogram (cool)



Next..

Proximity sensor tests

Wireless interface



Need 3D plotter for waypoints to check the accuracy of height measurements

Adri put me onto Sketchup using Ruby scripts - found cloud.rb > test it



Aug 3

tested the AP for consistent height data by driving down a hill while data logging

The Sketchup plot works. Bad news is the H data is showing a weird pattern.

Either the data is time lagged or the GPS is extrapolating in some way.

I did not notice variations in the RAW GPS data.



Next..

Do the drive test with RAW GPS data

Plus stuff from Aug 1



Aug 4

Picked up a ParkZone powered glider for long range testing

Another GPS module



IDEA: project hobby laser with modulated output > sparkfun

e.g. http://www.instructables.com/id/Send-Music-over-a-Laser-Beam/



Tested the DIRSS optical proximity sensor. Actually, it can give both analog

and digital (serial) output. The analog works fine but the output is logarithmic - it's ok

for my purposes.



Tested SRF01 ultrasonic module. Works with an edited version of the demo program.

srf01_edit.pde

sends serial data to the Arduino monitor. Got it to display readings in cm



Decided to use the Optical sensor with BS2 and ultrasonic with Arduino



Aug 5

Picked up Parallax GPS unit for comparison plus some Xbee modules for

ground station (1.5 mile range)



managed to reset the EM406A GPS to 9600 NMEA mode using SIRFDemo program



Performed a second H resolution test on EM406 using 9600 NMEA mode. Better continuity

but still produces H drift



Successfully connected Parallax GPS > ready for testing H resolution



IDEA: use "Processing" to test XY sensor

IDEA: use picaxe 8M or 14 for ADC and Passthrough (like MUX and XY sensor)

there is a nice 8M dev board with servo connections



LAT & LON

http://istp.gsfc.nasa.gov/stargaze/Slatlong.htm



Aug 6

Did some testing of the Parallax GPS but lost sat-lock while driving

Focussing on simple proximity activated program on BS2



IDEA: Use Parallax Ping sensor with Servo bracket



Aug 7

Had no end pf problems with both SRF01 and DIRRS rangefinders. Noisy and intermittent output..

Solarbotic kindly refunded my $ (SRF01). The DIRRS I will convert to analog output for Takeoff use. Got the analog cable



Picked up the Parallax Ping))) and a LV-MaxSonar EZ1

Both worked beautifully. It seems simpler to use pulses than serial info. This meshes nicely

with the Servo control.



Can finally see some light at the end of the tunnel.



Decided to work on the simplest of designs >

keep plane at setpoint height then adjust setpoint till landed safely



add more complexity later



'v1.1 Aug 7, 09

'building prototype using BS2 Stamp Stack

'range of servo pulse is 250 TO 1150 which translates to 500uS to 2300uS

'center value is around 750 which translates to 1500uS

'Ch5 switch up = 1037, down = 484

'Ch2 elevator range 550-950, centered around 750, adjustable offset +/-50

'6pm

'Got basic input of Ch2 & Ch5 with servo control and height sensor

'Got feedback loop working



'TODO:

'test On plane For servo reverse and correct operation

'remove DEBUG lines and check loop speed

'power supply for ping sensor



'v1.2 Aug 8, 09

'built physical computing prototype on BS2e

'operation ok in test lab

'Test in plane - Ch5 passthrough ok, autoheight jumpy

'test here with BS2 and user input for proximity



'removed pauses for field testing. This works and got rid of the "jumpiness"



Aug 10

Got the working prototype into the plane but encountered limitations when testing. Bug is that program takes some time to activate. Investigating.



It seems that the servo load is reseting the processor. This only happens in the bypass mode. Also, the powering the

sensor from the regulator on the processor may be causing a problem.



HVWTech SKU's

5V 1A Switching voltage regulator

(SKU# 50210)

$17.45 USD



MaxSonar-EZ0

(SKU# 35231)

$27.45 USD



PICAXE-08M SMD Project Board

(SKU# 28517)

$12.45 USD



PICAXE Programming Cable (USB)

(SKU# 28405)

$21.95 USD





Reflecting on the "flight testing" I'm realizing that takoff is as complex

(if not more) than landing. The plane has to be constantly corrected for drift

in the steering, wait for lift and then ease on the up-elevator



IDEA: use the vibration sensor to detect lift in takoff, use GPS to keep plane steady i.e. control the steering and rudder based on pre-programmed coordinates,

perhaps use the Co-pilot (only aileron) to stabilize



TODO:

check reversal of front landing gear for stability

Check reseting problem to see if it happens with processor in plane

Check if Voltage regulator will solve the problem (possibly use a digital buffer)



***** Need a reset button on the BS2e



Aug 11

Solved reset problem (See code)

Thought through auto takeoff by autoland mode with elevator brought down and released slowly

Did pseudocode for Straight Line flight based on Parallax GPS

TODO:

test "fly straight" on car

test Ardupilot 1.0 on car and glider (2.0 can work too) http://diydrones.com/profiles/blogs/getting-ready-for-ardupilot-20

test Autotakeoff and Autoland with hop mission

practice flight with microlight Sukhoi

test Ardupilot 1.0 with Apprentice, then add autoland



First doc on Hardware setup for Ardupilot 1.0 and 2.x

http://diydrones.com/profiles/blogs/ardupilot-assembly



ll=51.151258,-114.207403 for landing site

ll=51.151991,-114.20647



Aug 12

Thinking of adding my autolander between FMA copilot and RC Rx on 1.0 setup

(See http://diydrones.com/profiles/blogs/ardupilot-assembly)



Ch5 will toggle both Co-pilot and autolander

Ch6 will toggle Ardupilot



Test Ardupilot with car and replace RC with Futaba 6 Ch

Car test

ll=51.128472,-114.250152

ll=51.127852,-114.250683

ll=51.127903,-114.251692



Loaded Waypoints in v10



car test failed. It wandered aimlessly

Tried changing reversing the servo. Nothing

Tried setup in plane. No intelligible output. The rudder flipped

in one direction with no apparent pattern.



Getting frustrated with Ardupilot..



OK, some investigation showed that my GPS normally operates at 9600

even though v10 code sets it at 4800



Seems to give an intelligible output now with bearing and distance to WP making sense



New problems:

small negaive values of height show up as unsigned huge numbers

after a while, the values drift

Rudder instructed to move in jumpy increments and flips between +25 and -35 degrees.



May still be worth another field test..



Aug 17

did another field test but getting battery restart problems on car platform



IDEA: independent power supplies

AP + Steering on small battery

Main power/motor with direct speed control

repaired micro plane platform

picked up multiplex microjet for testing vtail mixing



Aug 18

designated SITES for testing

SITE A > car park behind Supermarket - waypoint testing car, plane without wings

and micro plane

SITE B > large park closeby - good for heli and small plane. grass too rough for

car

SITE C > main test site for autolander - roads under construction



SITE D > nose hill park - good for long range tests of AP



IDEA: navigation in high wind with course-over-ground vs throttle



tested v1.6 autolander at SITE C

again, wind was quite strong

autolander at "Takeoff" mode needs adjustment of the elevator

it caused the plane to jump during the hop test.

a second pass go the plane off the ground then wind crashed it. seems ok

need to straighten the landing gear



moved on to powered glider at site D

had a few test flights. managed to return to the ground safely but again the

high winds are a challenge. got some real altitude with the last flight

then went down out of sight. found it & decided to call it a day.



IDEA: homing beacon or wireless GPS signal for lost planes



IDEA: start a blogger and youtube account for project stuff



worked on "fly straight" program. course and bearing approach made simpler

by simply using "distance from straight" line approach.

needs testing on car - my prog & Ardupilot



looked at pwmpal and parallax servo controller on HVWtech



Need a separate prog for "takeoff"

tune wheel vs rudder

perhaps add wing stabilization and straight-line rudder/steering control

OR

develop "throw" type settings using landing prog (should work with glider)



Aug 20

AP 23 out

new waypoints

http://maps.google.ca/maps?hl=en&ie=UTF8&ll=51.124834,-114.249455&spn=0.000682,0.001738&t=h&z=19

http://maps.google.ca/maps?hl=en&ie=UTF8&ll=51.124597,-114.249345&spn=0.000682,0.001738&t=h&z=19

http://maps.google.ca/maps?hl=en&ie=UTF8&ll=51.125036,-114.248916&spn=0.000682,0.001738&t=h&z=19



Aug 21

IDEA: use microjet in Time Trust Trials - Roll stabilize with ultrasonics, use my flystraight algorithm for rudder

perhaps usereversible prop!



This would require 2 sensors and AL2x software



Nice Arduino hacking info

www.freeduino.org



lookup math.h in arduino docs and implement "flystraight" routine



Tests ready to go:

Car with AP23

Apprentice with AL20 (use SS2 and power pings with pins)



Then...

Radian with AP22 + AL1x (Use BS2e then try PICAXE)

Microjet with AP23 + AL20 (Add tail rudder & motor)





IDEA: eagle files for Air-stamp and V-Stamp boards



IDEA: prototype for CG heli w GPS



GET: linear sensor from parallax > horizon detection

GET: 2 small servos and reversible prop kit, roll of servo wire with ends



Aug 23

IDEA: Home security robot

crawler + "legs" to assist in climbing stairs



Tested car with AP23 AGAIN. No luck. Tried reversing roll variable, moving outputs.

At least the Throttle works with independent power. Getting a GPS lock @9600 baud

4800 baud did not give a GPS lock



Nice site for Roll, Pitch and Yaw



Rudder controls Yaw

Ailerons control Roll

Elevator controls pitch



Aug 24

Fixed the error formula on my "flystraight" algorithm.



Hooked up Parallax Optascope

Looked at signals from GPS 4 pin header. 5V, GND, TX, RX

Connected to TX, GND on the FTDI interface



TX shows Ardupilot output

Rx shows raw NMEA output

Both are @9600



Tried to program GPS while connected to Ardupilot. Does not work because Ardupilot is sending its

own signals.

Checked VCC out of Ardupilot. Reading 5V but this is because the battery is @5V. VCC should read the battery level



TODO:

test "flystraight" in Arduino code (won't run easily in BS2 because of floating point math - see below)

debug signals in AL22. Suspect digital buffer needed for servo signals

investigate "trainer" signal in Spektrum transmitter

get AP to work at 4800 baud so we can send NMEA data from plane to ground (did it!)



http://www.phanderson.com/stamp/

nice link on bs2, adc0831 and picaxe 8m as slave processor



Using Bs2 for coordinate math?

Sine function accepts 8 bit angle and returns a 16 bit answer

Variable up to 65535

If you use a resolution of 0.1m on the GPS then you are limited to about 6.5 km or 3.2 km for +/- values

result is in the range -32767 to +32767



Need to demonstrate correction of rudder (plane) or steering (car) relative to a defined straight line.



Aug 26

scope capture of signals.

period and amplitude changes - see scope folder

rx - 3v, 45hz, duty cyle 4-8%



bs2e

micro, 5v, 22.7-45 hz, loses every other pulse

micro with ch5 on, 740us on, 3.68ms off



bs2

16 hz, ch5 off

2 hz, ch5 on pulse width 124ms



Nice article on Tx trainer signal

http://www.geocities.com/BourbonStreet/3220/servotx.html

Can use this for Modulation of serial commands to RC aircraft in flight



Aug 27

fixed bs2 autolander for Apprentice. ready for flight test and tuning. needed longer delay in passthrough mode

Ardupilot board - writing my own software

got all LED's, inputs and outputs to work i.e. servo in and out with MUX



Lovely article on 'Duino with lots of links and discussion

http://www.urbanhonking.com/ideasfordozens/2009/05/why_the_arduino_matters.html#comments



Aug 28

Got parallax GPS to talk to Arduino



http://maps.google.ca/?ie=UTF8&ll=51.123135,-114.249079&spn=0.002539,0.006952&t=h&z=17

51.123136,-114.249080

checking resolution of GPS - 6 decimal places on LAT/LON, ok









Lost site c to contstruction :(

Investigate site near home



need GPS waypoints to check flystraight

using front and back of the house.







51.123364,-114.249288

51.123134,-114.249082

51.123278,-114.248634



lat is Y

lon is X





Parallax GPS giving bad resolution. NMEA values look better.

Got it working!



Now to calculate distance and error



Got a valid error signal

Need to add gain and waypoint switcher > got that working

Need to tune gain





measured waypoints for car test



51.12456, -114.24900

51.12488, -114.24948

51.12520, -114.24862



http://maps.google.ca/maps?hl=en&ie=UTF8&ll=51.124337,-114.24909&spn=0.001364,0.003476&t=h&z=18

http://maps.google.ca/maps?hl=en&ie=UTF8&ll=51.124829,-114.249487&spn=0.001364,0.003476&t=h&z=18

http://maps.google.ca/maps?hl=en&ie=UTF8&ll=51.125017,-114.248918&spn=0.001364,0.003476&t=h&z=18



Data for site A



wp_lat[1]= 51124204;

wp_lon[1]= -114248912;

wp_alt[1]= 150; //meters



wp_lat[2]= 51124848;

wp_lon[2]= -114249456;

wp_alt[2]= 200; //meters



wp_lat[3]= 5112508;

wp_lon[3]= -114248872;

wp_alt[3]= 150; //meters



wp_lat[4]= 51124848; //enter home

wp_lon[4]= -114249456;

wp_alt[4]= 150; //meters





Data



wp_lat[1]= 51123364;

wp_lon[1]= -114249288;

wp_alt[1]= 150; //meters



wp_lat[2]= 51123134;

wp_lon[2]= -114249082;

wp_alt[2]= 200; //meters



wp_lat[3]= 51123278;

wp_lon[3]= -114248634;

wp_alt[3]= 150; //meters



wp_lat[4]= 111; //enter home

wp_lon[4]= -111;

wp_alt[4]= 150; //meters



Gain too high and car drives in circles



IDEA: use adaptive gain and sliding window plus extrapolation

find center pulselength of servo



focus on glideslope and direction (like ILS), leave navigation to AP

don't forget the SIMPLE one transducer lander based on PICAXE



Aug 31

Did not get to enter Time trials on DIYDrones (sigh)



However, I finished the Microjet platform and wrote BS2e code for flight stabilization in takeoff and landing.

Checked out football field site for testing. They formally lock up at 10pm.



Can't wait to flight test tomorrow.



IDEA:

use small "jerks" on servo instead of constant turn.

develop a "calibration" program or mode to get straight path for car.

can use calibration for plane BUT must be adaptive for wind. may use COG.

need math to find best circle through a set of x,y coordinates.



also need a "servo buffer" which accepts a pulse width and repeats it



Photodiodes from Active, sparkfun or hvw



Sept 1

Interesting interface for controller to pc

http://www.simblaster.com/servlet/StoreFront



flight test failed :( crashed within 15 ft. not enough speed and turned to one side..

even have video!



ah, well. back to the old drawing board as they say. re-design cycle.



nice refs for patents

http://www.patentstorm.us/patents/4979154/description.html

http://www.freepatentsonline.com/4979154.html







convert units (GPS)

http://www.unitjuggler.com/convert-speed-from-kt-to-ms.html



Sept 2

Went flying with Todd. Intention was to check the functionality of the prototype

landing assist module. My apprentice had a loose servo horn connector which made it lose

control :( What a week!



Hoping to do some simple testing with a ParkZone SuperCub.



Sept 3

weather is against me today

instead, worked on GPS guidance and improved program for 2 sensor stabilization on Apprentice



interesting arduino baloon project

http://nw5w.com/journal/?cat=12



Educator in electronics ponders the arduino

http://falconphysics.blogspot.com/2008/02/arduino-or-picaxe.html



Sept 7

New TTT on Oct 4!



rewrote "Flystraight". Getting a nitro (gas) plane for testing.



Looked at Diydrones parallax UAV. He used XY coordinates with OR for hit (instead of circle).



Sept 9



home depot

51.107566,-114.240381



51.107542,-114.239777



51.107818,-114.239767





wp_lat[1]= 51107566;

wp_lon[1]= -114240381;

wp_alt[1]= 150; //meters



wp_lat[2]= 51107542;

wp_lon[2]= -114239777;

wp_alt[2]= 200; //meters



wp_lat[3]= 51107818;

wp_lon[3]= -114239767;

wp_alt[3]= 150; //meters



Tested car at Home Depot site. "Turn" activated a few times but the turn circle seems too tight. A few things fell off while testing (Radio TX and RX)



IDEA: use the compass module to give direction data for small turns, increase the turn radius. Log data for GPS while

driving and executing "turn" and "nudge". Secure the payload better.



Looked at data sheet for multiplexer. It can handle only 2 inputs at a time. This seems ok. can always use 2 chips for 4 inputs



IDEA: use gps in and around the house to get an idea of the resolution

IDEA: work with sliding window for x, y and z data



Sept 10



Flight tested LA (landing assist) on apprentice. OK flight without. High winds on test takeoff - plane dive



Need to tune landing assist so it does not correct for above Setpoint (just below). This may produce a "bouncing" effect

before stabilizing. We can add damping later. Try Landing only then takeoff - different parameters



hvw

voltage regulator

voltage and current sense for battery



http://franson.com/gpsgate/ > interesting way to share data with multiple apps





prods:

1 - single ping landing assist

2 - dual ping landing assist

3 - autonomous landing

4 - computer assisted landing - training cable





Sept 12

found nice practice site near Bearspaw school



Sept 13

repaired Apprentice

re-wrote AL



http://www.robotshop.ca/New-arrivals/parallax-servopal-dual-servo-controller.html



Analog input

Arduino - 10 bit

Picaxe - 8 bit



1023 could be mapped to the useful range of an 11.1V LiPo with an Op Amp



http://www.siliconchip.com.au/cms/A_104400/article.html

PICAXE in schools



IDEA: use charging plug to monitor voltage



Passive flight monitor with ground station



http://www.electronics123.com/

http://www.rangevideo.com/index.php?main_page=product_info&cPath=8&products_id=98&zenid=244b0cd77d18aed28b6cb4a7860ae237



Sept 19

IDEA: Parallax autopilot board



Need for simplicity, again... Too many options and stuff too complicated

Q - simplest landing assist?

A - bs2 with one sensor



Q - simplest autolander?

A - Arduino with Co-pilot stabilization



Q - simplest monitor?

A - GPS with XBEE



All can be modified later.



Q - Simplest product

A - landing assist using picaxe and MUX





Sept 17

Test Compass module on BS2 using WAM hardware



Check out Parallax new SD reader $14 !!!



OLED serial display on Sparkfun



Sept 18

stil getting errors on ground detect

seems to be rooted in issues with nested if in pbasic or



Sept 19

Test flight on Easystar - ok



Compass and ping on Arduino

http://www.arduino.cc/playground/Main/HM55B

http://arduino.cc/en/Tutorial/Ping?from=Tutorial.UltrasoundSensor

http://antipastohw.blogspot.com/2007/12/arduino-with-parallax-sonar-sensor.html

http://www.arduino.cc/playground/Main/MaxSonar

http://arduino.cc/en/Tutorial/Memsic2125?from=Tutorial.AccelerometerMemsic2125

http://antipastohw.blogspot.com/2007/12/arduino-with-radio-shack-parallax.html



GPS

http://www.ladyada.net/make/gpsshield/

http://www.arduino.cc/playground/Tutorials/GPS



http://www.arduino.cc/playground/Learning/Tutorials

includes a ref to EM406 plus other useful tutorials



Sept 20

rewrote AL for arduino (landassist_00)

version of flystraight including compass (flystraight_17)





TODO:

create a flat circuit holder to mount on the car (test flystraight_17)

try Co-pilot stabilization in Apprentice - did it! worked great!

add landassist_00 to Apprentice

try AP with EASYSTAR

fun > try synapse and flying wing with reverse/hover

start building Beaver



IDEA:

use LT-40 kit to build a long distance UAV for search and rescue



need rangevideo FPV set

http://www.rangevideo.com



use processing to interpret landingassist00 data

get xbee working for GPS data



IDEA: use OLED for HUD > Skiers, rc fliers



Oct 3



tested compass on arduino

first flight with camera on Easystar



todo:

transfer electrics from Apprentice to Quattro

test simple AL on Easystar



See youtube for aereal video using Quattro

Nice flight over the Badlands in Drumheller, Alberta

Plane crashed due to an broken servo horn but can be repaired



2010

May 15

It's my bday. Not much done since last time since I lost my work area

due to our recent addition (Jodie)



Now re-inspired to work on the autolander project since it is now

a TTT competition on Diydrones. Sparkfun had a similar event giving

extra credit for autonomous landing. The Diydrones competition seems

more up my ally and I've clarified the rules with the organizers.



Now dusting off my old microcontrollers. The last program I tested

was the ground rover with Ardupilot and Parallax GPS with wireless comms.



Re-aligning the wire-bridge between the Arduino and my (HVWtech) ftdi

using the CTS connection as a guide



Getting comms using Hyperterminal with "Flystraight03" settings



Waiting for GPS lock



results seem to be in line with "Flystraight17" program - that

one included routines for the compass. Loaded but never tested.



Readings can be seen at Com8 (FTDI) using 4800 baud



Got compass working for low speed orientation



Todo:

Wiring for proper mounting in car or plane

Math for low-speed motion

Testing on ground

Add proximity sensor and vibration sensor (may need to offload to stamp)

then send all the readings in serially

perhaps group GPS, vibration and compass - leave proximity

as analog or group with others as serial

Test the final taxi/stop routines

Test the landing routine



May 16

uncovered a major error with my direction routines.

now fixed

tested servo controls, added ramp functions



May 18

Encountered a reset problem with the rig

turned out to be the servo's require more power

will work with an external battery when servo's are hooked up



May 20

need to set up wireless comms

program XBEE's using Sparkfun XBEE explorer boards

can test with hvw ftdi and lilypad

see youtube http://www.youtube.com/watch?v=VzgUtZyiHhE



feed sample angles to "glideslope" program to ensure proper treatment

of large or negative angles



try various lat/lon coordinates to check the correct operation of

"error" value (change the order of waypoints to use different orientations of "error". Rotate compass completely)







add programming for speed and altitude control



build and test contact (vibration) sensor



build "brakes"



integration testing



add wireless groundstation comms



May 30



Wow!

finally got the car navigation to work



installed GPS and Co-pilot in plane



startup procedure:



power on PLANE

power tx

power xbee rx



Use Google earth or MS Streets and Trips to plot realtime data

Use GPS visualizer to plot nmea or other log files

Track options > Altitude mode: absolute (for flights)

Waypoint options > Altitude mode: Absolute floating



Consider making the delay for Rudder pulse proportional to speed





if using the ArduIMU you need to do a MOD

http://www.diydrones.com/profiles/blogs/how-to-remove-the-high-pass?id=705844%3ABlogPost%3A122162&page=2#comments



May 31

did a flight test (manual) to test telemetry. XBee performed to spec and

was able to get good plots of the flight path from Google Earth.



had some problems with underpowered throttle. turned out to be a bad

battery so replaced it.



June 1

want to send up plane under full autonomous control with telemetry.



my own version of the software for ardupilot uses Parallax GPS

with a simple servo routine. this needs to be tested when it works

alongside the co-pilot stabilization hardware



also need to test ESC control from ardupilot



if this fails, will need a "buffer" program (from BS2 or picaxe say) that accepts

pulses or serial comms and send constant updates to servos



also, the system will eventually end up in a plane with ailerons



i should just test the rudder and throttle/elevator controls WITHOUT the co=pilot



the final system will use co-pilot for ailerons and perhaps elevator. will experiement with throttle/elevator combination for ALT control



plan to use Rudder and Throttle control for TO/Landing - may need to

inject signals into stabilization (Aileron/Elevator) - will test



on Spektrum, use channel 5/6 for ardupilot/stabilization



perhaps I will stick with the Easystar and just add the prox sensor

to tune landings



Throttle < Ground_speed (add BS2 for buffer)

Elevator < altitude

Rudder < heading

(tune gain and delay, even leave in position if error is too large)

re-wire with wire-wrap



perhaps re-write code for NMEA parsing (try it with nmea.h and servo.h)

routine for calibration

routine for autoland from "anywhere" (try with Radian and camera)



NOTE: XBEE can be powered from battery

(GPS should still be powered from Ardupilot +5V)



Still need to write "Processing" code for XY and Z plots

use 2D primitives and serial input

later add image from Google Earth



idea:

self powered GPS location transmitter from > Em406 GPS, XBEE & +5V power



BS2 pseudocode for "buffer"



old value = zero pulse width

loop:

pulsin from ESC signal > new value

did it timeout? Y>use old value N>use new value

store new value in old value

pulseout

delay 20ms





June 3

Problem when Ardupilot is feeding co-pilot (wants a continous servo signal)

Looked at Ardupilot firmware 2.6 to solve this



If this works then all I will need is an "over-ride" program for the elevator. This could be tested with Ardupilot hardware





Pseudocode for ground detection (elevator over-ride)



//test this with low levels



setup "listener" port for elevator

put Ardupilot board in "passthrough" mode

setup ground_detect height

loop:

read elevator servo pulse > elevator

check elevator (use analog signal)

if height < ground_detect

{

// ground level has been detected

go to ground level routine();

}

else

{

keep board in passthrough mode

add an appropriate delay // test with scope



}





ground level routine()

calculate elevator signal based < elevator pulse, height

e.g. elevator = elevator - (k*height);









First test this using Ardupilot board

then transfer to arduino mini + MUX chip



If using code 2.6 then use ConfigTool or Waypoint Writer for entry



Will need to cut the XY sensor wire and create a "pluggable" connection. That way you can use the Co-Pilot OR Ardupilot



IDEA: You can try to send GPS signal also to the Arduino MINI for

ground level Landing and Taxi routines





2:39 AM 6/6/2010

Ardupilot 2.6 is assembled and ready for testing



12:53 AM 6/9/2010

Had a good test flight at Bearspaw school ground. Manual and Stabilize mode worked well.



Fly by Wire was drifting. Power was also resetting.



Solutions:

new header file

trim the plane in flight

adjust the CG so it does not climb

add a capacitor to the PS



Feel ready to try AUTO



Also, I want to add the proximity sensor and modify the altitude

routine to use "home_alt + prox" if we detect the ground



Code in Navigate TAB, get_altitude_above_home(void)

No comments:

Post a Comment