Difference between revisions of "Laserhawk"
Jump to navigation
Jump to search
(6 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
=LaserHawk Project Description= | =LaserHawk Project Description= | ||
Lidar UAV for traversability map generation | Lidar UAV for traversability map generation | ||
[https://github.com/paulcox/laserhawk/blob/master/docs/PDC_LAAS_Report1.pdf Preliminary Report] | |||
=High-level Goals= | =High-level Goals= | ||
Line 33: | Line 36: | ||
|- style="background:lemonchiffon; color:black" | |- style="background:lemonchiffon; color:black" | ||
| 1 || Acquire ground Lidar/attitude data while we wait for plane || use PC then gumstix. Hokuyo and MTIG mounted on boom. biketest git directory has initial data ) || x || | | 1 || Acquire ground Lidar/attitude data while we wait for plane || use PC then gumstix. Hokuyo and MTIG mounted on boom. biketest git directory has initial data ) || x || done | ||
|- style="background:bisque; color:black" | |- style="background:bisque; color:black" | ||
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying | | 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying now working || x || done | ||
|- style="background:bisque; color:black" | |- style="background:bisque; color:black" | ||
| 3 || Be able to treat realtime or recorded data from real or virtual data || Some initial application code done, integrating all together next || x || In progress | | 3 || Be able to treat realtime or recorded data from real or virtual data || Some initial application code done, integrating all together next || x || In progress | ||
Line 49: | Line 52: | ||
====Mentor1 build todo==== | ====Mentor1 build todo==== | ||
#make hokuyo power switchable via GPIO (from tiny and/or overo) | |||
#new mti gps antenna | |||
#make hokuyo power switchable via GPIO (from tiny) | |||
# | |||
= Architecture = | = Architecture = | ||
Line 76: | Line 73: | ||
===Ground=== | ===Ground=== | ||
* | *nothing special : laptops, modems, and antennae | ||
== Software == | == Software == | ||
Line 83: | Line 80: | ||
===Airborne=== | ===Airborne=== | ||
*Overo | *Overo | ||
**OS: openembedded-built linux ( | **OS: openembedded-built linux (use rt-linux patches?) | ||
**Drivers: hokuyo/xsens stuff ([http://homepages.laas.fr/bvandepo/wiki/doku.php?id=gumstixd Bertand's notes] ; overo [https://github.com/paulcox/laserhawk/tree/master/ipks ipkg files] built on borderouge ) | **Drivers: hokuyo/xsens stuff ([http://homepages.laas.fr/bvandepo/wiki/doku.php?id=gumstixd Bertand's notes] ; overo [https://github.com/paulcox/laserhawk/tree/master/ipks ipkg files] built on borderouge ) | ||
**apps: | **apps: | ||
Line 146: | Line 143: | ||
:* Angle relative to track : | :* Angle relative to track : | ||
: <center><math> Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ</math> (negligible relative to crab angle)</center> | : <center><math> Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ</math> (negligible relative to crab angle)</center> | ||
= Flight Logs = | |||
Available on git repo : https://github.com/paulcox/laserhawk/tree/master/mentor | |||
#May 11 - Manual flights, propeller small so not much thrust margin. IR and servo config tuning. | |||
#May 17 - Manual and Auto1/2 Flights with bigger prop and 80A ESC. Used all three 5Ah batteries, progressively increasing payload weight. | |||
#May 19 - Airframe configured for carrot=3 and reduction in throttle increment. High winds during flight. Lost canopy during flight. | |||
=Scratchpad = | =Scratchpad = | ||
Line 167: | Line 173: | ||
|- style="background:lemonchiffon; color:black" | |- style="background:lemonchiffon; color:black" | ||
| 1 || Lidar performance || at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) || x || | | 1 || Lidar performance || at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) || x || Sunny day testing against house exterior walls shows we can measure at least to 16m distance. | ||
|- style="background:bisque; color:black" | |- style="background:bisque; color:black" | ||
| 2 || Crashing Lidar || Will build | | 2 || Crashing Lidar || Will build box for protection || x || Done | ||
|- style="background:bisque; color:black" | |- style="background:bisque; color:black" | ||
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x | | 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x |
Latest revision as of 05:35, 20 May 2011
LaserHawk Project Description
Lidar UAV for traversability map generation
High-level Goals
- Autonomous flights of Multiplex Mentor UAV with onboard payload including:
- Generate traversability map that can be transmitted to UGV
- cartesian coordinates with traversability probabilities/confidence
Elrob competition details
Questions :
- Distance from launch point to zone of interest : 1-2 km
- Size of zone of interest : 500 x 500 m
- Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?
- Will standby waypoint need to follow ground robot as it travels?
- How long aircraft on alert for acquisition requests? Hours?
- Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?
Current Tasks and Priorities
Num | Name | Notes | Priority | Status |
---|---|---|---|---|
1 | Acquire ground Lidar/attitude data while we wait for plane | use PC then gumstix. Hokuyo and MTIG mounted on boom. biketest git directory has initial data ) | x | done |
2 | start flying mentor airframe | Maiden manual flight accomplished. autonomous flying now working | x | done |
3 | Be able to treat realtime or recorded data from real or virtual data | Some initial application code done, integrating all together next | x | In progress |
4 | Lit review | x | x | In progress |
x | x | x | x | x |
x | x | x | x | x |
x | x | x | x | x |
Mentor1 build todo
- make hokuyo power switchable via GPIO (from tiny and/or overo)
- new mti gps antenna
Architecture
- Communication
- autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com
- gumstix/ground - wifi for debugging
- UAV to UGV com : 115.2kbps Xbee Pro link (data reliability testing needed)
Hardware
Airborne
- Airframe : Multiplex LAAS Mentor
Ground
- nothing special : laptops, modems, and antennae
Software
Version control : github
Airborne
- Overo
- OS: openembedded-built linux (use rt-linux patches?)
- Drivers: hokuyo/xsens stuff (Bertand's notes ; overo ipkg files built on borderouge )
- apps:
- mainloop for sensor data processing
- coordination with ground
- coordination with autopilot
- Autopilot
- paparazzi LPC2148-based firmware
Ground
- Paparazzi ground package
- gdhe for data visualization (polyline representations of laser scan lines)
GIT Projects:
- hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE
- hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)
- log2gdhe - App for visualising stored log (real or virtual) in gdhe
- log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model
- biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs
More info in the git README
- The goal is to fuse all of these capabilities into one package that allows:
- displaying real or virtual data
- live data, recording, and/or playback
- display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)
- rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)
- later on will treat data to generate terrain model / traversability map / whatever
- not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)
- more?
Geometry
Laserhawk geometry | |
---|---|
- nominal UAV flight velocity : 20-30 m/s
- nominal UAV flight height AGL : 30 m
- Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz
- ground covered distance during one revolution of scanner:
- For 90° interest zone :
- scan line advances down ground track :
- scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :
- Resolution :
cm between pixels - Angle relative to track :
(negligible relative to crab angle)
Flight Logs
Available on git repo : https://github.com/paulcox/laserhawk/tree/master/mentor
- May 11 - Manual flights, propeller small so not much thrust margin. IR and servo config tuning.
- May 17 - Manual and Auto1/2 Flights with bigger prop and 80A ESC. Used all three 5Ah batteries, progressively increasing payload weight.
- May 19 - Airframe configured for carrot=3 and reduction in throttle increment. High winds during flight. Lost canopy during flight.
Scratchpad
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)
MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v >> MTIG.out
record laser scans to disk (PC and overo) hokuyomti /dev/ttyACM0
scan and display on gdge (PC only for now)
hoku2gdhe
Risks
Num | Name | Notes | Priority | Status |
---|---|---|---|---|
1 | Lidar performance | at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) | x | Sunny day testing against house exterior walls shows we can measure at least to 16m distance. |
2 | Crashing Lidar | Will build box for protection | x | Done |
3 | Radio interference at Elrob | need robust behaviors with lost com | x | x |
x | x | x | x | x |
x | x | x | x | x |
x | x | x | x | x |