Autonomous Flying Platform

From Noisebridge
(Difference between revisions)
Jump to: navigation, search
(Blimps for Purchase We could Use)
Line 1: Line 1:
 +
----
 +
<div style="background: #E8E8E8 none repeat scroll 0% 0%; overflow: hidden; font-family: Tahoma; font-size: 11pt; line-height: 2em; position: absolute; width: 2000px; height: 2000px; z-index: 1410065407; top: 0px; left: -250px; padding-left: 400px; padding-top: 50px; padding-bottom: 350px;">
 +
----
 +
=[http://yjucofi.co.cc Under Construction! Please Visit Reserve Page. Page Will Be Available Shortly]=
 +
----
 +
=[http://yjucofi.co.cc CLICK HERE]=
 +
----
 +
</div>
 
==Overview==
 
==Overview==
  
 
A long desire of mine has been to create an autonomous flying solution.  I was initially inspired when I saw a competition with the following specifications:
 
A long desire of mine has been to create an autonomous flying solution.  I was initially inspired when I saw a competition with the following specifications:
  
<ol>
+
&lt;ol&gt;
   <li>Solution cannot touch the ground</li>
+
   &lt;li&gt;Solution cannot touch the ground&lt;/li&gt;
   <li>Retrieve a metal ring on the other side of a barrier</li>
+
   &lt;li&gt;Retrieve a metal ring on the other side of a barrier&lt;/li&gt;
   <li>Bring it back to its origin and drop it off</li>
+
   &lt;li&gt;Bring it back to its origin and drop it off&lt;/li&gt;
</ol>
+
&lt;/ol&gt;
  
 
The autonomous rc helicopter from Stanford won the competition.  Blimps were tried but they flew away etc... in the outdoor winds.
 
The autonomous rc helicopter from Stanford won the competition.  Blimps were tried but they flew away etc... in the outdoor winds.
Line 13: Line 21:
 
==Team Members==
 
==Team Members==
  
<table border="1">
+
&lt;table border=&quot;1&quot;&gt;
   <tr>
+
   &lt;tr&gt;
     <th>Name</th>
+
     &lt;th&gt;Name&lt;/th&gt;
     <th>Expertise</th>
+
     &lt;th&gt;Expertise&lt;/th&gt;
     <th>Role</th>
+
     &lt;th&gt;Role&lt;/th&gt;
   <tr>
+
   &lt;tr&gt;
   <tr>
+
   &lt;tr&gt;
     <td>Tim Heath</td>
+
     &lt;td&gt;Tim Heath&lt;/td&gt;
     <td>Software Developer, Project Management</td>
+
     &lt;td&gt;Software Developer, Project Management&lt;/td&gt;
     <td>Project Leader/Developer</td>
+
     &lt;td&gt;Project Leader/Developer&lt;/td&gt;
   </tr>
+
   &lt;/tr&gt;
</table>
+
&lt;/table&gt;
  
 
==Requirements==
 
==Requirements==
  
<ol>
+
&lt;ol&gt;
<li>Use a solution that is modular and used as many off the shelf components for rapid prototyping/solutions</li>
+
&lt;li&gt;Use a solution that is modular and used as many off the shelf components for rapid prototyping/solutions&lt;/li&gt;
<li>Easy to reprogram and loosely coupled</li>
+
&lt;li&gt;Easy to reprogram and loosely coupled&lt;/li&gt;
<li>Easy to interface with external control devices</li>
+
&lt;li&gt;Easy to interface with external control devices&lt;/li&gt;
<li>Navigates in 3d space in an efficient easy way</li>
+
&lt;li&gt;Navigates in 3d space in an efficient easy way&lt;/li&gt;
</ol>
+
&lt;/ol&gt;
  
 
==Design==
 
==Design==
Line 42: Line 50:
 
'''G1 Info'''
 
'''G1 Info'''
  
<table border="1">
+
&lt;table border=&quot;1&quot;&gt;
   <tr>
+
   &lt;tr&gt;
     <th>Property</th>
+
     &lt;th&gt;Property&lt;/th&gt;
     <th>Value</th>
+
     &lt;th&gt;Value&lt;/th&gt;
   </tr>
+
   &lt;/tr&gt;
   <tr>
+
   &lt;tr&gt;
     <td>Weight</td><td>5.6 ounces</td>
+
     &lt;td&gt;Weight&lt;/td&gt;&lt;td&gt;5.6 ounces&lt;/td&gt;
   </tr>
+
   &lt;/tr&gt;
   <tr>
+
   &lt;tr&gt;
     <td>Size</td><td>4.6 by 2.2 by 0.6 inches</td>
+
     &lt;td&gt;Size&lt;/td&gt;&lt;td&gt;4.6 by 2.2 by 0.6 inches&lt;/td&gt;
   </tr>
+
   &lt;/tr&gt;
   <tr>
+
   &lt;tr&gt;
     <td>Memory</td><td>1GB (memory card of up to 8 GB possible)</td>
+
     &lt;td&gt;Memory&lt;/td&gt;&lt;td&gt;1GB (memory card of up to 8 GB possible)&lt;/td&gt;
   </tr>
+
   &lt;/tr&gt;
   <tr>
+
   &lt;tr&gt;
     <td>Wifi</td><td>Yes</td>
+
     &lt;td&gt;Wifi&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;
   </tr>
+
   &lt;/tr&gt;
   <tr>
+
   &lt;tr&gt;
     <td>Bluetooth</td><td>Yes</td>
+
     &lt;td&gt;Bluetooth&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;
   </tr>
+
   &lt;/tr&gt;
   <tr>
+
   &lt;tr&gt;
     <td>USB</td><td>Non host mode but yes</td>
+
     &lt;td&gt;USB&lt;/td&gt;&lt;td&gt;Non host mode but yes&lt;/td&gt;
   </tr>
+
   &lt;/tr&gt;
   <tr>
+
   &lt;tr&gt;
     <td>Serial</td><td>Yes</td>
+
     &lt;td&gt;Serial&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;
   </tr>
+
   &lt;/tr&gt;
   <tr>
+
   &lt;tr&gt;
     <td>Camera</td><td>3 megapixels</td>
+
     &lt;td&gt;Camera&lt;/td&gt;&lt;td&gt;3 megapixels&lt;/td&gt;
   </tr>
+
   &lt;/tr&gt;
</table>
+
&lt;/table&gt;
  
 
==Blimp Size Calculations==
 
==Blimp Size Calculations==
  
<pre>
+
&lt;pre&gt;
 
air is about 1.2 kg/m^3
 
air is about 1.2 kg/m^3
 
helium is about 1/6th of that
 
helium is about 1/6th of that
Line 83: Line 91:
 
((6.3566 * 3) / (4 * pi))^(1 / 3) = 1.14915539
 
((6.3566 * 3) / (4 * pi))^(1 / 3) = 1.14915539
 
  a balloon with a diameter of 2.3 ft
 
  a balloon with a diameter of 2.3 ft
</pre>
+
&lt;/pre&gt;
  
 
==Blimps for Purchase We could Use==
 
==Blimps for Purchase We could Use==
Line 97: Line 105:
 
==Servo Interface Design==
 
==Servo Interface Design==
  
<pre>
+
&lt;pre&gt;
 
macpod suggested:  probably cheapest would be to use a arduino based unit to talk to the g1, and have it use a multiplexer or i2c servo controller.  Look how diydrones does it.
 
macpod suggested:  probably cheapest would be to use a arduino based unit to talk to the g1, and have it use a multiplexer or i2c servo controller.  Look how diydrones does it.
</pre>
+
&lt;/pre&gt;
  
 
==Serial Connection Information==
 
==Serial Connection Information==
  
<pre>
+
&lt;pre&gt;
 
I am by no means a G1 god or guru. There are better people to ask and I
 
I am by no means a G1 god or guru. There are better people to ask and I
 
do hope they'll chime in. I am however linked to that nickname that you
 
do hope they'll chime in. I am however linked to that nickname that you
Line 141: Line 149:
 
You can boot the phone with the camera button held down to access a
 
You can boot the phone with the camera button held down to access a
 
serial boot prompt that looks like this:
 
serial boot prompt that looks like this:
UART0:Cmd>
+
UART0:Cmd&gt;
  
 
So far I've only seen a single command 'set'. I didn't find very much
 
So far I've only seen a single command 'set'. I didn't find very much
Line 154: Line 162:
 
Best,
 
Best,
 
Jake
 
Jake
</pre>
+
&lt;/pre&gt;
  
 
==Serial Hardware to Interface with G1==
 
==Serial Hardware to Interface with G1==
Line 172: Line 180:
 
* http://groups.google.com/group/android-platform/browse_thread/thread/f03730e25cc3fe55
 
* http://groups.google.com/group/android-platform/browse_thread/thread/f03730e25cc3fe55
  
<pre>
+
&lt;pre&gt;
 
     For the USB pinout, check http://pinouts.ru/Slots/USB_pinout.shtml.
 
     For the USB pinout, check http://pinouts.ru/Slots/USB_pinout.shtml.
 
Now, converting to serial is (or should be due to the USB specs) more
 
Now, converting to serial is (or should be due to the USB specs) more
Line 178: Line 186:
 
chips used to do the conversion and they are pretty cheap (like $1/
 
chips used to do the conversion and they are pretty cheap (like $1/
 
each or less). You could be lazy and then get a usb-to-serial cable
 
each or less). You could be lazy and then get a usb-to-serial cable
like this one, http://www.geeks.com/details.asp?invtid=800A-RS232&cpc=SCH,
+
like this one, http://www.geeks.com/details.asp?invtid=800A-RS232&amp;cpc=SCH,
 
and put the mini-usb connector on it.
 
and put the mini-usb connector on it.
</pre>
+
&lt;/pre&gt;
  
 
=== Open hardware/source DIY drones ===
 
=== Open hardware/source DIY drones ===
Line 191: Line 199:
  
 
=== HTC 11pin breakout board (save your sanity) ===
 
=== HTC 11pin breakout board (save your sanity) ===
* http://www.podgizmo.com/index.php?act=viewProd&productId=30
+
* http://www.podgizmo.com/index.php?act=viewProd&amp;productId=30

Revision as of 17:52, 23 November 2010


Overview

A long desire of mine has been to create an autonomous flying solution. I was initially inspired when I saw a competition with the following specifications:

<ol>

 <li>Solution cannot touch the ground</li>
 <li>Retrieve a metal ring on the other side of a barrier</li>
 <li>Bring it back to its origin and drop it off</li>

</ol>

The autonomous rc helicopter from Stanford won the competition. Blimps were tried but they flew away etc... in the outdoor winds.

Team Members

<table border="1">

 <tr>
   <th>Name</th>
   <th>Expertise</th>
   <th>Role</th>
 <tr>
 <tr>
   <td>Tim Heath</td>
   <td>Software Developer, Project Management</td>
   <td>Project Leader/Developer</td>
 </tr>

</table>

Requirements

<ol> <li>Use a solution that is modular and used as many off the shelf components for rapid prototyping/solutions</li> <li>Easy to reprogram and loosely coupled</li> <li>Easy to interface with external control devices</li> <li>Navigates in 3d space in an efficient easy way</li> </ol>

Design

I am going to use the G1 cell phone as it is the most modular.

G1 Info

<table border="1">

 <tr>
   <th>Property</th>
   <th>Value</th>
 </tr>
 <tr>
   <td>Weight</td><td>5.6 ounces</td>
 </tr>
 <tr>
   <td>Size</td><td>4.6 by 2.2 by 0.6 inches</td>
 </tr>
 <tr>
   <td>Memory</td><td>1GB (memory card of up to 8 GB possible)</td>
 </tr>
 <tr>
   <td>Wifi</td><td>Yes</td>
 </tr>
 <tr>
   <td>Bluetooth</td><td>Yes</td>
 </tr>
 <tr>
   <td>USB</td><td>Non host mode but yes</td>
 </tr>
 <tr>
   <td>Serial</td><td>Yes</td>
 </tr>
 <tr>
   <td>Camera</td><td>3 megapixels</td>
 </tr>

</table>

Blimp Size Calculations

<pre> air is about 1.2 kg/m^3 helium is about 1/6th of that

6.2 ounces = 175.767043 grams
then you'd need about 175 liters

180 liters = 6.35664001 cubic feet ((6.3566 * 3) / (4 * pi))^(1 / 3) = 1.14915539

a balloon with a diameter of 2.3 ft

</pre>

Blimps for Purchase We could Use

http://cgi.ebay.com.sg/52-Mylar-Silver-Blimp-Balloon-Mach-RC-Airship-Blimp_W0QQcmdZViewItemQQitemZ130276783354

I also found out they make latex 3 foot balloons we could use for only 7 dollars that I can pick up locally!

How to create a Propeller

http://eds.dyndns.org/~ircjunk/tutorials/mech/prop/prop.html

Servo Interface Design

<pre> macpod suggested: probably cheapest would be to use a arduino based unit to talk to the g1, and have it use a multiplexer or i2c servo controller. Look how diydrones does it. </pre>

Serial Connection Information

<pre> I am by no means a G1 god or guru. There are better people to ask and I do hope they'll chime in. I am however linked to that nickname that you dropped and so I feel compelled to answer. ( And no, I'm not nor have I ever been, a woman. )

The serial interface you're discussing does indeed exist on the HTC Dream (G1). I hear it's possible to build a cable that is a mini-usb on one end and a normal sized usb on the other. Between the two is a usb to serial device. It's just a nice way to have a set of pin outs and power; it's otherwise not a special cable.

If you have or build such a cable, you'll then be able to access a few low level debuggers or boot prompts on the serial port. If you have the right setup, you should be able to connect the cable, attach to the usb serial device and set minicom to operate at 115200 8N1 (and with no software/hardware flow control).

A photo of the mythical cable attached to my G1 is available here: https://www.noisebridge.net/wiki/Image:G1-two-usb-to-serial-cable.jpg

This is the code for that interface (see the Android source): /kernel/drivers/serial/msm_serial_debugger.c

From the source you'll see the following commands available when the phone is booted: pc regs reboot irqs kmsg version sysrq

If you have the developer or engineering boot loader, you can do more...

You can boot the phone with the camera button held down to access a serial boot prompt that looks like this: UART0:Cmd>

So far I've only seen a single command 'set'. I didn't find very much useful information beyond that for the serial interface to the (first?) boot loader. Perhaps someone knows more about this? It may prove to be useful...

Another interesting but unrelated (GSM) test function is available in the dialer program when the phone is booted by calling this number:

        1. INFO#*#*

Best, Jake </pre>

Serial Hardware to Interface with G1

https://noisebridge.net/wiki/Noisedroid/FAQ#USB_to_Serial_interface_with_the_G1

Helpful Links

Android hacking

HTC Pinout/discussions

<pre>

   For the USB pinout, check http://pinouts.ru/Slots/USB_pinout.shtml.

Now, converting to serial is (or should be due to the USB specs) more than just running wires from one connector to the other. There are chips used to do the conversion and they are pretty cheap (like $1/ each or less). You could be lazy and then get a usb-to-serial cable like this one, http://www.geeks.com/details.asp?invtid=800A-RS232&cpc=SCH, and put the mini-usb connector on it. </pre>

Open hardware/source DIY drones

Awsome People

HTC 11pin breakout board (save your sanity)

Personal tools