From PaparazziUAV
Revision as of 00:42, 5 April 2011 by Paulcox (talk | contribs) (Mentor1 build todo)

Jump to: navigation, search
Be afraid. Be very afraid.

LaserHawk Project Description

Lidar UAV for traversability map generation

High-level Goals

A robot plans its trajectory
  1. Autonomous flights of Multiplex Mentor UAV with onboard payload including:
  2. 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 In progress
2 start flying mentor airframe Maiden manual flight accomplished. autonomous flying to come 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
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

  1. get new 60+ A ESC
  2. make live sensor interface PC app to monitor on ground during acquisition
  3. make hokuyo power switchable via GPIO (from tiny)
  4. see if current probe limited to 25A

Have Bertand Do

  1. rebuild omap MTI ipk for GPS support
  2. check in paparazzi mods


  1. 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)



sensors mounted on bike for initial testing


  • Who cares? laptops, modems, and antennae should suffice


Version control : github


  • Overo
    • OS: openembedded-built linux (switch to ibara's rt-based lisa branch?)
    • 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


  • Paparazzi ground package
  • gdhe for data visualization (polyline representations of laser scan lines)

GIT Projects:

  1. hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE
  2. hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)
  3. log2gdhe - App for visualising stored log (real or virtual) in gdhe
  4. log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model
    mkvirtlog image output.

    view animation

    gdhe screenshot
  5. biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs
Plotlogs image output. view animation

More info in the git README

The goal is to fuse all of these capabilities into one package that allows:
  1. displaying real or virtual data
  2. live data, recording, and/or playback
  3. display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)
  4. rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)
  5. later on will treat data to generate terrain model / traversability map / whatever
  6. not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)
  7. more?


Laserhawk geometry
scan line relative to heading and track
Elevation and bird's eye view of scan area
Figure 1
Figure 2

  • 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:
Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m
  • For 90° interest zone :
  • scan line advances down ground track :
 Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm
  • scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :
 Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m
  • Resolution :
  \frac{ \frac{90}{360} \times 1440~pixels }{scan\_length} = \frac{360~pixels}{\sqrt{{Dist_x}^2+{Dist_y}^2}} \approx \frac{360~pixels}{Dist_y}= 6~ \frac{pixels}{m} = 17~cm between pixels
  • Angle relative to track :
 Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ (negligible relative to crab angle)


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)



Risks and unanswered questions
Num Name Notes Priority Status
1 Lidar performance at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) x
2 Crashing Lidar Will build metal/foam box for protection x x
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