<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.paparazziuav.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Paulcox</id>
	<title>PaparazziUAV - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.paparazziuav.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Paulcox"/>
	<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/wiki/Special:Contributions/Paulcox"/>
	<updated>2026-04-28T06:51:34Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul%27s_Borrow_List&amp;diff=10840</id>
		<title>Paul's Borrow List</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul%27s_Borrow_List&amp;diff=10840"/>
		<updated>2011-12-05T16:41:32Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
====Back to [[Paul Cox Notes]]====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Owner !! Name !! Notes !! x !! Picture&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul%27s_Borrow_List&amp;diff=10839</id>
		<title>Paul's Borrow List</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul%27s_Borrow_List&amp;diff=10839"/>
		<updated>2011-12-05T16:41:02Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Back to Paul Cox Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Too many things in my posession that don't belong to me so this is to help keep track&lt;br /&gt;
&lt;br /&gt;
====Back to [[Paul Cox Notes]]====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Owner !! Name !! Notes !! x !! Picture&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9362</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9362"/>
		<updated>2011-05-20T12:35:30Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* LaserHawk Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://github.com/paulcox/laserhawk/blob/master/docs/PDC_LAAS_Report1.pdf Preliminary Report]&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans its trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : 1-2 km&lt;br /&gt;
: Size of zone of interest : 500 x 500 m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying now working || x || done &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Mentor1 build todo====&lt;br /&gt;
#make hokuyo power switchable via GPIO (from tiny and/or overo)&lt;br /&gt;
#new mti gps antenna&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : 115.2kbps Xbee Pro link (data reliability testing needed)&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe : Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:payload_hw_block_diagram.png|thumb|hw block diagram]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*nothing special : laptops, modems, and antennae&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (use rt-linux patches?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flight Logs = &lt;br /&gt;
Available on git repo : https://github.com/paulcox/laserhawk/tree/master/mentor&lt;br /&gt;
&lt;br /&gt;
#May 11 - Manual flights, propeller small so not much thrust margin. IR and servo config tuning.&lt;br /&gt;
#May 17 - Manual and Auto1/2 Flights with bigger prop and 80A ESC. Used all three 5Ah batteries, progressively increasing payload weight.&lt;br /&gt;
#May 19 - Airframe configured for carrot=3 and reduction in throttle increment. High winds during flight. Lost canopy during flight.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build box for protection || x || Done &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9361</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9361"/>
		<updated>2011-05-20T12:03:43Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Scratchpad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans its trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : 1-2 km&lt;br /&gt;
: Size of zone of interest : 500 x 500 m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying now working || x || done &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Mentor1 build todo====&lt;br /&gt;
#make hokuyo power switchable via GPIO (from tiny and/or overo)&lt;br /&gt;
#new mti gps antenna&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : 115.2kbps Xbee Pro link (data reliability testing needed)&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe : Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:payload_hw_block_diagram.png|thumb|hw block diagram]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*nothing special : laptops, modems, and antennae&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (use rt-linux patches?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flight Logs = &lt;br /&gt;
Available on git repo : https://github.com/paulcox/laserhawk/tree/master/mentor&lt;br /&gt;
&lt;br /&gt;
#May 11 - Manual flights, propeller small so not much thrust margin. IR and servo config tuning.&lt;br /&gt;
#May 17 - Manual and Auto1/2 Flights with bigger prop and 80A ESC. Used all three 5Ah batteries, progressively increasing payload weight.&lt;br /&gt;
#May 19 - Airframe configured for carrot=3 and reduction in throttle increment. High winds during flight. Lost canopy during flight.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build box for protection || x || Done &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9360</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9360"/>
		<updated>2011-05-20T11:54:12Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Current Tasks and Priorities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans its trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : 1-2 km&lt;br /&gt;
: Size of zone of interest : 500 x 500 m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying now working || x || done &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Mentor1 build todo====&lt;br /&gt;
#make hokuyo power switchable via GPIO (from tiny and/or overo)&lt;br /&gt;
#new mti gps antenna&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : 115.2kbps Xbee Pro link (data reliability testing needed)&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe : Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:payload_hw_block_diagram.png|thumb|hw block diagram]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*nothing special : laptops, modems, and antennae&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (use rt-linux patches?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build box for protection || x || Done &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9359</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9359"/>
		<updated>2011-05-20T11:53:18Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Have Bertand Do */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans its trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : 1-2 km&lt;br /&gt;
: Size of zone of interest : 500 x 500 m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Mentor1 build todo====&lt;br /&gt;
#make hokuyo power switchable via GPIO (from tiny and/or overo)&lt;br /&gt;
#new mti gps antenna&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : 115.2kbps Xbee Pro link (data reliability testing needed)&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe : Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:payload_hw_block_diagram.png|thumb|hw block diagram]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*nothing special : laptops, modems, and antennae&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (use rt-linux patches?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build box for protection || x || Done &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9358</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9358"/>
		<updated>2011-05-20T11:53:05Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Mentor1 build todo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans its trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : 1-2 km&lt;br /&gt;
: Size of zone of interest : 500 x 500 m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Mentor1 build todo====&lt;br /&gt;
#make hokuyo power switchable via GPIO (from tiny and/or overo)&lt;br /&gt;
#new mti gps antenna&lt;br /&gt;
&lt;br /&gt;
====Have Bertand Do====&lt;br /&gt;
#rebuild omap MTI ipk for GPS support&lt;br /&gt;
#check in paparazzi mods&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : 115.2kbps Xbee Pro link (data reliability testing needed)&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe : Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:payload_hw_block_diagram.png|thumb|hw block diagram]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*nothing special : laptops, modems, and antennae&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (use rt-linux patches?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build box for protection || x || Done &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Mentor1_inflight.jpg&amp;diff=9357</id>
		<title>File:Mentor1 inflight.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Mentor1_inflight.jpg&amp;diff=9357"/>
		<updated>2011-05-20T11:51:37Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=LAAS_Mentor&amp;diff=9356</id>
		<title>LAAS Mentor</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=LAAS_Mentor&amp;diff=9356"/>
		<updated>2011-05-20T11:51:22Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=LAAS Mentor Planes=&lt;br /&gt;
&lt;br /&gt;
[[Image:mentor1_inflight.jpg|thumb|c|Front View]]&lt;br /&gt;
&lt;br /&gt;
==Mentor1==&lt;br /&gt;
&lt;br /&gt;
Airframe : EPP Foam Multiplex Mentor &lt;br /&gt;
Motor : AXI 2820/10 Gold [http://www.modelmotors.cz/index.php?page=61&amp;amp;product=2820&amp;amp;serie=10&amp;amp;line=GOLD Link]&lt;br /&gt;
Motor Controller : Flash 44 K3 Opto&lt;br /&gt;
&lt;br /&gt;
[[Image:mentor1_1.jpg|thumb|c|Front View]]&lt;br /&gt;
[[Image:mentor1_2.jpg|thumb|c|Side View]]&lt;br /&gt;
&lt;br /&gt;
[[Image:mentor1_payload1.jpg|thumb|c|Assembled Payload]]&lt;br /&gt;
[[Image:mentor1_payload2.jpg|thumb|c|Protective Cover Removed]]&lt;br /&gt;
[[Image:mentor1_payload3.jpg|thumb|c|Upside-down]]&lt;br /&gt;
[[Image:mentor1_payload4.jpg|thumb|c|Ready to mate to craft]]&lt;br /&gt;
&lt;br /&gt;
===Weight Distribution===&lt;br /&gt;
&lt;br /&gt;
====Payload Weights====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Payload Weights |-&lt;br /&gt;
! Description !! Weight (grams)&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Hokuyo&lt;br /&gt;
||&lt;br /&gt;
250&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
XSens MTIG&lt;br /&gt;
||&lt;br /&gt;
65&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Overo / Summit / USB Hub / Case&lt;br /&gt;
||&lt;br /&gt;
72&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Wifi Antenna with pigtail&lt;br /&gt;
||&lt;br /&gt;
15&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
2x 2s 780 mAh batteries&lt;br /&gt;
||&lt;br /&gt;
91&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
2x switching power supplies (5V, 12V)&lt;br /&gt;
||&lt;br /&gt;
20&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
XBee Pro with 3.3V regulator&lt;br /&gt;
||&lt;br /&gt;
10&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Foam and glass fiber Enclosure&lt;br /&gt;
||&lt;br /&gt;
95&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Wood Chassis&lt;br /&gt;
||&lt;br /&gt;
42&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
USB to Serial convertor with MTI connector&lt;br /&gt;
||&lt;br /&gt;
20&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
'''TOTAL'''&lt;br /&gt;
||&lt;br /&gt;
'''680'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Overall Weights====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Overall Weights |-&lt;br /&gt;
! Description !! Weight (grams)&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Wings plus 2x Aileron Servos&lt;br /&gt;
||&lt;br /&gt;
400&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Fuselage with XBee/Autopilot/IR sensors/receiver/Motor/Speed Controller/2x Servos&lt;br /&gt;
||&lt;br /&gt;
1156&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Prop and holder&lt;br /&gt;
||&lt;br /&gt;
57&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
2x 3s 2100mAh batteries&lt;br /&gt;
||&lt;br /&gt;
314&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Science Payload&lt;br /&gt;
||&lt;br /&gt;
680&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
'''TOTAL'''&lt;br /&gt;
||&lt;br /&gt;
'''2607'''&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Mentor2==&lt;br /&gt;
&lt;br /&gt;
Not yet constructed&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9291</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9291"/>
		<updated>2011-04-20T06:56:58Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans its trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : 1-2 km&lt;br /&gt;
: Size of zone of interest : 500 x 500 m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Mentor1 build todo====&lt;br /&gt;
#get new 60+ A ESC&lt;br /&gt;
#make live sensor interface PC app to monitor on ground during acquisition&lt;br /&gt;
#make hokuyo power switchable via GPIO (from tiny)&lt;br /&gt;
#see if current probe limited to 25A&lt;br /&gt;
&lt;br /&gt;
====Have Bertand Do====&lt;br /&gt;
#rebuild omap MTI ipk for GPS support&lt;br /&gt;
#check in paparazzi mods&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : 115.2kbps Xbee Pro link (data reliability testing needed)&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe : Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:payload_hw_block_diagram.png|thumb|hw block diagram]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*nothing special : laptops, modems, and antennae&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (use rt-linux patches?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build box for protection || x || Done &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=LAAS_Mentor&amp;diff=9290</id>
		<title>LAAS Mentor</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=LAAS_Mentor&amp;diff=9290"/>
		<updated>2011-04-19T12:42:51Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Mentor1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=LAAS Mentor Planes=&lt;br /&gt;
&lt;br /&gt;
==Mentor1==&lt;br /&gt;
&lt;br /&gt;
Airframe : EPP Foam Multiplex Mentor &lt;br /&gt;
Motor : AXI 2820/10 Gold [http://www.modelmotors.cz/index.php?page=61&amp;amp;product=2820&amp;amp;serie=10&amp;amp;line=GOLD Link]&lt;br /&gt;
Motor Controller : Flash 44 K3 Opto&lt;br /&gt;
&lt;br /&gt;
[[Image:mentor1_1.jpg|thumb|c|Front View]]&lt;br /&gt;
[[Image:mentor1_2.jpg|thumb|c|Side View]]&lt;br /&gt;
&lt;br /&gt;
[[Image:mentor1_payload1.jpg|thumb|c|Assembled Payload]]&lt;br /&gt;
[[Image:mentor1_payload2.jpg|thumb|c|Protective Cover Removed]]&lt;br /&gt;
[[Image:mentor1_payload3.jpg|thumb|c|Upside-down]]&lt;br /&gt;
[[Image:mentor1_payload4.jpg|thumb|c|Ready to mate to craft]]&lt;br /&gt;
&lt;br /&gt;
===Weight Distribution===&lt;br /&gt;
&lt;br /&gt;
====Payload Weights====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Payload Weights |-&lt;br /&gt;
! Description !! Weight (grams)&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Hokuyo&lt;br /&gt;
||&lt;br /&gt;
250&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
XSens MTIG&lt;br /&gt;
||&lt;br /&gt;
65&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Overo / Summit / USB Hub / Case&lt;br /&gt;
||&lt;br /&gt;
72&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Wifi Antenna with pigtail&lt;br /&gt;
||&lt;br /&gt;
15&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
2x 2s 780 mAh batteries&lt;br /&gt;
||&lt;br /&gt;
91&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
2x switching power supplies (5V, 12V)&lt;br /&gt;
||&lt;br /&gt;
20&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
XBee Pro with 3.3V regulator&lt;br /&gt;
||&lt;br /&gt;
10&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Foam and glass fiber Enclosure&lt;br /&gt;
||&lt;br /&gt;
95&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Wood Chassis&lt;br /&gt;
||&lt;br /&gt;
42&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
USB to Serial convertor with MTI connector&lt;br /&gt;
||&lt;br /&gt;
20&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
'''TOTAL'''&lt;br /&gt;
||&lt;br /&gt;
'''680'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Overall Weights====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Overall Weights |-&lt;br /&gt;
! Description !! Weight (grams)&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Wings plus 2x Aileron Servos&lt;br /&gt;
||&lt;br /&gt;
400&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Fuselage with XBee/Autopilot/IR sensors/receiver/Motor/Speed Controller/2x Servos&lt;br /&gt;
||&lt;br /&gt;
1156&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Prop and holder&lt;br /&gt;
||&lt;br /&gt;
57&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
2x 3s 2100mAh batteries&lt;br /&gt;
||&lt;br /&gt;
314&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Science Payload&lt;br /&gt;
||&lt;br /&gt;
680&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
'''TOTAL'''&lt;br /&gt;
||&lt;br /&gt;
'''2607'''&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Mentor2==&lt;br /&gt;
&lt;br /&gt;
Not yet constructed&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9273</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9273"/>
		<updated>2011-04-13T08:39:12Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Risks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans its trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : 1-2 km&lt;br /&gt;
: Size of zone of interest : 500 x 500 m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Mentor1 build todo====&lt;br /&gt;
#get new 60+ A ESC&lt;br /&gt;
#make live sensor interface PC app to monitor on ground during acquisition&lt;br /&gt;
#make hokuyo power switchable via GPIO (from tiny)&lt;br /&gt;
#see if current probe limited to 25A&lt;br /&gt;
&lt;br /&gt;
====Have Bertand Do====&lt;br /&gt;
#rebuild omap MTI ipk for GPS support&lt;br /&gt;
#check in paparazzi mods&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : 115.2kbps Xbee Pro link (data reliability testing needed)&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe : Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:payload_hw_block_diagram.png|thumb|hw block diagram]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Who cares?  laptops, modems, and antennae should suffice&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (switch to ibara's rt-based lisa branch?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build box for protection || x || Done &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Inertial_Measurement_Units&amp;diff=9263</id>
		<title>Inertial Measurement Units</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Inertial_Measurement_Units&amp;diff=9263"/>
		<updated>2011-04-07T20:06:47Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Paparazzi IMU ==&lt;br /&gt;
&lt;br /&gt;
=== Booz IMU v 1.2 ===&lt;br /&gt;
&lt;br /&gt;
*High quality analog devices sensors&lt;br /&gt;
*16bit ADC capable of 200 000 samples per second&lt;br /&gt;
*Special attention to clean power with onboard linear supplies&lt;br /&gt;
*Efficient high-speed SPI for minimal microcontroller overhead and ultra-low latency (=better controller performance).&lt;br /&gt;
*Fits on Booz, Lisa AND Tiny/TWOG autopilots. &lt;br /&gt;
&lt;br /&gt;
While designed for booz, the first kalman filters were added to the fixedwing code for the Tiny autopilots. &lt;br /&gt;
&lt;br /&gt;
[[Image:IMU001.jpg|240px]]&lt;br /&gt;
&lt;br /&gt;
The hardware description is [[BoozIMU|here]].&lt;br /&gt;
&lt;br /&gt;
Available at [https://mini.ppzuav.com/osc/product_info.php?cPath=15&amp;amp;products_id=122&amp;amp;osCsid=bq9cget2u5c7ksa6kd9ssdf03lisuksq PPZUAV].&lt;br /&gt;
The first IMU have been assembled and are being calibrated. Look for updates soon.&lt;br /&gt;
&lt;br /&gt;
=== YAI v1.0 ===&lt;br /&gt;
&lt;br /&gt;
Why &amp;quot;yet another imu&amp;quot; while there are already so many out there?&lt;br /&gt;
&lt;br /&gt;
[[Image:yai_assemb.jpg|240px]]&lt;br /&gt;
&lt;br /&gt;
*Designed to be completely compatible with original booz IMU and its code&lt;br /&gt;
*Cheaper sensors (lower bias stability)&lt;br /&gt;
*Higher resolution (16bits) and frequency (200ksps) and cleaner onboard power supply, better grounding and shielding than compared with e.g. external sparkfun breakout boards&lt;br /&gt;
*Fast low latency SPI communication (no uart as the tiny/twog miss uarts)&lt;br /&gt;
*The most important part of attitude determination is proper kinematic compensation using for instance GPS, pressure sensors etc etc. When using IMU with external processors there is often less flexibility. Things as timing for instance are as important as the quality of the gyros themselves.&lt;br /&gt;
&lt;br /&gt;
Board, BOM -&amp;gt; [ http://svn.savannah.nongnu.org/viewvc/paparazzi-hardware/trunk/sensors/yai/?root=paparazzi Hardware Repository]&lt;br /&gt;
&lt;br /&gt;
=== Aspirin IMU ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Aspirin_imu_front.jpg|240px]]&lt;br /&gt;
&lt;br /&gt;
[[AspirinIMU|Next generation flat imu.]]&lt;br /&gt;
&lt;br /&gt;
== 3rd Party IMU ==&lt;br /&gt;
&lt;br /&gt;
'''Loose Terminology Note:''' Like the sparkfun website, the following text incorrectly equates the term &amp;quot;degree-of-freedom&amp;quot; with sensor measurement. Unless we're talking about articulated arms (which paparazzi to date isn't involved with), a body can only have 6 physical DOFs and that would correspond to translation and rotations in the x,y,z cartesian directions of 3D space. If the vehicle state vector includes positions and velocities for each degree of freedom, the state vector would have a dimension of 6 x 2 = 12 states. The goal is to reconstruct these vehicle states using sensor measurements, as once the states can be obtained with reasonable certainty, a control algorithm can have a shot at controlling the system. Using various filtering techniques, multiple sensor types can be combined to estimate these states.&lt;br /&gt;
&lt;br /&gt;
IMU's measure rotation rates, acceleration (6DOF) and some also magnetic fields (9DOF). This data is used by an autopilot to estimate the state of the aircraft. They that can be used with a Paparazzi autopilot based UAS. If you happen to have such a device, we really would love to see that you share your IMU paparazzi autopilot integration projects information on this Wiki.&lt;br /&gt;
&lt;br /&gt;
=== PPZUAV IMU 9DOF ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Ppz9dofimu.jpg|thumb|left|PPZ 9DOF IMU]]&lt;br /&gt;
&lt;br /&gt;
I2C out 5v input. Testing now. So far so good. It's open so anyone can have it now. PCBs available for a few dollars. Schematic open, design open but not in Eagle. I can post the gerbers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SparkFun Razor 6DOF IMU ===&lt;br /&gt;
&lt;br /&gt;
[[Image:RazzorIMU.jpg|thumb|left|Razor IMU (top) with the tiny13 autopilot]]&lt;br /&gt;
&lt;br /&gt;
[[Image:RazzorIMUb.jpg|thumb|left|Razor IMU in the tiny13 autopilot box]]&lt;br /&gt;
&lt;br /&gt;
[http://www.sparkfun.com/commerce/product_info.php?products_id=10010  Official website]&lt;br /&gt;
&lt;br /&gt;
6DOF - Ultra-Thin IMU&lt;br /&gt;
&lt;br /&gt;
Very cheap, currently 62-72 Euro.  [http://www.watterott.com/de/Sensoren/IMU Shop in Europe]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Has been integrated in Paparazzi by Hochschule Bremen, Germany.&lt;br /&gt;
&lt;br /&gt;
Remove the high pass filters of the RazorIMU to get better results.&lt;br /&gt;
&lt;br /&gt;
For the Twog and Tiny 2.2 autopilots you have also remove the resistors to GND and the series resistors to the MC of the 5V analog inputs. The code to fly normal plane is currently in the repository.  Christoph is working on improvements look here: http://paparazzi.enac.fr/wiki/User:Christoph   &lt;br /&gt;
&lt;br /&gt;
[[Media:Wiring_Razor_IMU.pdf|Connections and wiring to the tiny13]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cloudcap Crista IMU ===&lt;br /&gt;
[[Image:crista_sensorhead.jpg|thumb|left|Christa IMU]]&lt;br /&gt;
&lt;br /&gt;
[http://www.cloudcaptech.com/crista_sensorhead.shtm Official website]&lt;br /&gt;
&lt;br /&gt;
More infos soon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3rd Party INS ==&lt;br /&gt;
&lt;br /&gt;
INS measure rates with their sensors and run algorithms to estimate the state on their own. They give this information the the autopilot (e.g. Euler angles) that can then use it for navigation.&lt;br /&gt;
&lt;br /&gt;
===[http://diydrones.com/profiles/blogs/arduimu-v2-flat-now-available|DIYDrones ArduIMU+ V2 (Flat)] ===&lt;br /&gt;
[[Image:ArduIMU.jpg|thumb|left|ArduIMU]]&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/ardu-imu/wiki/HomePage?tm=6 Official website]&lt;br /&gt;
3 axis Accelerometer + 3 axis Gyroscope.&lt;br /&gt;
&lt;br /&gt;
Very cheap&lt;br /&gt;
Has been integrated in Paparazzi by ZHAW, Winterthur, Switzerland.&lt;br /&gt;
* A magnetometer has been integrated in the software to compensate drift in yaw.&lt;br /&gt;
* GPS from the Tiny is passed over I2C to the AHRS on the IMU&lt;br /&gt;
More info on integration can be found [[ArduIMU|here]].&lt;br /&gt;
Where can I buy ArduIMU?&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.sparkfun.com/products/9956 Sparkfun]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[http://store.diydrones.com/ProductDetails.asp?ProductCode=KT-ArduIMU-20 DIYDrones Store]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector-Nav VN-100 ===&lt;br /&gt;
[[Image:VN-100.jpg|thumb|left|Vector-Nav VN-100]]&lt;br /&gt;
&lt;br /&gt;
[http://www.vectornav.com/vn-100-features Official website]&lt;br /&gt;
&lt;br /&gt;
There is a [[Modules|module]] for this AHRS (ins_vn100.xml for fixedwings).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MicroStrain 3DM-GX2 === &lt;br /&gt;
[[Image:3DM-GX2.jpg|thumb|left|MicroStrain 3DM-GX2]]&lt;br /&gt;
&lt;br /&gt;
[http://www.microstrain.com/3dm-gx2.aspx Official website]&lt;br /&gt;
&lt;br /&gt;
More info soon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Xsens MTi and MTi-G (with GPS) ===&lt;br /&gt;
[[Image:MTi.jpeg|thumb|left|Xsens MTi]]&lt;br /&gt;
&lt;br /&gt;
[[Image:MTi-G.jpeg|thumb|left|Xsens MTi-G (with GPS)]]&lt;br /&gt;
&lt;br /&gt;
[http://www.xsens.com/en/general/mti Official website MTi]&lt;br /&gt;
&lt;br /&gt;
[http://www.xsens.com/en/general/mti-g Official website MTi-G]&lt;br /&gt;
&lt;br /&gt;
In sensor fusion, calibration and timing are crucial. If you want latency compensated ADXRS gyro integrated attitude done by an efficient and optimized Blackfin DSP you need an XSens. For rotorcraft the 100Hz is a bit slow, but for fixedwing it's perfect. Directly compatible with [[Yapa]] and [[Lisa]] and all needed code in paparazi. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MemSense MAG3 ===&lt;br /&gt;
&lt;br /&gt;
MAG3 - 6 DOF Analog IMU with Triaxial Magnetometer&lt;br /&gt;
&lt;br /&gt;
[http://www.memsense.com/index.php/Product-Pages/mag3-worlds-smallest-analog-inertial-measurement-unit.html Official website mag3]&lt;br /&gt;
&lt;br /&gt;
== The Very Short Essential Introduction To Inertial Attitude Estimation ==&lt;br /&gt;
&lt;br /&gt;
The only physical entity related to attitude (pitch and roll) is the earth gravity vector (unless you use a multi-antenna phase-measuring GPS... $$$$). Unfortunately, the sensors that measure gravity (=accelerometers) also measure so-called kinematic accelerations or in other words: changes in speed: like centrifugal forces, Coriolis forces, linear accelerations etc... The sum of all these litteraly is &amp;quot;what you feel&amp;quot; and is called [http://en.wikipedia.org/wiki/Specific_force &amp;quot;specific force&amp;quot;]. &lt;br /&gt;
&lt;br /&gt;
so &lt;br /&gt;
&lt;br /&gt;
  accelerometer_value (specific force) = earth_gravity + change in velocity (linear accelerations) + velocity times turn rate (centrifugal etc)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
  A = B + C + D  &lt;br /&gt;
&lt;br /&gt;
You measure A and want to know B. What all &amp;quot;gyroscopes and accelerometer only&amp;quot; AHRS projects are doing in some way or another is to neglect the last 2 (C and D). In many situations this is not bad: for instance: when testing the AHRS attached to your computer: it can not accelerate for a very long time (at most a few meters: so if you accerate to the left, then you need to accelerate to the right directly after so the average is zero) and can not rotate to much either (or your cable gets strangled). This is why all AHRS videos on youtube look perfect. And on the desk they are perfect: you neglected 2 terms in the equation that in that situation are perfectly neglect-able. Also with a quadrotor that hovers and keeps its nose in the same direction all the time, these neglected terms are small.&lt;br /&gt;
&lt;br /&gt;
Now what about the gyroscopes you might ask. I deliberately keep them only second as gyroscopes (turn rate or rotation speed sensors) do NOT give you attitude but ONLY HELP TO SOLVE SHORT TERM errors in the previous part. If gyroscopes would measure turn-rate perfectly, then they would help more but all MEMS/PIEZZO sensors are more or less sensitive to 1) temperature, 2) turnrate, 3) vibrations, 4) accelerations, 5) radiation, 6) power supply quality 7) non-linearity 8) ADC-quality 9) dynamic range and saturation problems, ... so if you integrate gyroscopes, sooner or later errors build up (drift). I put this list here so you know what to pay attention for: if using gyroscopes: always try to keep the temperature as constant as possible or let the temperature settle, reduce vibrations (dampers), use better ADC (e.g. 10bit ADC with +/- 1200 deg/sec gyros have a resolution of 2.4 degrees/s per ADC tick, so your phi/theta might drift 1.2deg/sec without noticing) and power supply filtering and shielding etc to start with. All of these define for how long (seconds!/minutes?) gyroscope integration is useful.&lt;br /&gt;
&lt;br /&gt;
If you convert the accelerometer directly to attitude and plot it, it will vibrate a lot and will show errors when you accelerate the AHRS on your desk. During a coordinated turn of a fixedwing plane, the force you feel is perpendicular to the plane (not pointing to earth). The accelerometer only clearly is insufficient to know your attitude. One solution is to use gyroscopes that are so good that you can predict for many minutes (then the average acceleration during several turns would still point to earth). But if your gyros can only help for shorter terms (like all MEMS sensors of less than 500euro/each) then extra information is required. E.g: if you add GPS data or airspeed data however, from the flightpath you can quite accurately reconstruct the missing C and D terms. Together with the accelerometer you can know &amp;quot;where the earth is&amp;quot; even when you keep accelerating and turning. Here questions like latency, update rate, noisy derivatives (linear acceleration) are of importance. &lt;br /&gt;
&lt;br /&gt;
Finally there is the heading... GPS ground-track is not the same as nose direction. Gyroscopes measure how much the nose has been turning, so using GPS to correct it induces errors that increase with corsswind. Magnetometers can help here, and become necessary whenever you do not move enough anymore (hovering). This situation can also occur in plane flying in very strong winds.&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9256</id>
		<title>Paul Cox Notes</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9256"/>
		<updated>2011-04-06T09:05:03Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* openrobots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LISTS =&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Paul's Links&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! 2 !! 3 !! 4 !! 5&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[[Community_Flight_Log_Archive]]&lt;br /&gt;
||&lt;br /&gt;
[[Paul_Cox_Activity_Log]]&lt;br /&gt;
||&lt;br /&gt;
[[User:PaulCox]]&lt;br /&gt;
||&lt;br /&gt;
[[Lisa_Logitech_Camera]]&lt;br /&gt;
||&lt;br /&gt;
[[Rt3070usb]]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
[[http://paparazzi.enac.fr/wiki/Qwip]]&lt;br /&gt;
||&lt;br /&gt;
[[ArduIMU]]&lt;br /&gt;
||&lt;br /&gt;
[[Laserhawk]]&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || build virtual world scan in hoku2gdhe || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Install MTi-G driver on laptop || MTIHardTest -v &amp;lt;params&amp;gt; &amp;gt;&amp;gt; out.txt stores to disk || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Get test scans from rooftop || one night scan acquired. need day scans and higher scans (and faster) || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Design MIPI/I2C camera board || sketches ready, Pierre doing orcad and ordering || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Design/Build hokuyo/MTIG box/mounting cage || Build at Bertrand's place or ENAC || x || Not started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Get openembedded running on laptop || laptop too slow || x || Waiting for new PC &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==PERSO TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ PERSONAL TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || Get minimag flying || tuneup done, need some glue then ready for maiden || [[User:Paulcox|Paulcox]] 10:33, 17 February 2011 (CET) || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Slowstick flying || First arduimu flights done, issues due to auto2 probably due to flight plan altitues, need to study logs || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Flash ardupimu and get ap compiling || methodology posted on [[ArduIMU]] page || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Test xbeepro868 performance || XCTU loopback at 9600 shows 80-90%, with basic telemetry was seeing huge (10-15 sec) delay (was looking at attitude messages), short flights at 57600 ok so far|| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Test loss of IR contrast || works in simulation, need to test in real || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Adjust Beth opamp gains || for increased precision || x || Do it slacker &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || Try Web-based GCS || qwip checked in, need to try pow ||| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Improve altitude control loop || issue with hard boundary between PI and constant regions || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || Some camera stabilization || Read gimbal servo positions via pot tap to ADC || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 10 || Try then document item drop capability || one of the checked in enac flight plans does this || x || not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 11 || Paparazzi Documentation || Started outlining [http://paparazzi.enac.fr/wiki/Documentation_Needed here] || x || Stalled &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 12 || try pan/tilt code || x || x || no started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 13 || get log archive ready || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 14 || redo joystick control setup || look at chris' stuff he send || x || Not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 15 || potentially merge tiny/overo i2c com code from tobias || x || x || In progress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BUY BUY BUY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ WISH LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Price !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || RC Transmitter (PPM and 2.4GHz) || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Overo Camera || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Lisa board || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || I2C motor controllers  || need 4 to finish quad || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || New laptop || x || x || Keep dreaming &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || XBeePro868 || Need a third one to test point to multi-point || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || RazorIMU || For testing || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Minimag || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IDEAS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ IDEA LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Random Notes=&lt;br /&gt;
&lt;br /&gt;
== ubuntu packages ==&lt;br /&gt;
&lt;br /&gt;
===Utilities===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install medit gtkterm git-core ssh apt-file vim&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===paparazzi===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paparazzi-dev paparazzi-stm32 paparazzi-arm7 paparazzi-omap  libmpfr1ldbl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===perl modules===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libstatistics-descriptive-perl libgd-gd2-perl libgeo-coordinates-utm-perl \&lt;br /&gt;
  libhtml-template-perl libxml-twig-perl libdigest-hmac-perl libdigest-sha1-perl libdigest-md5-file-perl&lt;br /&gt;
  wget http://search.cpan.org/CPAN/authors/id/M/MA/MAHEX/Image-Grab-1.4.2.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CGI webserver===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install boa &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===openrobots===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libbz2-dev pax cmake automake autoconf doxygen libgl1-mesa-dev \&lt;br /&gt;
  libglu1-mesa-dev tcl-dev tk-dev libjpeg-dev libxpm-dev swig libxmu-dev libxt-dev libxt6 libxt-dev \&lt;br /&gt;
  tcl-dev tk-dev libbz2-dev freeglut3-dev qtcreator libtiff-dev libraw1394-dev libeigen2-dev libdc1394-22-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *.laas.fr&lt;br /&gt;
User pdcox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a joystick to control twog servo==&lt;br /&gt;
===PC-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the PC side we will send actuator commands two different ways: &lt;br /&gt;
&lt;br /&gt;
: 1. Running an ocaml application that listens to the joystick device and using a configuration file, will send ivy messages that get forwarded to the vehicle by the server.&lt;br /&gt;
: 2. Normal paparazzi settings mechanism (using settings dialog from paparazzi center running on PC) that sets corresponding variables on the vehicle.&lt;br /&gt;
&lt;br /&gt;
Running the joystick test program you can see which buttons do what:&lt;br /&gt;
(Note you have to run a make in the directory first to compile everything)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/paparazzi3/trunk/sw/ground_segment/joystick$ ./test_stick &lt;br /&gt;
Available button: 288 (0x120)&lt;br /&gt;
Available button: 289 (0x121)&lt;br /&gt;
Available button: 290 (0x122)&lt;br /&gt;
Available button: 291 (0x123)&lt;br /&gt;
Available button: 292 (0x124)&lt;br /&gt;
Available button: 293 (0x125)&lt;br /&gt;
Available button: 294 (0x126)&lt;br /&gt;
Available button: 295 (0x127)&lt;br /&gt;
Available button: 296 (0x128)&lt;br /&gt;
Available button: 297 (0x129)&lt;br /&gt;
Available button: 298 (0x12a)&lt;br /&gt;
Available button: 299 (0x12b)&lt;br /&gt;
Available axis: 0 (0x0)&lt;br /&gt;
Available axis: 1 (0x1)&lt;br /&gt;
Available axis: 2 (0x2)&lt;br /&gt;
Available axis: 5 (0x5)&lt;br /&gt;
Available axis: 16 (0x10)&lt;br /&gt;
Available axis: 17 (0x11)&lt;br /&gt;
Available axis: 40 (0x28)&lt;br /&gt;
Axis 0 : parameters = [0,255]&lt;br /&gt;
Axis 1 : parameters = [0,255]&lt;br /&gt;
Axis 2 : parameters = [0,255]&lt;br /&gt;
Axis 3 : parameters = [0,255]&lt;br /&gt;
Axis 4 : parameters = [-1,1]&lt;br /&gt;
Axis 5 : parameters = [-1,1]&lt;br /&gt;
Axis 6 : parameters = [0,255]&lt;br /&gt;
Input device name: &amp;quot;GreenAsia Inc.    USB Joystick     &amp;quot; on device &amp;quot;/dev/input/event6&amp;quot;&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 87 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 20 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 69 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 111 48 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 127 -64 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 32 -127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 -39 -69 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -117 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 40 -35 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 49 127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -53 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 8 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 84 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 -66 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | axis 47 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 59 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -105 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -78 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -99 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then creating an xml configuration file such as:&lt;br /&gt;
&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ medit ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
and now running the input2ivy ocaml application:&lt;br /&gt;
&lt;br /&gt;
 export PAPARAZZI_HOME=/home/paul/paparazzi3/trunk&lt;br /&gt;
 paparazzi3/trunk/sz/ground_segment/joystick/input2ivy -ac TJOVERO ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
running ivyprobe we can see the message getting transmitted:&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ ivyprobe '(.*)'&lt;br /&gt;
shows: &lt;br /&gt;
 Paparazzi joystick sent  'input2ivy SET_ACTUATOR 1496 2 3'&lt;br /&gt;
&lt;br /&gt;
but we have to make sure the server knows this message needs to be forwarded: in messages.xml the message should be labeled as &amp;quot;forwarded&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;SET_ACTUATOR&amp;quot; id=&amp;quot;100&amp;quot; link=&amp;quot;forwarded&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;value&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;no&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;ac_id&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To send settings use the actuators.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
    &amp;lt;dl_settings NAME=&amp;quot;Actuators&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[1]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[2]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[3]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[4]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[5]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[6]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan6&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[7]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/dl_settings&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Vehicle-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the vehicle side we are using a twog for hardware so we will use the setup_actuators target found in  /conf/autopilot/setup.makefile.&lt;br /&gt;
This makefile is used by the tiny.makefile which is used because we specify we're using the twog in twinjet_overo.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;ap&amp;quot; 			board=&amp;quot;twog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setup target is defined as follows in the airframe (twinjet_overo.xml):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; 		board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;setup_actuators&amp;quot; 	board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we were adding the joystick to the autopilot code we could instead add the following line to the firmware section:&lt;br /&gt;
: &amp;lt;subsystem name=&amp;quot;joystick&amp;quot;/&amp;gt;&lt;br /&gt;
but that's another project...&lt;br /&gt;
&lt;br /&gt;
Here's the setup.makefile section that worked for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setup_actuators.CFLAGS += -DFBW -DLED -DTIME_LED=1 -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&lt;br /&gt;
setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1 &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1&lt;br /&gt;
setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c pprz_transport.c downlink.c actuators.c setup_actuators.c $(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4017_hw.c main.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Payload_hw_block_diagram.png&amp;diff=9255</id>
		<title>File:Payload hw block diagram.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Payload_hw_block_diagram.png&amp;diff=9255"/>
		<updated>2011-04-05T08:38:46Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9254</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9254"/>
		<updated>2011-04-05T08:38:30Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans its trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : 1-2 km&lt;br /&gt;
: Size of zone of interest : 500 x 500 m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Mentor1 build todo====&lt;br /&gt;
#get new 60+ A ESC&lt;br /&gt;
#make live sensor interface PC app to monitor on ground during acquisition&lt;br /&gt;
#make hokuyo power switchable via GPIO (from tiny)&lt;br /&gt;
#see if current probe limited to 25A&lt;br /&gt;
&lt;br /&gt;
====Have Bertand Do====&lt;br /&gt;
#rebuild omap MTI ipk for GPS support&lt;br /&gt;
#check in paparazzi mods&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : 115.2kbps Xbee Pro link (data reliability testing needed)&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe : Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:payload_hw_block_diagram.png|thumb|hw block diagram]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Who cares?  laptops, modems, and antennae should suffice&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (switch to ibara's rt-based lisa branch?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || Lidar performance || at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) || x ||  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build metal/foam box for protection || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9253</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9253"/>
		<updated>2011-04-05T07:42:09Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Mentor1 build todo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans its trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : 1-2 km&lt;br /&gt;
: Size of zone of interest : 500 x 500 m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Mentor1 build todo====&lt;br /&gt;
#get new 60+ A ESC&lt;br /&gt;
#make live sensor interface PC app to monitor on ground during acquisition&lt;br /&gt;
#make hokuyo power switchable via GPIO (from tiny)&lt;br /&gt;
#see if current probe limited to 25A&lt;br /&gt;
&lt;br /&gt;
====Have Bertand Do====&lt;br /&gt;
#rebuild omap MTI ipk for GPS support&lt;br /&gt;
#check in paparazzi mods&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : 115.2kbps Xbee Pro link (data reliability testing needed)&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe : Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Who cares?  laptops, modems, and antennae should suffice&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (switch to ibara's rt-based lisa branch?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || Lidar performance || at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) || x ||  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build metal/foam box for protection || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9252</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9252"/>
		<updated>2011-04-05T07:41:09Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Elrob competition details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans its trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : 1-2 km&lt;br /&gt;
: Size of zone of interest : 500 x 500 m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Mentor1 build todo====&lt;br /&gt;
#reinforce wings&lt;br /&gt;
#get new 60+ A ESC&lt;br /&gt;
#make live sensor interface PC app to monitor on ground during acquisition&lt;br /&gt;
#make hokuyo power switchable via GPIO (from tiny)&lt;br /&gt;
#see if current probe limited to 25A&lt;br /&gt;
#Attach GPS antenna&lt;br /&gt;
&lt;br /&gt;
====Have Bertand Do====&lt;br /&gt;
#rebuild omap MTI ipk for GPS support&lt;br /&gt;
#check in paparazzi mods&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : 115.2kbps Xbee Pro link (data reliability testing needed)&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe : Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Who cares?  laptops, modems, and antennae should suffice&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (switch to ibara's rt-based lisa branch?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || Lidar performance || at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) || x ||  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build metal/foam box for protection || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9251</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9251"/>
		<updated>2011-04-05T07:40:30Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* High-level Goals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans its trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : ?-? km&lt;br /&gt;
: Size of zone of interest : ? x ? m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Mentor1 build todo====&lt;br /&gt;
#reinforce wings&lt;br /&gt;
#get new 60+ A ESC&lt;br /&gt;
#make live sensor interface PC app to monitor on ground during acquisition&lt;br /&gt;
#make hokuyo power switchable via GPIO (from tiny)&lt;br /&gt;
#see if current probe limited to 25A&lt;br /&gt;
#Attach GPS antenna&lt;br /&gt;
&lt;br /&gt;
====Have Bertand Do====&lt;br /&gt;
#rebuild omap MTI ipk for GPS support&lt;br /&gt;
#check in paparazzi mods&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : 115.2kbps Xbee Pro link (data reliability testing needed)&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe : Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Who cares?  laptops, modems, and antennae should suffice&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (switch to ibara's rt-based lisa branch?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || Lidar performance || at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) || x ||  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build metal/foam box for protection || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9242</id>
		<title>Paul Cox Notes</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9242"/>
		<updated>2011-03-30T19:37:14Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* paparazzi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LISTS =&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Paul's Links&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! 2 !! 3 !! 4 !! 5&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[[Community_Flight_Log_Archive]]&lt;br /&gt;
||&lt;br /&gt;
[[Paul_Cox_Activity_Log]]&lt;br /&gt;
||&lt;br /&gt;
[[User:PaulCox]]&lt;br /&gt;
||&lt;br /&gt;
[[Lisa_Logitech_Camera]]&lt;br /&gt;
||&lt;br /&gt;
[[Rt3070usb]]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
[[http://paparazzi.enac.fr/wiki/Qwip]]&lt;br /&gt;
||&lt;br /&gt;
[[ArduIMU]]&lt;br /&gt;
||&lt;br /&gt;
[[Laserhawk]]&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || build virtual world scan in hoku2gdhe || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Install MTi-G driver on laptop || MTIHardTest -v &amp;lt;params&amp;gt; &amp;gt;&amp;gt; out.txt stores to disk || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Get test scans from rooftop || one night scan acquired. need day scans and higher scans (and faster) || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Design MIPI/I2C camera board || sketches ready, Pierre doing orcad and ordering || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Design/Build hokuyo/MTIG box/mounting cage || Build at Bertrand's place or ENAC || x || Not started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Get openembedded running on laptop || laptop too slow || x || Waiting for new PC &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==PERSO TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ PERSONAL TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || Get minimag flying || tuneup done, need some glue then ready for maiden || [[User:Paulcox|Paulcox]] 10:33, 17 February 2011 (CET) || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Slowstick flying || First arduimu flights done, issues due to auto2 probably due to flight plan altitues, need to study logs || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Flash ardupimu and get ap compiling || methodology posted on [[ArduIMU]] page || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Test xbeepro868 performance || XCTU loopback at 9600 shows 80-90%, with basic telemetry was seeing huge (10-15 sec) delay (was looking at attitude messages), short flights at 57600 ok so far|| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Test loss of IR contrast || works in simulation, need to test in real || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Adjust Beth opamp gains || for increased precision || x || Do it slacker &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || Try Web-based GCS || qwip checked in, need to try pow ||| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Improve altitude control loop || issue with hard boundary between PI and constant regions || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || Some camera stabilization || Read gimbal servo positions via pot tap to ADC || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 10 || Try then document item drop capability || one of the checked in enac flight plans does this || x || not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 11 || Paparazzi Documentation || Started outlining [http://paparazzi.enac.fr/wiki/Documentation_Needed here] || x || Stalled &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 12 || try pan/tilt code || x || x || no started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 13 || get log archive ready || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 14 || redo joystick control setup || look at chris' stuff he send || x || Not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 15 || potentially merge tiny/overo i2c com code from tobias || x || x || In progress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BUY BUY BUY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ WISH LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Price !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || RC Transmitter (PPM and 2.4GHz) || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Overo Camera || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Lisa board || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || I2C motor controllers  || need 4 to finish quad || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || New laptop || x || x || Keep dreaming &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || XBeePro868 || Need a third one to test point to multi-point || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || RazorIMU || For testing || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Minimag || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IDEAS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ IDEA LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Random Notes=&lt;br /&gt;
&lt;br /&gt;
== ubuntu packages ==&lt;br /&gt;
&lt;br /&gt;
===Utilities===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install medit gtkterm git-core ssh apt-file vim&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===paparazzi===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paparazzi-dev paparazzi-stm32 paparazzi-arm7 paparazzi-omap  libmpfr1ldbl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===perl modules===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libstatistics-descriptive-perl libgd-gd2-perl libgeo-coordinates-utm-perl \&lt;br /&gt;
  libhtml-template-perl libxml-twig-perl libdigest-hmac-perl libdigest-sha1-perl libdigest-md5-file-perl&lt;br /&gt;
  wget http://search.cpan.org/CPAN/authors/id/M/MA/MAHEX/Image-Grab-1.4.2.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CGI webserver===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install boa &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===openrobots===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libbz2-dev pax cmake automake autoconf doxygen libgl1-mesa-dev \&lt;br /&gt;
  libglu1-mesa-dev tcl-dev tk-dev libjpeg-dev libxpm-dev swig libxmu-dev libxt-dev libxt6 libxt-dev \&lt;br /&gt;
  tcl-dev tk-dev libbz2-dev freeglut3-dev qtcreator &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *.laas.fr&lt;br /&gt;
User pdcox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a joystick to control twog servo==&lt;br /&gt;
===PC-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the PC side we will send actuator commands two different ways: &lt;br /&gt;
&lt;br /&gt;
: 1. Running an ocaml application that listens to the joystick device and using a configuration file, will send ivy messages that get forwarded to the vehicle by the server.&lt;br /&gt;
: 2. Normal paparazzi settings mechanism (using settings dialog from paparazzi center running on PC) that sets corresponding variables on the vehicle.&lt;br /&gt;
&lt;br /&gt;
Running the joystick test program you can see which buttons do what:&lt;br /&gt;
(Note you have to run a make in the directory first to compile everything)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/paparazzi3/trunk/sw/ground_segment/joystick$ ./test_stick &lt;br /&gt;
Available button: 288 (0x120)&lt;br /&gt;
Available button: 289 (0x121)&lt;br /&gt;
Available button: 290 (0x122)&lt;br /&gt;
Available button: 291 (0x123)&lt;br /&gt;
Available button: 292 (0x124)&lt;br /&gt;
Available button: 293 (0x125)&lt;br /&gt;
Available button: 294 (0x126)&lt;br /&gt;
Available button: 295 (0x127)&lt;br /&gt;
Available button: 296 (0x128)&lt;br /&gt;
Available button: 297 (0x129)&lt;br /&gt;
Available button: 298 (0x12a)&lt;br /&gt;
Available button: 299 (0x12b)&lt;br /&gt;
Available axis: 0 (0x0)&lt;br /&gt;
Available axis: 1 (0x1)&lt;br /&gt;
Available axis: 2 (0x2)&lt;br /&gt;
Available axis: 5 (0x5)&lt;br /&gt;
Available axis: 16 (0x10)&lt;br /&gt;
Available axis: 17 (0x11)&lt;br /&gt;
Available axis: 40 (0x28)&lt;br /&gt;
Axis 0 : parameters = [0,255]&lt;br /&gt;
Axis 1 : parameters = [0,255]&lt;br /&gt;
Axis 2 : parameters = [0,255]&lt;br /&gt;
Axis 3 : parameters = [0,255]&lt;br /&gt;
Axis 4 : parameters = [-1,1]&lt;br /&gt;
Axis 5 : parameters = [-1,1]&lt;br /&gt;
Axis 6 : parameters = [0,255]&lt;br /&gt;
Input device name: &amp;quot;GreenAsia Inc.    USB Joystick     &amp;quot; on device &amp;quot;/dev/input/event6&amp;quot;&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 87 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 20 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 69 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 111 48 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 127 -64 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 32 -127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 -39 -69 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -117 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 40 -35 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 49 127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -53 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 8 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 84 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 -66 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | axis 47 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 59 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -105 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -78 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -99 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then creating an xml configuration file such as:&lt;br /&gt;
&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ medit ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
and now running the input2ivy ocaml application:&lt;br /&gt;
&lt;br /&gt;
 export PAPARAZZI_HOME=/home/paul/paparazzi3/trunk&lt;br /&gt;
 paparazzi3/trunk/sz/ground_segment/joystick/input2ivy -ac TJOVERO ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
running ivyprobe we can see the message getting transmitted:&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ ivyprobe '(.*)'&lt;br /&gt;
shows: &lt;br /&gt;
 Paparazzi joystick sent  'input2ivy SET_ACTUATOR 1496 2 3'&lt;br /&gt;
&lt;br /&gt;
but we have to make sure the server knows this message needs to be forwarded: in messages.xml the message should be labeled as &amp;quot;forwarded&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;SET_ACTUATOR&amp;quot; id=&amp;quot;100&amp;quot; link=&amp;quot;forwarded&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;value&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;no&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;ac_id&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To send settings use the actuators.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
    &amp;lt;dl_settings NAME=&amp;quot;Actuators&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[1]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[2]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[3]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[4]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[5]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[6]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan6&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[7]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/dl_settings&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Vehicle-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the vehicle side we are using a twog for hardware so we will use the setup_actuators target found in  /conf/autopilot/setup.makefile.&lt;br /&gt;
This makefile is used by the tiny.makefile which is used because we specify we're using the twog in twinjet_overo.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;ap&amp;quot; 			board=&amp;quot;twog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setup target is defined as follows in the airframe (twinjet_overo.xml):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; 		board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;setup_actuators&amp;quot; 	board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we were adding the joystick to the autopilot code we could instead add the following line to the firmware section:&lt;br /&gt;
: &amp;lt;subsystem name=&amp;quot;joystick&amp;quot;/&amp;gt;&lt;br /&gt;
but that's another project...&lt;br /&gt;
&lt;br /&gt;
Here's the setup.makefile section that worked for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setup_actuators.CFLAGS += -DFBW -DLED -DTIME_LED=1 -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&lt;br /&gt;
setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1 &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1&lt;br /&gt;
setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c pprz_transport.c downlink.c actuators.c setup_actuators.c $(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4017_hw.c main.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9241</id>
		<title>Paul Cox Notes</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9241"/>
		<updated>2011-03-30T19:36:40Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Utilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LISTS =&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Paul's Links&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! 2 !! 3 !! 4 !! 5&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[[Community_Flight_Log_Archive]]&lt;br /&gt;
||&lt;br /&gt;
[[Paul_Cox_Activity_Log]]&lt;br /&gt;
||&lt;br /&gt;
[[User:PaulCox]]&lt;br /&gt;
||&lt;br /&gt;
[[Lisa_Logitech_Camera]]&lt;br /&gt;
||&lt;br /&gt;
[[Rt3070usb]]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
[[http://paparazzi.enac.fr/wiki/Qwip]]&lt;br /&gt;
||&lt;br /&gt;
[[ArduIMU]]&lt;br /&gt;
||&lt;br /&gt;
[[Laserhawk]]&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || build virtual world scan in hoku2gdhe || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Install MTi-G driver on laptop || MTIHardTest -v &amp;lt;params&amp;gt; &amp;gt;&amp;gt; out.txt stores to disk || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Get test scans from rooftop || one night scan acquired. need day scans and higher scans (and faster) || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Design MIPI/I2C camera board || sketches ready, Pierre doing orcad and ordering || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Design/Build hokuyo/MTIG box/mounting cage || Build at Bertrand's place or ENAC || x || Not started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Get openembedded running on laptop || laptop too slow || x || Waiting for new PC &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==PERSO TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ PERSONAL TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || Get minimag flying || tuneup done, need some glue then ready for maiden || [[User:Paulcox|Paulcox]] 10:33, 17 February 2011 (CET) || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Slowstick flying || First arduimu flights done, issues due to auto2 probably due to flight plan altitues, need to study logs || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Flash ardupimu and get ap compiling || methodology posted on [[ArduIMU]] page || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Test xbeepro868 performance || XCTU loopback at 9600 shows 80-90%, with basic telemetry was seeing huge (10-15 sec) delay (was looking at attitude messages), short flights at 57600 ok so far|| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Test loss of IR contrast || works in simulation, need to test in real || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Adjust Beth opamp gains || for increased precision || x || Do it slacker &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || Try Web-based GCS || qwip checked in, need to try pow ||| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Improve altitude control loop || issue with hard boundary between PI and constant regions || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || Some camera stabilization || Read gimbal servo positions via pot tap to ADC || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 10 || Try then document item drop capability || one of the checked in enac flight plans does this || x || not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 11 || Paparazzi Documentation || Started outlining [http://paparazzi.enac.fr/wiki/Documentation_Needed here] || x || Stalled &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 12 || try pan/tilt code || x || x || no started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 13 || get log archive ready || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 14 || redo joystick control setup || look at chris' stuff he send || x || Not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 15 || potentially merge tiny/overo i2c com code from tobias || x || x || In progress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BUY BUY BUY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ WISH LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Price !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || RC Transmitter (PPM and 2.4GHz) || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Overo Camera || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Lisa board || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || I2C motor controllers  || need 4 to finish quad || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || New laptop || x || x || Keep dreaming &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || XBeePro868 || Need a third one to test point to multi-point || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || RazorIMU || For testing || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Minimag || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IDEAS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ IDEA LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Random Notes=&lt;br /&gt;
&lt;br /&gt;
== ubuntu packages ==&lt;br /&gt;
&lt;br /&gt;
===Utilities===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install medit gtkterm git-core ssh apt-file vim&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===paparazzi===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paparazzi-dev paparazzi-stm32 paparazzi-arm7 paparazzi-omap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===perl modules===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libstatistics-descriptive-perl libgd-gd2-perl libgeo-coordinates-utm-perl \&lt;br /&gt;
  libhtml-template-perl libxml-twig-perl libdigest-hmac-perl libdigest-sha1-perl libdigest-md5-file-perl&lt;br /&gt;
  wget http://search.cpan.org/CPAN/authors/id/M/MA/MAHEX/Image-Grab-1.4.2.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CGI webserver===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install boa &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===openrobots===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libbz2-dev pax cmake automake autoconf doxygen libgl1-mesa-dev \&lt;br /&gt;
  libglu1-mesa-dev tcl-dev tk-dev libjpeg-dev libxpm-dev swig libxmu-dev libxt-dev libxt6 libxt-dev \&lt;br /&gt;
  tcl-dev tk-dev libbz2-dev freeglut3-dev qtcreator &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *.laas.fr&lt;br /&gt;
User pdcox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a joystick to control twog servo==&lt;br /&gt;
===PC-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the PC side we will send actuator commands two different ways: &lt;br /&gt;
&lt;br /&gt;
: 1. Running an ocaml application that listens to the joystick device and using a configuration file, will send ivy messages that get forwarded to the vehicle by the server.&lt;br /&gt;
: 2. Normal paparazzi settings mechanism (using settings dialog from paparazzi center running on PC) that sets corresponding variables on the vehicle.&lt;br /&gt;
&lt;br /&gt;
Running the joystick test program you can see which buttons do what:&lt;br /&gt;
(Note you have to run a make in the directory first to compile everything)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/paparazzi3/trunk/sw/ground_segment/joystick$ ./test_stick &lt;br /&gt;
Available button: 288 (0x120)&lt;br /&gt;
Available button: 289 (0x121)&lt;br /&gt;
Available button: 290 (0x122)&lt;br /&gt;
Available button: 291 (0x123)&lt;br /&gt;
Available button: 292 (0x124)&lt;br /&gt;
Available button: 293 (0x125)&lt;br /&gt;
Available button: 294 (0x126)&lt;br /&gt;
Available button: 295 (0x127)&lt;br /&gt;
Available button: 296 (0x128)&lt;br /&gt;
Available button: 297 (0x129)&lt;br /&gt;
Available button: 298 (0x12a)&lt;br /&gt;
Available button: 299 (0x12b)&lt;br /&gt;
Available axis: 0 (0x0)&lt;br /&gt;
Available axis: 1 (0x1)&lt;br /&gt;
Available axis: 2 (0x2)&lt;br /&gt;
Available axis: 5 (0x5)&lt;br /&gt;
Available axis: 16 (0x10)&lt;br /&gt;
Available axis: 17 (0x11)&lt;br /&gt;
Available axis: 40 (0x28)&lt;br /&gt;
Axis 0 : parameters = [0,255]&lt;br /&gt;
Axis 1 : parameters = [0,255]&lt;br /&gt;
Axis 2 : parameters = [0,255]&lt;br /&gt;
Axis 3 : parameters = [0,255]&lt;br /&gt;
Axis 4 : parameters = [-1,1]&lt;br /&gt;
Axis 5 : parameters = [-1,1]&lt;br /&gt;
Axis 6 : parameters = [0,255]&lt;br /&gt;
Input device name: &amp;quot;GreenAsia Inc.    USB Joystick     &amp;quot; on device &amp;quot;/dev/input/event6&amp;quot;&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 87 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 20 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 69 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 111 48 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 127 -64 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 32 -127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 -39 -69 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -117 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 40 -35 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 49 127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -53 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 8 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 84 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 -66 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | axis 47 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 59 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -105 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -78 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -99 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then creating an xml configuration file such as:&lt;br /&gt;
&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ medit ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
and now running the input2ivy ocaml application:&lt;br /&gt;
&lt;br /&gt;
 export PAPARAZZI_HOME=/home/paul/paparazzi3/trunk&lt;br /&gt;
 paparazzi3/trunk/sz/ground_segment/joystick/input2ivy -ac TJOVERO ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
running ivyprobe we can see the message getting transmitted:&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ ivyprobe '(.*)'&lt;br /&gt;
shows: &lt;br /&gt;
 Paparazzi joystick sent  'input2ivy SET_ACTUATOR 1496 2 3'&lt;br /&gt;
&lt;br /&gt;
but we have to make sure the server knows this message needs to be forwarded: in messages.xml the message should be labeled as &amp;quot;forwarded&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;SET_ACTUATOR&amp;quot; id=&amp;quot;100&amp;quot; link=&amp;quot;forwarded&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;value&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;no&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;ac_id&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To send settings use the actuators.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
    &amp;lt;dl_settings NAME=&amp;quot;Actuators&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[1]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[2]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[3]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[4]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[5]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[6]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan6&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[7]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/dl_settings&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Vehicle-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the vehicle side we are using a twog for hardware so we will use the setup_actuators target found in  /conf/autopilot/setup.makefile.&lt;br /&gt;
This makefile is used by the tiny.makefile which is used because we specify we're using the twog in twinjet_overo.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;ap&amp;quot; 			board=&amp;quot;twog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setup target is defined as follows in the airframe (twinjet_overo.xml):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; 		board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;setup_actuators&amp;quot; 	board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we were adding the joystick to the autopilot code we could instead add the following line to the firmware section:&lt;br /&gt;
: &amp;lt;subsystem name=&amp;quot;joystick&amp;quot;/&amp;gt;&lt;br /&gt;
but that's another project...&lt;br /&gt;
&lt;br /&gt;
Here's the setup.makefile section that worked for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setup_actuators.CFLAGS += -DFBW -DLED -DTIME_LED=1 -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&lt;br /&gt;
setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1 &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1&lt;br /&gt;
setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c pprz_transport.c downlink.c actuators.c setup_actuators.c $(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4017_hw.c main.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9239</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9239"/>
		<updated>2011-03-30T12:39:43Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Mentor1 build todo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans it's trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : ?-? km&lt;br /&gt;
: Size of zone of interest : ? x ? m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Mentor1 build todo====&lt;br /&gt;
#reinforce wings&lt;br /&gt;
#get new 60+ A ESC&lt;br /&gt;
#make live sensor interface PC app to monitor on ground during acquisition&lt;br /&gt;
#make hokuyo power switchable via GPIO (from tiny)&lt;br /&gt;
#see if current probe limited to 25A&lt;br /&gt;
#Attach GPS antenna&lt;br /&gt;
&lt;br /&gt;
====Have Bertand Do====&lt;br /&gt;
#rebuild omap MTI ipk for GPS support&lt;br /&gt;
#check in paparazzi mods&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : 115.2kbps Xbee Pro link (data reliability testing needed)&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe : Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Who cares?  laptops, modems, and antennae should suffice&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (switch to ibara's rt-based lisa branch?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || Lidar performance || at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) || x ||  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build metal/foam box for protection || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9238</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9238"/>
		<updated>2011-03-30T12:00:15Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans it's trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : ?-? km&lt;br /&gt;
: Size of zone of interest : ? x ? m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Mentor1 build todo====&lt;br /&gt;
#reinforce wings&lt;br /&gt;
#get new 60+ A ESC&lt;br /&gt;
#make live sensor interface PC app to monitor on ground during acquisition&lt;br /&gt;
#make hokuyo power switchable via GPIO (from tiny)&lt;br /&gt;
#see if current probe limited to 25A&lt;br /&gt;
#Attach GPS antenna&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : 115.2kbps Xbee Pro link (data reliability testing needed)&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe : Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Who cares?  laptops, modems, and antennae should suffice&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (switch to ibara's rt-based lisa branch?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || Lidar performance || at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) || x ||  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build metal/foam box for protection || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9229</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9229"/>
		<updated>2011-03-29T15:39:09Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Current Tasks and Priorities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans it's trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : ?-? km&lt;br /&gt;
: Size of zone of interest : ? x ? m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Mentor1 build todo====&lt;br /&gt;
#reinforce wings&lt;br /&gt;
#get new 60+ A ESC&lt;br /&gt;
#make live sensor interface PC app to monitor on ground during acquisition&lt;br /&gt;
#make hokuyo power switchable via GPIO (from tiny)&lt;br /&gt;
#see if current probe limited to 25A&lt;br /&gt;
#Attach GPS antenna&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : TBD&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe : Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Who cares?  laptops, modems, and antennae should suffice&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (switch to ibara's rt-based lisa branch?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || Lidar performance || at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) || x ||  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build metal/foam box for protection || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9225</id>
		<title>Paul Cox Notes</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9225"/>
		<updated>2011-03-29T15:17:38Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* ubuntu packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LISTS =&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Paul's Links&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! 2 !! 3 !! 4 !! 5&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[[Community_Flight_Log_Archive]]&lt;br /&gt;
||&lt;br /&gt;
[[Paul_Cox_Activity_Log]]&lt;br /&gt;
||&lt;br /&gt;
[[User:PaulCox]]&lt;br /&gt;
||&lt;br /&gt;
[[Lisa_Logitech_Camera]]&lt;br /&gt;
||&lt;br /&gt;
[[Rt3070usb]]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
[[http://paparazzi.enac.fr/wiki/Qwip]]&lt;br /&gt;
||&lt;br /&gt;
[[ArduIMU]]&lt;br /&gt;
||&lt;br /&gt;
[[Laserhawk]]&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || build virtual world scan in hoku2gdhe || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Install MTi-G driver on laptop || MTIHardTest -v &amp;lt;params&amp;gt; &amp;gt;&amp;gt; out.txt stores to disk || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Get test scans from rooftop || one night scan acquired. need day scans and higher scans (and faster) || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Design MIPI/I2C camera board || sketches ready, Pierre doing orcad and ordering || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Design/Build hokuyo/MTIG box/mounting cage || Build at Bertrand's place or ENAC || x || Not started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Get openembedded running on laptop || laptop too slow || x || Waiting for new PC &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==PERSO TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ PERSONAL TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || Get minimag flying || tuneup done, need some glue then ready for maiden || [[User:Paulcox|Paulcox]] 10:33, 17 February 2011 (CET) || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Slowstick flying || First arduimu flights done, issues due to auto2 probably due to flight plan altitues, need to study logs || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Flash ardupimu and get ap compiling || methodology posted on [[ArduIMU]] page || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Test xbeepro868 performance || XCTU loopback at 9600 shows 80-90%, with basic telemetry was seeing huge (10-15 sec) delay (was looking at attitude messages), short flights at 57600 ok so far|| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Test loss of IR contrast || works in simulation, need to test in real || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Adjust Beth opamp gains || for increased precision || x || Do it slacker &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || Try Web-based GCS || qwip checked in, need to try pow ||| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Improve altitude control loop || issue with hard boundary between PI and constant regions || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || Some camera stabilization || Read gimbal servo positions via pot tap to ADC || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 10 || Try then document item drop capability || one of the checked in enac flight plans does this || x || not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 11 || Paparazzi Documentation || Started outlining [http://paparazzi.enac.fr/wiki/Documentation_Needed here] || x || Stalled &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 12 || try pan/tilt code || x || x || no started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 13 || get log archive ready || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 14 || redo joystick control setup || look at chris' stuff he send || x || Not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 15 || potentially merge tiny/overo i2c com code from tobias || x || x || In progress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BUY BUY BUY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ WISH LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Price !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || RC Transmitter (PPM and 2.4GHz) || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Overo Camera || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Lisa board || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || I2C motor controllers  || need 4 to finish quad || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || New laptop || x || x || Keep dreaming &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || XBeePro868 || Need a third one to test point to multi-point || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || RazorIMU || For testing || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Minimag || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IDEAS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ IDEA LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Random Notes=&lt;br /&gt;
&lt;br /&gt;
== ubuntu packages ==&lt;br /&gt;
&lt;br /&gt;
===Utilities===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install medit gtkterm git-core ssh apt-file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===paparazzi===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paparazzi-dev paparazzi-stm32 paparazzi-arm7 paparazzi-omap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===perl modules===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libstatistics-descriptive-perl libgd-gd2-perl libgeo-coordinates-utm-perl \&lt;br /&gt;
  libhtml-template-perl libxml-twig-perl libdigest-hmac-perl libdigest-sha1-perl libdigest-md5-file-perl&lt;br /&gt;
  wget http://search.cpan.org/CPAN/authors/id/M/MA/MAHEX/Image-Grab-1.4.2.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CGI webserver===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install boa &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===openrobots===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libbz2-dev pax cmake automake autoconf doxygen libgl1-mesa-dev \&lt;br /&gt;
  libglu1-mesa-dev tcl-dev tk-dev libjpeg-dev libxpm-dev swig libxmu-dev libxt-dev libxt6 libxt-dev \&lt;br /&gt;
  tcl-dev tk-dev libbz2-dev freeglut3-dev qtcreator &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *.laas.fr&lt;br /&gt;
User pdcox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a joystick to control twog servo==&lt;br /&gt;
===PC-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the PC side we will send actuator commands two different ways: &lt;br /&gt;
&lt;br /&gt;
: 1. Running an ocaml application that listens to the joystick device and using a configuration file, will send ivy messages that get forwarded to the vehicle by the server.&lt;br /&gt;
: 2. Normal paparazzi settings mechanism (using settings dialog from paparazzi center running on PC) that sets corresponding variables on the vehicle.&lt;br /&gt;
&lt;br /&gt;
Running the joystick test program you can see which buttons do what:&lt;br /&gt;
(Note you have to run a make in the directory first to compile everything)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/paparazzi3/trunk/sw/ground_segment/joystick$ ./test_stick &lt;br /&gt;
Available button: 288 (0x120)&lt;br /&gt;
Available button: 289 (0x121)&lt;br /&gt;
Available button: 290 (0x122)&lt;br /&gt;
Available button: 291 (0x123)&lt;br /&gt;
Available button: 292 (0x124)&lt;br /&gt;
Available button: 293 (0x125)&lt;br /&gt;
Available button: 294 (0x126)&lt;br /&gt;
Available button: 295 (0x127)&lt;br /&gt;
Available button: 296 (0x128)&lt;br /&gt;
Available button: 297 (0x129)&lt;br /&gt;
Available button: 298 (0x12a)&lt;br /&gt;
Available button: 299 (0x12b)&lt;br /&gt;
Available axis: 0 (0x0)&lt;br /&gt;
Available axis: 1 (0x1)&lt;br /&gt;
Available axis: 2 (0x2)&lt;br /&gt;
Available axis: 5 (0x5)&lt;br /&gt;
Available axis: 16 (0x10)&lt;br /&gt;
Available axis: 17 (0x11)&lt;br /&gt;
Available axis: 40 (0x28)&lt;br /&gt;
Axis 0 : parameters = [0,255]&lt;br /&gt;
Axis 1 : parameters = [0,255]&lt;br /&gt;
Axis 2 : parameters = [0,255]&lt;br /&gt;
Axis 3 : parameters = [0,255]&lt;br /&gt;
Axis 4 : parameters = [-1,1]&lt;br /&gt;
Axis 5 : parameters = [-1,1]&lt;br /&gt;
Axis 6 : parameters = [0,255]&lt;br /&gt;
Input device name: &amp;quot;GreenAsia Inc.    USB Joystick     &amp;quot; on device &amp;quot;/dev/input/event6&amp;quot;&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 87 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 20 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 69 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 111 48 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 127 -64 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 32 -127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 -39 -69 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -117 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 40 -35 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 49 127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -53 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 8 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 84 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 -66 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | axis 47 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 59 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -105 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -78 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -99 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then creating an xml configuration file such as:&lt;br /&gt;
&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ medit ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
and now running the input2ivy ocaml application:&lt;br /&gt;
&lt;br /&gt;
 export PAPARAZZI_HOME=/home/paul/paparazzi3/trunk&lt;br /&gt;
 paparazzi3/trunk/sz/ground_segment/joystick/input2ivy -ac TJOVERO ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
running ivyprobe we can see the message getting transmitted:&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ ivyprobe '(.*)'&lt;br /&gt;
shows: &lt;br /&gt;
 Paparazzi joystick sent  'input2ivy SET_ACTUATOR 1496 2 3'&lt;br /&gt;
&lt;br /&gt;
but we have to make sure the server knows this message needs to be forwarded: in messages.xml the message should be labeled as &amp;quot;forwarded&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;SET_ACTUATOR&amp;quot; id=&amp;quot;100&amp;quot; link=&amp;quot;forwarded&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;value&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;no&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;ac_id&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To send settings use the actuators.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
    &amp;lt;dl_settings NAME=&amp;quot;Actuators&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[1]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[2]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[3]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[4]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[5]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[6]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan6&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[7]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/dl_settings&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Vehicle-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the vehicle side we are using a twog for hardware so we will use the setup_actuators target found in  /conf/autopilot/setup.makefile.&lt;br /&gt;
This makefile is used by the tiny.makefile which is used because we specify we're using the twog in twinjet_overo.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;ap&amp;quot; 			board=&amp;quot;twog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setup target is defined as follows in the airframe (twinjet_overo.xml):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; 		board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;setup_actuators&amp;quot; 	board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we were adding the joystick to the autopilot code we could instead add the following line to the firmware section:&lt;br /&gt;
: &amp;lt;subsystem name=&amp;quot;joystick&amp;quot;/&amp;gt;&lt;br /&gt;
but that's another project...&lt;br /&gt;
&lt;br /&gt;
Here's the setup.makefile section that worked for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setup_actuators.CFLAGS += -DFBW -DLED -DTIME_LED=1 -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&lt;br /&gt;
setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1 &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1&lt;br /&gt;
setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c pprz_transport.c downlink.c actuators.c setup_actuators.c $(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4017_hw.c main.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9223</id>
		<title>Paul Cox Notes</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9223"/>
		<updated>2011-03-29T14:42:50Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* perl modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LISTS =&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Paul's Links&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! 2 !! 3 !! 4 !! 5&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[[Community_Flight_Log_Archive]]&lt;br /&gt;
||&lt;br /&gt;
[[Paul_Cox_Activity_Log]]&lt;br /&gt;
||&lt;br /&gt;
[[User:PaulCox]]&lt;br /&gt;
||&lt;br /&gt;
[[Lisa_Logitech_Camera]]&lt;br /&gt;
||&lt;br /&gt;
[[Rt3070usb]]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
[[http://paparazzi.enac.fr/wiki/Qwip]]&lt;br /&gt;
||&lt;br /&gt;
[[ArduIMU]]&lt;br /&gt;
||&lt;br /&gt;
[[Laserhawk]]&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || build virtual world scan in hoku2gdhe || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Install MTi-G driver on laptop || MTIHardTest -v &amp;lt;params&amp;gt; &amp;gt;&amp;gt; out.txt stores to disk || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Get test scans from rooftop || one night scan acquired. need day scans and higher scans (and faster) || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Design MIPI/I2C camera board || sketches ready, Pierre doing orcad and ordering || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Design/Build hokuyo/MTIG box/mounting cage || Build at Bertrand's place or ENAC || x || Not started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Get openembedded running on laptop || laptop too slow || x || Waiting for new PC &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==PERSO TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ PERSONAL TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || Get minimag flying || tuneup done, need some glue then ready for maiden || [[User:Paulcox|Paulcox]] 10:33, 17 February 2011 (CET) || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Slowstick flying || First arduimu flights done, issues due to auto2 probably due to flight plan altitues, need to study logs || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Flash ardupimu and get ap compiling || methodology posted on [[ArduIMU]] page || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Test xbeepro868 performance || XCTU loopback at 9600 shows 80-90%, with basic telemetry was seeing huge (10-15 sec) delay (was looking at attitude messages), short flights at 57600 ok so far|| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Test loss of IR contrast || works in simulation, need to test in real || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Adjust Beth opamp gains || for increased precision || x || Do it slacker &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || Try Web-based GCS || qwip checked in, need to try pow ||| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Improve altitude control loop || issue with hard boundary between PI and constant regions || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || Some camera stabilization || Read gimbal servo positions via pot tap to ADC || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 10 || Try then document item drop capability || one of the checked in enac flight plans does this || x || not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 11 || Paparazzi Documentation || Started outlining [http://paparazzi.enac.fr/wiki/Documentation_Needed here] || x || Stalled &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 12 || try pan/tilt code || x || x || no started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 13 || get log archive ready || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 14 || redo joystick control setup || look at chris' stuff he send || x || Not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 15 || potentially merge tiny/overo i2c com code from tobias || x || x || In progress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BUY BUY BUY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ WISH LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Price !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || RC Transmitter (PPM and 2.4GHz) || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Overo Camera || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Lisa board || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || I2C motor controllers  || need 4 to finish quad || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || New laptop || x || x || Keep dreaming &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || XBeePro868 || Need a third one to test point to multi-point || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || RazorIMU || For testing || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Minimag || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IDEAS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ IDEA LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Random Notes=&lt;br /&gt;
&lt;br /&gt;
== ubuntu packages ==&lt;br /&gt;
&lt;br /&gt;
===Utilities===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install medit gtkterm git-core ssh apt-file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===paparazzi===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paparazzi-dev paparazzi-stm32 paparazzi-arm7 paparazzi-omap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===perl modules===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libstatistics-descriptive-perl libgd-gd2-perl libgeo-coordinates-utm-perl libhtml-template-perl libxml-twig-perl libdigest-hmac-perl libdigest-sha1-perl libdigest-md5-file-perl&lt;br /&gt;
wget http://search.cpan.org/CPAN/authors/id/M/MA/MAHEX/Image-Grab-1.4.2.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CGI webserver===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install boa &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===openrobots===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libbz2-dev pax cmake automake autoconf doxygen libgl1-mesa-dev libglu1-mesa-dev tcl-dev tk-dev libjpeg-dev libxpm-dev swig libxmu-dev libxt-dev libxt6 libxt-dev pax tcl-dev tk-dev libbz2-dev freeglut3-dev qtcreator&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *.laas.fr&lt;br /&gt;
User pdcox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a joystick to control twog servo==&lt;br /&gt;
===PC-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the PC side we will send actuator commands two different ways: &lt;br /&gt;
&lt;br /&gt;
: 1. Running an ocaml application that listens to the joystick device and using a configuration file, will send ivy messages that get forwarded to the vehicle by the server.&lt;br /&gt;
: 2. Normal paparazzi settings mechanism (using settings dialog from paparazzi center running on PC) that sets corresponding variables on the vehicle.&lt;br /&gt;
&lt;br /&gt;
Running the joystick test program you can see which buttons do what:&lt;br /&gt;
(Note you have to run a make in the directory first to compile everything)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/paparazzi3/trunk/sw/ground_segment/joystick$ ./test_stick &lt;br /&gt;
Available button: 288 (0x120)&lt;br /&gt;
Available button: 289 (0x121)&lt;br /&gt;
Available button: 290 (0x122)&lt;br /&gt;
Available button: 291 (0x123)&lt;br /&gt;
Available button: 292 (0x124)&lt;br /&gt;
Available button: 293 (0x125)&lt;br /&gt;
Available button: 294 (0x126)&lt;br /&gt;
Available button: 295 (0x127)&lt;br /&gt;
Available button: 296 (0x128)&lt;br /&gt;
Available button: 297 (0x129)&lt;br /&gt;
Available button: 298 (0x12a)&lt;br /&gt;
Available button: 299 (0x12b)&lt;br /&gt;
Available axis: 0 (0x0)&lt;br /&gt;
Available axis: 1 (0x1)&lt;br /&gt;
Available axis: 2 (0x2)&lt;br /&gt;
Available axis: 5 (0x5)&lt;br /&gt;
Available axis: 16 (0x10)&lt;br /&gt;
Available axis: 17 (0x11)&lt;br /&gt;
Available axis: 40 (0x28)&lt;br /&gt;
Axis 0 : parameters = [0,255]&lt;br /&gt;
Axis 1 : parameters = [0,255]&lt;br /&gt;
Axis 2 : parameters = [0,255]&lt;br /&gt;
Axis 3 : parameters = [0,255]&lt;br /&gt;
Axis 4 : parameters = [-1,1]&lt;br /&gt;
Axis 5 : parameters = [-1,1]&lt;br /&gt;
Axis 6 : parameters = [0,255]&lt;br /&gt;
Input device name: &amp;quot;GreenAsia Inc.    USB Joystick     &amp;quot; on device &amp;quot;/dev/input/event6&amp;quot;&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 87 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 20 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 69 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 111 48 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 127 -64 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 32 -127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 -39 -69 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -117 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 40 -35 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 49 127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -53 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 8 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 84 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 -66 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | axis 47 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 59 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -105 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -78 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -99 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then creating an xml configuration file such as:&lt;br /&gt;
&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ medit ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
and now running the input2ivy ocaml application:&lt;br /&gt;
&lt;br /&gt;
 export PAPARAZZI_HOME=/home/paul/paparazzi3/trunk&lt;br /&gt;
 paparazzi3/trunk/sz/ground_segment/joystick/input2ivy -ac TJOVERO ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
running ivyprobe we can see the message getting transmitted:&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ ivyprobe '(.*)'&lt;br /&gt;
shows: &lt;br /&gt;
 Paparazzi joystick sent  'input2ivy SET_ACTUATOR 1496 2 3'&lt;br /&gt;
&lt;br /&gt;
but we have to make sure the server knows this message needs to be forwarded: in messages.xml the message should be labeled as &amp;quot;forwarded&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;SET_ACTUATOR&amp;quot; id=&amp;quot;100&amp;quot; link=&amp;quot;forwarded&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;value&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;no&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;ac_id&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To send settings use the actuators.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
    &amp;lt;dl_settings NAME=&amp;quot;Actuators&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[1]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[2]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[3]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[4]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[5]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[6]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan6&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[7]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/dl_settings&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Vehicle-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the vehicle side we are using a twog for hardware so we will use the setup_actuators target found in  /conf/autopilot/setup.makefile.&lt;br /&gt;
This makefile is used by the tiny.makefile which is used because we specify we're using the twog in twinjet_overo.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;ap&amp;quot; 			board=&amp;quot;twog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setup target is defined as follows in the airframe (twinjet_overo.xml):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; 		board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;setup_actuators&amp;quot; 	board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we were adding the joystick to the autopilot code we could instead add the following line to the firmware section:&lt;br /&gt;
: &amp;lt;subsystem name=&amp;quot;joystick&amp;quot;/&amp;gt;&lt;br /&gt;
but that's another project...&lt;br /&gt;
&lt;br /&gt;
Here's the setup.makefile section that worked for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setup_actuators.CFLAGS += -DFBW -DLED -DTIME_LED=1 -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&lt;br /&gt;
setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1 &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1&lt;br /&gt;
setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c pprz_transport.c downlink.c actuators.c setup_actuators.c $(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4017_hw.c main.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9222</id>
		<title>Paul Cox Notes</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9222"/>
		<updated>2011-03-29T14:35:07Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* perl modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LISTS =&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Paul's Links&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! 2 !! 3 !! 4 !! 5&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[[Community_Flight_Log_Archive]]&lt;br /&gt;
||&lt;br /&gt;
[[Paul_Cox_Activity_Log]]&lt;br /&gt;
||&lt;br /&gt;
[[User:PaulCox]]&lt;br /&gt;
||&lt;br /&gt;
[[Lisa_Logitech_Camera]]&lt;br /&gt;
||&lt;br /&gt;
[[Rt3070usb]]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
[[http://paparazzi.enac.fr/wiki/Qwip]]&lt;br /&gt;
||&lt;br /&gt;
[[ArduIMU]]&lt;br /&gt;
||&lt;br /&gt;
[[Laserhawk]]&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || build virtual world scan in hoku2gdhe || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Install MTi-G driver on laptop || MTIHardTest -v &amp;lt;params&amp;gt; &amp;gt;&amp;gt; out.txt stores to disk || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Get test scans from rooftop || one night scan acquired. need day scans and higher scans (and faster) || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Design MIPI/I2C camera board || sketches ready, Pierre doing orcad and ordering || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Design/Build hokuyo/MTIG box/mounting cage || Build at Bertrand's place or ENAC || x || Not started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Get openembedded running on laptop || laptop too slow || x || Waiting for new PC &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==PERSO TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ PERSONAL TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || Get minimag flying || tuneup done, need some glue then ready for maiden || [[User:Paulcox|Paulcox]] 10:33, 17 February 2011 (CET) || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Slowstick flying || First arduimu flights done, issues due to auto2 probably due to flight plan altitues, need to study logs || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Flash ardupimu and get ap compiling || methodology posted on [[ArduIMU]] page || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Test xbeepro868 performance || XCTU loopback at 9600 shows 80-90%, with basic telemetry was seeing huge (10-15 sec) delay (was looking at attitude messages), short flights at 57600 ok so far|| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Test loss of IR contrast || works in simulation, need to test in real || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Adjust Beth opamp gains || for increased precision || x || Do it slacker &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || Try Web-based GCS || qwip checked in, need to try pow ||| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Improve altitude control loop || issue with hard boundary between PI and constant regions || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || Some camera stabilization || Read gimbal servo positions via pot tap to ADC || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 10 || Try then document item drop capability || one of the checked in enac flight plans does this || x || not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 11 || Paparazzi Documentation || Started outlining [http://paparazzi.enac.fr/wiki/Documentation_Needed here] || x || Stalled &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 12 || try pan/tilt code || x || x || no started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 13 || get log archive ready || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 14 || redo joystick control setup || look at chris' stuff he send || x || Not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 15 || potentially merge tiny/overo i2c com code from tobias || x || x || In progress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BUY BUY BUY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ WISH LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Price !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || RC Transmitter (PPM and 2.4GHz) || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Overo Camera || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Lisa board || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || I2C motor controllers  || need 4 to finish quad || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || New laptop || x || x || Keep dreaming &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || XBeePro868 || Need a third one to test point to multi-point || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || RazorIMU || For testing || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Minimag || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IDEAS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ IDEA LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Random Notes=&lt;br /&gt;
&lt;br /&gt;
== ubuntu packages ==&lt;br /&gt;
&lt;br /&gt;
===Utilities===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install medit gtkterm git-core ssh apt-file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===paparazzi===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paparazzi-dev paparazzi-stm32 paparazzi-arm7 paparazzi-omap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===perl modules===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libstatistics-descriptive-perl libgd-gd2-perl libgeo-coordinates-utm-perl libhtml-template-perl&lt;br /&gt;
wget http://search.cpan.org/CPAN/authors/id/M/MA/MAHEX/Image-Grab-1.4.2.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CGI webserver===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install boa &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===openrobots===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libbz2-dev pax cmake automake autoconf doxygen libgl1-mesa-dev libglu1-mesa-dev tcl-dev tk-dev libjpeg-dev libxpm-dev swig libxmu-dev libxt-dev libxt6 libxt-dev pax tcl-dev tk-dev libbz2-dev freeglut3-dev qtcreator&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *.laas.fr&lt;br /&gt;
User pdcox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a joystick to control twog servo==&lt;br /&gt;
===PC-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the PC side we will send actuator commands two different ways: &lt;br /&gt;
&lt;br /&gt;
: 1. Running an ocaml application that listens to the joystick device and using a configuration file, will send ivy messages that get forwarded to the vehicle by the server.&lt;br /&gt;
: 2. Normal paparazzi settings mechanism (using settings dialog from paparazzi center running on PC) that sets corresponding variables on the vehicle.&lt;br /&gt;
&lt;br /&gt;
Running the joystick test program you can see which buttons do what:&lt;br /&gt;
(Note you have to run a make in the directory first to compile everything)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/paparazzi3/trunk/sw/ground_segment/joystick$ ./test_stick &lt;br /&gt;
Available button: 288 (0x120)&lt;br /&gt;
Available button: 289 (0x121)&lt;br /&gt;
Available button: 290 (0x122)&lt;br /&gt;
Available button: 291 (0x123)&lt;br /&gt;
Available button: 292 (0x124)&lt;br /&gt;
Available button: 293 (0x125)&lt;br /&gt;
Available button: 294 (0x126)&lt;br /&gt;
Available button: 295 (0x127)&lt;br /&gt;
Available button: 296 (0x128)&lt;br /&gt;
Available button: 297 (0x129)&lt;br /&gt;
Available button: 298 (0x12a)&lt;br /&gt;
Available button: 299 (0x12b)&lt;br /&gt;
Available axis: 0 (0x0)&lt;br /&gt;
Available axis: 1 (0x1)&lt;br /&gt;
Available axis: 2 (0x2)&lt;br /&gt;
Available axis: 5 (0x5)&lt;br /&gt;
Available axis: 16 (0x10)&lt;br /&gt;
Available axis: 17 (0x11)&lt;br /&gt;
Available axis: 40 (0x28)&lt;br /&gt;
Axis 0 : parameters = [0,255]&lt;br /&gt;
Axis 1 : parameters = [0,255]&lt;br /&gt;
Axis 2 : parameters = [0,255]&lt;br /&gt;
Axis 3 : parameters = [0,255]&lt;br /&gt;
Axis 4 : parameters = [-1,1]&lt;br /&gt;
Axis 5 : parameters = [-1,1]&lt;br /&gt;
Axis 6 : parameters = [0,255]&lt;br /&gt;
Input device name: &amp;quot;GreenAsia Inc.    USB Joystick     &amp;quot; on device &amp;quot;/dev/input/event6&amp;quot;&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 87 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 20 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 69 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 111 48 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 127 -64 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 32 -127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 -39 -69 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -117 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 40 -35 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 49 127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -53 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 8 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 84 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 -66 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | axis 47 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 59 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -105 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -78 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -99 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then creating an xml configuration file such as:&lt;br /&gt;
&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ medit ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
and now running the input2ivy ocaml application:&lt;br /&gt;
&lt;br /&gt;
 export PAPARAZZI_HOME=/home/paul/paparazzi3/trunk&lt;br /&gt;
 paparazzi3/trunk/sz/ground_segment/joystick/input2ivy -ac TJOVERO ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
running ivyprobe we can see the message getting transmitted:&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ ivyprobe '(.*)'&lt;br /&gt;
shows: &lt;br /&gt;
 Paparazzi joystick sent  'input2ivy SET_ACTUATOR 1496 2 3'&lt;br /&gt;
&lt;br /&gt;
but we have to make sure the server knows this message needs to be forwarded: in messages.xml the message should be labeled as &amp;quot;forwarded&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;SET_ACTUATOR&amp;quot; id=&amp;quot;100&amp;quot; link=&amp;quot;forwarded&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;value&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;no&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;ac_id&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To send settings use the actuators.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
    &amp;lt;dl_settings NAME=&amp;quot;Actuators&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[1]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[2]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[3]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[4]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[5]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[6]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan6&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[7]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/dl_settings&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Vehicle-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the vehicle side we are using a twog for hardware so we will use the setup_actuators target found in  /conf/autopilot/setup.makefile.&lt;br /&gt;
This makefile is used by the tiny.makefile which is used because we specify we're using the twog in twinjet_overo.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;ap&amp;quot; 			board=&amp;quot;twog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setup target is defined as follows in the airframe (twinjet_overo.xml):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; 		board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;setup_actuators&amp;quot; 	board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we were adding the joystick to the autopilot code we could instead add the following line to the firmware section:&lt;br /&gt;
: &amp;lt;subsystem name=&amp;quot;joystick&amp;quot;/&amp;gt;&lt;br /&gt;
but that's another project...&lt;br /&gt;
&lt;br /&gt;
Here's the setup.makefile section that worked for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setup_actuators.CFLAGS += -DFBW -DLED -DTIME_LED=1 -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&lt;br /&gt;
setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1 &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1&lt;br /&gt;
setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c pprz_transport.c downlink.c actuators.c setup_actuators.c $(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4017_hw.c main.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9221</id>
		<title>Paul Cox Notes</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9221"/>
		<updated>2011-03-29T14:18:40Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Utilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LISTS =&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Paul's Links&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! 2 !! 3 !! 4 !! 5&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[[Community_Flight_Log_Archive]]&lt;br /&gt;
||&lt;br /&gt;
[[Paul_Cox_Activity_Log]]&lt;br /&gt;
||&lt;br /&gt;
[[User:PaulCox]]&lt;br /&gt;
||&lt;br /&gt;
[[Lisa_Logitech_Camera]]&lt;br /&gt;
||&lt;br /&gt;
[[Rt3070usb]]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
[[http://paparazzi.enac.fr/wiki/Qwip]]&lt;br /&gt;
||&lt;br /&gt;
[[ArduIMU]]&lt;br /&gt;
||&lt;br /&gt;
[[Laserhawk]]&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || build virtual world scan in hoku2gdhe || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Install MTi-G driver on laptop || MTIHardTest -v &amp;lt;params&amp;gt; &amp;gt;&amp;gt; out.txt stores to disk || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Get test scans from rooftop || one night scan acquired. need day scans and higher scans (and faster) || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Design MIPI/I2C camera board || sketches ready, Pierre doing orcad and ordering || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Design/Build hokuyo/MTIG box/mounting cage || Build at Bertrand's place or ENAC || x || Not started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Get openembedded running on laptop || laptop too slow || x || Waiting for new PC &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==PERSO TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ PERSONAL TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || Get minimag flying || tuneup done, need some glue then ready for maiden || [[User:Paulcox|Paulcox]] 10:33, 17 February 2011 (CET) || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Slowstick flying || First arduimu flights done, issues due to auto2 probably due to flight plan altitues, need to study logs || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Flash ardupimu and get ap compiling || methodology posted on [[ArduIMU]] page || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Test xbeepro868 performance || XCTU loopback at 9600 shows 80-90%, with basic telemetry was seeing huge (10-15 sec) delay (was looking at attitude messages), short flights at 57600 ok so far|| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Test loss of IR contrast || works in simulation, need to test in real || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Adjust Beth opamp gains || for increased precision || x || Do it slacker &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || Try Web-based GCS || qwip checked in, need to try pow ||| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Improve altitude control loop || issue with hard boundary between PI and constant regions || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || Some camera stabilization || Read gimbal servo positions via pot tap to ADC || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 10 || Try then document item drop capability || one of the checked in enac flight plans does this || x || not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 11 || Paparazzi Documentation || Started outlining [http://paparazzi.enac.fr/wiki/Documentation_Needed here] || x || Stalled &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 12 || try pan/tilt code || x || x || no started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 13 || get log archive ready || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 14 || redo joystick control setup || look at chris' stuff he send || x || Not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 15 || potentially merge tiny/overo i2c com code from tobias || x || x || In progress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BUY BUY BUY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ WISH LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Price !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || RC Transmitter (PPM and 2.4GHz) || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Overo Camera || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Lisa board || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || I2C motor controllers  || need 4 to finish quad || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || New laptop || x || x || Keep dreaming &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || XBeePro868 || Need a third one to test point to multi-point || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || RazorIMU || For testing || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Minimag || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IDEAS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ IDEA LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Random Notes=&lt;br /&gt;
&lt;br /&gt;
== ubuntu packages ==&lt;br /&gt;
&lt;br /&gt;
===Utilities===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install medit gtkterm git-core ssh apt-file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===paparazzi===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paparazzi-dev paparazzi-stm32 paparazzi-arm7 paparazzi-omap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===perl modules===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CGI webserver===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install boa &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===openrobots===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libbz2-dev pax cmake automake autoconf doxygen libgl1-mesa-dev libglu1-mesa-dev tcl-dev tk-dev libjpeg-dev libxpm-dev swig libxmu-dev libxt-dev libxt6 libxt-dev pax tcl-dev tk-dev libbz2-dev freeglut3-dev qtcreator&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *.laas.fr&lt;br /&gt;
User pdcox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a joystick to control twog servo==&lt;br /&gt;
===PC-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the PC side we will send actuator commands two different ways: &lt;br /&gt;
&lt;br /&gt;
: 1. Running an ocaml application that listens to the joystick device and using a configuration file, will send ivy messages that get forwarded to the vehicle by the server.&lt;br /&gt;
: 2. Normal paparazzi settings mechanism (using settings dialog from paparazzi center running on PC) that sets corresponding variables on the vehicle.&lt;br /&gt;
&lt;br /&gt;
Running the joystick test program you can see which buttons do what:&lt;br /&gt;
(Note you have to run a make in the directory first to compile everything)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/paparazzi3/trunk/sw/ground_segment/joystick$ ./test_stick &lt;br /&gt;
Available button: 288 (0x120)&lt;br /&gt;
Available button: 289 (0x121)&lt;br /&gt;
Available button: 290 (0x122)&lt;br /&gt;
Available button: 291 (0x123)&lt;br /&gt;
Available button: 292 (0x124)&lt;br /&gt;
Available button: 293 (0x125)&lt;br /&gt;
Available button: 294 (0x126)&lt;br /&gt;
Available button: 295 (0x127)&lt;br /&gt;
Available button: 296 (0x128)&lt;br /&gt;
Available button: 297 (0x129)&lt;br /&gt;
Available button: 298 (0x12a)&lt;br /&gt;
Available button: 299 (0x12b)&lt;br /&gt;
Available axis: 0 (0x0)&lt;br /&gt;
Available axis: 1 (0x1)&lt;br /&gt;
Available axis: 2 (0x2)&lt;br /&gt;
Available axis: 5 (0x5)&lt;br /&gt;
Available axis: 16 (0x10)&lt;br /&gt;
Available axis: 17 (0x11)&lt;br /&gt;
Available axis: 40 (0x28)&lt;br /&gt;
Axis 0 : parameters = [0,255]&lt;br /&gt;
Axis 1 : parameters = [0,255]&lt;br /&gt;
Axis 2 : parameters = [0,255]&lt;br /&gt;
Axis 3 : parameters = [0,255]&lt;br /&gt;
Axis 4 : parameters = [-1,1]&lt;br /&gt;
Axis 5 : parameters = [-1,1]&lt;br /&gt;
Axis 6 : parameters = [0,255]&lt;br /&gt;
Input device name: &amp;quot;GreenAsia Inc.    USB Joystick     &amp;quot; on device &amp;quot;/dev/input/event6&amp;quot;&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 87 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 20 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 69 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 111 48 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 127 -64 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 32 -127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 -39 -69 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -117 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 40 -35 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 49 127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -53 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 8 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 84 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 -66 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | axis 47 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 59 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -105 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -78 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -99 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then creating an xml configuration file such as:&lt;br /&gt;
&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ medit ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
and now running the input2ivy ocaml application:&lt;br /&gt;
&lt;br /&gt;
 export PAPARAZZI_HOME=/home/paul/paparazzi3/trunk&lt;br /&gt;
 paparazzi3/trunk/sz/ground_segment/joystick/input2ivy -ac TJOVERO ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
running ivyprobe we can see the message getting transmitted:&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ ivyprobe '(.*)'&lt;br /&gt;
shows: &lt;br /&gt;
 Paparazzi joystick sent  'input2ivy SET_ACTUATOR 1496 2 3'&lt;br /&gt;
&lt;br /&gt;
but we have to make sure the server knows this message needs to be forwarded: in messages.xml the message should be labeled as &amp;quot;forwarded&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;SET_ACTUATOR&amp;quot; id=&amp;quot;100&amp;quot; link=&amp;quot;forwarded&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;value&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;no&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;ac_id&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To send settings use the actuators.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
    &amp;lt;dl_settings NAME=&amp;quot;Actuators&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[1]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[2]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[3]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[4]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[5]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[6]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan6&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[7]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/dl_settings&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Vehicle-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the vehicle side we are using a twog for hardware so we will use the setup_actuators target found in  /conf/autopilot/setup.makefile.&lt;br /&gt;
This makefile is used by the tiny.makefile which is used because we specify we're using the twog in twinjet_overo.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;ap&amp;quot; 			board=&amp;quot;twog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setup target is defined as follows in the airframe (twinjet_overo.xml):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; 		board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;setup_actuators&amp;quot; 	board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we were adding the joystick to the autopilot code we could instead add the following line to the firmware section:&lt;br /&gt;
: &amp;lt;subsystem name=&amp;quot;joystick&amp;quot;/&amp;gt;&lt;br /&gt;
but that's another project...&lt;br /&gt;
&lt;br /&gt;
Here's the setup.makefile section that worked for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setup_actuators.CFLAGS += -DFBW -DLED -DTIME_LED=1 -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&lt;br /&gt;
setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1 &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1&lt;br /&gt;
setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c pprz_transport.c downlink.c actuators.c setup_actuators.c $(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4017_hw.c main.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9220</id>
		<title>Paul Cox Notes</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9220"/>
		<updated>2011-03-29T14:18:09Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Utilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LISTS =&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Paul's Links&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! 2 !! 3 !! 4 !! 5&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[[Community_Flight_Log_Archive]]&lt;br /&gt;
||&lt;br /&gt;
[[Paul_Cox_Activity_Log]]&lt;br /&gt;
||&lt;br /&gt;
[[User:PaulCox]]&lt;br /&gt;
||&lt;br /&gt;
[[Lisa_Logitech_Camera]]&lt;br /&gt;
||&lt;br /&gt;
[[Rt3070usb]]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
[[http://paparazzi.enac.fr/wiki/Qwip]]&lt;br /&gt;
||&lt;br /&gt;
[[ArduIMU]]&lt;br /&gt;
||&lt;br /&gt;
[[Laserhawk]]&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || build virtual world scan in hoku2gdhe || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Install MTi-G driver on laptop || MTIHardTest -v &amp;lt;params&amp;gt; &amp;gt;&amp;gt; out.txt stores to disk || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Get test scans from rooftop || one night scan acquired. need day scans and higher scans (and faster) || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Design MIPI/I2C camera board || sketches ready, Pierre doing orcad and ordering || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Design/Build hokuyo/MTIG box/mounting cage || Build at Bertrand's place or ENAC || x || Not started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Get openembedded running on laptop || laptop too slow || x || Waiting for new PC &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==PERSO TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ PERSONAL TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || Get minimag flying || tuneup done, need some glue then ready for maiden || [[User:Paulcox|Paulcox]] 10:33, 17 February 2011 (CET) || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Slowstick flying || First arduimu flights done, issues due to auto2 probably due to flight plan altitues, need to study logs || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Flash ardupimu and get ap compiling || methodology posted on [[ArduIMU]] page || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Test xbeepro868 performance || XCTU loopback at 9600 shows 80-90%, with basic telemetry was seeing huge (10-15 sec) delay (was looking at attitude messages), short flights at 57600 ok so far|| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Test loss of IR contrast || works in simulation, need to test in real || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Adjust Beth opamp gains || for increased precision || x || Do it slacker &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || Try Web-based GCS || qwip checked in, need to try pow ||| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Improve altitude control loop || issue with hard boundary between PI and constant regions || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || Some camera stabilization || Read gimbal servo positions via pot tap to ADC || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 10 || Try then document item drop capability || one of the checked in enac flight plans does this || x || not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 11 || Paparazzi Documentation || Started outlining [http://paparazzi.enac.fr/wiki/Documentation_Needed here] || x || Stalled &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 12 || try pan/tilt code || x || x || no started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 13 || get log archive ready || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 14 || redo joystick control setup || look at chris' stuff he send || x || Not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 15 || potentially merge tiny/overo i2c com code from tobias || x || x || In progress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BUY BUY BUY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ WISH LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Price !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || RC Transmitter (PPM and 2.4GHz) || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Overo Camera || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Lisa board || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || I2C motor controllers  || need 4 to finish quad || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || New laptop || x || x || Keep dreaming &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || XBeePro868 || Need a third one to test point to multi-point || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || RazorIMU || For testing || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Minimag || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IDEAS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ IDEA LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Random Notes=&lt;br /&gt;
&lt;br /&gt;
== ubuntu packages ==&lt;br /&gt;
&lt;br /&gt;
===Utilities===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install medit gtk-term git-core ssh apt-file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===paparazzi===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paparazzi-dev paparazzi-stm32 paparazzi-arm7 paparazzi-omap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===perl modules===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CGI webserver===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install boa &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===openrobots===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libbz2-dev pax cmake automake autoconf doxygen libgl1-mesa-dev libglu1-mesa-dev tcl-dev tk-dev libjpeg-dev libxpm-dev swig libxmu-dev libxt-dev libxt6 libxt-dev pax tcl-dev tk-dev libbz2-dev freeglut3-dev qtcreator&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *.laas.fr&lt;br /&gt;
User pdcox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a joystick to control twog servo==&lt;br /&gt;
===PC-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the PC side we will send actuator commands two different ways: &lt;br /&gt;
&lt;br /&gt;
: 1. Running an ocaml application that listens to the joystick device and using a configuration file, will send ivy messages that get forwarded to the vehicle by the server.&lt;br /&gt;
: 2. Normal paparazzi settings mechanism (using settings dialog from paparazzi center running on PC) that sets corresponding variables on the vehicle.&lt;br /&gt;
&lt;br /&gt;
Running the joystick test program you can see which buttons do what:&lt;br /&gt;
(Note you have to run a make in the directory first to compile everything)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/paparazzi3/trunk/sw/ground_segment/joystick$ ./test_stick &lt;br /&gt;
Available button: 288 (0x120)&lt;br /&gt;
Available button: 289 (0x121)&lt;br /&gt;
Available button: 290 (0x122)&lt;br /&gt;
Available button: 291 (0x123)&lt;br /&gt;
Available button: 292 (0x124)&lt;br /&gt;
Available button: 293 (0x125)&lt;br /&gt;
Available button: 294 (0x126)&lt;br /&gt;
Available button: 295 (0x127)&lt;br /&gt;
Available button: 296 (0x128)&lt;br /&gt;
Available button: 297 (0x129)&lt;br /&gt;
Available button: 298 (0x12a)&lt;br /&gt;
Available button: 299 (0x12b)&lt;br /&gt;
Available axis: 0 (0x0)&lt;br /&gt;
Available axis: 1 (0x1)&lt;br /&gt;
Available axis: 2 (0x2)&lt;br /&gt;
Available axis: 5 (0x5)&lt;br /&gt;
Available axis: 16 (0x10)&lt;br /&gt;
Available axis: 17 (0x11)&lt;br /&gt;
Available axis: 40 (0x28)&lt;br /&gt;
Axis 0 : parameters = [0,255]&lt;br /&gt;
Axis 1 : parameters = [0,255]&lt;br /&gt;
Axis 2 : parameters = [0,255]&lt;br /&gt;
Axis 3 : parameters = [0,255]&lt;br /&gt;
Axis 4 : parameters = [-1,1]&lt;br /&gt;
Axis 5 : parameters = [-1,1]&lt;br /&gt;
Axis 6 : parameters = [0,255]&lt;br /&gt;
Input device name: &amp;quot;GreenAsia Inc.    USB Joystick     &amp;quot; on device &amp;quot;/dev/input/event6&amp;quot;&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 87 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 20 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 69 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 111 48 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 127 -64 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 32 -127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 -39 -69 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -117 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 40 -35 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 49 127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -53 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 8 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 84 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 -66 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | axis 47 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 59 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -105 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -78 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -99 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then creating an xml configuration file such as:&lt;br /&gt;
&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ medit ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
and now running the input2ivy ocaml application:&lt;br /&gt;
&lt;br /&gt;
 export PAPARAZZI_HOME=/home/paul/paparazzi3/trunk&lt;br /&gt;
 paparazzi3/trunk/sz/ground_segment/joystick/input2ivy -ac TJOVERO ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
running ivyprobe we can see the message getting transmitted:&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ ivyprobe '(.*)'&lt;br /&gt;
shows: &lt;br /&gt;
 Paparazzi joystick sent  'input2ivy SET_ACTUATOR 1496 2 3'&lt;br /&gt;
&lt;br /&gt;
but we have to make sure the server knows this message needs to be forwarded: in messages.xml the message should be labeled as &amp;quot;forwarded&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;SET_ACTUATOR&amp;quot; id=&amp;quot;100&amp;quot; link=&amp;quot;forwarded&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;value&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;no&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;ac_id&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To send settings use the actuators.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
    &amp;lt;dl_settings NAME=&amp;quot;Actuators&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[1]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[2]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[3]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[4]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[5]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[6]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan6&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[7]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/dl_settings&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Vehicle-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the vehicle side we are using a twog for hardware so we will use the setup_actuators target found in  /conf/autopilot/setup.makefile.&lt;br /&gt;
This makefile is used by the tiny.makefile which is used because we specify we're using the twog in twinjet_overo.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;ap&amp;quot; 			board=&amp;quot;twog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setup target is defined as follows in the airframe (twinjet_overo.xml):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; 		board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;setup_actuators&amp;quot; 	board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we were adding the joystick to the autopilot code we could instead add the following line to the firmware section:&lt;br /&gt;
: &amp;lt;subsystem name=&amp;quot;joystick&amp;quot;/&amp;gt;&lt;br /&gt;
but that's another project...&lt;br /&gt;
&lt;br /&gt;
Here's the setup.makefile section that worked for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setup_actuators.CFLAGS += -DFBW -DLED -DTIME_LED=1 -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&lt;br /&gt;
setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1 &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1&lt;br /&gt;
setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c pprz_transport.c downlink.c actuators.c setup_actuators.c $(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4017_hw.c main.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9219</id>
		<title>Paul Cox Notes</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9219"/>
		<updated>2011-03-29T14:17:55Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* openrobots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LISTS =&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Paul's Links&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! 2 !! 3 !! 4 !! 5&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[[Community_Flight_Log_Archive]]&lt;br /&gt;
||&lt;br /&gt;
[[Paul_Cox_Activity_Log]]&lt;br /&gt;
||&lt;br /&gt;
[[User:PaulCox]]&lt;br /&gt;
||&lt;br /&gt;
[[Lisa_Logitech_Camera]]&lt;br /&gt;
||&lt;br /&gt;
[[Rt3070usb]]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
[[http://paparazzi.enac.fr/wiki/Qwip]]&lt;br /&gt;
||&lt;br /&gt;
[[ArduIMU]]&lt;br /&gt;
||&lt;br /&gt;
[[Laserhawk]]&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || build virtual world scan in hoku2gdhe || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Install MTi-G driver on laptop || MTIHardTest -v &amp;lt;params&amp;gt; &amp;gt;&amp;gt; out.txt stores to disk || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Get test scans from rooftop || one night scan acquired. need day scans and higher scans (and faster) || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Design MIPI/I2C camera board || sketches ready, Pierre doing orcad and ordering || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Design/Build hokuyo/MTIG box/mounting cage || Build at Bertrand's place or ENAC || x || Not started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Get openembedded running on laptop || laptop too slow || x || Waiting for new PC &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==PERSO TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ PERSONAL TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || Get minimag flying || tuneup done, need some glue then ready for maiden || [[User:Paulcox|Paulcox]] 10:33, 17 February 2011 (CET) || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Slowstick flying || First arduimu flights done, issues due to auto2 probably due to flight plan altitues, need to study logs || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Flash ardupimu and get ap compiling || methodology posted on [[ArduIMU]] page || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Test xbeepro868 performance || XCTU loopback at 9600 shows 80-90%, with basic telemetry was seeing huge (10-15 sec) delay (was looking at attitude messages), short flights at 57600 ok so far|| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Test loss of IR contrast || works in simulation, need to test in real || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Adjust Beth opamp gains || for increased precision || x || Do it slacker &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || Try Web-based GCS || qwip checked in, need to try pow ||| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Improve altitude control loop || issue with hard boundary between PI and constant regions || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || Some camera stabilization || Read gimbal servo positions via pot tap to ADC || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 10 || Try then document item drop capability || one of the checked in enac flight plans does this || x || not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 11 || Paparazzi Documentation || Started outlining [http://paparazzi.enac.fr/wiki/Documentation_Needed here] || x || Stalled &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 12 || try pan/tilt code || x || x || no started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 13 || get log archive ready || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 14 || redo joystick control setup || look at chris' stuff he send || x || Not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 15 || potentially merge tiny/overo i2c com code from tobias || x || x || In progress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BUY BUY BUY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ WISH LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Price !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || RC Transmitter (PPM and 2.4GHz) || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Overo Camera || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Lisa board || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || I2C motor controllers  || need 4 to finish quad || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || New laptop || x || x || Keep dreaming &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || XBeePro868 || Need a third one to test point to multi-point || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || RazorIMU || For testing || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Minimag || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IDEAS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ IDEA LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Random Notes=&lt;br /&gt;
&lt;br /&gt;
== ubuntu packages ==&lt;br /&gt;
&lt;br /&gt;
===Utilities===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install medit gtk-term git-core ssh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===paparazzi===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paparazzi-dev paparazzi-stm32 paparazzi-arm7 paparazzi-omap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===perl modules===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CGI webserver===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install boa &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===openrobots===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libbz2-dev pax cmake automake autoconf doxygen libgl1-mesa-dev libglu1-mesa-dev tcl-dev tk-dev libjpeg-dev libxpm-dev swig libxmu-dev libxt-dev libxt6 libxt-dev pax tcl-dev tk-dev libbz2-dev freeglut3-dev qtcreator&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *.laas.fr&lt;br /&gt;
User pdcox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a joystick to control twog servo==&lt;br /&gt;
===PC-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the PC side we will send actuator commands two different ways: &lt;br /&gt;
&lt;br /&gt;
: 1. Running an ocaml application that listens to the joystick device and using a configuration file, will send ivy messages that get forwarded to the vehicle by the server.&lt;br /&gt;
: 2. Normal paparazzi settings mechanism (using settings dialog from paparazzi center running on PC) that sets corresponding variables on the vehicle.&lt;br /&gt;
&lt;br /&gt;
Running the joystick test program you can see which buttons do what:&lt;br /&gt;
(Note you have to run a make in the directory first to compile everything)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/paparazzi3/trunk/sw/ground_segment/joystick$ ./test_stick &lt;br /&gt;
Available button: 288 (0x120)&lt;br /&gt;
Available button: 289 (0x121)&lt;br /&gt;
Available button: 290 (0x122)&lt;br /&gt;
Available button: 291 (0x123)&lt;br /&gt;
Available button: 292 (0x124)&lt;br /&gt;
Available button: 293 (0x125)&lt;br /&gt;
Available button: 294 (0x126)&lt;br /&gt;
Available button: 295 (0x127)&lt;br /&gt;
Available button: 296 (0x128)&lt;br /&gt;
Available button: 297 (0x129)&lt;br /&gt;
Available button: 298 (0x12a)&lt;br /&gt;
Available button: 299 (0x12b)&lt;br /&gt;
Available axis: 0 (0x0)&lt;br /&gt;
Available axis: 1 (0x1)&lt;br /&gt;
Available axis: 2 (0x2)&lt;br /&gt;
Available axis: 5 (0x5)&lt;br /&gt;
Available axis: 16 (0x10)&lt;br /&gt;
Available axis: 17 (0x11)&lt;br /&gt;
Available axis: 40 (0x28)&lt;br /&gt;
Axis 0 : parameters = [0,255]&lt;br /&gt;
Axis 1 : parameters = [0,255]&lt;br /&gt;
Axis 2 : parameters = [0,255]&lt;br /&gt;
Axis 3 : parameters = [0,255]&lt;br /&gt;
Axis 4 : parameters = [-1,1]&lt;br /&gt;
Axis 5 : parameters = [-1,1]&lt;br /&gt;
Axis 6 : parameters = [0,255]&lt;br /&gt;
Input device name: &amp;quot;GreenAsia Inc.    USB Joystick     &amp;quot; on device &amp;quot;/dev/input/event6&amp;quot;&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 87 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 20 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 69 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 111 48 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 127 -64 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 32 -127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 -39 -69 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -117 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 40 -35 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 49 127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -53 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 8 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 84 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 -66 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | axis 47 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 59 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -105 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -78 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -99 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then creating an xml configuration file such as:&lt;br /&gt;
&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ medit ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
and now running the input2ivy ocaml application:&lt;br /&gt;
&lt;br /&gt;
 export PAPARAZZI_HOME=/home/paul/paparazzi3/trunk&lt;br /&gt;
 paparazzi3/trunk/sz/ground_segment/joystick/input2ivy -ac TJOVERO ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
running ivyprobe we can see the message getting transmitted:&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ ivyprobe '(.*)'&lt;br /&gt;
shows: &lt;br /&gt;
 Paparazzi joystick sent  'input2ivy SET_ACTUATOR 1496 2 3'&lt;br /&gt;
&lt;br /&gt;
but we have to make sure the server knows this message needs to be forwarded: in messages.xml the message should be labeled as &amp;quot;forwarded&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;SET_ACTUATOR&amp;quot; id=&amp;quot;100&amp;quot; link=&amp;quot;forwarded&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;value&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;no&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;ac_id&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To send settings use the actuators.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
    &amp;lt;dl_settings NAME=&amp;quot;Actuators&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[1]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[2]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[3]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[4]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[5]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[6]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan6&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[7]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/dl_settings&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Vehicle-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the vehicle side we are using a twog for hardware so we will use the setup_actuators target found in  /conf/autopilot/setup.makefile.&lt;br /&gt;
This makefile is used by the tiny.makefile which is used because we specify we're using the twog in twinjet_overo.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;ap&amp;quot; 			board=&amp;quot;twog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setup target is defined as follows in the airframe (twinjet_overo.xml):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; 		board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;setup_actuators&amp;quot; 	board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we were adding the joystick to the autopilot code we could instead add the following line to the firmware section:&lt;br /&gt;
: &amp;lt;subsystem name=&amp;quot;joystick&amp;quot;/&amp;gt;&lt;br /&gt;
but that's another project...&lt;br /&gt;
&lt;br /&gt;
Here's the setup.makefile section that worked for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setup_actuators.CFLAGS += -DFBW -DLED -DTIME_LED=1 -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&lt;br /&gt;
setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1 &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1&lt;br /&gt;
setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c pprz_transport.c downlink.c actuators.c setup_actuators.c $(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4017_hw.c main.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Activity_Log&amp;diff=9218</id>
		<title>Paul Cox Activity Log</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Activity_Log&amp;diff=9218"/>
		<updated>2011-03-29T14:13:24Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Spring 2011 =&lt;br /&gt;
&lt;br /&gt;
== February ==&lt;br /&gt;
&lt;br /&gt;
===Week 3===&lt;br /&gt;
&lt;br /&gt;
===Week 2===&lt;br /&gt;
* researched mt9v032/mt9v034 and omap3/omap4 camera interfaces&lt;br /&gt;
* looked at built-in lvds interface of cameras and MIPI CSI1 and CSI2 of omap&lt;br /&gt;
* Pierre will build an adapter board between his current dev board and gumstix connector&lt;br /&gt;
* Gumstix will release camera product next week (caspapx) but does not have exposure or led pins routed to gpio&lt;br /&gt;
* Continued hoku2gdhe app and put it on github (link on laserhawk page)&lt;br /&gt;
&lt;br /&gt;
===Week 1===&lt;br /&gt;
====3====&lt;br /&gt;
*Installed hokuyo driver on ubuntu netbook (&amp;quot;make&amp;quot; then &amp;quot;make install&amp;quot; from openrobots/sources/hardware/gbx-hokuyo-aist, required some [http://homepages.laas.fr/bvandepo/wiki/ tweaks])&lt;br /&gt;
*compiled and installed MTI drivers, opencv&lt;br /&gt;
*Compiled Bertrand's qt-creator project app (mac issues) and &amp;quot;test Windows&amp;quot; app (hokuyo &amp;amp; MTi to gdhe)&lt;br /&gt;
&lt;br /&gt;
====2====&lt;br /&gt;
[[Image:MTI_testing.png|thumb|MTi/MTi-G testing results]]&lt;br /&gt;
*Morning outside with Cyril and Bertrand gathering MTI and MTI-G data to check stability of data with new drivers&lt;br /&gt;
*Afternoon continuing project documentation : drawing geometry figures&lt;br /&gt;
====1====&lt;br /&gt;
First Day&lt;br /&gt;
* will use qt-creator for development&lt;br /&gt;
** all code should compile for multiple target types&lt;br /&gt;
*** on host-pc (linux or mac) with graphical/visualizations for debugging with real or simulated sensors through logging&lt;br /&gt;
*** on gumstix (headless and with sensors)&lt;br /&gt;
&lt;br /&gt;
*Bertrand set up Xsens MTI/MTI-G testing with Cyril for tomorrow&lt;br /&gt;
** We'll get on the roof and see if the MTI-G attitude estimates are as stable as those seen with MTI previously&lt;br /&gt;
&lt;br /&gt;
*Installed openrobots and started learning opengl and gdhe&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libxpm-dev swig libxmu-dev libxt-dev apt-file libxt6 libxt-dev pax tar tcl-dev tk-dev libbz2-dev freeglut3-dev qtcreator&lt;br /&gt;
mkdir openrobots&lt;br /&gt;
cd openrobots/&lt;br /&gt;
git clone http://softs.laas.fr/git/robots/robotpkg.git sources&lt;br /&gt;
cd sources/bootstrap/&lt;br /&gt;
./bootstrap --prefix=/home/paul/openrobots&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://homepages.laas.fr/bvandepo/wiki/lib/exe/fetch.php?hash=a9aa61&amp;amp;media=http%3A%2F%2Fhomepages.laas.fr%2Fbvandepo%2Fdata%2Ftp1syntheseimageopenGL.zip bertrand_opengl ]&lt;br /&gt;
&lt;br /&gt;
*Draft list of priorities/goals; see [[laserhawk]] page&lt;br /&gt;
**Put XSens and Hokuyo on boom and record laser and attitude data&lt;br /&gt;
**Camera images useful for initial laser/attitude debugging and potentially later for vision processing&lt;br /&gt;
**Represent 3D data in graphical interface (opengl/gdhe)&lt;br /&gt;
&lt;br /&gt;
*Need to write up system architecture and general method formally&lt;br /&gt;
** Show geometries / perspectives / etc&lt;br /&gt;
** Link to all relevant documentation&lt;br /&gt;
** more&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Summer 2010 = &lt;br /&gt;
&lt;br /&gt;
Develop beth  detailed on [[Beth Test Bench]] page and overo/twog com detailed on [[overo]] page.&lt;br /&gt;
&lt;br /&gt;
==Sept 30 ==&lt;br /&gt;
&lt;br /&gt;
Put together notes for using PC joystick to control servos on twog (see [[Paul Cox Notes]])&lt;br /&gt;
&lt;br /&gt;
== Aug 4 ==&lt;br /&gt;
&lt;br /&gt;
Some parameters I'm now using on beth:&lt;br /&gt;
&lt;br /&gt;
: link -udp -transport pprz2&lt;br /&gt;
: server -no_md5_check option&lt;br /&gt;
: settings  -ac BETH&lt;br /&gt;
&lt;br /&gt;
other useful stuff:&lt;br /&gt;
&lt;br /&gt;
: ivyprobe '(.*)'&lt;br /&gt;
: export PPRZ_DEBUG='*'&lt;br /&gt;
: export PAPARAZZI_HOME=/home/paul/paparazzi3/trunk&lt;br /&gt;
: export PAPARAZZI_SRC=/home/paul/paparazzi3/trunk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= June 2010 = &lt;br /&gt;
&lt;br /&gt;
== June 23 ==&lt;br /&gt;
&lt;br /&gt;
Compile beth projects :&lt;br /&gt;
&lt;br /&gt;
main overo - reads/writes SPI&lt;br /&gt;
main_stm32 - runs on lisa STM. fetches values on I2C from olimex board, sends to overo&lt;br /&gt;
main_coders - runs on Olimex header board. samples ADCs sends messages out of UART for debug and I2C slave&lt;br /&gt;
&lt;br /&gt;
Seeing issue where lisa stm32 crashes randomly. seems to occur less often if periodic loop less frequent (for example reduce from 512 to 256 or 64)&lt;br /&gt;
&lt;br /&gt;
attempt to debug with logic analyzer from saleae.com&lt;br /&gt;
&lt;br /&gt;
== June 22 ==&lt;br /&gt;
&lt;br /&gt;
Finish Beth schem/pcb take to ENAC with steel axle&lt;br /&gt;
&lt;br /&gt;
available from:&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/enac-lara/source/browse/#svn/trunk/paul/beth&lt;br /&gt;
&lt;br /&gt;
== June 21 ==&lt;br /&gt;
&lt;br /&gt;
=== rt2780usb ===&lt;br /&gt;
&lt;br /&gt;
Tried to get rt2780usb wifi dongle working with lisa, no luck : the adapter is recognized at some level as I get the following messages : &lt;br /&gt;
&lt;br /&gt;
output from gumstix&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usb 1-1.4: new high speed USB device using musb_hdrc and address 6&lt;br /&gt;
&lt;br /&gt;
usb 1-1.4: New USB device found, idVendor=7392, idProduct=7711&lt;br /&gt;
usb 1-1.4&lt;br /&gt;
: New USB device strings: Mfr=1, Product=2, SerialNumber=3&lt;br /&gt;
usb 1-1.4: Product: 802.11 n WLAN&lt;br /&gt;
usb 1-1.4: Manufacturer: Ralink&lt;br /&gt;
usb 1-1.4: SerialNumber: 1.0&lt;br /&gt;
&lt;br /&gt;
lsmod output:&lt;br /&gt;
&lt;br /&gt;
Module                  Size  Used by&lt;br /&gt;
ipv6                  219420  1&lt;br /&gt;
0 &lt;br /&gt;
rt73usb                20604  0 &lt;br /&gt;
rt2x00usb               9154  1 rt73usb&lt;br /&gt;
sg                     21442  0 &lt;br /&gt;
rt2x00lib              26540  2 rt73usb,rt2x00usb&lt;br /&gt;
ads7846                 8395  0 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
output from karmic pc:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[221517.285099] usb 1-4: new high speed USB device using ehci_hcd and address 62&lt;br /&gt;
[221517.440249] usb 1-4: configuration #1 chosen from 1 choice&lt;br /&gt;
[221517.476238] phy8: Selected rate control algorithm 'minstrel'&lt;br /&gt;
[221517.481524] Registered led device: rt2800usb-phy8::radio&lt;br /&gt;
[221517.481663] Registered led device: rt2800usb-phy8::assoc&lt;br /&gt;
[221517.481793] Registered led device: rt2800usb-phy8::quality&lt;br /&gt;
[221518.171887] udev: renamed network interface wlan0 to wlan13&lt;br /&gt;
[221518.213665] rt2800usb 1-4:1.0: firmware: requesting rt2870.bin&lt;br /&gt;
[221518.746845] ADDRCONF(NETDEV_UP): wlan13: link is not ready&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the adapter works perfectly on my karmic pc and I noticed that there a firmware bin file was being requested, i copied it over to the gumstix in /lib/firmware but still no luck. I tried the latest prebuilt binary image (June 18) from gumstix and still the same behavior. Perhaps I need to configure something...&lt;br /&gt;
&lt;br /&gt;
=== USB OTG as host testing ===&lt;br /&gt;
&lt;br /&gt;
Interfaced a hub to the USB OTG port. bridge the ID pin to GND and run USB+/- and VBUS to the hub. Supposedly hot-swapping is not supported (must boot with device plugged in already) but that could be an old issue and that works now.&lt;br /&gt;
&lt;br /&gt;
== June 17 ==&lt;br /&gt;
&lt;br /&gt;
Setting up paparazzi source and OpenEmbedded to compile for LISA:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install paparazzi-stm32&lt;br /&gt;
 sudo apt-get install gtkterm&lt;br /&gt;
&lt;br /&gt;
 ls .ssh/id_rsa.pub&lt;br /&gt;
 cat .ssh/id_rsa.pub&lt;br /&gt;
&lt;br /&gt;
 vi /home/paul/.subversion/servers&lt;br /&gt;
 =====================================&lt;br /&gt;
 Uncommented :&lt;br /&gt;
 [groups]&lt;br /&gt;
 group1 = *&lt;br /&gt;
&lt;br /&gt;
 ### Information for the first group:&lt;br /&gt;
 [group1]&lt;br /&gt;
 http-proxy-host = squid&lt;br /&gt;
 http-proxy-port = 3128&lt;br /&gt;
 =====================================&lt;br /&gt;
&lt;br /&gt;
svn co svn+ssh://paulcox@svn.savannah.nongnu.org/paparazzi/paparazzi3&lt;br /&gt;
&lt;br /&gt;
cd trunk&lt;br /&gt;
make&lt;br /&gt;
cd paparazzi3/conf/&lt;br /&gt;
ls&lt;br /&gt;
gedit conf.xml&lt;br /&gt;
vi conf/airframes/Poine/booz2_a7.xml&lt;br /&gt;
vi conf/autopilot/lisa_test_progs.makefile &lt;br /&gt;
vi conf/Makefile.omap&lt;br /&gt;
sudo cp conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/&lt;br /&gt;
sudo /etc/init.d/udev restart&lt;br /&gt;
sudo vi /opt/paparazzi/stm32/share/openocd/scripts/interface/openocd-lisa-jtag.cfg&lt;br /&gt;
make AIRCRAFT=BOOZ2_A7 test_led.upload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vi conf/airframes/Poine/beth.xml&lt;br /&gt;
&lt;br /&gt;
make AIRCRAFT=BOOZ2_A7 overo_test_periodic.upload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
make AIRCRAFT=BETH overo_test_link_stm.upload&lt;br /&gt;
ssh-copy-id paul@auto7&lt;br /&gt;
ssh auto7&lt;br /&gt;
./overo_test_link_stm.elf &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used gtkterm to connect to ttyUSB0/1? to connect to Overo console. login as root with no password. ran dhclient wlan0.&lt;br /&gt;
&lt;br /&gt;
= Jan 2010 = &lt;br /&gt;
&lt;br /&gt;
Had to pack up all my stuff this summer and just now starting to get back into UAVing. First on the list is to get a plane in the air. I brought most my electronics with me, and the lab is letting me use a foam plane so I should be flying soon. I'm also hoping to start on quadrotors so I can get more familiar with them and help document it. Other things on the task list: Design a tiny with an overo SPI connection.&lt;br /&gt;
&lt;br /&gt;
= Nov 2008 - Jan 2009 =&lt;br /&gt;
&lt;br /&gt;
== Installing Software on Ubuntu Intrepid Ibex 8.10 ==&lt;br /&gt;
&lt;br /&gt;
Used CVS to download &amp;quot;paparazzi3&amp;quot;. also discovered Booz guys are using svn and that repository is called &amp;quot;paparazzi4&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Read the wiki multiple times through, built everything acording to instructions, and fired off the program which seems to run in simulator mode, although I'm currently not seeing any action when I hit the &amp;quot;Launch&amp;quot; button. I probably haven't read something important somewhere...&lt;br /&gt;
&lt;br /&gt;
==Gather hardware:==&lt;br /&gt;
&lt;br /&gt;
Looked at the hardware designs in CVS to see if I wanted to customize a design or build one of the &amp;quot;released&amp;quot; designs. In summary, the current things folks are building and using are:&lt;br /&gt;
&lt;br /&gt;
=== Autopilots ===&lt;br /&gt;
&lt;br /&gt;
* Tiny 1.3   - ARM processor and GPS on 4 layer PCB with 0402. Benefits: smaller and 4 layers is more reliable Drawbacks: Design is older and has evolved so there are some missing feature and maybe some issues (Insert more specifics here as I learn them) &lt;br /&gt;
* Tiny 2.11	- ARM processor and GPS on 2 layer PCB with 0603 SMT devices.&lt;br /&gt;
* TWOG	- Tiny 2.11 without GPS. I assume people want to branch out and use different GPS and not just the u-blox stuff. Also I see mention that some people want to mount GPS hardware some place different on their airframe than where the autopilot resides.&lt;br /&gt;
* Booz	- Some very exciting quadrotor developments. HW Design not checked yet as there's some errata that someone feels like needs to be fixed before it is commited.&lt;br /&gt;
&lt;br /&gt;
=== Sensors ===&lt;br /&gt;
&lt;br /&gt;
* Single Axis IR - For two Melexis thermopiles &lt;br /&gt;
* Dual Axis IR - For four Melexis thermopiles&lt;br /&gt;
* GPS board - A PCB to hold just a GPS and an antenna. For use with TWOG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Looked at how much to have the PCBs fab'ed by quick turn board house, but unless you order 25 or more PCBs you're better off buying from the listed vendors. I went with PPZUAV: &lt;br /&gt;
&lt;br /&gt;
* single IR PCB $8&lt;br /&gt;
* Dual IR PCB $8&lt;br /&gt;
* Tiny 1.3 PCB $9.95&lt;br /&gt;
* Tiny 2.11 PCB $5&lt;br /&gt;
&lt;br /&gt;
$6.80 shipping (California to Washington)&lt;br /&gt;
&lt;br /&gt;
I check first to make sure all was in stock, and David replied that it was. Order took a couple days to process and a few days for the post office to deliver the priority lettter. PCBs arrived in a little padded envelope and even though I knew the dimensions before, I was surprised at how small they are in the flesh.&lt;br /&gt;
&lt;br /&gt;
Components were mostly from Digikey:&lt;br /&gt;
TI DC/DC was only available in SMT and no shotkeys.&lt;br /&gt;
&lt;br /&gt;
Complete List:&lt;br /&gt;
(insert spreadsheet here)&lt;br /&gt;
&lt;br /&gt;
Mouser had the switching DC/DC in through-hole and shotky diode so put in an order with them as well:&lt;br /&gt;
&lt;br /&gt;
Of note: Looked for GPS modules and antenna and found some items of interest. A Tyco GPS module with a built in antenna for $60 []. Also antenna []. &lt;br /&gt;
&lt;br /&gt;
Different center frequencies are available 1575 MHz and 1579 MHz, but googling seems to show that 1575 is the main GPS freq. Not sure what 1579 is useful for, but it kinda looks like the one paparazzi recommends from their testing is centered at 1579 so I must be missing something.&lt;br /&gt;
&lt;br /&gt;
Complete List:&lt;br /&gt;
(insert spreadsheet here)&lt;br /&gt;
&lt;br /&gt;
While waiting for all the hw to arrive, built a wireless GPS device:&lt;br /&gt;
&lt;br /&gt;
===Main components:===&lt;br /&gt;
&lt;br /&gt;
* Wireless modem: XBee Pro 802.15.4 (XBP-24-AUI)&lt;br /&gt;
* GPS: &lt;br /&gt;
* Battery: 2S Lipo (gutted Axim x50v battery, rewired from parallel to series)&lt;br /&gt;
* Antenna: Some rpsma? wifi antenna I had laying around with a u.fl connector/pigtail.&lt;br /&gt;
&lt;br /&gt;
===Other components===&lt;br /&gt;
*TI DC/DC converter (same as used on tiny)&lt;br /&gt;
*100uF tantalum capacitor (TI DC/DC conv requires this on the input)&lt;br /&gt;
*SPDT toggle switch&lt;br /&gt;
*Samtec mating connector for GPS&lt;br /&gt;
*kynar wire&lt;br /&gt;
*plastic box and some thin model plywood for a case&lt;br /&gt;
&lt;br /&gt;
Receiver is another XBee Pro in a USB carrier board. The XBee Pro has a wire antenna (XBP-24-?UI). Looking back I should have ordered with the RP-SMA so I can put some coax on there to a big honkin' antenna to improve range.&lt;br /&gt;
&lt;br /&gt;
==Build process:==&lt;br /&gt;
Main obstacle here is the fine pitch connector on the GPS module.&lt;br /&gt;
&lt;br /&gt;
XBee Pro and the GPS module are 3.3V devices. For the TI DC/DC used on Tiny to produce 3.3V a 1.87kOhm resistor is needed an input capacitor of 100uF is needed. I wired up all these components&lt;br /&gt;
&lt;br /&gt;
==Bring up process:==&lt;br /&gt;
&lt;br /&gt;
Getting things talking was suprisingly easy. XBee devices come pre-programmed and configured for transparent mode at 9600bps. There's destination and source addresses and all sorts of configurable stuff, but out of the box two XBee will just find and talk to each other (great job guys!). Transparent mode basically means that both the devices send traffic to each other transparently, so essentially the end devices don't need to know anything since the XBees just look like a wire. &lt;br /&gt;
&lt;br /&gt;
The GPS module provides NMEA data at 4800 baud so I needed to reconfigure the XBees for that lower baud rate (I may not have needed to do both, but I did anyways). Doing that involves getting out of transparent mode and into command mode (done by sending characters &amp;quot;+++&amp;quot;) at which point a few &amp;quot;AT&amp;quot; commands are used to change the rate and save the setting to non-volatile memory. &lt;br /&gt;
&lt;br /&gt;
By the way, Digi also makes a windows application available called &amp;quot;X-CTU&amp;quot; which is very useful. It will test communication with your XBee device, read/write the module's settings, and has two other very useful modes: A range test mode where the the Xbee on the far side of the link has had it's &lt;br /&gt;
&lt;br /&gt;
RX/TX pins wired together for loopback and signal strength is displayed; and a terminal emulator that works nicely (I had a heck of a time finding a good terminal program that worked with my COM26 device, looked good, and was easy to use. No matter how much .ini hacking I did I couldn't get teraterm to look beyond 4 ports).&lt;br /&gt;
&lt;br /&gt;
So first to validate that my DC/DC is providing power and the GPS works, I hooked up a GPS to a serial/USB converter (from acroname) to the GPS RX/TX pins and plugged the USB cable into my laptop. Turn on power and sure enough, lots of NMEA looking stuff spews forth. Next rewired the GPS to the XBee and plugged the USB/XBee device into the laptop and, voila, same data shows up as before but this time the GPS device is totally wireless.&lt;br /&gt;
&lt;br /&gt;
Now I wanted to get more than just a bunch of NMEA strings on a terminal window, I wanted to see the position in google earth or google maps. I bought the plus version of google earth and had used it with my Garmin Etrex Vista successfully, but it turns out that it doesn't work directly with an NMEA COM port based device (at least for me). Instead, there are a number of folks out there that provide little command line programs that open the com port and crank the data out in xml via http socket. Google earth can open a network location.&lt;br /&gt;
&lt;br /&gt;
=== Tiny v2.11 Assembly Process ===&lt;br /&gt;
&lt;br /&gt;
Once all parts arrive: sorting components and getting BOM and component placement references ready for use. Wiki has all this info nicely laid out.&lt;br /&gt;
&lt;br /&gt;
* PCB silkscreen and wiki image (http://paparazzi.enac.fr/wiki_images/Tiny_v2-1_2D_top.jpg) have LED1 and LED2 reversed. Not sure which is correct yet.&lt;br /&gt;
&lt;br /&gt;
Since there's more components on the CPU side, that's the side I populate first. Starting with smallest components to largest makes assembly the fastest. &lt;br /&gt;
&lt;br /&gt;
Once all components mounted and the input power wires are soldered, time to apply power. I used a benchtop power supply so I could monitor current.&lt;br /&gt;
&lt;br /&gt;
With a voltage input of 7.0V, current should be around 50? mA. &lt;br /&gt;
&lt;br /&gt;
Now attach IR sensor boards and USB connector along with wires for other interfaces (serial, download, rc receiver -- I'm waiting before doing servo wires to keep things tidy until later)&lt;br /&gt;
&lt;br /&gt;
First order of business is to download USB bootloader over the serial port. This uses the &amp;quot;Download&amp;quot; serial port so you have to disable the GPS, but I hadn't populated it yet so didn't have to bother with disabling it.&lt;br /&gt;
&lt;br /&gt;
Now that there's a USB bootloader, downloading code into Tiny just requires plugging in the USB cable, powering up, and sending the code (which is either done with a &amp;quot;make&amp;quot; command or pressing the &amp;quot;Upload&amp;quot; button in Paparazzi Center.&lt;br /&gt;
&lt;br /&gt;
Now to run a simple program: LED test. Some nice instructions on getting this going are [here].&lt;br /&gt;
&lt;br /&gt;
All goes well and three LEDs are blinking.&lt;br /&gt;
&lt;br /&gt;
Now download autopilot code. A direct connection of the serial port to a USB-serial adapter plugged into my PC relays the telemetry data. Firing Paparazzi Center and executing the session &amp;quot;Flight USB-serial@9600&amp;quot; shows battery voltage so I'm up and running.&lt;br /&gt;
&lt;br /&gt;
Now I attach the IR boards&lt;br /&gt;
&lt;br /&gt;
== Mounting ==&lt;br /&gt;
[[Messy Hardware]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PDC_Tiny21_mounted1.jpg|thumb|Mounted Tiny]]&lt;br /&gt;
[[Image:PDC_Tiny21_mounted2.jpg|thumb|Mounted Tiny]]&lt;br /&gt;
&lt;br /&gt;
Things are getting sloppy and afraid something will short and fry, so it's time to mount things to get things under control. I had some plastic cases that some lenses came in which happen to be just the right size. Tiny, my 2S lipo, and an XBee fit in one side perfectly, and the other side can be used for extra wires, the USB connector, power switch, and the RC Receiver. The IR sensors are hot-glued on the exterior using a little balsa. Probably won't be useful when it comes time to fly, but it's compact and sturdy which is what I need until I'm ready to start thinking about flying...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
I started with the funjet1.xml airframe file because I read others use that with the Tiny2.11. I don't plan to use a dual elevon plane (instead will do a standard rudder/elevator/ailerons setup) so will have to make lots of changes -- not a bad way to learn how things work... The [http://paparazzi.enac.fr/wiki/Airframe_Configuration Airframe Configuration] page is a great help here.&lt;br /&gt;
&lt;br /&gt;
* Battery voltage - The default looks to be setup for a 3S battery and perhaps my resistor devider resistors aren't the right values, so GCS reports incorrect battery voltage. Instead of hunting through the code I vary the voltage on my power supply, watch the output, and empiracally find the correct values to set:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;section name=&amp;quot;BAT&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;MILLIAMP_PER_PERCENT&amp;quot; value=&amp;quot;0.86&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;VOLTAGE_ADC_A&amp;quot; value=&amp;quot;0.0245&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;VOLTAGE_ADC_B&amp;quot; value=&amp;quot;0.1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;VoltageOfAdc(adc)&amp;quot; value =&amp;quot;(VOLTAGE_ADC_A * adc + VOLTAGE_ADC_B)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;CATASTROPHIC_BAT_LEVEL&amp;quot; value=&amp;quot;6.4&amp;quot; unit=&amp;quot;V&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;CRITIC_BAT_LEVEL&amp;quot; value=&amp;quot;6.8&amp;quot; unit=&amp;quot;V&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;LOW_BAT_LEVEL&amp;quot; value=&amp;quot;7.0&amp;quot; unit=&amp;quot;V&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;MAX_BAT_LEVEL&amp;quot; value=&amp;quot;8.4&amp;quot; unit=&amp;quot;V&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* IR: &lt;br /&gt;
**Mode - I change from to tilted to aligned mode because tilted mode seems weird.  &lt;br /&gt;
remove:&lt;br /&gt;
  &amp;lt;define name=&amp;quot;HORIZ_SENSOR_TILTED&amp;quot; value=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
add:&lt;br /&gt;
  &amp;lt;define name=&amp;quot;HORIZ_SENSOR_ALIGNED&amp;quot; value=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
**Neutrals - The &amp;quot;cupboard test&amp;quot; shows the neutral values are pretty close already. &lt;br /&gt;
&lt;br /&gt;
**Direction - Tilting the sytem around, I see that one of the axes is reversed so I set IR2_SIGN and TOP_SIGN values accordingly:&lt;br /&gt;
&lt;br /&gt;
insert here&lt;br /&gt;
&lt;br /&gt;
** GPS - For LEA-5H u-blox module: add -DGPS_USE_LATLONG in makefile portion of airframe xml file as per instructions on wiki []. I still get some error messages, but they stop after a few seconds and all seems to work.&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9217</id>
		<title>Paul Cox Notes</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9217"/>
		<updated>2011-03-29T14:08:22Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LISTS =&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Paul's Links&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! 2 !! 3 !! 4 !! 5&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[[Community_Flight_Log_Archive]]&lt;br /&gt;
||&lt;br /&gt;
[[Paul_Cox_Activity_Log]]&lt;br /&gt;
||&lt;br /&gt;
[[User:PaulCox]]&lt;br /&gt;
||&lt;br /&gt;
[[Lisa_Logitech_Camera]]&lt;br /&gt;
||&lt;br /&gt;
[[Rt3070usb]]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
[[http://paparazzi.enac.fr/wiki/Qwip]]&lt;br /&gt;
||&lt;br /&gt;
[[ArduIMU]]&lt;br /&gt;
||&lt;br /&gt;
[[Laserhawk]]&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || build virtual world scan in hoku2gdhe || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Install MTi-G driver on laptop || MTIHardTest -v &amp;lt;params&amp;gt; &amp;gt;&amp;gt; out.txt stores to disk || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Get test scans from rooftop || one night scan acquired. need day scans and higher scans (and faster) || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Design MIPI/I2C camera board || sketches ready, Pierre doing orcad and ordering || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Design/Build hokuyo/MTIG box/mounting cage || Build at Bertrand's place or ENAC || x || Not started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Get openembedded running on laptop || laptop too slow || x || Waiting for new PC &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==PERSO TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ PERSONAL TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || Get minimag flying || tuneup done, need some glue then ready for maiden || [[User:Paulcox|Paulcox]] 10:33, 17 February 2011 (CET) || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Slowstick flying || First arduimu flights done, issues due to auto2 probably due to flight plan altitues, need to study logs || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Flash ardupimu and get ap compiling || methodology posted on [[ArduIMU]] page || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Test xbeepro868 performance || XCTU loopback at 9600 shows 80-90%, with basic telemetry was seeing huge (10-15 sec) delay (was looking at attitude messages), short flights at 57600 ok so far|| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Test loss of IR contrast || works in simulation, need to test in real || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Adjust Beth opamp gains || for increased precision || x || Do it slacker &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || Try Web-based GCS || qwip checked in, need to try pow ||| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Improve altitude control loop || issue with hard boundary between PI and constant regions || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || Some camera stabilization || Read gimbal servo positions via pot tap to ADC || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 10 || Try then document item drop capability || one of the checked in enac flight plans does this || x || not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 11 || Paparazzi Documentation || Started outlining [http://paparazzi.enac.fr/wiki/Documentation_Needed here] || x || Stalled &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 12 || try pan/tilt code || x || x || no started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 13 || get log archive ready || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 14 || redo joystick control setup || look at chris' stuff he send || x || Not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 15 || potentially merge tiny/overo i2c com code from tobias || x || x || In progress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BUY BUY BUY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ WISH LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Price !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || RC Transmitter (PPM and 2.4GHz) || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Overo Camera || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Lisa board || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || I2C motor controllers  || need 4 to finish quad || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || New laptop || x || x || Keep dreaming &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || XBeePro868 || Need a third one to test point to multi-point || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || RazorIMU || For testing || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Minimag || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IDEAS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ IDEA LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Random Notes=&lt;br /&gt;
&lt;br /&gt;
== ubuntu packages ==&lt;br /&gt;
&lt;br /&gt;
===Utilities===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install medit gtk-term git-core ssh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===paparazzi===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paparazzi-dev paparazzi-stm32 paparazzi-arm7 paparazzi-omap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===perl modules===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CGI webserver===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install boa &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===openrobots===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libbz2-dev pax cmake automake autoconf doxygen libgl1-mesa-dev libglu1-mesa-dev tcl-dev tk-dev libjpeg-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *.laas.fr&lt;br /&gt;
User pdcox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a joystick to control twog servo==&lt;br /&gt;
===PC-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the PC side we will send actuator commands two different ways: &lt;br /&gt;
&lt;br /&gt;
: 1. Running an ocaml application that listens to the joystick device and using a configuration file, will send ivy messages that get forwarded to the vehicle by the server.&lt;br /&gt;
: 2. Normal paparazzi settings mechanism (using settings dialog from paparazzi center running on PC) that sets corresponding variables on the vehicle.&lt;br /&gt;
&lt;br /&gt;
Running the joystick test program you can see which buttons do what:&lt;br /&gt;
(Note you have to run a make in the directory first to compile everything)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/paparazzi3/trunk/sw/ground_segment/joystick$ ./test_stick &lt;br /&gt;
Available button: 288 (0x120)&lt;br /&gt;
Available button: 289 (0x121)&lt;br /&gt;
Available button: 290 (0x122)&lt;br /&gt;
Available button: 291 (0x123)&lt;br /&gt;
Available button: 292 (0x124)&lt;br /&gt;
Available button: 293 (0x125)&lt;br /&gt;
Available button: 294 (0x126)&lt;br /&gt;
Available button: 295 (0x127)&lt;br /&gt;
Available button: 296 (0x128)&lt;br /&gt;
Available button: 297 (0x129)&lt;br /&gt;
Available button: 298 (0x12a)&lt;br /&gt;
Available button: 299 (0x12b)&lt;br /&gt;
Available axis: 0 (0x0)&lt;br /&gt;
Available axis: 1 (0x1)&lt;br /&gt;
Available axis: 2 (0x2)&lt;br /&gt;
Available axis: 5 (0x5)&lt;br /&gt;
Available axis: 16 (0x10)&lt;br /&gt;
Available axis: 17 (0x11)&lt;br /&gt;
Available axis: 40 (0x28)&lt;br /&gt;
Axis 0 : parameters = [0,255]&lt;br /&gt;
Axis 1 : parameters = [0,255]&lt;br /&gt;
Axis 2 : parameters = [0,255]&lt;br /&gt;
Axis 3 : parameters = [0,255]&lt;br /&gt;
Axis 4 : parameters = [-1,1]&lt;br /&gt;
Axis 5 : parameters = [-1,1]&lt;br /&gt;
Axis 6 : parameters = [0,255]&lt;br /&gt;
Input device name: &amp;quot;GreenAsia Inc.    USB Joystick     &amp;quot; on device &amp;quot;/dev/input/event6&amp;quot;&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 87 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 20 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 69 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 111 48 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 127 -64 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 32 -127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 -39 -69 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -117 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 40 -35 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 49 127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -53 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 8 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 84 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 -66 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | axis 47 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 59 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -105 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -78 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -99 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then creating an xml configuration file such as:&lt;br /&gt;
&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ medit ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
and now running the input2ivy ocaml application:&lt;br /&gt;
&lt;br /&gt;
 export PAPARAZZI_HOME=/home/paul/paparazzi3/trunk&lt;br /&gt;
 paparazzi3/trunk/sz/ground_segment/joystick/input2ivy -ac TJOVERO ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
running ivyprobe we can see the message getting transmitted:&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ ivyprobe '(.*)'&lt;br /&gt;
shows: &lt;br /&gt;
 Paparazzi joystick sent  'input2ivy SET_ACTUATOR 1496 2 3'&lt;br /&gt;
&lt;br /&gt;
but we have to make sure the server knows this message needs to be forwarded: in messages.xml the message should be labeled as &amp;quot;forwarded&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;SET_ACTUATOR&amp;quot; id=&amp;quot;100&amp;quot; link=&amp;quot;forwarded&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;value&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;no&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;ac_id&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To send settings use the actuators.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
    &amp;lt;dl_settings NAME=&amp;quot;Actuators&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[1]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[2]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[3]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[4]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[5]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[6]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan6&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[7]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/dl_settings&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Vehicle-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the vehicle side we are using a twog for hardware so we will use the setup_actuators target found in  /conf/autopilot/setup.makefile.&lt;br /&gt;
This makefile is used by the tiny.makefile which is used because we specify we're using the twog in twinjet_overo.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;ap&amp;quot; 			board=&amp;quot;twog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setup target is defined as follows in the airframe (twinjet_overo.xml):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; 		board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;setup_actuators&amp;quot; 	board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we were adding the joystick to the autopilot code we could instead add the following line to the firmware section:&lt;br /&gt;
: &amp;lt;subsystem name=&amp;quot;joystick&amp;quot;/&amp;gt;&lt;br /&gt;
but that's another project...&lt;br /&gt;
&lt;br /&gt;
Here's the setup.makefile section that worked for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setup_actuators.CFLAGS += -DFBW -DLED -DTIME_LED=1 -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&lt;br /&gt;
setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1 &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1&lt;br /&gt;
setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c pprz_transport.c downlink.c actuators.c setup_actuators.c $(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4017_hw.c main.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9216</id>
		<title>Paul Cox Notes</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9216"/>
		<updated>2011-03-29T13:51:14Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* ubuntu packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LISTS =&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Paul's Links&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! 2 !! 3 !! 4 !! 5&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[[Community_Flight_Log_Archive]]&lt;br /&gt;
||&lt;br /&gt;
[[Paul_Cox_Activity_Log]]&lt;br /&gt;
||&lt;br /&gt;
[[User:PaulCox]]&lt;br /&gt;
||&lt;br /&gt;
[[Lisa_Logitech_Camera]]&lt;br /&gt;
||&lt;br /&gt;
[[Rt3070usb]]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
[[http://paparazzi.enac.fr/wiki/Qwip]]&lt;br /&gt;
||&lt;br /&gt;
[[ArduIMU]]&lt;br /&gt;
||&lt;br /&gt;
[[Laserhawk]]&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || build virtual world scan in hoku2gdhe || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Install MTi-G driver on laptop || MTIHardTest -v &amp;lt;params&amp;gt; &amp;gt;&amp;gt; out.txt stores to disk || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Get test scans from rooftop || one night scan acquired. need day scans and higher scans (and faster) || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Design MIPI/I2C camera board || sketches ready, Pierre doing orcad and ordering || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Design/Build hokuyo/MTIG box/mounting cage || Build at Bertrand's place or ENAC || x || Not started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Get openembedded running on laptop || laptop too slow || x || Waiting for new PC &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==PERSO TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ PERSONAL TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || Get minimag flying || tuneup done, need some glue then ready for maiden || [[User:Paulcox|Paulcox]] 10:33, 17 February 2011 (CET) || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Slowstick flying || First arduimu flights done, issues due to auto2 probably due to flight plan altitues, need to study logs || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Flash ardupimu and get ap compiling || methodology posted on [[ArduIMU]] page || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Test xbeepro868 performance || XCTU loopback at 9600 shows 80-90%, with basic telemetry was seeing huge (10-15 sec) delay (was looking at attitude messages), short flights at 57600 ok so far|| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Test loss of IR contrast || works in simulation, need to test in real || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Adjust Beth opamp gains || for increased precision || x || Do it slacker &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || Try Web-based GCS || qwip checked in, need to try pow ||| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Improve altitude control loop || issue with hard boundary between PI and constant regions || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || Some camera stabilization || Read gimbal servo positions via pot tap to ADC || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 10 || Try then document item drop capability || one of the checked in enac flight plans does this || x || not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 11 || Paparazzi Documentation || Started outlining [http://paparazzi.enac.fr/wiki/Documentation_Needed here] || x || Stalled &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 12 || try pan/tilt code || x || x || no started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 13 || get log archive ready || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 14 || redo joystick control setup || look at chris' stuff he send || x || Not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 15 || potentially merge tiny/overo i2c com code from tobias || x || x || In progress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BUY BUY BUY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ WISH LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Price !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || RC Transmitter (PPM and 2.4GHz) || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Overo Camera || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Lisa board || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || I2C motor controllers  || need 4 to finish quad || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || New laptop || x || x || Keep dreaming &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || XBeePro868 || Need a third one to test point to multi-point || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || RazorIMU || For testing || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Minimag || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IDEAS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ IDEA LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Random Notes=&lt;br /&gt;
&lt;br /&gt;
== ubuntu packages ==&lt;br /&gt;
&lt;br /&gt;
===Utilities===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install medit gtk-term git-core ssh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===paparazzi===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paparazzi-dev paparazzi-stm32 paparazzi-arm7 paparazzi-omap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===perl modules===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CGI webserver===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install boa &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===openrobots===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libbz2-dev pax cmake automake autoconf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *.laas.fr&lt;br /&gt;
User pdcox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a joystick to control twog servo==&lt;br /&gt;
===PC-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the PC side we will send actuator commands two different ways: &lt;br /&gt;
&lt;br /&gt;
: 1. Running an ocaml application that listens to the joystick device and using a configuration file, will send ivy messages that get forwarded to the vehicle by the server.&lt;br /&gt;
: 2. Normal paparazzi settings mechanism (using settings dialog from paparazzi center running on PC) that sets corresponding variables on the vehicle.&lt;br /&gt;
&lt;br /&gt;
Running the joystick test program you can see which buttons do what:&lt;br /&gt;
(Note you have to run a make in the directory first to compile everything)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/paparazzi3/trunk/sw/ground_segment/joystick$ ./test_stick &lt;br /&gt;
Available button: 288 (0x120)&lt;br /&gt;
Available button: 289 (0x121)&lt;br /&gt;
Available button: 290 (0x122)&lt;br /&gt;
Available button: 291 (0x123)&lt;br /&gt;
Available button: 292 (0x124)&lt;br /&gt;
Available button: 293 (0x125)&lt;br /&gt;
Available button: 294 (0x126)&lt;br /&gt;
Available button: 295 (0x127)&lt;br /&gt;
Available button: 296 (0x128)&lt;br /&gt;
Available button: 297 (0x129)&lt;br /&gt;
Available button: 298 (0x12a)&lt;br /&gt;
Available button: 299 (0x12b)&lt;br /&gt;
Available axis: 0 (0x0)&lt;br /&gt;
Available axis: 1 (0x1)&lt;br /&gt;
Available axis: 2 (0x2)&lt;br /&gt;
Available axis: 5 (0x5)&lt;br /&gt;
Available axis: 16 (0x10)&lt;br /&gt;
Available axis: 17 (0x11)&lt;br /&gt;
Available axis: 40 (0x28)&lt;br /&gt;
Axis 0 : parameters = [0,255]&lt;br /&gt;
Axis 1 : parameters = [0,255]&lt;br /&gt;
Axis 2 : parameters = [0,255]&lt;br /&gt;
Axis 3 : parameters = [0,255]&lt;br /&gt;
Axis 4 : parameters = [-1,1]&lt;br /&gt;
Axis 5 : parameters = [-1,1]&lt;br /&gt;
Axis 6 : parameters = [0,255]&lt;br /&gt;
Input device name: &amp;quot;GreenAsia Inc.    USB Joystick     &amp;quot; on device &amp;quot;/dev/input/event6&amp;quot;&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 87 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 20 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 69 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 111 48 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 127 -64 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 32 -127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 -39 -69 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -117 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 40 -35 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 49 127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -53 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 8 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 84 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 -66 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | axis 47 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 59 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -105 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -78 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -99 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then creating an xml configuration file such as:&lt;br /&gt;
&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ medit ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
and now running the input2ivy ocaml application:&lt;br /&gt;
&lt;br /&gt;
 export PAPARAZZI_HOME=/home/paul/paparazzi3/trunk&lt;br /&gt;
 paparazzi3/trunk/sz/ground_segment/joystick/input2ivy -ac TJOVERO ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
running ivyprobe we can see the message getting transmitted:&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ ivyprobe '(.*)'&lt;br /&gt;
shows: &lt;br /&gt;
 Paparazzi joystick sent  'input2ivy SET_ACTUATOR 1496 2 3'&lt;br /&gt;
&lt;br /&gt;
but we have to make sure the server knows this message needs to be forwarded: in messages.xml the message should be labeled as &amp;quot;forwarded&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;SET_ACTUATOR&amp;quot; id=&amp;quot;100&amp;quot; link=&amp;quot;forwarded&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;value&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;no&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;ac_id&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To send settings use the actuators.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
    &amp;lt;dl_settings NAME=&amp;quot;Actuators&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[1]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[2]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[3]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[4]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[5]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[6]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan6&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[7]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/dl_settings&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Vehicle-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the vehicle side we are using a twog for hardware so we will use the setup_actuators target found in  /conf/autopilot/setup.makefile.&lt;br /&gt;
This makefile is used by the tiny.makefile which is used because we specify we're using the twog in twinjet_overo.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;ap&amp;quot; 			board=&amp;quot;twog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setup target is defined as follows in the airframe (twinjet_overo.xml):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; 		board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;setup_actuators&amp;quot; 	board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we were adding the joystick to the autopilot code we could instead add the following line to the firmware section:&lt;br /&gt;
: &amp;lt;subsystem name=&amp;quot;joystick&amp;quot;/&amp;gt;&lt;br /&gt;
but that's another project...&lt;br /&gt;
&lt;br /&gt;
Here's the setup.makefile section that worked for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setup_actuators.CFLAGS += -DFBW -DLED -DTIME_LED=1 -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&lt;br /&gt;
setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1 &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1&lt;br /&gt;
setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c pprz_transport.c downlink.c actuators.c setup_actuators.c $(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4017_hw.c main.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9215</id>
		<title>Paul Cox Notes</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9215"/>
		<updated>2011-03-29T12:38:22Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* paparazzi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LISTS =&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Paul's Links&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! 2 !! 3 !! 4 !! 5&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[[Community_Flight_Log_Archive]]&lt;br /&gt;
||&lt;br /&gt;
[[Paul_Cox_Activity_Log]]&lt;br /&gt;
||&lt;br /&gt;
[[User:PaulCox]]&lt;br /&gt;
||&lt;br /&gt;
[[Lisa_Logitech_Camera]]&lt;br /&gt;
||&lt;br /&gt;
[[Rt3070usb]]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
[[http://paparazzi.enac.fr/wiki/Qwip]]&lt;br /&gt;
||&lt;br /&gt;
[[ArduIMU]]&lt;br /&gt;
||&lt;br /&gt;
[[Laserhawk]]&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || build virtual world scan in hoku2gdhe || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Install MTi-G driver on laptop || MTIHardTest -v &amp;lt;params&amp;gt; &amp;gt;&amp;gt; out.txt stores to disk || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Get test scans from rooftop || one night scan acquired. need day scans and higher scans (and faster) || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Design MIPI/I2C camera board || sketches ready, Pierre doing orcad and ordering || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Design/Build hokuyo/MTIG box/mounting cage || Build at Bertrand's place or ENAC || x || Not started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Get openembedded running on laptop || laptop too slow || x || Waiting for new PC &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==PERSO TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ PERSONAL TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || Get minimag flying || tuneup done, need some glue then ready for maiden || [[User:Paulcox|Paulcox]] 10:33, 17 February 2011 (CET) || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Slowstick flying || First arduimu flights done, issues due to auto2 probably due to flight plan altitues, need to study logs || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Flash ardupimu and get ap compiling || methodology posted on [[ArduIMU]] page || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Test xbeepro868 performance || XCTU loopback at 9600 shows 80-90%, with basic telemetry was seeing huge (10-15 sec) delay (was looking at attitude messages), short flights at 57600 ok so far|| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Test loss of IR contrast || works in simulation, need to test in real || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Adjust Beth opamp gains || for increased precision || x || Do it slacker &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || Try Web-based GCS || qwip checked in, need to try pow ||| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Improve altitude control loop || issue with hard boundary between PI and constant regions || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || Some camera stabilization || Read gimbal servo positions via pot tap to ADC || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 10 || Try then document item drop capability || one of the checked in enac flight plans does this || x || not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 11 || Paparazzi Documentation || Started outlining [http://paparazzi.enac.fr/wiki/Documentation_Needed here] || x || Stalled &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 12 || try pan/tilt code || x || x || no started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 13 || get log archive ready || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 14 || redo joystick control setup || look at chris' stuff he send || x || Not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 15 || potentially merge tiny/overo i2c com code from tobias || x || x || In progress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BUY BUY BUY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ WISH LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Price !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || RC Transmitter (PPM and 2.4GHz) || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Overo Camera || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Lisa board || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || I2C motor controllers  || need 4 to finish quad || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || New laptop || x || x || Keep dreaming &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || XBeePro868 || Need a third one to test point to multi-point || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || RazorIMU || For testing || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Minimag || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IDEAS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ IDEA LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Random Notes=&lt;br /&gt;
&lt;br /&gt;
== ubuntu packages ==&lt;br /&gt;
&lt;br /&gt;
===Utilities===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install medit gtk-term git-core ssh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===paparazzi===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paparazzi-dev paparazzi-stm32 paparazzi-arm7 paparazzi-omap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===perl modules===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CGI webserver===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install boa &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===openrobots===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libbz2-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a joystick to control twog servo==&lt;br /&gt;
===PC-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the PC side we will send actuator commands two different ways: &lt;br /&gt;
&lt;br /&gt;
: 1. Running an ocaml application that listens to the joystick device and using a configuration file, will send ivy messages that get forwarded to the vehicle by the server.&lt;br /&gt;
: 2. Normal paparazzi settings mechanism (using settings dialog from paparazzi center running on PC) that sets corresponding variables on the vehicle.&lt;br /&gt;
&lt;br /&gt;
Running the joystick test program you can see which buttons do what:&lt;br /&gt;
(Note you have to run a make in the directory first to compile everything)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/paparazzi3/trunk/sw/ground_segment/joystick$ ./test_stick &lt;br /&gt;
Available button: 288 (0x120)&lt;br /&gt;
Available button: 289 (0x121)&lt;br /&gt;
Available button: 290 (0x122)&lt;br /&gt;
Available button: 291 (0x123)&lt;br /&gt;
Available button: 292 (0x124)&lt;br /&gt;
Available button: 293 (0x125)&lt;br /&gt;
Available button: 294 (0x126)&lt;br /&gt;
Available button: 295 (0x127)&lt;br /&gt;
Available button: 296 (0x128)&lt;br /&gt;
Available button: 297 (0x129)&lt;br /&gt;
Available button: 298 (0x12a)&lt;br /&gt;
Available button: 299 (0x12b)&lt;br /&gt;
Available axis: 0 (0x0)&lt;br /&gt;
Available axis: 1 (0x1)&lt;br /&gt;
Available axis: 2 (0x2)&lt;br /&gt;
Available axis: 5 (0x5)&lt;br /&gt;
Available axis: 16 (0x10)&lt;br /&gt;
Available axis: 17 (0x11)&lt;br /&gt;
Available axis: 40 (0x28)&lt;br /&gt;
Axis 0 : parameters = [0,255]&lt;br /&gt;
Axis 1 : parameters = [0,255]&lt;br /&gt;
Axis 2 : parameters = [0,255]&lt;br /&gt;
Axis 3 : parameters = [0,255]&lt;br /&gt;
Axis 4 : parameters = [-1,1]&lt;br /&gt;
Axis 5 : parameters = [-1,1]&lt;br /&gt;
Axis 6 : parameters = [0,255]&lt;br /&gt;
Input device name: &amp;quot;GreenAsia Inc.    USB Joystick     &amp;quot; on device &amp;quot;/dev/input/event6&amp;quot;&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 87 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 20 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 69 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 111 48 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 127 -64 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 32 -127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 -39 -69 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -117 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 40 -35 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 49 127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -53 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 8 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 84 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 -66 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | axis 47 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 59 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -105 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -78 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -99 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then creating an xml configuration file such as:&lt;br /&gt;
&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ medit ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
and now running the input2ivy ocaml application:&lt;br /&gt;
&lt;br /&gt;
 export PAPARAZZI_HOME=/home/paul/paparazzi3/trunk&lt;br /&gt;
 paparazzi3/trunk/sz/ground_segment/joystick/input2ivy -ac TJOVERO ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
running ivyprobe we can see the message getting transmitted:&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ ivyprobe '(.*)'&lt;br /&gt;
shows: &lt;br /&gt;
 Paparazzi joystick sent  'input2ivy SET_ACTUATOR 1496 2 3'&lt;br /&gt;
&lt;br /&gt;
but we have to make sure the server knows this message needs to be forwarded: in messages.xml the message should be labeled as &amp;quot;forwarded&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;SET_ACTUATOR&amp;quot; id=&amp;quot;100&amp;quot; link=&amp;quot;forwarded&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;value&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;no&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;ac_id&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To send settings use the actuators.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
    &amp;lt;dl_settings NAME=&amp;quot;Actuators&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[1]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[2]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[3]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[4]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[5]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[6]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan6&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[7]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/dl_settings&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Vehicle-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the vehicle side we are using a twog for hardware so we will use the setup_actuators target found in  /conf/autopilot/setup.makefile.&lt;br /&gt;
This makefile is used by the tiny.makefile which is used because we specify we're using the twog in twinjet_overo.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;ap&amp;quot; 			board=&amp;quot;twog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setup target is defined as follows in the airframe (twinjet_overo.xml):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; 		board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;setup_actuators&amp;quot; 	board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we were adding the joystick to the autopilot code we could instead add the following line to the firmware section:&lt;br /&gt;
: &amp;lt;subsystem name=&amp;quot;joystick&amp;quot;/&amp;gt;&lt;br /&gt;
but that's another project...&lt;br /&gt;
&lt;br /&gt;
Here's the setup.makefile section that worked for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setup_actuators.CFLAGS += -DFBW -DLED -DTIME_LED=1 -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&lt;br /&gt;
setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1 &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1&lt;br /&gt;
setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c pprz_transport.c downlink.c actuators.c setup_actuators.c $(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4017_hw.c main.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9214</id>
		<title>Paul Cox Notes</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9214"/>
		<updated>2011-03-29T12:37:25Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* openrobots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LISTS =&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Paul's Links&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! 2 !! 3 !! 4 !! 5&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[[Community_Flight_Log_Archive]]&lt;br /&gt;
||&lt;br /&gt;
[[Paul_Cox_Activity_Log]]&lt;br /&gt;
||&lt;br /&gt;
[[User:PaulCox]]&lt;br /&gt;
||&lt;br /&gt;
[[Lisa_Logitech_Camera]]&lt;br /&gt;
||&lt;br /&gt;
[[Rt3070usb]]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
[[http://paparazzi.enac.fr/wiki/Qwip]]&lt;br /&gt;
||&lt;br /&gt;
[[ArduIMU]]&lt;br /&gt;
||&lt;br /&gt;
[[Laserhawk]]&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || build virtual world scan in hoku2gdhe || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Install MTi-G driver on laptop || MTIHardTest -v &amp;lt;params&amp;gt; &amp;gt;&amp;gt; out.txt stores to disk || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Get test scans from rooftop || one night scan acquired. need day scans and higher scans (and faster) || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Design MIPI/I2C camera board || sketches ready, Pierre doing orcad and ordering || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Design/Build hokuyo/MTIG box/mounting cage || Build at Bertrand's place or ENAC || x || Not started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Get openembedded running on laptop || laptop too slow || x || Waiting for new PC &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==PERSO TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ PERSONAL TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || Get minimag flying || tuneup done, need some glue then ready for maiden || [[User:Paulcox|Paulcox]] 10:33, 17 February 2011 (CET) || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Slowstick flying || First arduimu flights done, issues due to auto2 probably due to flight plan altitues, need to study logs || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Flash ardupimu and get ap compiling || methodology posted on [[ArduIMU]] page || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Test xbeepro868 performance || XCTU loopback at 9600 shows 80-90%, with basic telemetry was seeing huge (10-15 sec) delay (was looking at attitude messages), short flights at 57600 ok so far|| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Test loss of IR contrast || works in simulation, need to test in real || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Adjust Beth opamp gains || for increased precision || x || Do it slacker &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || Try Web-based GCS || qwip checked in, need to try pow ||| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Improve altitude control loop || issue with hard boundary between PI and constant regions || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || Some camera stabilization || Read gimbal servo positions via pot tap to ADC || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 10 || Try then document item drop capability || one of the checked in enac flight plans does this || x || not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 11 || Paparazzi Documentation || Started outlining [http://paparazzi.enac.fr/wiki/Documentation_Needed here] || x || Stalled &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 12 || try pan/tilt code || x || x || no started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 13 || get log archive ready || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 14 || redo joystick control setup || look at chris' stuff he send || x || Not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 15 || potentially merge tiny/overo i2c com code from tobias || x || x || In progress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BUY BUY BUY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ WISH LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Price !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || RC Transmitter (PPM and 2.4GHz) || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Overo Camera || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Lisa board || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || I2C motor controllers  || need 4 to finish quad || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || New laptop || x || x || Keep dreaming &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || XBeePro868 || Need a third one to test point to multi-point || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || RazorIMU || For testing || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Minimag || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IDEAS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ IDEA LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Random Notes=&lt;br /&gt;
&lt;br /&gt;
== ubuntu packages ==&lt;br /&gt;
&lt;br /&gt;
===Utilities===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install medit gtk-term git-core ssh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===paparazzi===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paparazzi-dev paparazzi-stm32 paparazzi-lpc paparazzi-omap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===perl modules===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CGI webserver===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install boa &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===openrobots===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libbz2-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a joystick to control twog servo==&lt;br /&gt;
===PC-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the PC side we will send actuator commands two different ways: &lt;br /&gt;
&lt;br /&gt;
: 1. Running an ocaml application that listens to the joystick device and using a configuration file, will send ivy messages that get forwarded to the vehicle by the server.&lt;br /&gt;
: 2. Normal paparazzi settings mechanism (using settings dialog from paparazzi center running on PC) that sets corresponding variables on the vehicle.&lt;br /&gt;
&lt;br /&gt;
Running the joystick test program you can see which buttons do what:&lt;br /&gt;
(Note you have to run a make in the directory first to compile everything)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/paparazzi3/trunk/sw/ground_segment/joystick$ ./test_stick &lt;br /&gt;
Available button: 288 (0x120)&lt;br /&gt;
Available button: 289 (0x121)&lt;br /&gt;
Available button: 290 (0x122)&lt;br /&gt;
Available button: 291 (0x123)&lt;br /&gt;
Available button: 292 (0x124)&lt;br /&gt;
Available button: 293 (0x125)&lt;br /&gt;
Available button: 294 (0x126)&lt;br /&gt;
Available button: 295 (0x127)&lt;br /&gt;
Available button: 296 (0x128)&lt;br /&gt;
Available button: 297 (0x129)&lt;br /&gt;
Available button: 298 (0x12a)&lt;br /&gt;
Available button: 299 (0x12b)&lt;br /&gt;
Available axis: 0 (0x0)&lt;br /&gt;
Available axis: 1 (0x1)&lt;br /&gt;
Available axis: 2 (0x2)&lt;br /&gt;
Available axis: 5 (0x5)&lt;br /&gt;
Available axis: 16 (0x10)&lt;br /&gt;
Available axis: 17 (0x11)&lt;br /&gt;
Available axis: 40 (0x28)&lt;br /&gt;
Axis 0 : parameters = [0,255]&lt;br /&gt;
Axis 1 : parameters = [0,255]&lt;br /&gt;
Axis 2 : parameters = [0,255]&lt;br /&gt;
Axis 3 : parameters = [0,255]&lt;br /&gt;
Axis 4 : parameters = [-1,1]&lt;br /&gt;
Axis 5 : parameters = [-1,1]&lt;br /&gt;
Axis 6 : parameters = [0,255]&lt;br /&gt;
Input device name: &amp;quot;GreenAsia Inc.    USB Joystick     &amp;quot; on device &amp;quot;/dev/input/event6&amp;quot;&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 87 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 20 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 69 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 111 48 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 127 -64 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 32 -127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 -39 -69 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -117 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 40 -35 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 49 127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -53 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 8 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 84 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 -66 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | axis 47 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 59 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -105 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -78 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -99 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then creating an xml configuration file such as:&lt;br /&gt;
&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ medit ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
and now running the input2ivy ocaml application:&lt;br /&gt;
&lt;br /&gt;
 export PAPARAZZI_HOME=/home/paul/paparazzi3/trunk&lt;br /&gt;
 paparazzi3/trunk/sz/ground_segment/joystick/input2ivy -ac TJOVERO ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
running ivyprobe we can see the message getting transmitted:&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ ivyprobe '(.*)'&lt;br /&gt;
shows: &lt;br /&gt;
 Paparazzi joystick sent  'input2ivy SET_ACTUATOR 1496 2 3'&lt;br /&gt;
&lt;br /&gt;
but we have to make sure the server knows this message needs to be forwarded: in messages.xml the message should be labeled as &amp;quot;forwarded&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;SET_ACTUATOR&amp;quot; id=&amp;quot;100&amp;quot; link=&amp;quot;forwarded&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;value&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;no&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;ac_id&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To send settings use the actuators.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
    &amp;lt;dl_settings NAME=&amp;quot;Actuators&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[1]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[2]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[3]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[4]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[5]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[6]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan6&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[7]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/dl_settings&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Vehicle-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the vehicle side we are using a twog for hardware so we will use the setup_actuators target found in  /conf/autopilot/setup.makefile.&lt;br /&gt;
This makefile is used by the tiny.makefile which is used because we specify we're using the twog in twinjet_overo.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;ap&amp;quot; 			board=&amp;quot;twog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setup target is defined as follows in the airframe (twinjet_overo.xml):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; 		board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;setup_actuators&amp;quot; 	board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we were adding the joystick to the autopilot code we could instead add the following line to the firmware section:&lt;br /&gt;
: &amp;lt;subsystem name=&amp;quot;joystick&amp;quot;/&amp;gt;&lt;br /&gt;
but that's another project...&lt;br /&gt;
&lt;br /&gt;
Here's the setup.makefile section that worked for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setup_actuators.CFLAGS += -DFBW -DLED -DTIME_LED=1 -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&lt;br /&gt;
setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1 &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1&lt;br /&gt;
setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c pprz_transport.c downlink.c actuators.c setup_actuators.c $(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4017_hw.c main.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9213</id>
		<title>Paul Cox Notes</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Paul_Cox_Notes&amp;diff=9213"/>
		<updated>2011-03-29T12:27:01Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Random Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LISTS =&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Paul's Links&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! 2 !! 3 !! 4 !! 5&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[[Community_Flight_Log_Archive]]&lt;br /&gt;
||&lt;br /&gt;
[[Paul_Cox_Activity_Log]]&lt;br /&gt;
||&lt;br /&gt;
[[User:PaulCox]]&lt;br /&gt;
||&lt;br /&gt;
[[Lisa_Logitech_Camera]]&lt;br /&gt;
||&lt;br /&gt;
[[Rt3070usb]]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
[[http://paparazzi.enac.fr/wiki/Qwip]]&lt;br /&gt;
||&lt;br /&gt;
[[ArduIMU]]&lt;br /&gt;
||&lt;br /&gt;
[[Laserhawk]]&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
||&lt;br /&gt;
x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ SPRING 2011 TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || build virtual world scan in hoku2gdhe || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Install MTi-G driver on laptop || MTIHardTest -v &amp;lt;params&amp;gt; &amp;gt;&amp;gt; out.txt stores to disk || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Get test scans from rooftop || one night scan acquired. need day scans and higher scans (and faster) || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Design MIPI/I2C camera board || sketches ready, Pierre doing orcad and ordering || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Design/Build hokuyo/MTIG box/mounting cage || Build at Bertrand's place or ENAC || x || Not started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Get openembedded running on laptop || laptop too slow || x || Waiting for new PC &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==PERSO TODO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ PERSONAL TODO LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || Get minimag flying || tuneup done, need some glue then ready for maiden || [[User:Paulcox|Paulcox]] 10:33, 17 February 2011 (CET) || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Slowstick flying || First arduimu flights done, issues due to auto2 probably due to flight plan altitues, need to study logs || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Flash ardupimu and get ap compiling || methodology posted on [[ArduIMU]] page || x || Done&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Test xbeepro868 performance || XCTU loopback at 9600 shows 80-90%, with basic telemetry was seeing huge (10-15 sec) delay (was looking at attitude messages), short flights at 57600 ok so far|| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || Test loss of IR contrast || works in simulation, need to test in real || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || Adjust Beth opamp gains || for increased precision || x || Do it slacker &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || Try Web-based GCS || qwip checked in, need to try pow ||| x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Improve altitude control loop || issue with hard boundary between PI and constant regions || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || Some camera stabilization || Read gimbal servo positions via pot tap to ADC || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 10 || Try then document item drop capability || one of the checked in enac flight plans does this || x || not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 11 || Paparazzi Documentation || Started outlining [http://paparazzi.enac.fr/wiki/Documentation_Needed here] || x || Stalled &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 12 || try pan/tilt code || x || x || no started &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 13 || get log archive ready || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 14 || redo joystick control setup || look at chris' stuff he send || x || Not started&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 15 || potentially merge tiny/overo i2c com code from tobias || x || x || In progress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BUY BUY BUY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ WISH LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Price !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || RC Transmitter (PPM and 2.4GHz) || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Overo Camera || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Lisa board || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || I2C motor controllers  || need 4 to finish quad || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 5 || New laptop || x || x || Keep dreaming &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 6 || XBeePro868 || Need a third one to test point to multi-point || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 7 || RazorIMU || For testing || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 8 || Minimag || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 9 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IDEAS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ IDEA LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 1 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Random Notes=&lt;br /&gt;
&lt;br /&gt;
== ubuntu packages ==&lt;br /&gt;
&lt;br /&gt;
===Utilities===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install medit gtk-term git-core ssh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===paparazzi===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paparazzi-dev paparazzi-stm32 paparazzi-lpc paparazzi-omap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===perl modules===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CGI webserver===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install boa &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===openrobots===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using a joystick to control twog servo==&lt;br /&gt;
===PC-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the PC side we will send actuator commands two different ways: &lt;br /&gt;
&lt;br /&gt;
: 1. Running an ocaml application that listens to the joystick device and using a configuration file, will send ivy messages that get forwarded to the vehicle by the server.&lt;br /&gt;
: 2. Normal paparazzi settings mechanism (using settings dialog from paparazzi center running on PC) that sets corresponding variables on the vehicle.&lt;br /&gt;
&lt;br /&gt;
Running the joystick test program you can see which buttons do what:&lt;br /&gt;
(Note you have to run a make in the directory first to compile everything)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/paparazzi3/trunk/sw/ground_segment/joystick$ ./test_stick &lt;br /&gt;
Available button: 288 (0x120)&lt;br /&gt;
Available button: 289 (0x121)&lt;br /&gt;
Available button: 290 (0x122)&lt;br /&gt;
Available button: 291 (0x123)&lt;br /&gt;
Available button: 292 (0x124)&lt;br /&gt;
Available button: 293 (0x125)&lt;br /&gt;
Available button: 294 (0x126)&lt;br /&gt;
Available button: 295 (0x127)&lt;br /&gt;
Available button: 296 (0x128)&lt;br /&gt;
Available button: 297 (0x129)&lt;br /&gt;
Available button: 298 (0x12a)&lt;br /&gt;
Available button: 299 (0x12b)&lt;br /&gt;
Available axis: 0 (0x0)&lt;br /&gt;
Available axis: 1 (0x1)&lt;br /&gt;
Available axis: 2 (0x2)&lt;br /&gt;
Available axis: 5 (0x5)&lt;br /&gt;
Available axis: 16 (0x10)&lt;br /&gt;
Available axis: 17 (0x11)&lt;br /&gt;
Available axis: 40 (0x28)&lt;br /&gt;
Axis 0 : parameters = [0,255]&lt;br /&gt;
Axis 1 : parameters = [0,255]&lt;br /&gt;
Axis 2 : parameters = [0,255]&lt;br /&gt;
Axis 3 : parameters = [0,255]&lt;br /&gt;
Axis 4 : parameters = [-1,1]&lt;br /&gt;
Axis 5 : parameters = [-1,1]&lt;br /&gt;
Axis 6 : parameters = [0,255]&lt;br /&gt;
Input device name: &amp;quot;GreenAsia Inc.    USB Joystick     &amp;quot; on device &amp;quot;/dev/input/event6&amp;quot;&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 87 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 20 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 69 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 111 48 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 127 -64 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 32 -127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -127 -39 -69 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -117 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 -127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 40 -35 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 49 127 127 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -53 127 127 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 8 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 127 84 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 -66 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | axis -127 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | axis 47 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 59 127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -105 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis -78 -127 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 -99 0 0 0 0 127 0 0 0&lt;br /&gt;
buttons 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | axis 0 0 0 0 0 0 127 0 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then creating an xml configuration file such as:&lt;br /&gt;
&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ medit ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
and now running the input2ivy ocaml application:&lt;br /&gt;
&lt;br /&gt;
 export PAPARAZZI_HOME=/home/paul/paparazzi3/trunk&lt;br /&gt;
 paparazzi3/trunk/sz/ground_segment/joystick/input2ivy -ac TJOVERO ngs_set_actuators.xml&lt;br /&gt;
&lt;br /&gt;
running ivyprobe we can see the message getting transmitted:&lt;br /&gt;
 paul@ledelle:~/paparazzi3/trunk/sw/ground_segment/joystick$ ivyprobe '(.*)'&lt;br /&gt;
shows: &lt;br /&gt;
 Paparazzi joystick sent  'input2ivy SET_ACTUATOR 1496 2 3'&lt;br /&gt;
&lt;br /&gt;
but we have to make sure the server knows this message needs to be forwarded: in messages.xml the message should be labeled as &amp;quot;forwarded&amp;quot; :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;SET_ACTUATOR&amp;quot; id=&amp;quot;100&amp;quot; link=&amp;quot;forwarded&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;value&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;no&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;field name=&amp;quot;ac_id&amp;quot; type=&amp;quot;uint8&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To send settings use the actuators.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
    &amp;lt;dl_settings NAME=&amp;quot;Actuators&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[1]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[2]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[3]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[4]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[5]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[6]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan6&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dl_setting VAR=&amp;quot;actuators[7]&amp;quot; MIN=&amp;quot;900&amp;quot; STEP=&amp;quot;1&amp;quot; MAX=&amp;quot;2100&amp;quot; module=&amp;quot;actuators&amp;quot; shortname=&amp;quot;chan7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/dl_settings&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Vehicle-side configuration===&lt;br /&gt;
&lt;br /&gt;
On the vehicle side we are using a twog for hardware so we will use the setup_actuators target found in  /conf/autopilot/setup.makefile.&lt;br /&gt;
This makefile is used by the tiny.makefile which is used because we specify we're using the twog in twinjet_overo.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;ap&amp;quot; 			board=&amp;quot;twog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setup target is defined as follows in the airframe (twinjet_overo.xml):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; 		board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;setup_actuators&amp;quot; 	board=&amp;quot;twog_1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we were adding the joystick to the autopilot code we could instead add the following line to the firmware section:&lt;br /&gt;
: &amp;lt;subsystem name=&amp;quot;joystick&amp;quot;/&amp;gt;&lt;br /&gt;
but that's another project...&lt;br /&gt;
&lt;br /&gt;
Here's the setup.makefile section that worked for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setup_actuators.CFLAGS += -DFBW -DLED -DTIME_LED=1 -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&lt;br /&gt;
setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1 &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ &lt;br /&gt;
setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1&lt;br /&gt;
setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c pprz_transport.c downlink.c actuators.c setup_actuators.c $(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4017_hw.c main.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Notes]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=LAAS_Mentor&amp;diff=9195</id>
		<title>LAAS Mentor</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=LAAS_Mentor&amp;diff=9195"/>
		<updated>2011-03-24T15:50:16Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Mentor1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=LAAS Mentor Planes=&lt;br /&gt;
&lt;br /&gt;
==Mentor1==&lt;br /&gt;
&lt;br /&gt;
Airframe : EPP Foam Multiplex Mentor &lt;br /&gt;
Motor : AXI 2820/10 Gold [http://www.modelmotors.cz/index.php?page=61&amp;amp;product=2820&amp;amp;serie=10&amp;amp;line=GOLD Link]&lt;br /&gt;
Motor Controller : Flash 44 K3 Opto&lt;br /&gt;
&lt;br /&gt;
[[Image:mentor1_1.jpg|thumb|c|Front View]]&lt;br /&gt;
[[Image:mentor1_2.jpg|thumb|c|Side View]]&lt;br /&gt;
&lt;br /&gt;
[[Image:mentor1_payload1.jpg|thumb|c|Assembled Payload]]&lt;br /&gt;
[[Image:mentor1_payload2.jpg|thumb|c|Protective Cover Removed]]&lt;br /&gt;
[[Image:mentor1_payload3.jpg|thumb|c|Upside-down]]&lt;br /&gt;
[[Image:mentor1_payload4.jpg|thumb|c|Ready to mate to craft]]&lt;br /&gt;
&lt;br /&gt;
===Weight Distribution===&lt;br /&gt;
&lt;br /&gt;
====Payload Weights====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Payload Weights |-&lt;br /&gt;
! Description !! Weight (grams)&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Hokuyo&lt;br /&gt;
||&lt;br /&gt;
?&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
XSens MTIG&lt;br /&gt;
||&lt;br /&gt;
65&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Overo / Summit / USB Hub / Case&lt;br /&gt;
||&lt;br /&gt;
72&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Wifi Antenna with pigtail&lt;br /&gt;
||&lt;br /&gt;
15&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
2x 2s 780 mAh batteries&lt;br /&gt;
||&lt;br /&gt;
91&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
2x switching power supplies (5V, 12V)&lt;br /&gt;
||&lt;br /&gt;
20&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
XBee Pro with 3.3V regulator&lt;br /&gt;
||&lt;br /&gt;
10&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Foam and glass fiber Enclosure&lt;br /&gt;
||&lt;br /&gt;
95&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Wood Chassis&lt;br /&gt;
||&lt;br /&gt;
?&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
USB to Serial convertor with MTI connector&lt;br /&gt;
||&lt;br /&gt;
20&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
'''TOTAL'''&lt;br /&gt;
||&lt;br /&gt;
'''680'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Overall Weights====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Overall Weights |-&lt;br /&gt;
! Description !! Weight (grams)&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Wings plus 2x Aileron Servos&lt;br /&gt;
||&lt;br /&gt;
400&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Fuselage with XBee/Autopilot/IR sensors/receiver/Motor/Speed Controller/2x Servos&lt;br /&gt;
||&lt;br /&gt;
1156&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Prop and holder&lt;br /&gt;
||&lt;br /&gt;
57&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
2x 3s 2100mAh batteries&lt;br /&gt;
||&lt;br /&gt;
314&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Science Payload&lt;br /&gt;
||&lt;br /&gt;
680&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
'''TOTAL'''&lt;br /&gt;
||&lt;br /&gt;
'''2607'''&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Mentor2==&lt;br /&gt;
&lt;br /&gt;
Not yet constructed&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Mentor1_payload4.jpg&amp;diff=9194</id>
		<title>File:Mentor1 payload4.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Mentor1_payload4.jpg&amp;diff=9194"/>
		<updated>2011-03-24T14:20:19Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Mentor1_payload3.jpg&amp;diff=9193</id>
		<title>File:Mentor1 payload3.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Mentor1_payload3.jpg&amp;diff=9193"/>
		<updated>2011-03-24T14:19:44Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Mentor1_payload2.jpg&amp;diff=9192</id>
		<title>File:Mentor1 payload2.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Mentor1_payload2.jpg&amp;diff=9192"/>
		<updated>2011-03-24T14:19:14Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Mentor1_payload1.jpg&amp;diff=9191</id>
		<title>File:Mentor1 payload1.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Mentor1_payload1.jpg&amp;diff=9191"/>
		<updated>2011-03-24T14:18:35Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Mentor1_2.jpg&amp;diff=9190</id>
		<title>File:Mentor1 2.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Mentor1_2.jpg&amp;diff=9190"/>
		<updated>2011-03-24T14:17:28Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Mentor1_1.jpg&amp;diff=9189</id>
		<title>File:Mentor1 1.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Mentor1_1.jpg&amp;diff=9189"/>
		<updated>2011-03-24T14:16:46Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=LAAS_Mentor&amp;diff=9188</id>
		<title>LAAS Mentor</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=LAAS_Mentor&amp;diff=9188"/>
		<updated>2011-03-24T14:16:02Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=LAAS Mentor Planes=&lt;br /&gt;
&lt;br /&gt;
==Mentor1==&lt;br /&gt;
&lt;br /&gt;
[[Image:mentor1_1.jpg|thumb|c|Front View]]&lt;br /&gt;
[[Image:mentor1_2.jpg|thumb|c|Side View]]&lt;br /&gt;
&lt;br /&gt;
[[Image:mentor1_payload1.jpg|thumb|c|Assembled Payload]]&lt;br /&gt;
[[Image:mentor1_payload2.jpg|thumb|c|Protective Cover Removed]]&lt;br /&gt;
[[Image:mentor1_payload3.jpg|thumb|c|Upside-down]]&lt;br /&gt;
[[Image:mentor1_payload4.jpg|thumb|c|Ready to mate to craft]]&lt;br /&gt;
&lt;br /&gt;
===Weight Distribution===&lt;br /&gt;
&lt;br /&gt;
====Payload Weights====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Payload Weights |-&lt;br /&gt;
! Description !! Weight (grams)&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Hokuyo&lt;br /&gt;
||&lt;br /&gt;
?&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
XSens MTIG&lt;br /&gt;
||&lt;br /&gt;
65&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Overo / Summit / USB Hub / Case&lt;br /&gt;
||&lt;br /&gt;
72&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Wifi Antenna with pigtail&lt;br /&gt;
||&lt;br /&gt;
15&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
2x 2s 780 mAh batteries&lt;br /&gt;
||&lt;br /&gt;
91&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
2 x switching power supplies (5V, 12V)&lt;br /&gt;
||&lt;br /&gt;
20&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
XBee Pro with 3.3V regulator&lt;br /&gt;
||&lt;br /&gt;
10&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Foam and glass fiber Enclosure&lt;br /&gt;
||&lt;br /&gt;
95&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Wood Chassis&lt;br /&gt;
||&lt;br /&gt;
?&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
USB to Serial convertor with MTI connector&lt;br /&gt;
||&lt;br /&gt;
20&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
TOTAL&lt;br /&gt;
||&lt;br /&gt;
680&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Overall Weights====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Overall Weights |-&lt;br /&gt;
! Description !! Weight (grams)&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Wings plus 2x Aileron Servos&lt;br /&gt;
||&lt;br /&gt;
400&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Fuselage with XBee/Autopilot/IR sensors/receiver/Motor/Speed Controller/2x Servos&lt;br /&gt;
||&lt;br /&gt;
1156&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Prop and holder&lt;br /&gt;
||&lt;br /&gt;
57&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
2x 3s 2100mAh batteries&lt;br /&gt;
||&lt;br /&gt;
314&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
Science Payload&lt;br /&gt;
||&lt;br /&gt;
680&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
TOTAL&lt;br /&gt;
||&lt;br /&gt;
2607&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mentor2==&lt;br /&gt;
&lt;br /&gt;
Not yet constructed&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9187</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9187"/>
		<updated>2011-03-24T13:36:22Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Airborne */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans it's trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : ?-? km&lt;br /&gt;
: Size of zone of interest : ? x ? m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : TBD&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe : Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Who cares?  laptops, modems, and antennae should suffice&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (switch to ibara's rt-based lisa branch?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || Lidar performance || at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) || x ||  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build metal/foam box for protection || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9186</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9186"/>
		<updated>2011-03-24T13:36:01Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Airborne */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans it's trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : ?-? km&lt;br /&gt;
: Size of zone of interest : ? x ? m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : TBD&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe Multiplex [[LAAS Mentor]]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Who cares?  laptops, modems, and antennae should suffice&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (switch to ibara's rt-based lisa branch?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || Lidar performance || at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) || x ||  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build metal/foam box for protection || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9185</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9185"/>
		<updated>2011-03-24T13:35:24Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Airborne */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans it's trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : ?-? km&lt;br /&gt;
: Size of zone of interest : ? x ? m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : TBD&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe Multiplex [LAAS_Mentor]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Who cares?  laptops, modems, and antennae should suffice&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (switch to ibara's rt-based lisa branch?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || Lidar performance || at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) || x ||  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build metal/foam box for protection || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9184</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9184"/>
		<updated>2011-03-24T13:34:53Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Airborne */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans it's trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : ?-? km&lt;br /&gt;
: Size of zone of interest : ? x ? m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : TBD&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe Multiplex Mentor Mentor construction [LAAS Mentor]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Who cares?  laptops, modems, and antennae should suffice&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (switch to ibara's rt-based lisa branch?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || Lidar performance || at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) || x ||  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build metal/foam box for protection || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9183</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9183"/>
		<updated>2011-03-24T13:34:24Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Airborne */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans it's trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : ?-? km&lt;br /&gt;
: Size of zone of interest : ? x ? m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : TBD&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Airframe Multiplex Mentor Mentor construction [LAAS_Mentor notes]&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Who cares?  laptops, modems, and antennae should suffice&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (switch to ibara's rt-based lisa branch?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || Lidar performance || at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) || x ||  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build metal/foam box for protection || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9038</id>
		<title>Laserhawk</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Laserhawk&amp;diff=9038"/>
		<updated>2011-03-10T13:13:18Z</updated>

		<summary type="html">&lt;p&gt;Paulcox: /* Risks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:laserhawk.png|thumb|c|Be afraid. Be very afraid.]]&lt;br /&gt;
=LaserHawk Project Description= &lt;br /&gt;
Lidar UAV for traversability map generation&lt;br /&gt;
&lt;br /&gt;
=High-level Goals=&lt;br /&gt;
[[Image:trav_map.png|thumb|c|A robot plans it's trajectory]]&lt;br /&gt;
&lt;br /&gt;
#Autonomous flights of Multiplex Mentor UAV with onboard payload including:&lt;br /&gt;
#*Hokuyo [http://www.hokuyo-aut.jp/02sensor/07scanner/utm_30lx.html UTM-30LX] LIDAR sensor&lt;br /&gt;
#*OMAP3 Gumstix [http://www.gumstix.com/store/catalog/index.php?cPath=27_33 Overo]&lt;br /&gt;
#*Xsens [http://www.xsens.com/en/general/mti MTi] and [http://www.xsens.com/en/general/mti-g MTi-G] IMU/AHRS&lt;br /&gt;
#*[http://paparazzi.enac.fr/ Paparazzi] autopilot&lt;br /&gt;
#Generate traversability map that can be transmitted to UGV&lt;br /&gt;
#*cartesian coordinates with traversability probabilities/confidence&lt;br /&gt;
&lt;br /&gt;
== Elrob competition details==&lt;br /&gt;
&lt;br /&gt;
Questions : &lt;br /&gt;
: Distance from launch point to zone of interest : ?-? km&lt;br /&gt;
: Size of zone of interest : ? x ? m&lt;br /&gt;
&lt;br /&gt;
:Will stay in standby while waiting for zone of interest coordinates from ground robot or will go home?&lt;br /&gt;
:Will standby waypoint need to follow ground robot as it travels?&lt;br /&gt;
:How long aircraft on alert for acquisition requests? Hours?&lt;br /&gt;
:Terrain map/data downloaded to ground station/groundbot via xbee or wifi or what? file transfer or socket? raw data options?&lt;br /&gt;
&lt;br /&gt;
=Current Tasks and Priorities=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ TASK LIST&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || start flying mentor airframe || Maiden manual flight accomplished. autonomous flying to come next || x || In progress &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 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 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 4 || Lit review || x || x || In progress&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
#Communication &lt;br /&gt;
#*autopilot/groundstation - standard paparazzi Datalink/Telemetry serial modem-based com&lt;br /&gt;
#*gumstix/ground - wifi for debugging&lt;br /&gt;
#*UAV to UGV com : TBD&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
[[Image:bikesciencepackage.jpg|thumb|sensors mounted on bike for initial testing]]&lt;br /&gt;
*Autopilot : [http://paparazzi.enac.fr paparazzi]&lt;br /&gt;
*Hokuyo : [http://www.hokuyo-aut.jp/02sensor/07scanner/download/index.html#top_urg_section UTM-30LX]&lt;br /&gt;
*Xsens : [http://www.xsens.com/en/general/mti-g MTi-G]&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Who cares?  laptops, modems, and antennae should suffice&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Version control : [https://github.com/paulcox/laserhawk github]&lt;br /&gt;
&lt;br /&gt;
===Airborne===&lt;br /&gt;
*Overo&lt;br /&gt;
**OS: openembedded-built linux (switch to ibara's rt-based lisa branch?)&lt;br /&gt;
**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 )&lt;br /&gt;
**apps:&lt;br /&gt;
***mainloop for sensor data processing&lt;br /&gt;
***coordination with ground&lt;br /&gt;
***coordination with autopilot &lt;br /&gt;
*Autopilot&lt;br /&gt;
**paparazzi LPC2148-based firmware&lt;br /&gt;
&lt;br /&gt;
===Ground===&lt;br /&gt;
*Paparazzi ground package&lt;br /&gt;
*gdhe for data visualization (polyline representations of laser scan lines)&lt;br /&gt;
&lt;br /&gt;
GIT Projects:&lt;br /&gt;
# hoku2gdhe - Demo app uses hokuyo and Xsens MTI sensor and generates polylines in GDHE [[Image:hoku2gdhe.png|thumb|hoku2gdhe]]&lt;br /&gt;
# hokuyomti - App for aquiring hokuyo data and storing to file (Run in parallel with MTIHardTest)&lt;br /&gt;
# log2gdhe - App for visualising stored log (real or virtual) in gdhe&lt;br /&gt;
# log2gdhe/mkvirtlog - scripts for generating scan/attitude logs from a virtual terrain model  [[Image:mkvirtsample.png|thumb|| mkvirtlog image output. &amp;lt;p&amp;gt; view [http://paparazzi.enac.fr/wiki_images/Terrain.gif animation] &amp;lt;/p&amp;gt; gdhe [http://paparazzi.enac.fr/wiki_images/Virtual_surface_gdhe.png screenshot] ]]&lt;br /&gt;
# biketest/scripts - scripts for generating images/animations from stored hokuyo/mti logs &lt;br /&gt;
[[Image:plotlogsample.png|thumb|| Plotlogs image output. view [http://paparazzi.enac.fr/wiki_images/Loganim0_50_1.gif animation] ]]&lt;br /&gt;
&lt;br /&gt;
More info in the git [https://github.com/paulcox/laserhawk/blob/master/biketest/README README]&lt;br /&gt;
&lt;br /&gt;
: The goal is to fuse all of these capabilities into one package that allows:&lt;br /&gt;
&lt;br /&gt;
# displaying real or virtual data&lt;br /&gt;
# live data, recording, and/or playback&lt;br /&gt;
# display raw data in 2d plots (scan data along scan plane, attitude, position, altitude, etc)&lt;br /&gt;
# rectify scan data using attitude and send 3d points to gdhe or store (where? what format?)&lt;br /&gt;
# later on will treat data to generate terrain model / traversability map / whatever&lt;br /&gt;
# not all of this needs to run on overo, just the acquisition and data treatment (some part of it anyways)&lt;br /&gt;
# more?&lt;br /&gt;
&lt;br /&gt;
== Geometry ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=2|Laserhawk geometry&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=#aaaaff|&amp;lt;center&amp;gt;Overview&amp;lt;/center&amp;gt;||bgcolor=#aaaaff|&amp;lt;center&amp;gt;Detail&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:geometry1.png|250px|center|scan line relative to heading and track]]&lt;br /&gt;
|[[Image:geometry2.png|250px|center|Elevation and bird's eye view of scan area]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;center&amp;gt;Figure 2&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nominal UAV flight velocity : 20-30 m/s&lt;br /&gt;
* nominal UAV flight height AGL : 30 m&lt;br /&gt;
* Lidar sensor resolution : 1080 points over 270 deg visible (1440 points over 360 deg) @40Hz&lt;br /&gt;
&lt;br /&gt;
* ground covered distance during one revolution of scanner:&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;Dist_{per\_scan\_rev} = ground\_speed \times time_{per\_scan\_rev} = 20~\frac{m}{s} \times \frac{1}{40}~s = 0.5~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For 90&amp;amp;deg; interest zone :&lt;br /&gt;
:* scan line advances down ground track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{x}=  \frac{90}{360} \times Dist_{per\_scan\_rev} = \frac{1}{4} \times 0.5~m = 12.5~cm&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* scan line proceeds along sensor rotation (for a 90 scan, this is twice the AGL height) :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Dist_{y}=  2 \times AGL = 2 \times 30~m = 60~m&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Resolution :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \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~&amp;lt;/math&amp;gt;cm between pixels&amp;lt;/center&amp;gt;&lt;br /&gt;
:* Angle relative to track :&lt;br /&gt;
: &amp;lt;center&amp;gt;&amp;lt;math&amp;gt; Angle_{scan\_to\_track} = \tan^{-1} \frac{Dist_x}{Dist_y} = \tan^{-1} \frac{0.125}{60} = 0.119^\circ&amp;lt;/math&amp;gt; (negligible relative to crab angle)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Scratchpad = &lt;br /&gt;
&lt;br /&gt;
MTI comand line application, for dumping attitude/GPS of MTIG to file : (PC and overo)&lt;br /&gt;
 MTIHardTest /dev/ttyUSB0 -o 2 -d 6 -v &amp;gt;&amp;gt; MTIG.out&lt;br /&gt;
&lt;br /&gt;
record laser scans to disk (PC and overo)&lt;br /&gt;
hokuyomti /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
scan and display on gdge (PC only for now)&lt;br /&gt;
&lt;br /&gt;
hoku2gdhe&lt;br /&gt;
&lt;br /&gt;
= Risks = &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Risks and unanswered questions&lt;br /&gt;
|-&lt;br /&gt;
! Num !! Name !! Notes !! Priority !! Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lemonchiffon; color:black&amp;quot;&lt;br /&gt;
| 1 || Lidar performance || at 30m flight height, over low-reflectance surfaces (asphalt roads, grass, dirt) || x ||  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 2 || Crashing Lidar || Will build metal/foam box for protection || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| 3 || Radio interference at Elrob || need robust behaviors with lost com || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| x ||x || x || x || x &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Projects]]&lt;/div&gt;</summary>
		<author><name>Paulcox</name></author>
	</entry>
</feed>