<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6344479272859449641</id><updated>2011-11-27T19:42:00.538-05:00</updated><category term='cafepress.com'/><category term='hpi 5t'/><category term='instrumentation'/><category term='contour hd'/><category term='diy drones'/><category term='tiny 2.11'/><category term='big baby first flight'/><category term='development'/><category term='robot'/><category term='blue board insulation'/><category term='duckeron'/><category term='rc construction'/><category term='updates'/><category term='algorithms'/><category term='kalman filter'/><category term='windows 7'/><category term='c#'/><category term='epoxy'/><category term='aluminum'/><category term='tips'/><category term='fiberglass'/><category term='.net'/><category term='connectors'/><category term='wiring'/><category term='review'/><category term='renewable energy'/><category term='need more clicks'/><category term='drone'/><category term='squadron badges'/><category term='bonding'/><category term='business'/><category term='AForge'/><category term='quicktime movies'/><category term='computer on module'/><category term='ksrc-002'/><category term='java'/><category term='optical flow'/><category term='hpi 5b'/><category term='rc'/><category term='parking lot course'/><category term='buzz labs'/><category term='flaperon'/><category term='1080p'/><category term='neu'/><category term='international treaty'/><category term='preview'/><category term='airplane design'/><category term='aircraft spruce'/><category term='lay-up'/><category term='advancedservoservo'/><category term='giant-scale'/><category term='android 2.8 froyo'/><category term='cheap rc'/><category term='carbon fiber'/><category term='object oriented'/><category term='uav sensors'/><category term='phidgetexception #9'/><category term='airframe'/><category term='faa'/><category term='marketing'/><category term='ugv'/><category term='fun'/><category term='experimental'/><category term='redcat racing'/><category term='SPIE'/><category term='control systems'/><category term='x-plane'/><category term='shape'/><category term='styrofoam'/><category term='gyroscope'/><category term='uav'/><category term='formulas'/><category term='lipo batteries'/><category term='apple'/><category term='advertising'/><category term='android 2'/><category term='hpi racing'/><category term='hair spray trick'/><category term='fat man flying'/><category term='paparazzi'/><category term='airbus sucks'/><category term='unique cutting and metal works'/><category term='smoking ace'/><category term='composite'/><category term='sparkfun'/><category term='king motors'/><category term='autopilot'/><category term='sensors'/><category term='uas sensors'/><category term='motors'/><category term='HWIL'/><category term='phidgets'/><category term='windows'/><category term='aircraft design'/><category term='structural engineering'/><category term='central europe'/><category term='code'/><category term='helmet cam'/><category term='project progress'/><category term='laws'/><category term='balsa'/><category term='hardware'/><category term='nutech'/><category term='shout outs'/><category term='airfoil'/><category term='basic aerodynamics'/><category term='robotics'/><category term='howto'/><category term='lithium polymer'/><category term='chebuzz'/><category term='gis'/><category term='boeing'/><category term='oop'/><category term='ardurino'/><category term='terrorism'/><category term='loctite'/><category term='curve fitting'/><category term='electric conversion'/><category term='brazil'/><category term='gps'/><category term='scratch built'/><category term='x-era'/><category term='lifting bodies'/><category term='computer vision'/><category term='netbook'/><category term='trapezoid rule'/><category term='cheap servos'/><category term='new plane'/><category term='hygeine'/><category term='1/5th scale'/><category term='1st Florida Experimental Squadron'/><title type='text'>Buzz Labs' Unmanned Vehicles and Stuff</title><subtitle type='html'>Buzz Labs' unmanned vehicle blog and cool DIY remote controlled stuff blog. For techies by techies, maybe also some interesting tidbits about small business and international business.
&lt;br&gt;&lt;p align="right"&gt;Follow us on : &lt;a href="http://www.facebook.com/profile.php?id=100000227591679"&gt;&lt;img border="0" src="http://sites.google.com/a/fatmanflying.com/www/engineering-services/icon_facebook.gif"&gt;&lt;/a&gt;&lt;/p&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://buzzlabs.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>70</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-5428613644598098568</id><published>2011-08-09T23:55:00.002-04:00</published><updated>2011-08-10T10:19:03.036-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cheap rc'/><category scheme='http://www.blogger.com/atom/ns#' term='unique cutting and metal works'/><category scheme='http://www.blogger.com/atom/ns#' term='aluminum'/><category scheme='http://www.blogger.com/atom/ns#' term='smoking ace'/><category scheme='http://www.blogger.com/atom/ns#' term='airframe'/><category scheme='http://www.blogger.com/atom/ns#' term='scratch built'/><category scheme='http://www.blogger.com/atom/ns#' term='giant-scale'/><title type='text'>Smoking Ace Pt.1</title><content type='html'>Ok, this is not the most verbose of howto's .I will start explaining the most important parts of the pics belo.w.&lt;br /&gt;These are the basic structural elements of the Smoking Ace fuselage.&lt;br /&gt;&lt;br /&gt;One thing that I have to say is that it is going together quickly. There are some unforeseen technical bits trying to assemble the fuselage. Mainly around the stiffness of the joints between the sections. The fuselage is 42" long at the moment. A tail and nose cone have not been added, I hope to have them and the lid done soon.&lt;br /&gt;&lt;br /&gt;Special thanks to Bill Sheffer at &lt;a href="http://www.uniquecutting.com/"&gt;Unique Cutting &amp;amp; Metalworks&lt;/a&gt;&amp;nbsp;for his help and support on this project!&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-4nwSCasCqLQ/TkH0mwIfQmI/AAAAAAAACic/56kJuKMGZ7E/s1600/09aug11+%252837%2529+%25281024x768%2529.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/-4nwSCasCqLQ/TkH0mwIfQmI/AAAAAAAACic/56kJuKMGZ7E/s1600/09aug11+%252837%2529+%25281024x768%2529.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/-4nwSCasCqLQ/TkH0mwIfQmI/AAAAAAAACic/56kJuKMGZ7E/s200/09aug11+%252837%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://1.bp.blogspot.com/-pLk-5ZMhycc/TkH0ohxW7wI/AAAAAAAACig/WVya7QE0l1s/s1600/09aug11+%252836%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/-pLk-5ZMhycc/TkH0ohxW7wI/AAAAAAAACig/WVya7QE0l1s/s200/09aug11+%252836%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://2.bp.blogspot.com/-umg7JSzCl8E/TkH0qYTVAkI/AAAAAAAACik/CK5AXkUDv_A/s1600/09aug11+%252835%2529+%25281024x768%2529.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/-umg7JSzCl8E/TkH0qYTVAkI/AAAAAAAACik/CK5AXkUDv_A/s200/09aug11+%252835%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://4.bp.blogspot.com/-bNEaogjHHoA/TkH0r00bVTI/AAAAAAAACio/yMLxwgdZTog/s1600/09aug11+%252834%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/-bNEaogjHHoA/TkH0r00bVTI/AAAAAAAACio/yMLxwgdZTog/s200/09aug11+%252834%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://4.bp.blogspot.com/-G8jJxuk2BOg/TkH0uLZFBdI/AAAAAAAACis/oBy-d9uOzSw/s1600/09aug11+%252833%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/-G8jJxuk2BOg/TkH0uLZFBdI/AAAAAAAACis/oBy-d9uOzSw/s200/09aug11+%252833%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://1.bp.blogspot.com/-2xoU35Nu4H8/TkH0v3M65lI/AAAAAAAACiw/jnS_7VWwM1g/s1600/09aug11+%252832%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/-2xoU35Nu4H8/TkH0v3M65lI/AAAAAAAACiw/jnS_7VWwM1g/s200/09aug11+%252832%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://4.bp.blogspot.com/-wVvURAaCuHA/TkH0xarJbNI/AAAAAAAACi0/1mQNX7mzeiA/s1600/09aug11+%252831%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/-wVvURAaCuHA/TkH0xarJbNI/AAAAAAAACi0/1mQNX7mzeiA/s200/09aug11+%252831%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://3.bp.blogspot.com/-8snw2jpH21s/TkH0zsZdw4I/AAAAAAAACi4/hBC3eILfT8s/s1600/09aug11+%252830%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/-8snw2jpH21s/TkH0zsZdw4I/AAAAAAAACi4/hBC3eILfT8s/s200/09aug11+%252830%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://2.bp.blogspot.com/-te2bqgfebh8/TkH01kAcyYI/AAAAAAAACi8/uB9_kWvVYpU/s1600/09aug11+%252829%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/-te2bqgfebh8/TkH01kAcyYI/AAAAAAAACi8/uB9_kWvVYpU/s200/09aug11+%252829%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://4.bp.blogspot.com/-TU_uBZph6L0/TkH02y0KIaI/AAAAAAAACjA/WpprJl51RFU/s1600/09aug11+%252828%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/-TU_uBZph6L0/TkH02y0KIaI/AAAAAAAACjA/WpprJl51RFU/s200/09aug11+%252828%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt; &lt;/td&gt;&lt;td&gt;&lt;a href="http://1.bp.blogspot.com/-XQcv5Ti7V4k/TkH04bfe-7I/AAAAAAAACjE/EtiNRQilD5w/s1600/09aug11+%252827%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/-XQcv5Ti7V4k/TkH04bfe-7I/AAAAAAAACjE/EtiNRQilD5w/s200/09aug11+%252827%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://1.bp.blogspot.com/-0kewrCE9CeA/TkH05y02l5I/AAAAAAAACjI/khO59vc4R_4/s1600/09aug11+%252826%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/-0kewrCE9CeA/TkH05y02l5I/AAAAAAAACjI/khO59vc4R_4/s200/09aug11+%252826%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://3.bp.blogspot.com/-02ocoWzPFsM/TkH08NU-VwI/AAAAAAAACjM/9NHFwwfYml4/s1600/09aug11+%252825%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/-02ocoWzPFsM/TkH08NU-VwI/AAAAAAAACjM/9NHFwwfYml4/s200/09aug11+%252825%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://2.bp.blogspot.com/-hMZ5uVmG0x4/TkH0_t4JaVI/AAAAAAAACjU/6yc1AsDw4RE/s1600/09aug11+%252823%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/-hMZ5uVmG0x4/TkH0_t4JaVI/AAAAAAAACjU/6yc1AsDw4RE/s200/09aug11+%252823%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://2.bp.blogspot.com/-c69X0RogV38/TkH0-XfiSrI/AAAAAAAACjQ/8CasnbfQJHU/s1600/09aug11+%252824%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/-c69X0RogV38/TkH0-XfiSrI/AAAAAAAACjQ/8CasnbfQJHU/s200/09aug11+%252824%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://2.bp.blogspot.com/-oxbOlHEf95I/TkH1BErtPcI/AAAAAAAACjY/AgRF_LoLMbM/s1600/09aug11+%252822%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/-oxbOlHEf95I/TkH1BErtPcI/AAAAAAAACjY/AgRF_LoLMbM/s200/09aug11+%252822%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://3.bp.blogspot.com/-hmV-6nafzHw/TkH1EKBPgdI/AAAAAAAACjg/S5vGZ9FpO4w/s1600/09aug11+%252820%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/-hmV-6nafzHw/TkH1EKBPgdI/AAAAAAAACjg/S5vGZ9FpO4w/s200/09aug11+%252820%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://2.bp.blogspot.com/-qlSQaY6izAc/TkH1Co9OVpI/AAAAAAAACjc/tSsEgEJLi-U/s1600/09aug11+%252821%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/-qlSQaY6izAc/TkH1Co9OVpI/AAAAAAAACjc/tSsEgEJLi-U/s200/09aug11+%252821%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://3.bp.blogspot.com/-wfVjA8vj8q8/TkH1GHWAZvI/AAAAAAAACjk/5cDswGF5YHI/s1600/09aug11+%252819%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/-wfVjA8vj8q8/TkH1GHWAZvI/AAAAAAAACjk/5cDswGF5YHI/s200/09aug11+%252819%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://1.bp.blogspot.com/-D1N5h3DG6iQ/TkH1HSg8P7I/AAAAAAAACjo/Mtr_5ys7gD0/s1600/09aug11+%252818%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/-D1N5h3DG6iQ/TkH1HSg8P7I/AAAAAAAACjo/Mtr_5ys7gD0/s200/09aug11+%252818%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://2.bp.blogspot.com/-WeGCmEaxuiw/TkH1IzevsbI/AAAAAAAACjs/wvSLRMRvakg/s1600/09aug11+%252817%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/-WeGCmEaxuiw/TkH1IzevsbI/AAAAAAAACjs/wvSLRMRvakg/s200/09aug11+%252817%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://3.bp.blogspot.com/-0BNQDu_vaEw/TkH1J7Cw-2I/AAAAAAAACjw/FtcT3hIzjOE/s1600/09aug11+%252812%2529+Stitch+%25281024x530%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="103" src="http://3.bp.blogspot.com/-0BNQDu_vaEw/TkH1J7Cw-2I/AAAAAAAACjw/FtcT3hIzjOE/s200/09aug11+%252812%2529+Stitch+%25281024x530%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://3.bp.blogspot.com/-gsM-QjjVbW4/TkH1LvmmFaI/AAAAAAAACj0/ydXIyEL4j6U/s1600/09aug11+%252816%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/-gsM-QjjVbW4/TkH1LvmmFaI/AAAAAAAACj0/ydXIyEL4j6U/s200/09aug11+%252816%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://3.bp.blogspot.com/-_EatdSVXHtI/TkH1NKHnH_I/AAAAAAAACj4/pwd7rRvOIDg/s1600/09aug11+%252815%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/-_EatdSVXHtI/TkH1NKHnH_I/AAAAAAAACj4/pwd7rRvOIDg/s200/09aug11+%252815%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://1.bp.blogspot.com/-aj8_0s7rKk4/TkH1Osoj9iI/AAAAAAAACj8/JIzV8fEoEWM/s1600/09aug11+%252814%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/-aj8_0s7rKk4/TkH1Osoj9iI/AAAAAAAACj8/JIzV8fEoEWM/s200/09aug11+%252814%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://4.bp.blogspot.com/-aBqZ4AjMNnI/TkH1QBxGJKI/AAAAAAAACkA/cbuNxy8qDgc/s1600/09aug11+%252813%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/-aBqZ4AjMNnI/TkH1QBxGJKI/AAAAAAAACkA/cbuNxy8qDgc/s200/09aug11+%252813%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://4.bp.blogspot.com/-81jQbNxzJYM/TkH1RyETg5I/AAAAAAAACkE/OWMIMLBWi3g/s1600/09aug11+%252812%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/-81jQbNxzJYM/TkH1RyETg5I/AAAAAAAACkE/OWMIMLBWi3g/s200/09aug11+%252812%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://4.bp.blogspot.com/-JMW1DXWOOAc/TkH1TU5k0GI/AAAAAAAACkI/86m2bxSzucQ/s1600/09aug11+%252811%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/-JMW1DXWOOAc/TkH1TU5k0GI/AAAAAAAACkI/86m2bxSzucQ/s200/09aug11+%252811%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://2.bp.blogspot.com/-fKCmR_7EQa4/TkH1UqEQqoI/AAAAAAAACkM/sA9mMig86kM/s1600/09aug11+%252810%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/-fKCmR_7EQa4/TkH1UqEQqoI/AAAAAAAACkM/sA9mMig86kM/s200/09aug11+%252810%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://2.bp.blogspot.com/-S3Wq-f1vhjc/TkH1V1rbySI/AAAAAAAACkQ/PKcOEuwa1VI/s1600/09aug11+%25289%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/-S3Wq-f1vhjc/TkH1V1rbySI/AAAAAAAACkQ/PKcOEuwa1VI/s200/09aug11+%25289%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://1.bp.blogspot.com/-xYPvhOPeuCU/TkH1XbPx77I/AAAAAAAACkU/SlzkpELPe-0/s1600/09aug11+%25288%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/-xYPvhOPeuCU/TkH1XbPx77I/AAAAAAAACkU/SlzkpELPe-0/s200/09aug11+%25288%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://2.bp.blogspot.com/-ID2Hoh3lZeE/TkH1Zq-ZJYI/AAAAAAAACkY/_1Owk9YZRJs/s1600/09aug11+%25287%2529+%25281024x768%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/-ID2Hoh3lZeE/TkH1Zq-ZJYI/AAAAAAAACkY/_1Owk9YZRJs/s200/09aug11+%25287%2529+%25281024x768%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-5428613644598098568?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/5428613644598098568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/5428613644598098568'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2011/08/smoking-ace-pt1.html' title='Smoking Ace Pt.1'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-4nwSCasCqLQ/TkH0mwIfQmI/AAAAAAAACic/56kJuKMGZ7E/s72-c/09aug11+%252837%2529+%25281024x768%2529.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-5129268413560309776</id><published>2011-07-02T10:47:00.003-04:00</published><updated>2011-07-02T10:48:53.833-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cheap rc'/><category scheme='http://www.blogger.com/atom/ns#' term='1st Florida Experimental Squadron'/><category scheme='http://www.blogger.com/atom/ns#' term='rc construction'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='fat man flying'/><category scheme='http://www.blogger.com/atom/ns#' term='cheap servos'/><category scheme='http://www.blogger.com/atom/ns#' term='smoking ace'/><title type='text'>Coming Soon: How to Build a Smoking Ace</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Hey everyone,&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Next month I will start a simple construction project, demonstrating how to build a "&lt;a href="http://www.fatmanflying.com/"&gt;Smoking Ace"&lt;/a&gt;. It is not always pretty but the goal is to be straight. Please check back in the next few days or weeks to see our progress.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-UOhYgecMX6s/Tg8vscJXjsI/AAAAAAAACiQ/3-7s4HBT-0U/s1600/usuasdevgrp1a.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-UOhYgecMX6s/Tg8vscJXjsI/AAAAAAAACiQ/3-7s4HBT-0U/s320/usuasdevgrp1a.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-5129268413560309776?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/5129268413560309776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/5129268413560309776'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2011/07/coming-soon-how-to-build-smoking-ace.html' title='Coming Soon: How to Build a Smoking Ace'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-UOhYgecMX6s/Tg8vscJXjsI/AAAAAAAACiQ/3-7s4HBT-0U/s72-c/usuasdevgrp1a.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-4467665716313582202</id><published>2011-03-25T21:27:00.001-04:00</published><updated>2011-03-25T21:28:53.528-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='airplane design'/><category scheme='http://www.blogger.com/atom/ns#' term='x-plane'/><category scheme='http://www.blogger.com/atom/ns#' term='cheap rc'/><category scheme='http://www.blogger.com/atom/ns#' term='aircraft design'/><title type='text'>Adventures in Aircraft Model Validation</title><content type='html'>After several months of working on the Smoking Ace, I have learned one thing. Balsa is not your friend.&lt;br /&gt;Aluminum is not so bad, but it is what it is and you need to make sure you bolt it up.&lt;br /&gt;&lt;br /&gt;We have been working on conreol systems for the plane. It works like a normal pusher. The simulator&amp;nbsp;models that we use suggest that it is pretty predictable to fly. I hope that is the design and not the&amp;nbsp;simulator dumbing things down, so that my feelings are not hurt. Our primary model is &lt;a href="http://www.x-plane.com/"&gt;X-Plane&lt;/a&gt; 9.3. It was pretty&amp;nbsp;easy to build a model in the system, for what it is worth. I could plot out a simple airfoil and&amp;nbsp;plot out the weights and measures of the plane as we are predicting them. I had to use a custom airfoil, our low&amp;nbsp;moment &amp;nbsp;airfoil is well understood, but is not super common in general libraries. We use the e204 with a 16" chord.&lt;br /&gt;&lt;br /&gt;We chose 16" because it allows us to get 2000 square inches of wing area in a reasonable span. No, there is&lt;br /&gt;nothing reasonable about wings that are longer than I am tall by a ways. That would be fine, but there are two of them.&amp;nbsp;Which means we have to take it outside to assemble the plane. As a reference, this is gives us a do not exceed&amp;nbsp;gross vehicle take off wing loading of 50.2 oz/square foot.This is a little high, but for a 14' wingspan it is not&amp;nbsp;out of bed.This is all in the batteries. This is an electric plane, with a 65cc equivalent motor driving a 22" fan.&lt;br /&gt;&lt;br /&gt;This configuration should give us around 30 pounds of thrust. Hopefully, this will be more than enough to keep it&amp;nbsp;flying. The plane's primary mission is to fly straight and level and take pictures and instrument readings. I think that&amp;nbsp;the configuration will be successful at this. The Smoking Ace turns like a school bus, so it would be unexpected&amp;nbsp;for us to try and snap roll it.The sim says behaves like a normal pusher configuration.&lt;br /&gt;&lt;br /&gt;I mean that unlike a puller plane, when you put on the power you have to put on elevator or the nose dives.&amp;nbsp;To compensate for this a bit our elevator is set at 4 degrees nose down. This us effective at counteracting the&lt;br /&gt;offset of the line of thrust to the center of gravity. There is no vertical tail in this configration. So we have&amp;nbsp;a soft feeling rear end. Combined with our shortish, blended fuselage, means that we have to use the inner &amp;nbsp;ailerons&amp;nbsp;sometimes in flight as poor man's elevator. Long wings and an aggressive sweep makes this an effective&amp;nbsp;technique. Double, mid-span control surfaces help to give us an effective rudder. Differential roll inputs&amp;nbsp;counter-act the other roll inputs and change the drag profiles of the wings and developing a yaw moment&amp;nbsp;with little roll.&lt;br /&gt;&lt;br /&gt;In the next generation of the aircraft, there will be duckerons on the wing tips. Yeah, I know this is not an&lt;br /&gt;approved, aerospace term. Which was discussed in an earlier posting. Properly termed, they are drag rudders.&lt;br /&gt;&lt;br /&gt;Using X-Plane sizing them was pretty easy. Sure I can estimate that a drag force at the tip of the wing will&lt;br /&gt;&amp;nbsp;result in a given yaw moment. However, it is hard to estimate the tip effects on approach when the drag rudders&amp;nbsp;are too close to the wing tips. We found that they should be one chord or so from the wing tip. Farther out made&amp;nbsp;them more effective, but it also made them impractical during low altitude maneuvers. They were so effective&amp;nbsp;that they burned off airspeed and slammed the plane into the ground. Watching your model cartwheel wing tip&amp;nbsp;over tip is exciting, but depressing.&lt;br /&gt;&lt;br /&gt;NOTE: You have to release the brake when you are in X-Plane. Otherwise it has some crazy effects... I would have&amp;nbsp;&amp;nbsp;thought that if you kept making the same mistake, they could figure that out and say... release the brake... or&amp;nbsp;if you throttled up and the plane was not moving... some other visual cue may help.&lt;br /&gt;&lt;br /&gt;On the other hand, I kind of thought that most of the planes were kind of lackluster to fly. The differences&lt;br /&gt;between a Piper Cub and a 747 were not as striking as I would have hoped. A Cub should have felt a bit under powered&amp;nbsp;and then feel kind of flippy. When it got into its acrobatic range. Where the tail and rudder became effective nearstall conditions.&lt;br /&gt;&lt;br /&gt;If you want the latest revision of our model, you can get it here. If you find something interesting, or if we made a mistake&amp;nbsp;please feel free to comment at info@fatmanflying.com .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-4467665716313582202?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4467665716313582202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4467665716313582202'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2011/03/adventures-in-aircraft-model-validation.html' title='Adventures in Aircraft Model Validation'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-401878747933424700</id><published>2011-01-23T20:43:00.000-05:00</published><updated>2011-01-23T20:43:01.551-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cheap rc'/><category scheme='http://www.blogger.com/atom/ns#' term='rc construction'/><category scheme='http://www.blogger.com/atom/ns#' term='smoking ace'/><category scheme='http://www.blogger.com/atom/ns#' term='giant-scale'/><title type='text'>The Smoking Ace is in the jig</title><content type='html'>I got the parts for the Smoking Ace this weekend from Bill at "&lt;a href="http://www.uniquecutting.com/"&gt;Unique Cutting and Metal Works&lt;/a&gt;". Bill is great to work with and help us on this project.&lt;br /&gt;&lt;br /&gt;The parts are coming together well. They were bracketed this weekend and got a coat of enamel. The issue that I see at the moment, is that small variations in a straight line make a big difference now that the spars are weight reduced. Lots more small radii to worry about. I do not think it is a big deal, but I lost a bunch of holes because they were too close to other penetrations.&lt;br /&gt;&lt;br /&gt;The best thing, that has come out so far, is that the battery carriers really look like they fit as designed. That is cool, I hope that I can get the heat pipe design to work too. One of my coups of engineering will be to steer some of the motor, esc and battery heat to the same spot across a Peltier device and out to the free stream. I am not sure it will be worth more than a few volts, but something is better than nothing. Peltier recovery is one of several technologies that we hope will get our electronics power-management efficiency up.&lt;br /&gt;&lt;br /&gt;I will get some pictures up as soon as the fuselage gets a bit further along. One of the most interesting things about this design, is that it is based on triangles. Any third year structures student will remind you that triangles are the only self supporting shape. Self-supporting makes the air-frame easier to construct because it tends to stiffen up as you assemble it. This means that you can break the assembly up a bit more than normal and things self-support and then support when assembled. Anything that makes this easier to do is good.&lt;br /&gt;&lt;br /&gt;More to come.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-401878747933424700?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/401878747933424700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/401878747933424700'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2011/01/smoking-ace-is-in-jig.html' title='The Smoking Ace is in the jig'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-3164700219089090796</id><published>2010-11-17T18:47:00.000-05:00</published><updated>2010-11-17T18:47:40.963-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='android 2.8 froyo'/><category scheme='http://www.blogger.com/atom/ns#' term='kalman filter'/><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><category scheme='http://www.blogger.com/atom/ns#' term='parking lot course'/><category scheme='http://www.blogger.com/atom/ns#' term='ugv'/><category scheme='http://www.blogger.com/atom/ns#' term='optical flow'/><category scheme='http://www.blogger.com/atom/ns#' term='updates'/><title type='text'>UGV Autopilot Revisited</title><content type='html'>We have been working on lots of projects lately, mostly about the UAVs again. Only two hands and all, the last parking lot test that we ran were successful in clear areas. If you just wanted a clear circuit, our simple guidance system was good about being repeatable around 20mph. However, we want to get more in the low end in this, so that we can handle cornering better. The avoidance model is where we are looking for some help.&lt;div&gt;&lt;br /&gt;We are trying to get a working optical flow system to work at these speeds. You can get a working system at low frame rates, but we will need to increase our computing capacity to get it to work&amp;nbsp;successfully&amp;nbsp;at these speeds. Our issue we think, is in the matrix inversions. The determinant terms are making too many things blow up by divisions of small numbers.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;We are looking for anyone with experience getting an effective Kalman filter to work on Android. We have a few older phones, bhat we think would be a good platform for doing 2d control. Yes, I am mixing discussions a bit. If we can better estimate the net acceleration, it would help debug our optical flow system. We are having to bracket our responses so that the AI does not jerk the wheel. This seems to be an &amp;nbsp;issue. If optical flow can be used to manage the jerk, I think that we can even have moving obstacles in the scene and still reacquire the path with no issue.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It seems to be that the vectors estimated with Kalman divides by zero and runs a huge acceleration and that ruins the math for several iterations. Then the ringing dies out and the system cam go on, by that time we are either running for the hills because a dog liked the truck or because something blew across the scene. I have to find the math error.&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-3164700219089090796?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3164700219089090796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3164700219089090796'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/11/ugv-autopilot-revisited.html' title='UGV Autopilot Revisited'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-4989594939764652237</id><published>2010-11-17T18:27:00.000-05:00</published><updated>2010-11-17T18:27:12.525-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><category scheme='http://www.blogger.com/atom/ns#' term='contour hd'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>Contour 1080p HD helmet cam</title><content type='html'>So far so good with the helmet cam. We have been playing with its high frequency stabilization technology. This is pretty effective at taking the jelly and jam out of the motor shakes. Which is a good sign, it is effective at taking out suspension bob when riding a bike, but low frequency motion it can only do so much with. If you move the camera 3" it can't take the shake out of that. You would not really expect it to.&lt;br /&gt;&lt;br /&gt;At night, or in low-light conditions it gives a pretty good picture until it is hard to see. Once you break that&amp;nbsp;threshold&amp;nbsp;it is too dim as well. It does have a pretty good sensor, it can pick up even small changes in brightness well and does well with edges.&lt;br /&gt;&lt;br /&gt;At the moment, I have yet to get virtual dub to open a quicktime movie. None of the plugins that have been found work. Although I am loathe to say it, it may be better to just go the Quicktime Pro route. Legendary fail of customer support is always a reason why Mr. Jobs' overpriced fanboi kit rarely graces my workspace. It may be a necessary evil this time. Especially, if it can automatically export all of the movie's frames in one drop.&lt;br /&gt;&lt;br /&gt;I am not done testing the camera, but so far I recommend it. For the money, it is very usable, rugged and has a functional output that is good for tv viewing. Reliving past exploits are always a great way to kill &amp;nbsp;time while you lie to yourself about &amp;nbsp;how good you were.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-4989594939764652237?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4989594939764652237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4989594939764652237'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/11/contour-1080p-hd-helmet-cam.html' title='Contour 1080p HD helmet cam'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-2440713075096896195</id><published>2010-10-27T19:09:00.000-04:00</published><updated>2010-10-27T19:09:04.391-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='1080p'/><category scheme='http://www.blogger.com/atom/ns#' term='helmet cam'/><category scheme='http://www.blogger.com/atom/ns#' term='gis'/><category scheme='http://www.blogger.com/atom/ns#' term='quicktime movies'/><category scheme='http://www.blogger.com/atom/ns#' term='contour hd'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Countour HD Helmet Cam</title><content type='html'>We are looking into using the&lt;a href="http://www.contour.com/camera/contour_hd"&gt; &lt;span id="goog_1866798839"&gt;&lt;/span&gt;Contour &lt;span id="goog_1866798840"&gt;&lt;/span&gt;HD helmet cam&lt;/a&gt; as the data source for some GIS experiments. After a detailed review of available products, we found the Contour. It is a well-received &amp;nbsp;and rugged helmet cam aimed at mountain biking and snowboarding. Out of the box, it is a well built camera with an interesting rubberized back cover that gives access to the battery and the memory card in one flip of the thumb.&lt;br /&gt;&lt;br /&gt;I will see about posting the movies that were shot with the camera. The output is a &lt;a href="http://quicktime.apple.com/"&gt;QuickTime &lt;/a&gt;movie, that we will feed to virtual dub. Virtualdub will strip the frames out of the movie so that we can analyze frames to look for patterns in the vegetation. The goal is to make a semi-automated habitat estimator and/or plant specie histogram.&lt;br /&gt;&lt;br /&gt;As my batteries run low at dinner, I promise more interesting things to come.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-2440713075096896195?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/2440713075096896195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/2440713075096896195'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/10/countour-hd-helmet-cam.html' title='Countour HD Helmet Cam'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-6360654602361821121</id><published>2010-08-01T18:32:00.000-04:00</published><updated>2010-08-01T18:32:58.931-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cheap rc'/><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><title type='text'>Can't Get It Up?</title><content type='html'>Hey it happens to everyone...&lt;br /&gt;&lt;br /&gt;No little blue pills, but a rainy afternoon is keeping us from seeing how the wings sit in the mount. There is a bit of concern that the lovely tolerance that made the spars so easy to insert, is making life hard for other reasons. It will not be an issue. As long as the system is stiff once it is bolted together. There is some concern that the foam may crush under side-load. That could be fixed but I do not see a good solution that will work.&lt;br /&gt;&lt;br /&gt;The fix if necessary is a wing root cap. That is probably a good idea under most circumstances. However, what could it hold to? The thing that was great about the design was that it had little in the way of internal structure, it is foam after all. That may be limiting the&amp;nbsp;usable&amp;nbsp;weight in the end because you cannot make strong mounts between primary parts.&lt;br /&gt;&lt;br /&gt;We will see. At the moment I cam going to see if 0.060" piece of Aluminum sheet will tip the system in the right direction. It may need more like 0.090" &amp;nbsp;to correct the wing tip height. I can't see that until it stops raining enough to take it outside and measure it. Ten foot wingspan makes it problematic to measure in the house. Oh yeah, it is being built in a 900ft^2 apartment that I live in at the same time. It is a good drill for the initial facilities that I will have in CZ. I will dream of the day of such a large place.&lt;br /&gt;&lt;br /&gt;More to come...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-6360654602361821121?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6360654602361821121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6360654602361821121'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/08/cant-get-it-up.html' title='Can&apos;t Get It Up?'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-897632481034015333</id><published>2010-07-25T13:37:00.001-04:00</published><updated>2010-07-25T13:37:46.203-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='airplane design'/><category scheme='http://www.blogger.com/atom/ns#' term='lifting bodies'/><category scheme='http://www.blogger.com/atom/ns#' term='shape'/><category scheme='http://www.blogger.com/atom/ns#' term='airfoil'/><category scheme='http://www.blogger.com/atom/ns#' term='basic aerodynamics'/><title type='text'>Lifting Bodies Are More Than Just Another Pretty  Shape - Opinions on Aircraft Design</title><content type='html'>Lifting Bodies Are More Than Just Another Pretty &amp;nbsp;Shape - Opinions on Aircraft Design&lt;br /&gt;&lt;br /&gt;There are many ways to look at aircraft design. Most of which are field dependent, why design for supersonic flight if your device will never climb above 500'? It would be cool thought, right? I digress, if you are designing for normal flight regimes you will be operating at an altitude with an engine power curve which will vary by altitude and temperature. Now, if you are designing in other regimes, you need to know where you can get small performance boosts where they are available.&lt;br /&gt;&lt;br /&gt;Managing wing thicknesses is and use the concept of "wing tip thrust". By making tip vortices more manageable there is a significant reduction in overall wing drag. This "free" reduction in drag is called "wing tip thrust". Like this, there is another simple idea to take into account. If you can design a fuselage that is not pressurized with an essentially flat belly, you can play some shape games. These shape games can effectively make a Clark-Y airfoil. Now it is more complicated than this, but if you begin your mental experiments from this perspective, you can eek out some under-represented performance.&lt;br /&gt;&lt;br /&gt;But how do he do it? It is all in the magic. If lift is generated by circulation of a lift envelope, that is created by the difference in pressure created by fluid moving around a shape. Why not generate lift around your fuselage? It will not get you 25% of your lift... but if your fuselage planform area is 15% of your wing area and you can get 40% efficient lift out of minding your p's and q's you could be looking at 6% more total lift. Yeah, you are right, this is all pie in the sky stuff. However, if you could generate 2-3% more lift for the length of your flight, you could reduce the angle of attack on your wings and trim out your drag. Reducing your drag means that you use less energy in the case of electric or less fuel in the engine.&lt;br /&gt;&lt;br /&gt;Less fuel means that you can carry more, or fly farther. Nice. 1-2% may not be a lot if you weigh 4oz. . However, if you are looking at varying wind conditions or being able to react to changing conditions and you can play some games about fuselage profiles. Why not, it is not really so hard to get as much as 5-6% out of playing your profiles against each other. That makes for a good amount more flight time in rc. Not the 7min guys, but as you go for 20min... you get 21min. Yeah, it does not sound like much, but if it makes your fun go for 22min... It will be worth it.&lt;br /&gt;&lt;br /&gt;Why do I pick Clark-Y? They have flat bottoms, reasonable thickness and a fast taper to the trailing edge. Construction-wise they are easy to construct, because you can lay them on a table. Their CL/alpha is pretty steep, so 1-2deg can get you something and if you can play with what level is, you can get a fuselage angle of attack to a point where you can make some dividends. Most importantly is that they do not separate their boundary layer fast. Most designs will never get to a critical angle of attack, drag will eat you alive if you fly your fuselage at such a high angle of attack.&lt;br /&gt;&lt;br /&gt;We make lots of 60" fuselages these days with a mean 12" beam. That gets us an additional 4-5lbs of lift at take off and 1-2 lbs at cruise. Nothing to write home about, NASA will never give me a Ph.D. for it, but it does get me lots of "clever"s and "I would not have thought of that"s. Pretty high praise in engineering circles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-897632481034015333?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/897632481034015333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/897632481034015333'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/07/lifting-bodies-are-more-than-just.html' title='Lifting Bodies Are More Than Just Another Pretty  Shape - Opinions on Aircraft Design'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-4866591777541472101</id><published>2010-07-24T23:02:00.001-04:00</published><updated>2010-07-24T23:13:41.828-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='airplane design'/><category scheme='http://www.blogger.com/atom/ns#' term='rc'/><category scheme='http://www.blogger.com/atom/ns#' term='flaperon'/><category scheme='http://www.blogger.com/atom/ns#' term='duckeron'/><category scheme='http://www.blogger.com/atom/ns#' term='basic aerodynamics'/><title type='text'>Fuselage Design Schemes - Vertical Tails do not Make Your Ass End Look Better</title><content type='html'>Lots of things cross my mind when I start putting pen to paper on a new fuselage. Mostly, it is about needs to go inside, and then how to build it. Over the last few generations of this design, it has become clear that slow-speed, heavy lift (payload/fuselage &amp;lt;0.7) We start to see several key principles begin to precipitate. Today we will focus on the differences in aircraft balance schemes.&lt;br /&gt;&lt;br /&gt;Aesthetically, I am not a vertical tail man. They are functional and in many designs they are necessary. My career began in the low-observability sphere. So a large perpendicular plate nailed to the end of your vehicle who is trying to hide invites bigger radar returns. In most of my training and experience, we get away from this with large sweep angle wings and oblique surfaces. Sometimes, these choices do impact performance. If you are working against sines of the angle, you will always have more surface area to get the same net effect.&lt;br /&gt;&lt;br /&gt;Balancing the vertical surface weight and the total surface area is always a game. If you look through &lt;a href="http://jawa.janes.com/"&gt;Jane's&lt;/a&gt;&amp;nbsp;for modern high performance, low-observable aircraft, you will see a common theme of split tails. Two tails, let a designer get a net effect and still not have a large single vertical surface. Ok, yeah it weighs more sometimes this is necessary and even suggested.&lt;br /&gt;&lt;br /&gt;These principles are not necessarily limited to high-performance &amp;nbsp;aircraft. Just trying to keep the sail-area down on the aircraft is important. Otherwise it is blown all over the sky like a potato chip in a hurricane. If you are trying to make a vehicle that can stay on station it is easy to fly a slow &amp;nbsp;constant angular speed turn with a bit of roll angle, rather than balancing a lot of rudder input and trying to fight the wind the whole time and flying&amp;nbsp;search patterns. Sweep angle also lets designers move the center of pressure around for the wing alowing for different internal position management of work payloads.&lt;br /&gt;&lt;br /&gt;Many designs on which I have worked use low angle wing tips instead of a vertical tail. Highy-swept low speed wings get most of their roll control from the wing sweep and large ailerons or spoilerons are goos at helping with pitch contro. One interesting solution is coined a "duckeron". I cannot vouch for the scientific nature of the name. A "&lt;a href="http://www.youtube.com/watch?v=E-5ctTWQODk"&gt;duckeron&lt;/a&gt;" or even a "quackeron" is a surface that consists of a pair of &amp;nbsp;tip-mounted surfaces at the far end of each aieron. These surfaces open and increase the drag on the wing tip. This is a bit counter intuitive, unike spoilers which run along the span of the wing these are actuay on the trailing edge of the wing and allow for effective yaw control. Sweep helps increase the distance between the wing tip and the aircraft center of gravity. This is the moment arm distance used to calculate the force applied to yaw the aircraft.&lt;br /&gt;&lt;br /&gt;It is a pretty clever idea and allows for reduced cross-section yaw control. On rc models and small UAVs the duckeron is a simple single-servo-per-side solution. Rather than only connecting a single surface to the servo arm, you use a pair of rods. As the arm swings pushing the rods away from the hing line opening the surfaces equally. However if there is a clearance issue, the ratio of the opening rates can be changed via a cam or simply varying the lengths of the rods. A shorter rod needs more arm sweep to move the surface through a given range. The air disruption over the wing would make the use of a spoiler less effective. There could be several reasons to use spoilers and ducks at the same time for different flight control cases.&lt;br /&gt;&lt;br /&gt;You do have to take into account that the drag at the tip may be an unplanned load on your wing spar. One other kind of side-benefit of using ducks is that they act as airbrakes during landing, even as a counter-balancing yaw force during approach. As a counter-balance on approach you would pay a much steeper drag penalty than a rudder, but they woud be able to apply a much larger yaw force.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-4866591777541472101?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4866591777541472101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4866591777541472101'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/07/fuselage-design-schemes-vertical-tails.html' title='Fuselage Design Schemes - Vertical Tails do not Make Your Ass End Look Better'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-7161853746911836800</id><published>2010-07-24T12:45:00.000-04:00</published><updated>2010-07-24T12:45:08.020-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cheap rc'/><category scheme='http://www.blogger.com/atom/ns#' term='composite'/><category scheme='http://www.blogger.com/atom/ns#' term='bonding'/><category scheme='http://www.blogger.com/atom/ns#' term='epoxy'/><category scheme='http://www.blogger.com/atom/ns#' term='loctite'/><category scheme='http://www.blogger.com/atom/ns#' term='aircraft spruce'/><category scheme='http://www.blogger.com/atom/ns#' term='lay-up'/><title type='text'>Touching Pee-pees in the Dark and Adventures in Airplane Bonding</title><content type='html'>Our first really big pane is about to come off of the line. I guess it is easy to see that I was slacking. Not really, just got side-lined by a bunch of stuff.&lt;br /&gt;&lt;br /&gt;Today, I wanted to talk about the bonding experiences. We are pretty good with the cheap and cheerful &lt;a href="http://www.loctiteproducts.com/p/epxy_extra_b/overview/Loctite-Epoxy-Extra-Time-Pro.htm"&gt;60min and 90min epoxies&lt;/a&gt; available from &lt;a href="http://www.loctite.com/"&gt;Loctite&lt;/a&gt;. In general, they are worthy of their cost. For the most part:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;they get it done&lt;/li&gt;&lt;li&gt;&amp;nbsp;are easy to clean&lt;/li&gt;&lt;li&gt;decent finish that is sandable, but micro-balloons help&amp;nbsp;immensely&lt;/li&gt;&lt;li&gt;and wet chemistry does not rip the skin off of your hands&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;The other side of the coin is that :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;they are not super hard&lt;/li&gt;&lt;li&gt;&amp;nbsp;sometimes leave a sticky surface which needs hand washing a bunch of times to get the surface clean&lt;/li&gt;&lt;li&gt;cheap means heavy&lt;/li&gt;&lt;li&gt;in the warm, humid air of Florida sometimes the pot runs really fast.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;It is exciting to see it melt through two cups and run epoxy all over your surface and drip down your leg. The steam is cute on a &amp;nbsp;100% humidity afternoon. Around here, it is not uncommon to see rising off of your sneakers, but it is exciting to see rising off of your freshly-laid skin. It still burns your skin ... boiling water is hot... If the cup gets to be hot to the touch, or the epoxy runs really fast then you only have a few more minutes before the epoxy fixes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We have some other adhesives and layup chemistries used by the "pros". Ok, yikes. There are enough flames, warning symbols and ventilation requirements that we honesty did not have the facilities to use them. However, some basic tests show that the stuff from &lt;a href="http://www.aircraftspruce.com/"&gt;Aircraft Spruce&lt;/a&gt;&amp;nbsp;is really hard and easy to sand. It stuck to everything , was hard to get off of skin, and 10:4 is not an easy ratio to eyeball. So it needs a scale and &amp;nbsp;a fan to pull air away. I can only say it must be best with vacuum-bagged molds and infusion systems.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I would suggest using either, just know what you are getting into. With any bonding system, rough your bond area with steel wool, clean your area with a clean cloth and alcohol. Cleaning with alcohol is to pick up any grease, dust, grime and hair. Test your bond between scrap pieces of material.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-7161853746911836800?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/7161853746911836800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/7161853746911836800'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/07/touching-pee-pees-in-dark-and.html' title='Touching Pee-pees in the Dark and Adventures in Airplane Bonding'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-4704323041966303597</id><published>2010-07-14T23:37:00.000-04:00</published><updated>2010-07-14T23:37:27.149-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='buzz labs'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Cool New Stuff At Our Zazzle Shop</title><content type='html'>Every drop helps the cause.&lt;br /&gt;&lt;br /&gt;Thank you for your support.&lt;br /&gt;&lt;br /&gt;Adam&lt;br /&gt;&lt;embed flashvars="feedId=0&amp;amp;path=http://www.zazzle.com/assets/swf/zp/skins" height="300" src="http://www.zazzle.com/utl/getpanel?tl=My%20Zazzle%20Panel&amp;amp;at=238399543804762133&amp;amp;cn=238399543804762133&amp;amp;st=date_created" type="application/x-shockwave-flash" width="450" wmode="transparent"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;a href="http://www.zazzle.com/"&gt;make custom gifts&lt;/a&gt; at &lt;a href="http://www.zazzle.com/"&gt;Zazzle&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-4704323041966303597?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4704323041966303597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4704323041966303597'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/07/cool-new-stuff-at-our-zazzle-shop.html' title='Cool New Stuff At Our Zazzle Shop'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-7575353969300226048</id><published>2010-06-21T08:27:00.000-04:00</published><updated>2010-06-21T08:27:56.237-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cheap rc'/><category scheme='http://www.blogger.com/atom/ns#' term='composite'/><category scheme='http://www.blogger.com/atom/ns#' term='epoxy'/><category scheme='http://www.blogger.com/atom/ns#' term='hair spray trick'/><title type='text'>Hairspray Trick Addendum</title><content type='html'>If you are reading more about using hairspray to pre-wet rc models before they are glasses...&lt;br /&gt;&lt;br /&gt;This works great with balsa models. It seems to be a pretty reproducible effect on wood because the wood absorbs some of the hairspray. The wood keeps the spray wetter so it does not dry out as fast. Fast forward to a foam model. Foam does not absorb any liquid, relatively speaking. Raw hairspray dries really quickly. This is a problem, we have found in many wrecked sets of cloth that if the hairspray polymerizes past a certain (not discussed in this article) point, the epoxy will not wet the surface.&lt;br /&gt;&lt;br /&gt;What it does do is bunch up the glass when you spread the resin. Pretty quickly you can see that something is wrong because it just does not behave. You cannot straighten out the new wrinkles fast enough to get in front of it. The weight of the resin does not hold down the old wrinkles,and you make a mess. If this starts happening, we just yank off the damaged glass and toss it. Yeah, it seems wrong at the time, but we have no idea how to clean it.&amp;nbsp;Always looking for hints on that one.&lt;br /&gt;&lt;br /&gt;After the glass is tossed, we roller the wet surface of the model to spread the remnant epoxy. That is just to help fill in a pockets or spread any runs. It just air-dries after that, just leave it. When it is dry, remeasure your glass and do it again.&lt;br /&gt;&lt;br /&gt;All in all, the hairspray trick rocks, on wooden models. Not so good on foamies.&lt;br /&gt;&lt;br /&gt;Remember try to do your epoxy work in warm or hot conditions at the lowest allowable humidities. Yesterday, a thunderstorm snuck up on us and we had a very energetic pot of Loctite 60min epoxy. It fumed and melted several &amp;nbsp;plastic cups and unbound the wax on a paper coffee cup in the span of 1min. Finally, it melted several plastic shopping bags while we ran cold water over it.&lt;br /&gt;&lt;br /&gt;Basic chemistry class says, take the heat away from exothermic (heat generating) reactions to slow or reduce them. Live with a chemist and you know these things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-7575353969300226048?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/7575353969300226048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/7575353969300226048'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/06/hairspray-trick-addendum.html' title='Hairspray Trick Addendum'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-8449912920932253350</id><published>2010-05-18T21:52:00.000-04:00</published><updated>2010-05-18T21:52:57.625-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fiberglass'/><category scheme='http://www.blogger.com/atom/ns#' term='cheap rc'/><category scheme='http://www.blogger.com/atom/ns#' term='balsa'/><category scheme='http://www.blogger.com/atom/ns#' term='composite'/><category scheme='http://www.blogger.com/atom/ns#' term='rc construction'/><category scheme='http://www.blogger.com/atom/ns#' term='carbon fiber'/><category scheme='http://www.blogger.com/atom/ns#' term='hair spray trick'/><title type='text'>Practical Composites: Fiberglass Over Wood</title><content type='html'>&lt;div class="" style="clear: both; text-align: justify;"&gt;We are putting together some good pieces for everyone see how we are doing it. The big tip that we can tell everyone is hair spray. It is too funny to think of either of us ever sing hairspray. One has been bald for half of his life, and I have never been a big&amp;nbsp;coiffure&amp;nbsp;kind of guy.&lt;/div&gt;&lt;div class="" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="" style="clear: both; text-align: justify;"&gt;The pictures that I am including are of a model that is 57" (143cm) x 6" (15cm) &amp;nbsp;wide and 4" (10cm) tall.&lt;/div&gt;&lt;div class="" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="" style="clear: both; text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href="http://1.bp.blogspot.com/_DxmoXj6TAU4/S_M89it1YRI/AAAAAAAAAcw/b22UnQsQzDQ/s1600/16may10+(9)+(1024x768).jpg" imageanchor="1" style="clear: right; display: inline !important; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/_DxmoXj6TAU4/S_M89it1YRI/AAAAAAAAAcw/b22UnQsQzDQ/s200/16may10+(9)+(1024x768).jpg" width="200" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_DxmoXj6TAU4/S_J5yx0tm4I/AAAAAAAAAck/33bPu24A3V0/s1600/16may10+(14)+(1024x768).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/_DxmoXj6TAU4/S_J5yx0tm4I/AAAAAAAAAck/33bPu24A3V0/s200/16may10+(14)+(1024x768).jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="" style="clear: both; text-align: justify;"&gt;The glass sued is standard s-glass, 2oz per yd glass from &lt;a href="http://www.aircraftspruce.com/"&gt;Aircraft Spruce&lt;/a&gt;&amp;nbsp;. Our experience shows for fuselages, two plies is more than enough for fuselages. Make sure that your plies are pig enough to cover all of the piece and hang over about an inch (2-3cm). More than that makes it hard to support the piece, the fabric keeps pulling away from the edge &amp;nbsp;or it gets tangled.&lt;/div&gt;&lt;div class="" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="" style="clear: both; text-align: justify;"&gt;Apply the hairspray liberally to wet the surface of the cloth, then use a foam roller to spread the spray and wet all of the glass. It takes a few minutes to work the whole surface. When it dries, it will feel more like paper than silk.&lt;/div&gt;&lt;div class="" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_DxmoXj6TAU4/S_NB3yZ3JxI/AAAAAAAAAc4/fP_rmyJoKm0/s1600/16may10+(1)+(1024x768).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/_DxmoXj6TAU4/S_NB3yZ3JxI/AAAAAAAAAc4/fP_rmyJoKm0/s200/16may10+(1)+(1024x768).jpg" width="200" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_DxmoXj6TAU4/S_NB_RZ6CZI/AAAAAAAAAdA/Q86c5gFDoFc/s1600/16may10+(12)+(1024x768).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/_DxmoXj6TAU4/S_NB_RZ6CZI/AAAAAAAAAdA/Q86c5gFDoFc/s200/16may10+(12)+(1024x768).jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="" style="clear: both; text-align: justify;"&gt;Having learned the hard way. You can let these dry for 15min or so, until they are not tacky to touch. However, do NOT let them dry for lunch and a trip to the hobby shop. The hair spray dries too much and coats the glass so that the resin does not stick. That is bad, it will just wreck your finish and everything will look all orange peel or like bubble city.&lt;/div&gt;&lt;div class="" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="" style="clear: both; text-align: justify;"&gt;I hope this helps with your projects.&lt;/div&gt;&lt;div class="" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-8449912920932253350?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/8449912920932253350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/8449912920932253350'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/05/practical-composites-fiberglass-over.html' title='Practical Composites: Fiberglass Over Wood'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DxmoXj6TAU4/S_M89it1YRI/AAAAAAAAAcw/b22UnQsQzDQ/s72-c/16may10+(9)+(1024x768).jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-6432722263896525651</id><published>2010-05-02T20:05:00.000-04:00</published><updated>2010-05-02T20:05:52.215-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Czech Book</title><content type='html'>Hey everyone,&lt;br /&gt;&lt;br /&gt;I have been getting a lot of requests recently about my book that I wrote in Czech about life in Central and Eastern Europe. I have been posting it piecewise on my other blog "&lt;i&gt;So Little Time&lt;/i&gt;"&amp;nbsp;&lt;a href="http://takmalocasu.blogspot.com/"&gt;here&lt;/a&gt;.It has received many positive reviews and some libel, you can't win them all. If you want it in a more complete book-like form, let me know.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Adam&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-6432722263896525651?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6432722263896525651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6432722263896525651'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/05/czech-book.html' title='Czech Book'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-8482823574631572170</id><published>2010-05-02T20:02:00.000-04:00</published><updated>2010-05-02T20:02:36.715-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cafepress.com'/><category scheme='http://www.blogger.com/atom/ns#' term='big baby first flight'/><category scheme='http://www.blogger.com/atom/ns#' term='buzz labs'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>The Big Babies</title><content type='html'>We are about to go flying! I hope within the month we are airborne with ten pounds of dead weight. It is a big day. After several years, we are turning the corner. It was not easy, and I would like to thank my folks and friends for sticking with me. Inventorship is far from an easy process. Now it is time to give birth to revenue ;)&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_DxmoXj6TAU4/S94RKSBH-OI/AAAAAAAAAZY/qbdO6oH_E8o/s1600/maggie+b_1200.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="133" src="http://1.bp.blogspot.com/_DxmoXj6TAU4/S94RKSBH-OI/AAAAAAAAAZY/qbdO6oH_E8o/s200/maggie+b_1200.png" width="200" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_DxmoXj6TAU4/S94RPGai1mI/AAAAAAAAAZg/q07I4j0EY-I/s1600/ladyV_1024nose.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/_DxmoXj6TAU4/S94RPGai1mI/AAAAAAAAAZg/q07I4j0EY-I/s200/ladyV_1024nose.png" width="150" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_DxmoXj6TAU4/S94RPGai1mI/AAAAAAAAAZg/q07I4j0EY-I/s1600/ladyV_1024nose.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_DxmoXj6TAU4/S94RTUZCACI/AAAAAAAAAZo/piYO-3C4z4c/s1600/slecnaZpodebrad_1024a.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="138" src="http://4.bp.blogspot.com/_DxmoXj6TAU4/S94RTUZCACI/AAAAAAAAAZo/piYO-3C4z4c/s200/slecnaZpodebrad_1024a.png" width="200" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_DxmoXj6TAU4/S94RWnsv3cI/AAAAAAAAAZw/1yMTXNlJMfo/s1600/rigarascal_1200.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/_DxmoXj6TAU4/S94RWnsv3cI/AAAAAAAAAZw/1yMTXNlJMfo/s200/rigarascal_1200.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;In order to continue a beloved American tradition, each of our factory Big Babies will have unique nose art. I have been drawing for months to get this many pictures together. I am sure if you know me and the project, you probably know each of them. So I will not spend much time explaining them, I hope that everyone likes them. I have shirts available on the &lt;a href="http://www.cafepress.com/fatmanflying/6952174"&gt;cafe press site&lt;/a&gt;. I think that they really bring out the smile in me when I talk about the planes, or the women who inspired them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-8482823574631572170?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/8482823574631572170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/8482823574631572170'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/05/big-babies.html' title='The Big Babies'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DxmoXj6TAU4/S94RKSBH-OI/AAAAAAAAAZY/qbdO6oH_E8o/s72-c/maggie+b_1200.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-4783042803969435200</id><published>2010-04-25T20:27:00.000-04:00</published><updated>2010-04-25T20:27:11.238-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cheap rc'/><category scheme='http://www.blogger.com/atom/ns#' term='composite'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><title type='text'>More building on a budget tips</title><content type='html'>I have been speaking with many people recently about how they build their uav's and larger-scale working aircraft. We were going down the balsa road, which is not so bad. It makes a pretty stiff structure with relatively inexpensive materials. However balsa is graded and strong, light wood is not easy to find nor is it cheap. You can easily run up $300-500/board foot. That is a lot of balsa, I know especially in 3" strips. However, you get the idea that this is not a cheap way to go.&lt;br /&gt;&lt;br /&gt;We have been using kiln stabilized wood and it is making a decent product. There have been some issues balancing the stresses in the airframe. Traditional methods more or less work to relax them. My consultations with other people in the community leads me to believe that there may be better construction techniques. The system that we have uses balsa and then fiber glass on top. Our main issue is that balsa takes so long to lay up. To do a good job, it could take upwards of 3-4 weeks of concerted effort to get everything pinned and glued, sanded and filled, sealed and prepped. It is a big job, especially on bigger models with large spans.&lt;br /&gt;&lt;br /&gt;OMG the twist, you will make lots of little weights and hooks to untwist your larger pieces as well. In some ways it is a terrifying process for the beginner. It is not hard to do, it can be terrible to do well.Blah blah, no whining. The others use mostly styrofoam cores covered in composites. I have been experimenting this weekend with it too. I have found that you can have a pretty good product with almost no invested time. My realization is that the cheap epoxies available from the hardware store, are easy to handle, water washable, but are way to soft-cured. For these applications, an epoxy chemistry that cures with a hard surface is better than a softer one.&lt;br /&gt;&lt;br /&gt;I assume that epoxy chemistries with harder fixing strengths are less easy to handle. We have made several layups and this really is the case. In Florida, it is hard to get away from the humidity and large swings in it. So we lay up outside and bring the layups inside the air-conditioned house. That seems to help even out the handling properties.&lt;br /&gt;&lt;br /&gt;The following pictures are using LocTite 60min cure epoxy, 80 oz./yd glass cloth and 3mm depron foam. There are many relief cuts in the foam to help conform to the shape of the fuselage. The pieces are masking taped together, a foam-safe CA glue would work too, but I was trying to limit the number of seams that needed to be joined. Most of the tape is to enforce the shape of the fuselage, not to hold the piece together. Both halves of the fuselage took about 2h to sheet and the glassing took about 20min for one person. It is not perfect, but it is an experiment. My illustrious helpers would assist on the final version for sure.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_DxmoXj6TAU4/S9Tdab28mQI/AAAAAAAAAXM/iUSw_DLsn3I/s1600/25apr10+(3)+(1024x768).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/_DxmoXj6TAU4/S9Tdab28mQI/AAAAAAAAAXM/iUSw_DLsn3I/s200/25apr10+(3)+(1024x768).jpg" width="200" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_DxmoXj6TAU4/S9TdRobJkQI/AAAAAAAAAXE/40Uo4L0pUf0/s1600/25apr10+(1)+(1024x768).jpg" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/_DxmoXj6TAU4/S9TdRobJkQI/AAAAAAAAAXE/40Uo4L0pUf0/s200/25apr10+(1)+(1024x768).jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;This model is about 5' (150cm) long and averages 6" (15cm) in diameter.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-4783042803969435200?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4783042803969435200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4783042803969435200'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/04/more-building-on-budget-tips.html' title='More building on a budget tips'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DxmoXj6TAU4/S9Tdab28mQI/AAAAAAAAAXM/iUSw_DLsn3I/s72-c/25apr10+(3)+(1024x768).jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-704667785779970832</id><published>2010-04-11T21:31:00.000-04:00</published><updated>2010-04-11T21:31:40.259-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cheap rc'/><category scheme='http://www.blogger.com/atom/ns#' term='balsa'/><category scheme='http://www.blogger.com/atom/ns#' term='blue board insulation'/><category scheme='http://www.blogger.com/atom/ns#' term='giant-scale'/><title type='text'>Building on a Budget</title><content type='html'>So we are working out our system to build giant-scale planes on a budget. We build mostly our own designs. It is far more challenging to wing it. I have to say that building from forms is pretty challenging, and worth it for those of you who like to do it their way.&lt;br /&gt;&lt;br /&gt;One suggestion that I have for you guys is, lattice. Maybe that is not an obvious description. We have the most luck building complicated curvatures, when we lay out a regularly spaced net of 1/16th inch (1.5mm) balsa strips x 1/4" (6mm) . The spacing is what ever makes sense for the model. I mean, you will need to work out some of this for yourself. We find that wings are good with 6"(15cm) pieces cord-wise and 20- 25% spacings span-wise. That way there is a reasonable pitch and still a good amount of coverage. Onto this, you glue your actual skin down. &amp;nbsp;This helps reduce the actual curvatures involved, but also allows for the skin to be supported without the need of a foam internal block. Use wood glue if you are working on a&amp;nbsp;Styrofoam&amp;nbsp;base or CA if you are working on a compatible base. CA will eat&amp;nbsp;Styrofoam, even the vapors will destroy it.&lt;br /&gt;&lt;br /&gt;We get all of our balsa from local suppliers. Our favorite supplier is &lt;a href="http://www.solarbo.com/"&gt;www.solarbo.com&lt;/a&gt;&amp;nbsp;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-704667785779970832?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/704667785779970832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/704667785779970832'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/04/building-on-budget.html' title='Building on a Budget'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-2287666091744691219</id><published>2010-04-08T06:51:00.000-04:00</published><updated>2010-04-08T06:51:48.054-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SPIE'/><category scheme='http://www.blogger.com/atom/ns#' term='buzz labs'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Trip to the SPIE Defense Sensing Show</title><content type='html'>I went to the &lt;a href="http://www.spie.org/"&gt;SPIE Defense Sensing Conference&lt;/a&gt; this week. It was a nicely arranged affair in the &lt;a href="http://www.marriottworldcenter.com/"&gt;Marriot World Center&lt;/a&gt; in Orlando. They insisted that you park several miles away and use one of the shuttle buses to get to the conference, that worked out well. The buses were often enough that you were not forced to wait forever to go either way and they gave you granola bars and water for the trouble. Don't they know, engineers get bagels, factories get doughnuts? You can't make them think...&lt;br /&gt;&lt;br /&gt;After perusing the technical book area, which was pretty well stocked with an array of SPIE documents and textbooks,, if you had the cash. I was pretty interested in their IR and Spectroscopy handbooks, but they were pricey. If anyone has a heart, I would gladly accept a torrent or a photocopy :)&lt;br /&gt;&lt;br /&gt;We spoke with several vendors in the cavernous exhibition area. It was clear that in many ways we were just not up to the task of doing business there. I also noticed that people feeding out of the government trough were particularly mislead in the value of things. How can someone in good faith try to sell tank windows to a normal person? Especially when they cost $30k+ to start in bulk. We saw some neat optics stuff. To be honest, I was not even sure what you did with it. Even as slowly as we fly, a &lt;a href="http://www.flir.com/"&gt;FLIR &lt;/a&gt;with 300 lines, 90deg range and 30Hz is going to be hard to use unless the goal is just to get an image.&lt;br /&gt;&lt;br /&gt;All in all, a good trip. A little humility is a good thing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-2287666091744691219?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/2287666091744691219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/2287666091744691219'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/04/trip-to-spie-defense-sensing-show.html' title='Trip to the SPIE Defense Sensing Show'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-1851938892019308771</id><published>2010-04-01T22:40:00.000-04:00</published><updated>2010-04-01T22:40:13.317-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cheap rc'/><category scheme='http://www.blogger.com/atom/ns#' term='balsa'/><category scheme='http://www.blogger.com/atom/ns#' term='rc construction'/><category scheme='http://www.blogger.com/atom/ns#' term='new plane'/><category scheme='http://www.blogger.com/atom/ns#' term='buzz labs'/><title type='text'>Big Baby Developments... Daddy's Building a Brand New Plane</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;I am not ready to reveal the Big Baby just yet. It is going pretty well, symmetric and no smeared blood or anything. No blood this late in a project is a big relief.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;The airframe for the next version will be a bit different. This time, I was careful to build the skin by wetting and pinning the skin to as closely as possible match the model curvature. Besides the 10s of pins that were used, the technique was pretty effective.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_DxmoXj6TAU4/S7VX1H-cAgI/AAAAAAAAATQ/DkE1DdOVrR8/s1600/2010-03-14+21.19.29.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/_DxmoXj6TAU4/S7VX1H-cAgI/AAAAAAAAATQ/DkE1DdOVrR8/s200/2010-03-14+21.19.29.jpg" width="200" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_DxmoXj6TAU4/S7VXRUZ7o7I/AAAAAAAAATI/PhF8eoHtmWw/s1600/2010-03-17+07.51.27+Stitch.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="151" src="http://4.bp.blogspot.com/_DxmoXj6TAU4/S7VXRUZ7o7I/AAAAAAAAATI/PhF8eoHtmWw/s200/2010-03-17+07.51.27+Stitch.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Use masking tape along the down side of the board so that there is a basic joint between the pieces. Then just use a wet sponge to wet the downside of each of the planks. Lay the plank onto the surface of the model to be copied. Work from one end and pin along the edge every inch or so about a 1/10th of an inch from the edge each time. Do this for one inch rows along the plank. Depending on the curvature being copied you may need more pins or to pin in specific directions to keep the balsa layer in contact with the curve.&lt;br /&gt;&lt;br /&gt;After the part has dried, overnight or after a few hours, adjust the pins to fit the planks as closely as possible to the curve. The planks may have to be rewetted to relax them into place. Then use a foam-safe (in my case) glue in the joints. The tape will be removed before you install internal structure. Once it is dried and the seams are glued. You will want to remove the pins and the part from the form. I cut simple cross-sections to support the structure. Then used CA glue to glue the seams and to bond the internal structure to the skin.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_DxmoXj6TAU4/S7VY1_B5whI/AAAAAAAAATY/VrShjR8CoYQ/s1600/2010-03-15+19.58.51.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_DxmoXj6TAU4/S7VY1_B5whI/AAAAAAAAATY/VrShjR8CoYQ/s320/2010-03-15+19.58.51.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-1851938892019308771?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1851938892019308771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1851938892019308771'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/04/big-baby-developments-daddys-building.html' title='Big Baby Developments... Daddy&apos;s Building a Brand New Plane'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DxmoXj6TAU4/S7VX1H-cAgI/AAAAAAAAATQ/DkE1DdOVrR8/s72-c/2010-03-14+21.19.29.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-6825862663660442860</id><published>2010-03-21T21:25:00.000-04:00</published><updated>2010-03-21T21:25:08.762-04:00</updated><title type='text'>Big Baby Advanced Practical Composite Airframe</title><content type='html'>Now that we have finished with the basic calculations, we have determined our best shot at a low cost, practical airframe was to support the balsa with glass and later kevlar composites. Our plan is to use 4 layers of 2oz glass for the fuselage. That should give us more than enough structure for 3g in a 20# aircraft.&lt;br /&gt;&lt;br /&gt;We are trying to make a new version of the rail system for the engines. That will make it easier to package and ship. Our goal is to be under 80oz for the airframe and under ten pounds for the aircraft without instrumentation. Which is great, to get more than five pounds of usable payload.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-6825862663660442860?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6825862663660442860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6825862663660442860'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/03/big-baby-advanced-practical-composite.html' title='Big Baby Advanced Practical Composite Airframe'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-8385054604595900897</id><published>2010-03-21T21:15:00.000-04:00</published><updated>2010-03-21T21:15:45.591-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='composite'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><title type='text'>More Practical Composites</title><content type='html'>After several weeks of analysis, I came to the conclusion that using a glass or carbon fiber reinforced balsa composite is one of the best ways for us to get the weight out. Our other attempts were plagued with uneven resin densities. We have good luck matching allowables for 2-4 layer lay ups, beyond 5-6 layers we start to diverge pretty badly.&lt;br /&gt;&lt;br /&gt;The best results that we have seen is with 60min epoxy and making sure that each layer is well wrung out before it is let cure at normal room temperature, 77F.  As the humidity goes over 80% the pots react differently. The biggest issue for the divergence we think is the number of pots of epoxy used. Something happens with the weight and density between the pots.&lt;br /&gt;&lt;br /&gt;Make sure that when your layups are done that you have at least a 2-3 layer pot. If you need a much thicker lay up, I would make sure that you make enough for everything. Also it is an issue with the humidity in the room. Do not add alcohol to the resin when you mix in the hardener. If the mixture is missed, it will just ruin the pot. At worst, it will react exothermically and create large amounts of bubbles both make a mess of the part.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-8385054604595900897?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/8385054604595900897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/8385054604595900897'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/03/more-practical-composites.html' title='More Practical Composites'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-7603644037575599972</id><published>2010-02-07T15:10:00.000-05:00</published><updated>2010-02-07T15:10:17.013-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='robotics'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='HWIL'/><title type='text'>Coding a HWIL module</title><content type='html'>It has become a requirement to be able to detect issues with missions by rerunning the logs while the robot is on the bench. This turns out to be bigger than I thought it would be. What I really had to do, was rewrite my logger so that it did a better job simplifying the xml that was being produced.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;entry waterMark="4"&gt;interface kit 0 not attached&lt;/entry&gt;&lt;br /&gt;&lt;entry waterMark="4"&gt;interface kit 1 not attached&lt;/entry&gt;&lt;br /&gt;&lt;entry waterMark="4"&gt;&lt; Message time="0" Received="10" Body=""  /&gt;&lt;/entry&gt;&lt;br /&gt;&lt;entry waterMark="4"&gt;&lt; Message time="0" Received="10" Body=""  /&gt;&lt;/entry&gt;&lt;br /&gt;&lt;entry waterMark="4"&gt;&lt; StateMessage:IMessage,ISerializable time="12" Received="12" &gt;&lt; taskManagerState RxQueueLength="0" QueuableCommandsMissed="0" QueuableCommandsMissedTotal="0" time="12" OverrideWaterMark="0"  MessagesReceived="12" MessagesSent="12" MessagesNull="0" histo0="0"  histo1="3"  histo2="0"  histo3="0"  histo4="0"  histo5="0"  histo6="1"  histo7="0"  histo8="1"  histo9="7"  histo10="1"  /&gt; &lt; /StateMessage:IMessage,ISerializable&gt;&lt;/entry&gt;&lt;/blockquote&gt;&lt;br /&gt;What I needed to do was to check the logged item first before it was logged and check to see if it was an entry itself. This was just to keep the number of recursive loops to a minimum. The default XML reader is easy to use if the entry just has values. It is also just easier if nested records were not necessary to wrestle with.&lt;br /&gt;&lt;br /&gt;It has become a requirement to be able to detect issues with missions by rerunning the logs while the robot is on the bench. This turns out to be bigger than I thought it would be. What I really had to do, was rewrite my logger so that it did a better job simplifying the xml that was being produced.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;entry waterMark="4"&gt;interface kit 0 not attached&lt;/entry&gt;&lt;br /&gt;&lt;entry waterMark="4"&gt;interface kit 1 not attached&lt;/entry&gt;&lt;br /&gt;&lt; Message time="0" Received="10" Body=""  /&gt;&lt;br /&gt;&lt; Message time="0" Received="10" Body=""  /&gt;&lt;br /&gt;&lt; StateMessage:IMessage,ISerializable time="12" Received="12" &gt;&lt; taskManagerState RxQueueLength="0" QueuableCommandsMissed="0" QueuableCommandsMissedTotal="0" time="12" OverrideWaterMark="0"  MessagesReceived="12" MessagesSent="12" MessagesNull="0" histo0="0"  histo1="3"  histo2="0"  histo3="0"  histo4="0"  histo5="0"  histo6="1"  histo7="0"  histo8="1"  histo9="7"  histo10="1"  /&gt; &lt; /StateMessage:IMessage,ISerializable&gt;&lt;/blockquote&gt;&lt;br /&gt;Ok, now that a reasonable data format is available, let's make a factory that can take the XML data and create messages s that they are in the same form as those created by  the system. I built a simple Command pattern system that is configured in my normal configuration files. So if it is a normal mission, it will play normally. If the configuration is to rerun an existing log file, it has the path to the log file to read and whether the mission should begin immediately or with some wait period between completing reading the log and beginning the mission.&lt;br /&gt;&lt;br /&gt;Most of the time, I find that it is reasonable to ask for a key input before starting the execution of the HWIL test. Nothing like a 30# car scooting across the table when you are not ready. Make sure that the robot is strapped down, sometimes it is more kinetic than was planned.&lt;br /&gt;&lt;br /&gt;Now that we have the robot strapped down to a raised dais, we can hit enter and let it run the run. I made this a simple list of Commands following the pattern and a timer. The invoker checks at each timer tick and executes all of the commands that were logged at that time during the normal run.&lt;br /&gt;&lt;br /&gt;I had to make simple ICommands that had a hook member and an execute. The invoker is hooked to the timer and I hooked the commands to the TaskManager. That way the Execute() method, just created a proper IMessage and delivered it directly to the TaskManager. It also makes it so that you can rewind the commands. This method has allowed me to find some linkage issues that would have been hard to find other ways. There are some hysteresis issues with any mechanical system, I was not prepared for the number that were found. &lt;br /&gt;&lt;br /&gt;"...But knowing is half of the battle..."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-7603644037575599972?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/7603644037575599972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/7603644037575599972'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/02/coding-hwil-module.html' title='Coding a HWIL module'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-5139478890525604361</id><published>2010-02-01T20:18:00.000-05:00</published><updated>2010-02-01T20:18:04.371-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phidgets'/><category scheme='http://www.blogger.com/atom/ns#' term='advancedservoservo'/><category scheme='http://www.blogger.com/atom/ns#' term='robotics'/><category scheme='http://www.blogger.com/atom/ns#' term='phidgetexception #9'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='oop'/><title type='text'>The PhidgetsException #9</title><content type='html'>For the most part, I really like Phidgets. They are good simple equipment that is inexpensive and just works. That is a trick in my experience in the current robotics technology playing field. Their API is the best I have seen and I  have to say does a nice job even if you want to write in c# or flash. Yeah, Flash is supported.&lt;br /&gt;&lt;br /&gt;So I was happily banging away at my control code to manage these servos. I kept seeing that the code was running. I sent lots and lots of new servo locations to the servos and it just did not move the servos. After some investigation into my logs and trapping lots of PhidgetExceptions. I figured out what the issue was. Like a good little OOP'er I had contained my reading of the Advanced Servo Controller 8 port's properties in an object and then a different handles the executions. Here in lay the problem, the properties of a given servo such as velocity which has no setter (mistake in the documentation) are not exposed until the motor is in engaged.&lt;br /&gt;&lt;br /&gt;So I wrote the following code to fix that. These are not threadsafe, you have to make sure that you are not engaged at the wrong time. It will make all kinds of wacky stuff happen.&lt;br /&gt;&lt;br /&gt;Viewing code:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;public double GetServoPosition(int servoIndex)&lt;br /&gt;        {&lt;br /&gt;             double position=-1;&lt;br /&gt;             try&lt;br /&gt;             {&lt;br /&gt;                AdvancedServoServo ass=null;&lt;br /&gt;                if(advServo.Attached==true)&lt;br /&gt;                {&lt;br /&gt;                      ass=advServo.Servos[servoIndex];&lt;br /&gt;                      ass.Engaged=true;&lt;br /&gt;                      position=ass.Position;&lt;br /&gt;                      ass.Engaged=false;&lt;br /&gt;                }&lt;br /&gt;             }catch(Exception exc)&lt;br /&gt;             {&lt;br /&gt;                 throw new Exception(className+" public double GetServoPosition( "+ servoIndex+" ) :: "+exc.Message);&lt;br /&gt;             }&lt;br /&gt;             return position;&lt;br /&gt;         }&lt;/blockquote&gt;&lt;br /&gt;Motion code:&lt;br /&gt;&lt;br /&gt;        &lt;blockquote&gt;/// &lt;summary&gt;&lt;br /&gt;        /// move a servo to a new position&lt;br /&gt;        /// &lt;/summary&gt;&lt;br /&gt;        /// &lt;param name="ServoIndex"&gt;index of the servo to move&lt;/param&gt;        /// &lt;param name="newpos"&gt;new position, should be 0-100&lt;/param&gt;        /// &lt;returns&gt;bool if the servo is now in the correct position&lt;/returns&gt;&lt;br /&gt;        public bool MoveServo(int ServoIndex, int newpos)&lt;br /&gt;        {&lt;br /&gt;            bool movedOk = false;&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                AdvancedServoServo curr = null;&lt;br /&gt;                &lt;br /&gt;                double pos = 0.01 * newpos * (basicServoMax - basicServoMin) + basicServoMin;&lt;br /&gt;                &lt;br /&gt;                if (pos &gt; basicServoMax){pos = basicServoMax - 1;}&lt;br /&gt;                if (pos &lt; basicServoMin){pos = basicServoMin + 1;}                if (aServo0.Attached &amp;&amp; ServoIndex&lt;4)                {                    curr = aServo0.servos[ServoIndex];                }                if (aServo1.Attached &amp;&amp; ServoIndex &gt; 3)&lt;br /&gt;                {&lt;br /&gt;                    curr = aServo0.servos[ServoIndex];&lt;br /&gt;                }&lt;br /&gt;               &lt;br /&gt;                if (curr != null)&lt;br /&gt;                {&lt;br /&gt;                    curr.Engaged = true;&lt;br /&gt;                    if (Math.Abs((curr.Position - pos) / curr.Position) &gt; 0.03)&lt;br /&gt;                    {&lt;br /&gt;                        &lt;br /&gt;                        curr.Position = pos;&lt;br /&gt;&lt;br /&gt;                        //disengage the servo when we are not moving it&lt;br /&gt;                        curr.Engaged = false;&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            catch (Exception exc)&lt;br /&gt;            {&lt;br /&gt;                if (LogEvent != null)&lt;br /&gt;                {&lt;br /&gt;                    LogEvent(className + " public bool MoveServo( " + ServoIndex + " , " + newpos + ") :: " +&lt;br /&gt;                             exc.Message + "\n", false);&lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                   throw new Exception(className + " public bool MoveServo( " + ServoIndex + " , " + newpos +&lt;br /&gt;                                        ") :: " +&lt;br /&gt;                                        exc.Message + "\n");&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            return movedOk;&lt;br /&gt;        } //MoveServo&lt;/blockquote&gt;Servo reset code:&lt;br /&gt;&lt;br /&gt;       &lt;blockquote&gt;/// &lt;summary&gt;&lt;br /&gt;        /// try to reset the servo, when it throws phidgets exceptions, set it to a safe midpoint &lt;br /&gt;        /// &lt;/summary&gt;&lt;br /&gt;        /// &lt;param name="srvo"&gt;servo to reset&lt;/param&gt;        void resetServo(AdvancedServoServo srvo)&lt;br /&gt;        {&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                srvo.Engaged = true;&lt;br /&gt;                double midpoint = (basicServoMax - basicServoMin) / 2 + basicServoMin;&lt;br /&gt;                srvo.Acceleration = 1000;&lt;br /&gt;                srvo.Position =midpoint;&lt;br /&gt;                srvo.Engaged = false;&lt;br /&gt;                &lt;br /&gt;            }catch(Exception exc)&lt;br /&gt;            {&lt;br /&gt;                LogEvent(className + " void resetServo(AdvancedServoServo) :: "+exc.Message, false);&lt;br /&gt;            }&lt;br /&gt;        }&lt;/blockquote&gt;&lt;br /&gt;Another thing, that you have to make sure that you consider is that there are hard to document dead zones in each servo. They are sometimes inherent to the servo design, but each servo can have multiple in different places. I would make sure that if you hear this tell-tale clicking sound when the motor tries to move to the right place and then corrects ad nauseum... that you trap this in your code. My experience is that this burns up your motor pretty quickly. These are toy or better than toy motors. Better motors are available but are more expensive.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-5139478890525604361?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/5139478890525604361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/5139478890525604361'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/02/phidgetsexception-9.html' title='The PhidgetsException #9'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-323941706826663741</id><published>2010-01-01T18:36:00.000-05:00</published><updated>2010-01-01T18:36:26.303-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ksrc-002'/><category scheme='http://www.blogger.com/atom/ns#' term='cheap rc'/><category scheme='http://www.blogger.com/atom/ns#' term='hpi 5b'/><category scheme='http://www.blogger.com/atom/ns#' term='electric conversion'/><category scheme='http://www.blogger.com/atom/ns#' term='ugv'/><category scheme='http://www.blogger.com/atom/ns#' term='king motors'/><category scheme='http://www.blogger.com/atom/ns#' term='hpi 5t'/><title type='text'>Electric Conversion of a King Motors (HPI Baja 5B)</title><content type='html'>Another interesting project for us is the electric conversion of a &lt;a href="http://www.kingmotor.cn/"&gt;King Motors&lt;/a&gt;&lt;a href="http://www.kingmotor.cn/carshow2.asp"&gt; KSRC-002&lt;/a&gt;. Ours was bought from Heat Hobby of Miami, FL. Out of the box, the only thing that needed to be assembled was the spoiler. Thankfully, we won't be using it. Inspecting the role cage and the transmission shaft we found some rust. This is not really a nice thing to find on your brand new model. Oh well, it will probably get replaced. Since this is an electric conversion, the first thing that I did was hop onto every HPI forum and King Motors discussion that I could find.&lt;br /&gt;&lt;br /&gt;Several guys are using huge current setups, 200A or more. That may be necessary, we will see. I do not think they were using as many cells in serial as we intend to. Our plan is to run 9s2p or 9s3p, we also only want to be able to dash. the conversion we are running will be about getting it set up, and then moving toward the longest running build possible. Out of the box, we can see a bunch of things that do not make sense in a racing vehicle. Ok, probably not a race ready device out of the factory.&lt;br /&gt;&lt;br /&gt;Why would you use 0.125" (3mm) steel as your chassis? Cars do not use 3mm of steel in many structural places. It can hold up with a person standing on it. One of our first projects will be to replace the chassis with an Aluminum one. This should take out about 2lbs (1kg) without any stress. Another interesting choice, which is clearly about cost is the roll cage mounts that are plastic. It is my opinion that the plastic knuckles are where the cage breaks not the quarter-inch (6mm) steel tubing. Which was also poorly finished and rusted in one of the welded joints. If King Motors reads this, please do some inspection of the parts before they leave the factory.&lt;br /&gt;&lt;br /&gt;The fuel tank was pulled out along with the engine. a few bolts and it removed cleanly. Next time, why bother buying a full setup, go roller chassis. Forum after forum said the FM radio that they ship with it sucks. I have to say that we did have some interference on our little test stand. I could see where this would be an issue. So I yanked it out and replaced it with a composite capable 6ch Spektrum unit which we use in our planes. It is a great 2.4GHz DSM-2 radio. There are two-channel versions if you prefer.&lt;br /&gt;&lt;br /&gt;The throttle servo and steering servos are crap, but useable. One part that is a bit challenging was the clutch. Not the clutch bell, but the clutch on the drive flywheel. Several places lauded designs that keep it in, noting that the clutch helps reduce the biting nature of the electric motors' torque curve. Anything to keep the wheels hooked up is better. Just make sure that you put the pin in first, othwerise you cannot get it through the hole with the shoe. You will need a piece of wire to go through the eye on the pin and above the retaining plate to keep the pin from falling through the hole. It is not hard to fix, but it is annoying.&lt;br /&gt;&lt;br /&gt;The steering servo was replaced with a nice metal-bearing quarter scale unit. Our HB unit is faster, digital and stronger than the factory version. There is no reason not to use digital anymore, I hear that there were some issues in the beginning. &lt;br /&gt;&lt;br /&gt;The catch with this that we found. The drive pinion that you need is a 1.5 mod. Yes, 1.5mod, the stock that came with our bell housing is a 17t. I contacted my normal strange parts connection at &lt;a href="http://www.teknorc.com"&gt;Impakt/Tekno RC&lt;/a&gt;. They are always awesome. They said that they did not have the parts in the scale, and directed me over to &lt;a href="http://www.rc-monster.com/"&gt;Monster RC&lt;/a&gt;. This is a reason, that I always go to them first. Customer service is not only helping them on your site, but helping them get what they need. Following their suggestion, I went over to RC Monster. They had the a selection of 1.5 mod gears. I emailed Mike at RC Monster, he responded quickly and said which parts that I needed. Again, great customer service, you can get &lt;a href="http://www.rc-monster.com/proddetail.php?prod=rcmbajapinion"&gt;1.5 mod gears&lt;/a&gt; in a bunch of sizes from 12t-22t. They are cut for 8mm shafts, so pick up the reducers as well. RC Monster shipped my order the same day.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-323941706826663741?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/323941706826663741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/323941706826663741'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/01/electric-conversion-of-king-motors-hpi.html' title='Electric Conversion of a King Motors (HPI Baja 5B)'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-3653061869667802580</id><published>2010-01-01T18:28:00.001-05:00</published><updated>2010-01-01T18:28:49.174-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uav sensors'/><category scheme='http://www.blogger.com/atom/ns#' term='composite'/><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='ugv'/><title type='text'>Adventures in Composites</title><content type='html'>The big thing that we learned in this episode is how to manage holes or penetrations. We made a male mold and were trying to decide how to mark and spot where we wanted to make penetrations called for in the fuselage.Marking the fabric was not particularly accurate, but it did work. The real answer that we saw was to make a potrusion where the penetration was. &lt;br /&gt;&lt;br /&gt;It is easier to cut off a piece that sticks out past the piece that you want than it is to dig out material where you do not want it. Our design has four or so penetrations into the fuselage. Additional wedges of blue insulation were hacked to fit into the holes. They were not made to perfectly match, but were close. So you could easily see what you wanted to keep and cut.&lt;br /&gt;&lt;br /&gt;Another interesting thing that we learned was the relative softness of home-owner classes of epoxy. Be aware of this. Y, is that any feature that looks liou can make a mess of your piece if you heat it too much to melt the wax. You have to pull the piece free form the molds and set them back down once the part is free. Putting it back down to the mold really helped the part retain its shape. As we pulled our parts off, we were concerned that they would not be square when we put the parts back together.&lt;br /&gt;&lt;br /&gt;Due to some communications issues, there were some delaminations in areas that would have been better had they not occured. These anomalies were healed by forcing a needle into the void and using a syringe to fill it with epoxy. Epoxy is viscous, be aware that it is tough to dispense through a narrow needle. Voids were filled until it appeared to be full visually, pockets were no longer hollow appearing.&lt;br /&gt;&lt;br /&gt;Molds seem to be effected strongly by Murphy's Law. Everything that could have gone wrong with our parts did. Our shape has several bays. Bays are hollows where square sides would be best. The bay that we took the time to box in with plywood came out well. The bays that had no boxing in had delaminations and other issues such as corner delaminations, non-square lay ups and twists where pieces hung on something and were not carefully managed back into place. In a bay, is the only area that we had any mold damage. It was due to pieces of cloth almost wrapping a narrow piece of mold. Had it been boxed in, the pieces would not have been able to wrap the way they did and pin the mold into place. This damage was minimal and was fixed with filling the cracks with glue and for the most part was a non-issue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-3653061869667802580?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3653061869667802580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3653061869667802580'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2010/01/adventures-in-composites.html' title='Adventures in Composites'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-7485764902373185561</id><published>2009-12-14T22:20:00.000-05:00</published><updated>2009-12-14T22:20:30.027-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cheap rc'/><category scheme='http://www.blogger.com/atom/ns#' term='robot'/><category scheme='http://www.blogger.com/atom/ns#' term='1/5th scale'/><category scheme='http://www.blogger.com/atom/ns#' term='computer vision'/><category scheme='http://www.blogger.com/atom/ns#' term='structural engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='ugv'/><category scheme='http://www.blogger.com/atom/ns#' term='sensors'/><title type='text'>UGV work</title><content type='html'>Another kind of cool development is that we were asked to see if we could make a unmanned ground vehicle,UGV, with the same brains as we use in the UAVs. That combined with our ripe fruit turret idea gave me a bunch of new ideas about how to separate the hardware from the software stacks. The turret will use some interesting ideas on color detection and correction to detect whether fruit is ripe enough to be picked.&lt;br /&gt;&lt;br /&gt;Now there is a UGV in the mix. What better a system to tow the turret around, than a 1/5th scale 4WD buggy. It is also leading us onto a bunch of other applications with the same device. Our new ideas, we hope are very investment worthy. If President O actually does something for small business, then we may be able to attract some investment. I think that there are several interesting campus or property management applications that will make the software easy enough to develop and/or repurpose.&lt;br /&gt;&lt;br /&gt;Hopefully, I will get some more pictures of our electric conversion of the buggy and some assembly stuff. So that everyone can get an idea of how to do the electric conversion and the other steps  that we took setting things up. We have some math that we have already worked out to hopefully help reduce some of the initial setup mistakes. Many scientific papers all say that small alignment errors in setup can ruin the mathematical assumptions that are made in software. That is why we keep trying to set up our software and then back out the math. Not always a working approach, but it is better than thinking everything is perfect.&lt;br /&gt;&lt;br /&gt;Neah, engineers are never perfect... we are within 20%, 80% of the time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-7485764902373185561?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/7485764902373185561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/7485764902373185561'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/12/ugv-work.html' title='UGV work'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-397537090645004086</id><published>2009-12-14T21:42:00.000-05:00</published><updated>2009-12-14T21:42:35.471-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fiberglass'/><category scheme='http://www.blogger.com/atom/ns#' term='composite'/><category scheme='http://www.blogger.com/atom/ns#' term='experimental'/><title type='text'>As If You Thought I Have Not Been Working</title><content type='html'>So I have been trying to get some interesting pictures of the layup of the Big Baby fuselage. However, the pictures that I do have are not as demonstrative as I would like. I guess I will have to get down there and take some myself. All in all, the mold concept worked and the internal, integral structure also seems to be pretty successful.&lt;br /&gt;&lt;br /&gt;Our idea, is to mold a certain amount of internal structure into our composite molds. The interest is to reduce production time of aircraft to the limit of curing and finishing time. More advanced resins could be used in the future. Our experiments are with normal 60 and 90min set air-cure epoxies. We also used a male mold to reduce our total investment. Surface finish is less than important to see for these experiments. They are about the viability of integral structure composite lay ups. I have said that last bit a few times, but I have received several comments about this. &lt;br /&gt;&lt;br /&gt;The next step is to relief the wings so that they make a pocket, lift system that will effectively create a similar cross-section to the metal equivalent airframe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-397537090645004086?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/397537090645004086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/397537090645004086'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/12/as-if-you-thought-i-have-not-been.html' title='As If You Thought I Have Not Been Working'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-3383143996934570291</id><published>2009-12-03T19:51:00.000-05:00</published><updated>2009-12-03T19:51:58.234-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='styrofoam'/><category scheme='http://www.blogger.com/atom/ns#' term='composite'/><category scheme='http://www.blogger.com/atom/ns#' term='structural engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='epoxy'/><category scheme='http://www.blogger.com/atom/ns#' term='blue board insulation'/><title type='text'>Adventures in Composites: A Bright Idea</title><content type='html'>So after many months of gnawing on how to reduce the construction time of uavs and model aircraft, we  finally decided to watch a million youtube movies. Sating ourselves on anything that had anything to do with composite lay ups we set off onto our own project. The first version of this idea is a proof of concept experiment rather than a real product. Aircraft Spruce sent us some great almost silken 2.5oz/yd^2 fiberglass.&lt;br /&gt;&lt;br /&gt;This is an experiment in how to create multi-cell,internal structure in composite structures. If an airframe just needs a few reinforcements, that would go a long way to reducing the production costs of a unit model. Having built several models now with varying levels of success. It is clear, the longer it takes to produce a model, the more likely it will have issues. It could be as simple as being heavy, due to liberal adhesive use. Or just general issues such as fiber breakage or delaminations due to mis drilling or toughness issues in large unsupported panels.&lt;br /&gt;&lt;br /&gt;After watching many others' techniques and lots of research into how successful airframes are created. It is about reducing the handling of each piece. The best paint jobs are ruined by finger prints, finishes scratched, just because they had the most chances to get ruined before delivery. Our concept centered around simple low curvature lay ups, that could be lain individual. Then stiffeners installed before the final layers are put down. Each mold would then be set to cure. Final assembly, would be put in place in the planes perpendicular to the molds to join the sides together and to increase the technical stiffness of the airframe.&lt;br /&gt;&lt;br /&gt;Our design required a center web and some easy radii transitioning each of the perpendicular webs. We sectioned our fuselage to have three dorsal access bays. The fuselage was then bisected so that we had two symmetric halves and three continuous doors. Empennages and noses are difficult to build and to shape. There is always an issue with the symmetry or the strain in the materials during the curing process. Careful attention was paid to each of these areas to reduce the known issues that had ruined some of our previous projects.&lt;br /&gt;&lt;br /&gt;Our split molds were then mounted to three inch styrofoam wall insulation. Not the ball stuff, this is the small,closed-cell material with wood glue. Everything was painted several times with latex enamel. The enamel did not stick during the first few coats. It probably has to do with the static charge that built up during the work. There was an eventual critical coating area that finally whetted the surface. Once the surface finally whetted, the coats proceeded quickly. &lt;br /&gt;&lt;br /&gt;We found several movies about hand-lain composites that kind of tipped us off on how not to complicate our chemistry. They all had a few things in common, latex paint and paste wax as the sealant and release agents. After fourth coat of latex paint, Johnson's paste wax was applied liberally and hand-buffed to a shine.  Each mold and the foam several inches (3-4") from the model was covered and buffed. &lt;br /&gt;&lt;br /&gt;Then it was all let rest for a day.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-3383143996934570291?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3383143996934570291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3383143996934570291'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/12/adventures-in-composites-bright-idea.html' title='Adventures in Composites: A Bright Idea'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-3323896553947173077</id><published>2009-12-03T19:48:00.000-05:00</published><updated>2009-12-03T19:48:38.930-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fiberglass'/><category scheme='http://www.blogger.com/atom/ns#' term='composite'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='epoxy'/><category scheme='http://www.blogger.com/atom/ns#' term='lay-up'/><title type='text'>Adventures in Composites:  Two Bogans and the Art of the Lay... Up</title><content type='html'>After a year of sitting, our polyester resin had spoiled. So we contacted some people and they said you could do it with just about any medium cure time epoxy. Out into the proper disposal container for petro-chemical waste. Yeah, I went there. Off to the local hardware shop for some epoxy. We bought several batches of 60 min epoxy. Some of the information that our friends told us suggested that we could use isopropyl alcohol to help keep the viscosity of the epoxy down as it is laid up. &lt;br /&gt;&lt;br /&gt;Information like this is when it gets exciting. We found out a few things. You can paint the alcohol onto a layer to help flow the epoxy and to reduce the bubbles and flatten wrinkles. I would suggest that pour some alcohol into a cup and paint it on where you need it. Each layup will be different so it is hard to say where you would have issues. &lt;br /&gt;&lt;br /&gt;There were some bubble generators in the seam where the semi-mold met the backing. This is probably pretty obvious, but it was due to training air under the resin laden cloth. Our mold also had several regions with nearly perpendicular sections which were hard to wet. In areas like that, I would suggest liberally pre-painting. Be careful not to pool the resin in the bottom since that is not where you want the part to be strong. Another observation was to make sure that when each layer is put down, both people should work in the same direction. Do not work the resin from the nose and the tail. It makes wrinkles and other defects. &lt;br /&gt;&lt;br /&gt;It is very important to make sure that each layer has as much of the resin out, or at least even distributed as possible. This means that all of the bubbles, wrinkles and puddles need to be worked toward the edge of the layup. A roller and brushes are the weapons of choice for this work. The handle edges are great for wringing out excess resin from tight radii.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-3323896553947173077?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3323896553947173077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3323896553947173077'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/12/adventures-in-composites-two-bogans-and.html' title='Adventures in Composites:  Two Bogans and the Art of the Lay... Up'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-7737210503948311906</id><published>2009-11-22T19:49:00.001-05:00</published><updated>2009-11-22T19:50:43.268-05:00</updated><title type='text'>No Chipotle's for me!</title><content type='html'>I know this is completely off topic. For the 3rd and final time, I do not eat &lt;a href="http://www.chipotle.com"&gt;Chipotle's&lt;/a&gt;. I have gotten royally sick eating there every time  I have eaten there. Guess I am a &lt;a href="http://www.moes.com"&gt;Moe's&lt;/a&gt; man. &lt;br /&gt;&lt;br /&gt;WTF you have to pay for soggy chips and no queso? What were they thinking? Moe's rules!&lt;br /&gt;&lt;br /&gt;I was sick all day Saturday having been attacked by either Jimmy John's or Chipotle's. So Both are right out. It was a miserable GI problem, I thought my gut was going to explode.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-7737210503948311906?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/7737210503948311906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/7737210503948311906'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/11/no-chipotles-for-me.html' title='No Chipotle&apos;s for me!'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-1711904860843829892</id><published>2009-11-15T22:36:00.000-05:00</published><updated>2009-11-15T22:36:36.627-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='drone'/><category scheme='http://www.blogger.com/atom/ns#' term='carbon fiber'/><title type='text'>So Much For our Idea</title><content type='html'>We were thinking that we could roll our Schoolgirl UAVs with some great &lt;a href="http://www.neumotors.com/Site/1900_series.html"&gt;NEU 1915/1.5Y&lt;/a&gt; motors to swing our huge props in a dual-motor configuration.  I am sure it would work, but I think we will put it into a pusher configuration. &lt;br /&gt;&lt;br /&gt;We kind of knew that the motors were big. I got a pair of these 2.7kW beasts from the guys down at &lt;a href="http://www.espritmodel.com"&gt;Esprit Model&lt;/a&gt; in Palm Bay,FL. They are another great supplier of rc stuff. Esprit Model is good about not advertising that they have hard to find stuff and then them being out of stock. Better to know, than to get an email two weeks later saying that they cleared your payment but that you will not get anything for four weeks.&lt;br /&gt;&lt;br /&gt;So I got these beer cans. I mean the motors are as big as beer cans. Not an issue, they look great and have built in fans to help with air flow (heli version). I just think that motors are way too big for our school girls. The kevlar skin that we used is way too dense for the skin application. The carbon fiber equivalent material was great and the other airframe came out pounds lighter. I thought I could pay the piper by just putting down more power. It is not going to work that way. We will have to put it in a pusher configuration.&lt;br /&gt;&lt;br /&gt;That is one of the cool things about the school girl. We can run with two under-wing motors, as a puller or a pusher. The changes do not effect the airframe much and really are about moving some power wires in the fuselage. It is really convenient. I hope the balsa kits come out well, it should be a great sport flier.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-1711904860843829892?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1711904860843829892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1711904860843829892'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/11/so-much-for-our-idea.html' title='So Much For our Idea'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-3321321125612787673</id><published>2009-11-15T22:20:00.001-05:00</published><updated>2009-11-15T22:24:50.648-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cafepress.com'/><category scheme='http://www.blogger.com/atom/ns#' term='advertising'/><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Facebook Advertising 3400 people exposed 5 hits received</title><content type='html'>This week, I ran a basic advertisement to see how effective it would be. I cross-posted a philanthropic interest for Veteran's Day. If I sold any of the following shirts,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cafepress.com/fatmanflying.415825974"&gt; shirt #1&lt;/a&gt; or &lt;a href="http://www.cafepress.com/fatmanflying.415825973"&gt; shirt #2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My idea was to donate any proceeds to the Alachua County Veterans of Foreign Wars post. They do lots of work at the Gainesville VA hospital. I sent it to three veteran's groups for 3400 possible people. I got 5 hits. Woohoo!&lt;br /&gt;&lt;br /&gt;Ok, not the glorious turn out that I had hoped. However, it was an interesting thing that it was such a huge failure. I guess it did not cost me anything, but I would happily donate any proceeds from these shirts to help Iraq and Afghanistan veterans. &lt;br /&gt;&lt;br /&gt;More adventures in internet marketing as I come up with them. &lt;a href="http://www.reddit.com"&gt;Reddit&lt;/a&gt; ok, I thought I would get more traffic by getting into some of the track back systems. Reddit.com put up 120 links, not one had anything to do with my content. Heck, even &lt;a href="http://www.google.com/adsense"&gt;Google AdSense&lt;/a&gt; has trouble with this. From what I can see, it is not so good at uncommon keywords. So short of articles of white panties on eastern European schoolgirls I am not sure how helpful AdSense is even for my topics.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-3321321125612787673?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3321321125612787673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3321321125612787673'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/11/facebook-advertising-3400-people.html' title='Facebook Advertising 3400 people exposed 5 hits received'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-4700467382392353953</id><published>2009-11-11T21:41:00.001-05:00</published><updated>2009-11-11T21:43:38.393-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nutech'/><category scheme='http://www.blogger.com/atom/ns#' term='rc'/><category scheme='http://www.blogger.com/atom/ns#' term='ugv'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Special Thanks to Willy from Nutech-racing.com</title><content type='html'>A special thanks to Willy from &lt;a href="http://www.nutech-racing.com/"&gt;www.Nutech-Racing.com&lt;/a&gt;. He is knowledgeable, friendly, freaky fast. I mean he is faster than &lt;a href="http://jimmyjohns.com/"&gt;Jimmy John's&lt;/a&gt; sammiches at lunch time. Check out Willy's site for fast, courteous service and great prices on rc stuff and UGV cross-over information.&lt;br /&gt;&lt;br /&gt;Thanks again Willy!&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.nutech-racing.com/" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_DxmoXj6TAU4/Svt2KBJk81I/AAAAAAAAAFA/COHmYaSOCgI/s320/1000008.jpeg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-4700467382392353953?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4700467382392353953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4700467382392353953'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/11/special-thanks-to-willy-from-nutech.html' title='Special Thanks to Willy from Nutech-racing.com'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DxmoXj6TAU4/Svt2KBJk81I/AAAAAAAAAFA/COHmYaSOCgI/s72-c/1000008.jpeg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-6332320123898705528</id><published>2009-11-11T16:25:00.001-05:00</published><updated>2009-11-11T16:26:16.229-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redcat racing'/><category scheme='http://www.blogger.com/atom/ns#' term='cheap rc'/><category scheme='http://www.blogger.com/atom/ns#' term='nutech'/><category scheme='http://www.blogger.com/atom/ns#' term='1/5th scale'/><category scheme='http://www.blogger.com/atom/ns#' term='hpi racing'/><category scheme='http://www.blogger.com/atom/ns#' term='control systems'/><category scheme='http://www.blogger.com/atom/ns#' term='uas sensors'/><category scheme='http://www.blogger.com/atom/ns#' term='ugv'/><title type='text'>If you were an UGV, what kind of truck would you be?</title><content type='html'>This week I have been digging into the 2d plane again. Yeah, that sounds kind of odd, but I think it is pretty accurate. I am looking for a platform that will let me test my own avionics and code in a way that will not have $10k at 300' and then in a heartbeat have it smashed into dust . The ground does rush up pretty quickly at the wrong times.&lt;br /&gt;&lt;br /&gt;One of my colleagues at my real job has egged me on, so I have been evaluating what it takes to get my software to work in a constant altitude kind of setup. Ok for all non-geeks, it means on a truck. I think that the premise has been tossed around several times.&lt;br /&gt;&lt;br /&gt;I found that several things during this evaluation. One, electric 1/5th scale trucks are not common. There are lots of 25cc gasser trucks. The three that I was reviewing were:&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a href="http://www.hpiracing.com/kitinfo/10620/"&gt;HPI Baha 5T&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/52reh8moQy4&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/52reh8moQy4&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nutechracing.com/english/ProductShow_Element.asp?ID=676"&gt;NuTech Mega Monster&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/E3jozHewjWs&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/E3jozHewjWs&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.redcatracing.com/RC-Cars/1-5-Scale-Gas/Rampage-MT-2"&gt;Redcat Racing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/CLoW9ocU5go&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/CLoW9ocU5go&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;After reading a bunch of information about all of these chassis, and 10's or 100's of reviews and projects. I even found 1 from Sony on the HPI... The Nutech seems to be ahead in the research. It does not weigh as much as the Redcat. The Nutech is Chinese, try not to just mail money to them these days. The HPI has great reviews but is significantly more expensive. I have not found anything to say that one is better than the others. So it may come down to weight and cost.&lt;br /&gt;&lt;br /&gt;I will not be using the 23-26cc engine. It will be replaced with some pretty beefy NEU motors and a lot of LiPo. My Mini9 will probably be its brain for the foreseeable future. I do need to work on a COM to handle the code. &lt;br /&gt;&lt;br /&gt;Kind of cool to watch the movies of these guys flipping around. I know mine won't do it, but will get its fair share of curb crashing I am sure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-6332320123898705528?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6332320123898705528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6332320123898705528'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/11/if-you-were-ugv-what-kind-of-truck.html' title='If you were an UGV, what kind of truck would you be?'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-4350166987821087988</id><published>2009-11-08T07:23:00.000-05:00</published><updated>2009-11-08T07:23:59.159-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='control systems'/><category scheme='http://www.blogger.com/atom/ns#' term='robotics'/><category scheme='http://www.blogger.com/atom/ns#' term='ugv'/><category scheme='http://www.blogger.com/atom/ns#' term='android 2'/><title type='text'>Ok, I guess it should not bother me</title><content type='html'>I have been researching the Android 2 as a robotics platform. Several people have weighed in to say that the only big advantage of &lt;a href="http://dev.android.com/"&gt;Google's Android 2&lt;/a&gt; is that it is essentially free to distribute. However, it has other overhead that has to be overcome. It has to be recompiled per processor, so there is more to sourcing cpus and instruments for it.&lt;br /&gt;&lt;br /&gt;I did find in my rolodex that &lt;a href="http://www.toradex.com/"&gt;Toradex&lt;/a&gt; has a Limestone PDA kit that claims to boot Android 1.6. I have to keep looking. One of my mad scientist ideas is the multiple chips flying closely together to distribute computing projects into manageable chunks. I will keep looking for more. I am not an EE so it is important these solutions be mostly plug and play.&lt;br /&gt;&lt;br /&gt;The only "robot" stuff, that I have found before are canned apps from canned boards. I guess I was thinking robot not rc kit. Yeah, I use a lot of rc stuff, but I am not looking to directly control the devices at every turn. They should have increasing levels of autonomy. However, I do have to say that I like that some companies have the same idea that I do. The kit I have found that has the most coverage is the &lt;a href="http://www.surveyor.com/SRV.html"&gt;Surveyor SRV-1&lt;/a&gt;. It looks interesting enough, but PIC sucks. ;) An interesting couple of "rc toys" on Android movies can be found at &lt;a href="http://robots.net/article/2760.html"&gt;robots.net&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://dev.android.com" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_DxmoXj6TAU4/Sva3bVBMfTI/AAAAAAAAAE4/5LpyKybT4Q4/s320/eclair-android.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-4350166987821087988?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4350166987821087988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4350166987821087988'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/11/ok-i-guess-it-should-not-bother-me.html' title='Ok, I guess it should not bother me'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DxmoXj6TAU4/Sva3bVBMfTI/AAAAAAAAAE4/5LpyKybT4Q4/s72-c/eclair-android.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-4302585381885863362</id><published>2009-11-06T10:19:00.000-05:00</published><updated>2009-11-06T10:19:00.549-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='control systems'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='android 2'/><title type='text'>Android 2 or windows 7</title><content type='html'>&lt;object width="100%"&gt;&lt;embed src="http://www.android.com/swf/conveyor.swf" type="application/x-shockwave-flash" width="100%" height="90"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;I saw this and liked it. If anyone has any real reason to choose one over the other without the opensource vs. proprietary hate. I would be interested in hearing it. The thrust is for robotics and control systems, not multi-media or similar applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-4302585381885863362?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4302585381885863362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4302585381885863362'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/11/android-2-or-windows-7.html' title='Android 2 or windows 7'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-3476516495345581608</id><published>2009-11-06T10:16:00.000-05:00</published><updated>2009-11-06T10:16:46.196-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='netbook'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='control systems'/><category scheme='http://www.blogger.com/atom/ns#' term='ugv'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='android 2'/><category scheme='http://www.blogger.com/atom/ns#' term='computer on module'/><title type='text'>UGV autopilot</title><content type='html'>Taking the lessons learned from the UAV stuff, I am trying to trim down the UAV pilot to a UGV pilot. The two have different requirements so I am hoping that it can all be put into the mission planner. I have found playing with the UAV autopilot that the event driven solution works well, but is a bit honery. &lt;br /&gt;&lt;br /&gt;So I am working on a bus model. Where the individual managers all call into the bus to pass messages, then the bus manages the message delivery. This should decouple the messaging. I was trying to avoid the inevitable hard coding of observers and subjects in the code. This would make the relationships less fixed and hopefully ini-file-able.&lt;br /&gt;&lt;br /&gt;I have some other lessons learned about this. &lt;br /&gt;&lt;br /&gt;One other question, does anyone have any opinion of Java on Android 2 rather than c#.NET on Windows 7? They would both target netbooks or computer on modules (COM). Let me know if anyone has any practical/constructive opinions of these platforms. info "at" fatmanflying.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-3476516495345581608?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3476516495345581608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3476516495345581608'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/11/ugv-autopilot.html' title='UGV autopilot'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-9022118963275747843</id><published>2009-11-01T13:29:00.000-05:00</published><updated>2009-11-01T13:29:19.279-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AForge'/><category scheme='http://www.blogger.com/atom/ns#' term='computer vision'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='control systems'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Stereographic Vision</title><content type='html'>I have been messing with the &lt;a href="http://code.google.com/p/aforge/"&gt;AForge &lt;/a&gt;library now for  a week. It is the best known and rated .net image processing library. Everyone has tried CV and getting the interop wrappers to work is tough. I have given up several times myself trying to just get all of the constants wrapped.&lt;br /&gt;&lt;br /&gt;I have been working on a version of their two camera tracking system. My cameras are a bit lager pixel counts than his, and I think that is where some of my timing issues are coming from. I think that the other piece that is beating me at the moment is the revisualization part of it. I think my composited movie needs to be output through the player control or just written to disk. I will have to monkey around with it. It may turn out that the movie meeds to go 360p or something to this effect and increase the frame rate.&lt;br /&gt;&lt;br /&gt;I am pretty sure that it is not a processing power thing, more about crappy code on my part. If the frames are smaller, my inefficient algorithms will probably be less impacted. I may also have some other ideas on how to composite the video, frame-wise may also be a bit on the slow side. Let's go for snappy. I have enough to do what the original project was intended for. It can track an object in the scene. Now, I need to get it up so that I can pick which object to track.&lt;br /&gt;&lt;br /&gt;Will keep everyone posted.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-9022118963275747843?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/9022118963275747843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/9022118963275747843'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/11/stereographic-vision.html' title='Stereographic Vision'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-2052565702873916835</id><published>2009-10-23T21:15:00.000-04:00</published><updated>2009-10-23T21:15:25.550-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shout outs'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Shout Outs to Some Small Businesses run By Great Guys</title><content type='html'>We are all in this together. I wanted to take a second to drop some names for everyone. If you need composites work done or molds made at reasonable rates. Call Robert at &lt;a href="http://www.mohrcomposites.com/"&gt;Mohrbacher Composites&lt;/a&gt; he really did a great job on some sick projects. If you have more normal fabrication requirements, the guys at &lt;a href="http://www.impactfab.com/"&gt;Impact Fab&lt;/a&gt;, tell Ross, that the &lt;a href="http://www.buzzlabs.us"&gt;Buzz Labs&lt;/a&gt; boys sent you. Ross works wonders with his water jet.&lt;br /&gt;&lt;br /&gt;Thanks guys for helping us with my bad ideas!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-2052565702873916835?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/2052565702873916835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/2052565702873916835'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/10/shout-outs-to-some-small-businesses-run.html' title='Shout Outs to Some Small Businesses run By Great Guys'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-1687506212326040936</id><published>2009-10-23T20:59:00.000-04:00</published><updated>2009-10-23T20:59:54.318-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phidgets'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='uas sensors'/><category scheme='http://www.blogger.com/atom/ns#' term='robotics'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Phidgets UltraSonic RangeFinder</title><content type='html'>The rangefinder is not a Phidgets. They are reselling a LV Max Sonar EZ1 from &lt;a href="http://www.maxbotix.com/"&gt;MaxBotix&lt;/a&gt;. You get in the bag the sensor (transceiver) and a small wire bundle. The wires need to be soldered into the proper pins. Just for reference from the pin closest to the mounting hole,&lt;br /&gt;&lt;br /&gt;black&lt;br /&gt;red&lt;br /&gt;open &lt;br /&gt;green&lt;br /&gt;white&lt;br /&gt;open&lt;br /&gt;open&lt;br /&gt;&lt;br /&gt;wire meanings&lt;br /&gt;&lt;br /&gt;black - ground&lt;br /&gt;red +5V&lt;br /&gt;green signal to trip the ultrasonic ping, +5V I think, but I do not use it&lt;br /&gt;white 5V signal&lt;br /&gt;&lt;br /&gt;This will cable your phidgets three wire signal cable correctly. Remember this is not a normal sensor, it is one of their analog sensors. So you will need one of their a/d boards or interface boards in their terminology. The event that you will want to hook, the SensorChange event. Everything the system reads a new voltage on the port it fires sensor change. See my post on the 888 interface kit to see how to set up the interface kit.&lt;br /&gt;&lt;br /&gt;Here is my way of switching the data so you only need one method for any port change.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;protected void SensorChange(object Sender, SensorChangeEventArgs Args)&lt;br /&gt;        {&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                InstrumentType _type = InstrumentType.notset;&lt;br /&gt;                int _index = 0;&lt;br /&gt;&lt;br /&gt;                switch (Args.Index)&lt;br /&gt;                {&lt;br /&gt;                    case 7:&lt;br /&gt;                        _type = InstrumentType.ultrasonicRangeFinder;&lt;br /&gt;                        _index = 4;&lt;br /&gt;                        break;&lt;br /&gt;                    case 6:&lt;br /&gt;                        _type = InstrumentType.ultrasonicRangeFinder;&lt;br /&gt;                        _index = 3;&lt;br /&gt;                        break;&lt;br /&gt;                    case 5:&lt;br /&gt;                        _type = InstrumentType.ultrasonicRangeFinder;&lt;br /&gt;                        _index = 2;&lt;br /&gt;                        break;&lt;br /&gt;                    case 4:&lt;br /&gt;                        _type = InstrumentType.ultrasonicRangeFinder;&lt;br /&gt;                        _index = 1;&lt;br /&gt;                        break;&lt;br /&gt;                    case 3:&lt;br /&gt;                        _type = InstrumentType.ultrasonicRangeFinder;&lt;br /&gt;                        _index = 0;&lt;br /&gt;                        break;&lt;br /&gt;                    case 2:&lt;br /&gt;                        _type = InstrumentType.pressureTotal;&lt;br /&gt;                        totalPressure = convertVoltageToUnit(_type, Args.Value, _index);&lt;br /&gt;                        speed = getPressureSpeed(totalPressure, staticPressure, staticTemperature);&lt;br /&gt;                        break;&lt;br /&gt;                    case 1:&lt;br /&gt;                        _type = InstrumentType.temperature;&lt;br /&gt;                        staticTemperature = convertVoltageToUnit(_type, Args.Value, _index);&lt;br /&gt;                        speed = getPressureSpeed(totalPressure, staticPressure, staticTemperature);&lt;br /&gt;                        break;&lt;br /&gt;                    case 0:&lt;br /&gt;                        _type = InstrumentType.pressureStatic;&lt;br /&gt;                        staticPressure = convertVoltageToUnit(_type, Args.Value, _index);&lt;br /&gt;                        speed = getPressureSpeed(totalPressure, staticPressure, staticTemperature);&lt;br /&gt;                        pressureAltitude = getGeoPotentialAltitude(staticPressure / units.kPaToPsf);&lt;br /&gt;                        break;&lt;br /&gt;                }&lt;br /&gt;                if (_type == InstrumentType.ultrasonicRangeFinder)&lt;br /&gt;                {&lt;br /&gt;                    rangeFinders[_index] = convertVoltageToUnit(InstrumentType.ultrasonicRangeFinder, Args.Value, _index);&lt;br /&gt;                }&lt;br /&gt;              &lt;br /&gt;            }&lt;br /&gt;            catch (Exception _exc)&lt;br /&gt;            {&lt;br /&gt;              &lt;br /&gt;                    throw new Exception(className + " protected void SensorChange( Sender, Args) :: " + _exc.Message + "\n");&lt;br /&gt;                &lt;br /&gt;            }&lt;br /&gt;        } &lt;/blockquote&gt;&lt;br /&gt;There are some other details in this code. Since I use a bunch of helper methods to calibrate the data coming out. Remember the values (Args.Value) come out as a double so you can write a simple linear interpolation for you that will get your data back into usable units from Voltage. For simplicity's sake, I have the interpolation points in an xml config file that is read in at start time to handle each of the instruments. That way the values can easily be changed for recalibration.&lt;br /&gt;&lt;br /&gt;The code I have presented is good simple code that is quick and should work for almost any purpose and uses solid error trapping techniques.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-1687506212326040936?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1687506212326040936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1687506212326040936'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/10/phidgets-ultrasonic-rangefinder.html' title='Phidgets UltraSonic RangeFinder'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-1122305968198562868</id><published>2009-10-23T20:26:00.001-04:00</published><updated>2009-10-23T21:01:32.094-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='algorithms'/><category scheme='http://www.blogger.com/atom/ns#' term='computer vision'/><category scheme='http://www.blogger.com/atom/ns#' term='robotics'/><title type='text'>Do I want to see both sides of your pretty face?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_DxmoXj6TAU4/SuJHIq3PdtI/AAAAAAAAAEQ/bhXbMqCJPGo/s1600-h/Two_color%5B1%5D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_DxmoXj6TAU4/SuJHIq3PdtI/AAAAAAAAAEQ/bhXbMqCJPGo/s320/Two_color%5B1%5D.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;This week I am still waiting for motors. It turns out my motor supplier has been on vacation this week, how dare he? Sorry Dave I just needed to get in the jab. So I had this new idea for how to progress, I was thinking about something someone said to me. They were explaining how someone did not like to fly their great looking soarer because of how much it cost to replace.&lt;br /&gt;&lt;br /&gt;Then I sat there looking at the School Girl UAS on the table and thought. ZOMG! It costs like 2-3x as much as the guy's soarer. What the hell am I thinking? I have to make sure that this thing can be showable to other people. It does have to fly, to demonstrate that those Engineering school was not a waste of time. I just want to make sure I do not throw two months of work and a thousand dollars into the ground due to bad luck and clean living. All of my best ideas are inspiration this time, I swear there was no barley soda involved. Ok, maybe some, but it was good stuff. The decision was made to make a new version of the truck so that I could work more on my version of the IMU and control system as well as make a safer platform for developing technologies for the UAS. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_DxmoXj6TAU4/SuJI91s8VMI/AAAAAAAAAEY/5OIHoNWXM10/s1600-h/pic3%5B1%5D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_DxmoXj6TAU4/SuJI91s8VMI/AAAAAAAAAEY/5OIHoNWXM10/s320/pic3%5B1%5D.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Long story short, a new beastie was conceived. Like the sign said, always well conceived, unlike people. Now this new ground guy lets me do lots of experiments with much less of the z-axis problem. The z-axis problem is acceleration due to gravity. Something that drives along the ground can still have great mishaps but it is easier to teach a car to drift a corner than it is to teach a plane to avoid turbulence.&lt;br /&gt;&lt;br /&gt;So one of the first things about this idea is how to navigate the buggy. Actually, this is less of an issue than it may seem and allows us to do some much more interesting things. Monitoring the instruments and planning a heading to a goal is mostly done with the code that I have. What does this have to do with my pretty face? Navigation is not as interesting as deciding how to see. Many times navigation is more than careening off in the direction that leads you to the goal the fastest. What if there is a reason to follow a path? How do you find the path? &lt;br /&gt;&lt;br /&gt;I sat back and ran through a series of thought experiments on how to execute this. The following questions came to me that needed an answer:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;If there is a reason to follow a path, then how do I find the path?&lt;/li&gt;&lt;li&gt;If I find a path how often do I have to look for the path?&lt;/li&gt;&lt;li&gt;Maybe I want the video stream to get back to an operator and still be able to work on the data, how do I do it?&lt;/li&gt;&lt;li&gt;How much processing is really necessary to find the important elements of a scene?&lt;/li&gt;&lt;li&gt;An element of a scene is important, how do I decide if it is important for driving or for identifying to an operator?&lt;/li&gt;&lt;li&gt;This is a lot of processing, how can I reduce it to use lower-powered systems to reduce processing costs?&lt;/li&gt;&lt;/ol&gt;There is a path and I want to follow it, and still go in my course direction. Let's assume that the path is in the general direction that I want to go and that it is relatively constant in inclination. Basic range finding can keep us from running into objects in the immediate area, and our navigator will have a limited number of states. The point of this is to limit the amount of storage needed for reprocessing what happened in the case of an accident. If the path changes constantly, then basic range finding can keep things going and it reduces the need for stereoscopic depth perception.&lt;br /&gt;&lt;br /&gt;As a matter of fact, the machine itself cannot make a lot of use of stereoscopic vision. Not that it is not useful, but that is an operator technology not a machine technology. The machine can use the stereoscopic vision to detect objects that may cause negative performance impacts . A really shiny thing in the way could "flash" and make a very small thing seem very big and that would possibly confuse the system, or a shadow may seem like a hole and cause unnecessary course correction. Coordinating objects in the two-camera system will allow false behaviors to be avoided or at least identified. It could also be used to do simple comparisons... is this blob like that one? and then reduce useful processing by discarding one of the copies. &lt;br /&gt;&lt;br /&gt;If we can process the scene in such a way that we can slow the effective frame rate down by not checking for the path as often it is one less object in the scene to be processed. Optical flow algorithms will help with this because you can quickly get velocity estimates for a given object relative to your position. As that changes you can say... same element do not reprocess it. If we identify the objects in the scene and discard the ones that are clearly not as important then we can process many fewer regions of the scene and or pass the processing back to an operator. &lt;br /&gt;&lt;br /&gt;This is going to be a multi-part post about basic vision systems and how I think it should be brought together and used in many applications without changing the code. How a few observations about what we want to do and what it really means may make a lot of decisions easier in the design. This code will focus on commodity components and instrumentation and control electronics from &lt;a href="http://www.phidgets.com/"&gt;Phidgets&lt;/a&gt; and &lt;a href="http://www.sparkfun.com/"&gt;SparkFun&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-1122305968198562868?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1122305968198562868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1122305968198562868'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/10/do-i-want-to-see-both-sides-of-your.html' title='Do I want to see both sides of your pretty face?'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DxmoXj6TAU4/SuJHIq3PdtI/AAAAAAAAAEQ/bhXbMqCJPGo/s72-c/Two_color%5B1%5D.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-1739001954763489438</id><published>2009-10-20T22:02:00.000-04:00</published><updated>2009-10-20T22:02:16.578-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sparkfun'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='gyroscope'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='control systems'/><category scheme='http://www.blogger.com/atom/ns#' term='uas sensors'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>The Girls Love the Long Ball, But the Boys Love the Spin</title><content type='html'>Someone once told me that it is not the boom, it is all about the shock wave. I guess that is true, you need to feel the motion of the ocean. &lt;br /&gt;&lt;br /&gt;You ask, what does this have to do with gyros? Well, if you cannot figure out how fast it is twisting, there is no way to know how far your ball will go. Yeah, actually a lot, since driving a golf ball is not a momentum problem alone. The dimples hold the boundary layer on and make it go much farther.&lt;br /&gt;&lt;br /&gt;Gyroscopes are cool, I have the neat little 300 deg/s board from SparkFun, built on a &lt;a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9126"&gt;3DOF IMU&lt;/a&gt;. I soldered on some pins so that it is easier to connect to. Connected the ground to the system ground and connected each of the signal pins to a separate "connector". Really, easy and I am a bit electrically declined.&lt;br /&gt;&lt;br /&gt;I then set up an easy pseudo code system to watch the ISensor.DataUpdated method. That lets me see the phidgets.datachanged event in my little API. The delegate that I use for ISensor.DataUpdated feeds my smoothing algorithm. I use the smoothing algorithm to keep out shorts and wonky voltage changes that happen. This would feed the Kalmann filter which I still do not have.&lt;br /&gt;&lt;br /&gt;I then feed these data updated events into an ArrayList and do my Runge-Kutta routines on them to integrate the unknown functions. This running integration is how I get an approximation of the position of the gyro. Remember gyros return the rate of change of the gyration, an angular velocity so to speak. &lt;br /&gt;&lt;br /&gt;We can do a simple integration to get back to a position. &lt;br /&gt;&lt;br /&gt;xi = xdot*dt+xi-1&lt;br /&gt;&lt;br /&gt;for constant timestep dt and the previous position, xi-1.&lt;br /&gt;&lt;br /&gt;I will put some code together for the next post on this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-1739001954763489438?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1739001954763489438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1739001954763489438'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/10/girls-love-long-ball-but-boys-love-spin.html' title='The Girls Love the Long Ball, But the Boys Love the Spin'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-2684097509460629638</id><published>2009-10-16T19:48:00.001-04:00</published><updated>2009-10-16T19:49:04.298-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phidgets'/><category scheme='http://www.blogger.com/atom/ns#' term='autopilot'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='sensors'/><category scheme='http://www.blogger.com/atom/ns#' term='object oriented'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='oop'/><title type='text'>Phidgets Accelerometers, the Magic of Three-Axes</title><content type='html'>The three-axis accelerometer is a piezo-electric accelerometer that is about 1" square. It is pretty good and have never seen any issues with drift or orientation issues. It measures each axis in units of g Do not forget to convert to your units, so a reading of 1.2 is actually an acceleration of 38.6 ft/s/s. I just make a little helper function to convert the  readings when the phidgets_accelerationchanged method fires. &lt;br /&gt;&lt;br /&gt;Hopefully, that will help clean up your code by reducing the risk of double converting units. Even NASA makes this mistake. One of the first things that I set up is a library of unit converstion factors. That way it is less risky if the user wishes to see the measurements in , mks or cgs and my software interanlly uses US Customary slug-ft-lbf. I do not do any conversions in the code. Just read the electrical signals from the transducers and convert them to real units, consistent with the system. Do not try and convert back and forth within the code, it will just be miserable to find. &lt;br /&gt;&lt;br /&gt;You convert to any system that is different than your base unit system until you display the data. You can easily set a flag in the display object that shows the data to the user and multiply out the measurements at presentation time via the decoration pattern. To be honest, the Phidgets API is awesome. It makes short work of connecting and managing their instruments, so the code to start an interface kit is not so different from the accelerometer.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;do&lt;br /&gt;{&lt;br /&gt;//System.Threading.Thread.Sleep(10);&lt;br /&gt;if (acc0.Attached)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;Console.WriteLine("_acc0 attached");&lt;br /&gt;//accelerometer events&lt;br /&gt;acc0.Attach += phidgets_Attach;&lt;br /&gt;acc0.Detach += phidgets_Detach;&lt;br /&gt;acc0.Error += phidgets_Error;&lt;br /&gt;acc0.AccelerationChange += _acc0_AccelerationChange;&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;Console.WriteLine("retry : " + retry + " waiting for acc0 attach");&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;retry++;&lt;br /&gt;} while (retry &lt; 10 &amp;&amp; !acc0.Attached);        #region helperMethods        #region Phidgets event handlers        /// &lt;summary&gt;&lt;br /&gt;/// handle the phidget device discovery events&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;/// &lt;param name="Sender"&gt;&lt;/param&gt;/// &lt;param name="Args"&gt;&lt;/param&gt;protected void phidgets_Attach(object Sender, AttachEventArgs Args)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;Console.WriteLine(Args.Device.Type + " attached.");&lt;br /&gt;}&lt;br /&gt;catch (Exception _exc)&lt;br /&gt;{&lt;br /&gt;throw new Exception(className + " protected void phidgets_Attach( Sender, Args) :: " + _exc.Message +&lt;br /&gt;"\n");&lt;br /&gt;}&lt;br /&gt;} //phidgets_Attach&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// handle the phidget device discovery events&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;/// &lt;param name="Sender"&gt;&lt;/param&gt;/// &lt;param name="Args"&gt;&lt;/param&gt;protected void phidgets_Detach(object Sender, DetachEventArgs Args)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;Console.WriteLine(Args.Device.Type + " detached.");&lt;br /&gt;}&lt;br /&gt;catch (Exception _exc)&lt;br /&gt;{&lt;br /&gt;throw new Exception(className + " protected void phidgets_Detach( Sender, Args) :: " + _exc.Message +"\n");&lt;br /&gt;}&lt;br /&gt;} //phidgets_Detach&lt;br /&gt;protected void phidgets_Error(object Sender, ErrorEventArgs Args)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;Console.WriteLine("phidgets error : " + Args.Code + " " + Args.Description);&lt;br /&gt;}&lt;br /&gt;catch (Exception _exc)&lt;br /&gt;{&lt;br /&gt;throw new Exception(className + " protected void phidgets_Error( Sender, Args) :: " + _exc.Message +&lt;br /&gt;"\n");&lt;br /&gt;}&lt;br /&gt;} //phidgets_Error&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// reads the acceleration from the Phidgets accelerometer&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;/// &lt;param name="Sender"&gt;accelerometer object&lt;/param&gt;/// &lt;param name="Args"&gt;essentially an array of three doubles, one for each direction measured&lt;/param&gt;protected void _acc0_AccelerationChange(object Sender, AccelerationChangeEventArgs Args)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;rawAcc[Args.Index] = Args.Acceleration;&lt;br /&gt;}&lt;br /&gt;catch (Exception _exc)&lt;br /&gt;{&lt;br /&gt;Console.WriteLine(&lt;br /&gt;className + " protected void _acc0_AccelerationChange( Sender, Args) :: " + _exc.Message + "\n"&lt;br /&gt;);&lt;br /&gt;}&lt;br /&gt;} //_acc0_AccelerationChange&lt;br /&gt;#endregion&lt;/blockquote&gt;&lt;br /&gt;Another helper method that is constantly requested is converting from accelerations to roll and pitch. You can do the trigonometry yourself, but if gravitation is assumed to act in the -Z direction you can work out the basic orientation of the accelerating object. This can be fooled by large or quick orientation changes, but for the most part sampling frequency can fix this. So I would make sure that you do as little as possible that may muddy the event handler system. They are really fast and that is a good thing in this case.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;/// &lt;summary&gt;&lt;br /&gt;/// calculate the euler angles from the local accelerations&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;/// &lt;param name="Ax"&gt;acceleration toward the right wing, g [gravity multiples]&lt;/param&gt;/// &lt;param name="Ay"&gt;acceleration toward the nose, g [gravity multiples]&lt;/param&gt;/// &lt;param name="Az"&gt;acceleration toward the ground, g [gravity multiples]&lt;/param&gt;/// &lt;param name="Compass"&gt;heading&lt;/param&gt;private static void accel2euler(double Ax, double Ay, double Az, double Compass, out double[] EulerAngles)&lt;br /&gt;{&lt;br /&gt;EulerAngles = new double[3];&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;double g = Math.Sqrt(Ax * Ax + Ay * Ay + Az * Az);&lt;br /&gt;/* Roll */&lt;br /&gt;if (g != 0)&lt;br /&gt;{&lt;br /&gt;//EulerAngles[0]=Math.Atan2(Ay,Az); &lt;br /&gt;EulerAngles[0] = Math.Atan2(Ay/g, -Az/g);&lt;br /&gt;}else&lt;br /&gt;{&lt;br /&gt;EulerAngles[0] = Math.Atan2(Ay / 1, -Az / 1);&lt;br /&gt;}&lt;br /&gt;/* Pitch */&lt;br /&gt;if (g != 0)&lt;br /&gt;{&lt;br /&gt;//EulerAngles[1] = Math.Asin(Ax/-g); &lt;br /&gt;EulerAngles[1] = Math.Atan2(Ax / g, -Az / g);&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;EulerAngles[1] = Math.Atan2(Ax / 1, -Az / 1);&lt;br /&gt;}&lt;br /&gt;EulerAngles[2] = Compass; /* Yaw */&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;catch (Exception _exc)&lt;br /&gt;{&lt;br /&gt;throw new Exception(className + " public static void accel2euler( , " + Ax.ToString("0.000") + " , " +&lt;br /&gt;Ay.ToString("0.000") + " , " + Az.ToString("0.000") + " , " +&lt;br /&gt;Compass.ToString("0.000") + " ) :: " + _exc.Message + "\n");&lt;br /&gt;}&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The one thing you will notice is that you cannot get the yaw from the accelerations. That makes sense if you think about it, flat rotation perpendicular to gravity would not be measured. I usually run a compass in the systems too. That makes the 3-1-3 rotation easy to move between body reference frames and global reference frames. I would suggest that you multiply out the cells for the rotations in a separate method each so that you can just multiply them by calling each method in turn with an argument of the last rotation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-2684097509460629638?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/2684097509460629638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/2684097509460629638'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/10/phidgets-accelerometers-magic-of-three.html' title='Phidgets Accelerometers, the Magic of Three-Axes'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-9145744877135638746</id><published>2009-10-16T19:43:00.001-04:00</published><updated>2009-10-16T19:45:35.267-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='need more clicks'/><category scheme='http://www.blogger.com/atom/ns#' term='buzz labs'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Driving Business to Your Website</title><content type='html'>This is one of the mor difficult aspects of internet marketing and small businesses. Many others can spend more resrouces to get the word out at any given time. I have tried to approach it from a step-wise perspective. First step was to get the basic website out, without content you have nothing. A buddy of mine said to make sure that you do not make sure that you do not cludder ideas or muddy your message trying to stuff too much on each page. There are plenty of ways to make the search engines pick up your content in systematic ways. &lt;br /&gt;&lt;br /&gt;Next, gather up your all of your suppliers or products that you normally use and make a simple page that links out to their official pages, that way your name or website will be linked to theirs. This will not in and of itself make a huge contribution, but if they look up this junk sucks, it will bring up your name. ;) As they say, any advertising where they spell your name correctly, is good advertising.&lt;br /&gt;&lt;br /&gt;I am not sure if this next step was the best, but I found some of the low cost tshirt and mouse pad sites and through a bunch of products out there. People in general would not associate technical ideas with a tshirt. However, it gives you a different lane of approach to your content. Make sure that you fill out the description sections of each item and try to make sure your main url shows up in as many places as possible. These link backs help your search engine scores and increase the possibility that someone will click through to your site. Traffic, even bounce traffic is good. You never know whose little brother will see a t-shirt with a logo and pass it onto their brother the director of your next customer's organization.&lt;br /&gt;&lt;br /&gt;Another simple and seemingly the most effective plan of attack. Use your open source community. They are mindless minions of habit. Ok, that is a bit harsh. However, &lt;a href="http://www.sourceforge.com"&gt;Sourceforge&lt;/a&gt;, &lt;a href="http://www.codeplex.com"&gt;CodePlex &lt;/a&gt;and similar sites have huge mostly anonymous traffic, if you can publish any of your source code as a project and link back to your website you will get the word out to a large audience of people&lt;br /&gt;with similar interests. I have found that techies run in circles and that they are inexoribly drawn to cool projects even if they are not in their fields of expertise. Likewise, if you use a product that has a user community, by all means post. Try to be as active as possible and keep posting your url in your signature. That link back thing is the cheapest and simplest advertising you can achieve.&lt;br /&gt;&lt;br /&gt;If you can manage it, you may also put up single page advertising sites with kind of universal message information on any of the better trafficked free hosting sites. &lt;a href="http://sites.google.com"&gt;Google&lt;/a&gt;, Microsoft and all of the 500 pound apes have free sites. Free is good, at this point you are trading time for initial expense. So put up your message pages and cross-link them as best as you can without making them look like the original Yahoo. Different url's linking back help increase your score. If they get you 2% more hits every month then you are 2% ahead for copying and pasting an advertisement to a database somewhere. When it gets taken down in six months for lack of updates, oh well, it was free.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.twitter.com"&gt;Tweets &lt;/a&gt;that get sucked into the ether by retweeters are good too. However, it is not as guaranteed a method because they are simple text messages and can carry less information than the free poster sites. By all means, spam the web with your message. With billions if not trillions of pages, make sure that you get your information out there in as many places as possible. &lt;br /&gt;&lt;br /&gt;Blogging is my last idea, but it is not as effective. Just from a time perspective you have to keep putting into it and that makes it more expensive than just chucking out some posters. Posters are good because you can have a graphical message. Even back in the day... &lt;br /&gt;Tamany Hall said they did not care what they wrote, their constituents could not read... They could UNDERSTAND pictures.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-9145744877135638746?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/9145744877135638746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/9145744877135638746'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/10/driving-business-to-your-website.html' title='Driving Business to Your Website'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-4978133704601520845</id><published>2009-10-15T19:49:00.002-04:00</published><updated>2009-10-16T08:58:11.615-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phidgets'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='uas sensors'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>How to Connect and Communicate With a Phidgets Interface Kit in C#</title><content type='html'>I have a bunch of there 8/8/8 kits. They are great. First, I would suggest getting their newest API package for your favorite platform.&lt;br /&gt;&lt;br /&gt;I use visual studio, so I will have biased examples. I could regurgitate their examples, but mine hopefully don't suck.&lt;br /&gt;&lt;br /&gt;From a simple command line application. You may get into some static thread issues, but they are generally avoidable.&lt;br /&gt;&lt;blockquote&gt;in your main()...&lt;br /&gt;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;InterfaceKit  ik1 = new InterfaceKit();&lt;br /&gt;ik1.open();&lt;br /&gt;}&lt;br /&gt;catch (Exception _exc)&lt;br /&gt;{&lt;br /&gt;Console.WriteLine("interface kit error : " + _exc.Message + "\n",);&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;This is pretty simple, and just opens the IK for management. You have to set up some events. In a constructor method, I dump the following code after you execute the Open() method.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;do&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;if (ik1.Attached)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;Console.WriteLine("ik1 attached.");&lt;br /&gt;&lt;br /&gt;//interface kit events&lt;br /&gt;ik1.Attach += phidgets_Attach;&lt;br /&gt;ik1.Detach += phidgets_Detach;&lt;br /&gt;ik1.Error += phidgets_Error;&lt;br /&gt;ik1.SensorChange += _ik1_SensorChange;&lt;br /&gt;ik1.OutputChange += _ik1_OutputChange;&lt;br /&gt;ik1.InputChange += _ik1_InputChange;&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;Console.WriteLine(("retry : " + retry + " waiting for ik1 attach");&lt;br /&gt;}&lt;br /&gt;retry++;&lt;br /&gt;} while (retry &lt; 10 &amp;&amp; !ik1.Attached);&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I like these do loops for the initialization setups. Why, because it retries and does not fail just because. It says which instrument is having an issue before it proceeds. I use the phidgets_xxx methods to have a standard system for handling the major Phidgets methods .&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#region Phidgets event handlers&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// handle the phidget device discovery events&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;/// &lt;param name="Sender"&gt;&lt;/param&gt;/// &lt;param name="Args"&gt;&lt;/param&gt;protected void phidgets_Attach(object Sender, AttachEventArgs Args)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;Console.WriteLine(Args.Device.Type + " attached.");&lt;br /&gt;}&lt;br /&gt;catch (Exception _exc)&lt;br /&gt;{&lt;br /&gt;throw new Exception(className + &lt;br /&gt;" protected void phidgets_Attach( Sender, Args) :: " + _exc.Message +"\n");&lt;br /&gt;}&lt;br /&gt;} //phidgets_Attach&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// handle the phidget device discovery events&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;/// &lt;param name="Sender"&gt;&lt;/param&gt;/// &lt;param name="Args"&gt;&lt;/param&gt;protected void phidgets_Detach(object Sender, DetachEventArgs Args)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;Console.WriteLine(Args.Device.Type + " detached.");&lt;br /&gt;}&lt;br /&gt;catch (Exception _exc)&lt;br /&gt;{&lt;br /&gt;throw new Exception(className + " protected void phidgets_Detach( Sender, Args) :: " + _exc.Message +"\n");&lt;br /&gt;}&lt;br /&gt;} //phidgets_Detach&lt;br /&gt;protected void phidgets_Error(object Sender, ErrorEventArgs Args)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;Console.WriteLine("phidgets error : " + Args.Code + " " + Args.Description);&lt;br /&gt;}&lt;br /&gt;catch (Exception _exc)&lt;br /&gt;{&lt;br /&gt;throw new Exception(className + &lt;br /&gt;" protected void phidgets_Error( Sender, Args) :: " + _exc.Message +"\n");&lt;br /&gt;}&lt;br /&gt;} //phidgets_Error&lt;br /&gt;&lt;/blockquote&gt;Then some simple methods to catch changes per port. I connect different instruments to each port. I have to calibrate the readings for each port so that the readings make sense directly from the Read() methods.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;protected void _ik1_SensorChange(object Sender, SensorChangeEventArgs Args)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;InstrumentType _type = InstrumentType.notset;&lt;br /&gt;int _index = 0;&lt;br /&gt;&lt;br /&gt;switch (Args.Index)&lt;br /&gt;{&lt;br /&gt;case 7:&lt;br /&gt;_type = InstrumentType.notset;&lt;br /&gt;_index = 4;&lt;br /&gt;break;&lt;br /&gt;case 6:&lt;br /&gt;_type = InstrumentType.notset;&lt;br /&gt;_index = 3;&lt;br /&gt;break;&lt;br /&gt;case 5:&lt;br /&gt;_type = InstrumentType.notset;&lt;br /&gt;_index = 2;&lt;br /&gt;break;&lt;br /&gt;case 4:&lt;br /&gt;_type = InstrumentType.notset;&lt;br /&gt;_index = 1;&lt;br /&gt;break;&lt;br /&gt;case 3:&lt;br /&gt;_type = InstrumentType.notset;&lt;br /&gt;_index = 0;&lt;br /&gt;break;&lt;br /&gt;case 2:&lt;br /&gt;_type = InstrumentType.notset;&lt;br /&gt;break;&lt;br /&gt;case 1:&lt;br /&gt;_type = InstrumentType.gyro;&lt;br /&gt;gyro.SetRollData(&lt;br /&gt;convertVoltageToUnit(InstrumentType.gyro, Args.Value, 1));&lt;br /&gt;break;&lt;br /&gt;case 0:&lt;br /&gt;_type = InstrumentType.gyro;&lt;br /&gt;gyro.SetPitchData(&lt;br /&gt;convertVoltageToUnit(InstrumentType.gyro, Args.Value, 0));&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;if (_type == InstrumentType.ultrasonicRangeFinder)&lt;br /&gt;{&lt;br /&gt;rangeFinders[_index] = convertVoltageToUnit(&lt;br /&gt;InstrumentType.ultrasonicRangeFinder, Args.Value, _index);&lt;br /&gt;}&lt;br /&gt;Console.WriteLine(className + &lt;br /&gt;" instrument change " + _type + " value: " + Args.Value);&lt;br /&gt;}&lt;br /&gt;catch (Exception _exc)&lt;br /&gt;{                &lt;br /&gt;Console.WriteLine(className + &lt;br /&gt;" protected void _ik1_SensorChange( Sender, Args) :: " + _exc.Message + "\n");&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;} //_ik0_SensorChange&lt;br /&gt;protected void _ik1_InputChange(object Sender, InputChangeEventArgs Args)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;catch (Exception _exc)&lt;br /&gt;{                &lt;br /&gt;Console.WriteLine(className + &lt;br /&gt;" protected void _ik1_InputChange( Sender, Args) :: " + _exc.Message + "\n");   &lt;br /&gt;}&lt;br /&gt;} //_ik0_InputChange&lt;br /&gt;protected void _ik1_OutputChange(object Sender, OutputChangeEventArgs Args)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;catch (Exception _exc)&lt;br /&gt;{&lt;br /&gt;Console.WriteLine(className + &lt;br /&gt;" protected void _ik1_OutputChange( Sender, Args) :: " +&lt;br /&gt;_exc.Message +  "\n");                &lt;br /&gt;}&lt;br /&gt;} //_ik1_OutputChange&lt;br /&gt;&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// converts the read value, probably in volts to the correct units&lt;br /&gt;/// this will also apply a 6:4 smooth, old value*0.6 + new value*0.4 to help&lt;br /&gt;/// smooth out the readings&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;/// &lt;param name="Type"&gt;type of instrument read, to get the correct coeefficients&lt;/param&gt;/// &lt;param name="Reading"&gt;reading of the instrument&lt;/param&gt;/// &lt;param name="Index"&gt;some instruments are indexed&lt;/param&gt;/// &lt;returns&gt;the calibrated value&lt;/returns&gt;&lt;br /&gt;protected double convertVoltageToUnit(InstrumentType Type, double Reading, int Index)&lt;br /&gt;{&lt;br /&gt;double _value;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;int _InstrumentTypeIndex = 0;&lt;br /&gt;double _old = 0;&lt;br /&gt;switch (Type)&lt;br /&gt;{&lt;br /&gt;case InstrumentType.accelerometer:&lt;br /&gt;_InstrumentTypeIndex = 2;&lt;br /&gt;_old = rawAcc[Index];&lt;br /&gt;break;&lt;br /&gt;case InstrumentType.gyro:&lt;br /&gt;_InstrumentTypeIndex = 3;&lt;br /&gt;_old = gyration[Index];&lt;br /&gt;break;&lt;br /&gt;case InstrumentType.pressureStatic:&lt;br /&gt;_InstrumentTypeIndex = 0;&lt;br /&gt;break;&lt;br /&gt;case InstrumentType.temperature:&lt;br /&gt;_InstrumentTypeIndex = 1;&lt;br /&gt;break;&lt;br /&gt;case InstrumentType.ultrasonicRangeFinder:&lt;br /&gt;_InstrumentTypeIndex = 4;&lt;br /&gt;_old = rangeFinders[Index];&lt;br /&gt;break;&lt;br /&gt;case InstrumentType.servo:&lt;br /&gt;_InstrumentTypeIndex = 5;&lt;br /&gt;_old = servos[Index];&lt;br /&gt;break;&lt;br /&gt;case InstrumentType.notset:&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;double A = double.Parse(&lt;br /&gt;AppSettings["instrumentCalibration" + _InstrumentTypeIndex + "A"]);&lt;br /&gt;double B = double.Parse(&lt;br /&gt;AppSettings["instrumentCalibration" + _InstrumentTypeIndex + "B"]);&lt;br /&gt;double C = double.Parse(&lt;br /&gt;AppSettings["instrumentCalibration" + _InstrumentTypeIndex + "C"]);&lt;br /&gt;//apply basic filter to smooth the data&lt;br /&gt;// value = Ax^2+Bx+C&lt;br /&gt;if (_old != 0)&lt;br /&gt;{&lt;br /&gt;_value = 0.6*_old + 0.4*(A*Reading*Reading + B*Reading + C);&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;_value = A*Reading*Reading + B*Reading + C;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;catch (Exception _exc)&lt;br /&gt;{&lt;br /&gt;throw new Exception(className +&lt;br /&gt;" protected double convertVoltageToUnit( " + Type.ToString("0.000") +&lt;br /&gt;" , " + Reading.ToString("0.000") + " ) :: " + _exc.Message + "\n");&lt;br /&gt;}&lt;br /&gt;return _value;&lt;br /&gt;} //convertVoltageToUnit&lt;/blockquote&gt;&lt;br /&gt;It is pretty simple. I then just use events to manage the reading of the ports or inputs. It is really easy at this point. I put the whole session into a System.Timers.Timer loop or a Console.ReadLine system to control the starting and stopping of the application.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-4978133704601520845?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4978133704601520845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4978133704601520845'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/10/how-to-connect-and-communicate-with.html' title='How to Connect and Communicate With a Phidgets Interface Kit in C#'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-1877451063249116890</id><published>2009-10-15T19:29:00.000-04:00</published><updated>2009-10-15T19:29:56.512-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phidgets'/><category scheme='http://www.blogger.com/atom/ns#' term='kalman filter'/><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><category scheme='http://www.blogger.com/atom/ns#' term='uas sensors'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>A Stability Manager is Good to Have, But You Could Wing It</title><content type='html'>More about the loathe and planning of your own autopilot. I used a hopefully simple system to handle the stability manager. I set up a system that uses a simple interface for strategies to get to keep the plane in the air. From this strategy interface, I developed several strategies that specialized in different aspects of managing the airplane's performance.&lt;br /&gt;&lt;br /&gt;The strategies then calculate a solution and then pass it to the task manager. The servo manager pops the solution off the task manager's stack and gives. From the solution the servo manager converts the new inputs to a servo position map. It converts the map to servo motion and executes the changes. The Phidgets controllers that we use allow for several settings to be set as it moves the servos into position.&lt;br /&gt;&lt;br /&gt;It may seem a bit "math nerd", but the cool thing about the Phidgets controller is that you can set the final position, the speed and the magnitude of the acceleration used to make the changes. In general, I leave it to figure out the acceleration. However, in coordinated systems it may be important to set the jerk of the servo arms so that you do not lock up linkages or other mechanical interfaces to the servos. &lt;br /&gt;&lt;br /&gt;My strategies are simple. I tried to decorate a base object with virtualized methods, that way if I missed or the method's implementation did not just come to me the methods would have something by way of implementation. This seems to be a good way to handle this kind of "how the heck do I do this" programming. I am sure there are more professional ways of doing this, but here is how I did it.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;    /// &lt;summary&gt;&lt;br /&gt;    /// used in the strategy design pattern, so that you can use different strategies and change&lt;br /&gt;    /// them by delegate&lt;br /&gt;    /// &lt;/summary&gt;&lt;br /&gt;    public interface IStrategy&lt;br /&gt;    {&lt;br /&gt;        /// &lt;summary&gt;&lt;br /&gt;        /// execute the strategy but do not return any results&lt;br /&gt;        /// &lt;/summary&gt;&lt;br /&gt;        void Execute();&lt;br /&gt;        /// &lt;summary&gt;&lt;br /&gt;        /// exectute the strategy, return the result&lt;br /&gt;        /// &lt;/summary&gt;&lt;br /&gt;        /// &lt;returns&gt;result of the strategy&lt;/returns&gt;&lt;br /&gt;        object Execute(bool bResults);&lt;br /&gt;        /// &lt;summary&gt;&lt;br /&gt;        /// exectute the strategy, return the result and a object&lt;br /&gt;        /// &lt;/summary&gt;&lt;br /&gt;        /// &lt;param name="Result"&gt;return a second resultant object&lt;/param&gt;        /// &lt;returns&gt;result of the strategy&lt;/returns&gt;&lt;br /&gt;        object Execute(out object Result);&lt;br /&gt;&lt;br /&gt;    }&lt;/blockquote&gt;&lt;br /&gt;    public interface IStrategyResult&lt;br /&gt;    {&lt;br /&gt;        object ShowResult();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;Now these are interfaces that I used to make a series of strategies to balance the different flight aspects and how to keep the system on course. These are run through at about 20Hz and the results are compared at 10Hz. That way decisions can be made at 5Hz and you can keep the whole thing from bumping into the data collection and servo motion phases. It happens, but if the frequency is high enough, we can miss a solution or two and still make it in time to decide which solution was best.&lt;br /&gt;&lt;br /&gt;A simple markup model  then decides which result is most successful and passes it down the chain. My biggest troubles are always how to correctly smooth the position and orientation data. They are effected by several different coupling and acceleration balances. I have heard about these Kalman filters that everyone loves so much, but have yet to be successful implementing one myself from scratch. I usually keep a simple integrator system to keep the changes small(er) and tend to stay in constant speed-level flight if at all possible. That is better for overall system performance anyway. You have to pay the piper for every energy change.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-1877451063249116890?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1877451063249116890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1877451063249116890'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/10/stability-manager-is-good-to-have-but.html' title='A Stability Manager is Good to Have, But You Could Wing It'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-8315132738781011665</id><published>2009-10-13T16:07:00.000-04:00</published><updated>2009-10-13T16:07:39.353-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='central europe'/><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><category scheme='http://www.blogger.com/atom/ns#' term='brazil'/><category scheme='http://www.blogger.com/atom/ns#' term='uas sensors'/><category scheme='http://www.blogger.com/atom/ns#' term='drone'/><category scheme='http://www.blogger.com/atom/ns#' term='ugv'/><category scheme='http://www.blogger.com/atom/ns#' term='sensors'/><category scheme='http://www.blogger.com/atom/ns#' term='experimental'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Business Opportunities in Central Europe or Brazil</title><content type='html'>Buzz Labs is looking for business contacts in Central Europe or Brazil. We are seeking interesting applications of UAS and UGV in most places or partners to help develop certain aspects of technologies for related projects. Our business is about developing technologies to support unmanned systems in general or how to achieve certain commercial or scientific requirements. &lt;br /&gt;&lt;br /&gt;Maximizing our understanding of networking and aviation knowledge is allowing for fascinating new insights into what is possible even with the current states of technologies. We are most interested in multi-spectral image analysis, distributed pico-computing, alternatives to radio control, streaming technologies,power systems and system configuration. &lt;br /&gt;&lt;br /&gt;Central Europe and Brazil are great stable markets that we would like to become a bigger player in. Please feel free to contact us with questions or ideas.&lt;br /&gt;&lt;br /&gt;info@fatmanflying.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-8315132738781011665?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/8315132738781011665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/8315132738781011665'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/10/business-opportunities-in-central.html' title='Business Opportunities in Central Europe or Brazil'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-3106014110468061238</id><published>2009-10-10T15:38:00.006-04:00</published><updated>2009-10-10T16:13:59.577-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boeing'/><category scheme='http://www.blogger.com/atom/ns#' term='airbus sucks'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='formulas'/><category scheme='http://www.blogger.com/atom/ns#' term='basic aerodynamics'/><title type='text'>Wing Loading, Bah! Land It Like A Man! Full-Throttle and Nose Up!</title><content type='html'>Recently, we have heard lots of talk about our normally well loaded wings. The balsa versions of our planes work great, and have normal stall speeds around 15-20mph. That is great for normal flying. They are hybrid flying wings and should fly like a Dutch Roll resistant frisbee.&lt;br /&gt;&lt;br /&gt;I have been building the carbon fiber and Aluminum versions. They are a bit heavier than we expected, but that is due to real materials. We certainly will take out some of the fat in future revisions, but I think that the issue here is approach speed. You bunch of sissy girls. These planes are UAS, unmanned means the computer should be doing the work to bring the plane in on glide path. I hope our spars are strong enough for the cut the power approach.&lt;br /&gt;&lt;br /&gt;What the heck am I talking about? Nope, never been asked that in polite company either. Wing loading is a relative measure that comes out of the basic low-speed aerodynamics of any fixed-aircraft. In some ways, it is a measure of the relative performance of a device with respect to constant thrust. It is most easily expressed as the mass of the aircraft divided by the wing area.&lt;br /&gt;&lt;br /&gt;This essentially describes how strong the pressure difference must be between the surfaces to keep the plane in the air. Considering that the higher the wing loading, the larger the drag due to lift turn will be. This will change the trim characteristics of the plane in cruise and require more thrust to keep the plane above stall. Any F-4 or F-15 driver will tell you that more thrust is the answer to everything.&lt;br /&gt;&lt;blockquote&gt;"The critical limit for &lt;a href="http://en.wikipedia.org/wiki/Bird" title="Bird"&gt;&lt;span style="color: black;"&gt;&lt;span style="text-decoration: none;"&gt;bird&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; flight is about  5 lb/ft² (25 kg/m²)&lt;sup class="reference" id="cite_ref-2"&gt;&lt;a href="http://en.wikipedia.org/wiki/Wing_loading#cite_note-2"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-size: medium; text-decoration: none;"&gt;[&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;span style="font-size: medium; text-decoration: none;"&gt;3&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;span style="font-size: medium; text-decoration: none;"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/sup&gt;. An analysis of bird  flight which looked at 138 species ranging in mass from 1x10&lt;sup&gt;&lt;span style="font-size: medium;"&gt;-2&lt;/span&gt;&lt;/sup&gt; to 10  kg, from small &lt;a class="mw-redirect" href="http://en.wikipedia.org/wiki/Passerines" title="Passerines"&gt;&lt;span style="color: black;"&gt;&lt;span style="text-decoration: none;"&gt;passerines&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; to &lt;a href="http://en.wikipedia.org/wiki/Swans" title="Swans"&gt;&lt;span style="color: black;"&gt;&lt;span style="text-decoration: none;"&gt;swans&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Crane_(bird)" title="Crane (bird)"&gt;&lt;span style="color: black;"&gt;&lt;span style="text-decoration: none;"&gt;cranes&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; found wing loadings from about 1 to 20  kg/m&lt;sup&gt;&lt;span style="font-size: medium;"&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;sup class="reference" id="cite_ref-3"&gt;&lt;a href="http://en.wikipedia.org/wiki/Wing_loading#cite_note-3"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-size: medium; text-decoration: none;"&gt;[&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;span style="font-size: medium; text-decoration: none;"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;span style="font-size: medium; text-decoration: none;"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/sup&gt;. The wing loadings  of some of the lightest aircraft fall comfortably within this range. One typical  hang-glider (see table) has a maximum wing loading of 6.3 kg/m&lt;sup&gt;&lt;span style="font-size: medium;"&gt;2&lt;/span&gt;&lt;/sup&gt;, and  an ultralight rigid glider&lt;sup class="reference" id="cite_ref-4"&gt;&lt;a href="http://en.wikipedia.org/wiki/Wing_loading#cite_note-4"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-size: medium; text-decoration: none;"&gt;[&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;span style="font-size: medium; text-decoration: none;"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;span style="font-size: medium; text-decoration: none;"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/sup&gt; 8.3  kg/m&lt;sup&gt;&lt;span style="font-size: medium;"&gt;2&lt;/span&gt;&lt;/sup&gt;." - wikipedia&lt;/blockquote&gt;&lt;br /&gt;The wing loading also changes the stall speed. If you have to use forward speed to generate enough lift for a given flight regime, you have to go faster to balance the weight of the aircraft with the lift generated. In a flying wing, you cannot just pick the nose up, roll control has to be gentle. The old&amp;nbsp;adage&amp;nbsp;"Little planes add flap, big planes add power" is our friend. If you were interested the effect of wing loading on stall speed is expressed as the following.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img alt="\textstyle v^2=\frac {2gW_S} {\rho C_L}" class="tex" src="http://upload.wikimedia.org/math/3/c/3/3c3556c27d6b1cd4850f51b82e2f6f21.png" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;v^2 is the stall speed&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;g is the acceleration due to gravity&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Ws is the wing loading, mass/wing area&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;rho is the density of air&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;CL is the coefficient of lift of the net wing&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Another interesting equation, is the rate of climb. This is just a force balance between the net acceleration, lift generated and the weight of the device.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img alt="\textstyle a_c=\frac{1}{2W_S}v_c^2\rho C_L -g," class="tex" src="http://upload.wikimedia.org/math/1/8/a/18a6592faa81a3e2517d3ae0fa7d4ec6.png" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;ac is the climbing acceleration&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Ws is still the mass wing loading&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;vc is the new airspeed&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;rho is the density of the free stream air&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;CL is the coefficient of lift of the net wing&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;g is the acceleration due to gravity&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;The wing loading term is in the&amp;nbsp;denominator, so if you want to climb faster you need to lower the wing loading, or increase speed. Increasing the speed is way more fun than having gossamer wings. More Power!&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;We are not so bad, we are in the 23-35 kg/m^2 range for our wing loading depending on the equipment load out. Less than a some gliders. We however, cannot skimp on pimping the power plant. As if we would do that.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Aircraft &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Wing Loading (kg/sq m)&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/swan"&gt;swan&lt;/a&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;10&lt;br /&gt;&lt;a href="http://www.schoolgirluav.com"&gt;Buzz Labs Schoolgirl UAV&lt;/a&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 23&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Nieuport_17" title="Nieuport 17"&gt;Nieuport 17&lt;/a&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 38&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Cessna_152" title="Cessna 152"&gt;Cessna 152&lt;/a&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 51&lt;br /&gt;&lt;a class="mw-redirect" href="http://en.wikipedia.org/wiki/B-17" title="B-17"&gt;B-17&lt;/a&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;190&lt;br /&gt;&lt;a class="mw-redirect" href="http://en.wikipedia.org/wiki/F-104" title="F-104"&gt;F-104&lt;/a&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;514&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Airbus_A380" title="Airbus A380"&gt;A380&lt;/a&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;who cares, it is an airbus&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Boeing_747" title="Boeing 747"&gt;B747&lt;/a&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;740&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;We already know you&amp;nbsp;can do your approach at a reasonable speed, but why? Sensible approaches are for people who do not think that 10 ft/s &amp;nbsp;sink rates are for roller coasters. Land It Like a Man, Full Throttle and Both Hands on the Stick. Or, just let the autopilot do it, it can tell how far it is from the ground and cut the power at stall two inches off the ground.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If the women don't find you handsome, they ought to find you handy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-3106014110468061238?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3106014110468061238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3106014110468061238'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/10/wing-loading-bah-land-it-like-man-full.html' title='Wing Loading, Bah! Land It Like A Man! Full-Throttle and Nose Up!'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-2435028647626257703</id><published>2009-10-10T10:21:00.000-04:00</published><updated>2009-10-10T10:21:00.742-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='neu'/><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='drone'/><category scheme='http://www.blogger.com/atom/ns#' term='experimental'/><category scheme='http://www.blogger.com/atom/ns#' term='x-era'/><category scheme='http://www.blogger.com/atom/ns#' term='motors'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Motors, motors, motors</title><content type='html'>Did anyone else ever notice that anything truly important must be said thrice for men to notice? Girls, girls girls, XXX, I have a million examples. Just an aside, but interesting to note. That may be why no one ever reads DANGER, and stays away, Or don't click.&lt;br /&gt;&lt;br /&gt;This week I have been fighting the forces of evil all week. I know the buzzlabs.us site is not a work of art. It is a work in progress. Yeah, yeah need more pictures. Let's get one step at a time. I found several distributors of NEU motors whose website said, yeah they are in stock. Seems that they need to update their site? WTF still are not online with inventory status... or are not advertising things correctly. If you don't have it, just say so.&lt;br /&gt;&lt;br /&gt;Anyway, there I was thinking I had the &lt;a href="http://www.neumotors.com/"&gt;NEU motors&lt;/a&gt; in hand 1912/3Y jobs. however, it seems that there is no such thing as in stock with these guys. They are supposed to be the best. I have been reading that the heli guys dig the &lt;a href="http://www.xeramotors.com/"&gt;X-Era motors&lt;/a&gt; from NC too.&lt;br /&gt;&lt;br /&gt;I called Dave at X-Era. He was friendly and very helpful. I will keep up with his 4035 3y 400kv motors. He is actually sizing a motor for us to swing these huge props. I am actually pretty curious what he will come up with. The NEU calculator came up with the 1912 line of motors because of the three bladed props. I will post what he says when I get back his response.&lt;br /&gt;&lt;br /&gt;If anyone knows of any 5-6 bladed props that would be good to know too. I heard on the boards that Dario makes them. It is my opinion that I can slow the prop down enough by adding blades to lower our planes and reduce the current draw by adding voltage. I would love to get our current draw to 20A at 9s (33.3V) our batteries would last for a lot longer. I think maybe &lt;a href="http://www.bolly.com.au/"&gt;Bolly Props&lt;/a&gt; down in Oz may have them, but three bladed jobs though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-2435028647626257703?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/2435028647626257703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/2435028647626257703'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/10/motors-motors-motors.html' title='Motors, motors, motors'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-5233303277286963993</id><published>2009-10-03T17:45:00.002-04:00</published><updated>2009-10-03T22:47:28.101-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='instrumentation'/><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='uas sensors'/><category scheme='http://www.blogger.com/atom/ns#' term='ugv'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='object oriented'/><category scheme='http://www.blogger.com/atom/ns#' term='oop'/><title type='text'>Of Directors and Other School Marms</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: right;"&gt;&lt;br /&gt;&lt;/div&gt;In my model, there is one king pin class. It does all of the general start to stop management of the system. The director class is where all of the managers hang from. I do not really hang a lot of factories off of the director, the &amp;nbsp;decorations to the class are minimal.&lt;br /&gt;&lt;br /&gt;At start up, the director sets all of its properties from the configuration files and starts the managers. The managers in my model are:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;instrumentation manager, im&lt;/li&gt;&lt;li&gt;task manager, tm&lt;/li&gt;&lt;li&gt;ai manager, aim&lt;/li&gt;&lt;li&gt;stability manager, stab man&lt;/li&gt;&lt;li&gt;communication manager, comm&lt;/li&gt;&lt;li&gt;display manager, display&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;This can be relatively complicated since the observation system must be handled by the director. The data flows from the instrumentation manager to the stability manager (stab man observes im). Task managers observe the communication manager to queue jobs, they also watch the stability manager. The Instrumentation Manager also watches the task manager, but only because it also contains the servo manager. Tasks go from the stability manager to the task stack and are then sent to the servo manager.&lt;br /&gt;&lt;br /&gt;I thought this was the best way because whether or not the communications manager has a command, the task queue will be populated. The servo manager will then grab tasks and handle them in a first come first served pattern. If a command expires by sitting in the queue too long it is dumped by the task manager when the servo manager pops it off of the queue.&amp;nbsp;As the system becomes more complicated, there could be more queues to do more things. However, tasks that require moving a servo always go to the servo queue.&lt;br /&gt;&lt;br /&gt;I have read the great &lt;a href="http://tom.pycke.be/mav/"&gt;MAV blog&lt;/a&gt; by Tom Pycke. He has lots of things to say on the topic of real time operations. However, my idea is that they are not really so important. I do agree with him that his way of dealing with garbled or miscommunicated commands to the MAV is pretty interesting. My way seems to be not so bad either. The system must be able to fly itself, you tell it a basic plan to fly along. Any command inputs from the ground station are "exceptions".&lt;br /&gt;&lt;br /&gt;Exceptions are easier to manage because you do them as soon as possible. When they expire you stop doing them, the system still tries to make the best of the situation and go back to the plan. This guidance could make a complete mess that breaks everything, in the case of coordinates that are for a different city. Your system may start flying off in a crazy direction trying to get home. However, that is why there are a few directives that the director knows and is the only one that can execute.&lt;br /&gt;&lt;br /&gt;I keep a few tasks in the clip for a special occasion. My "director-only" tasks are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;shutdown&lt;/li&gt;&lt;li&gt;go to safe altitude&lt;/li&gt;&lt;li&gt;land immediately&lt;/li&gt;&lt;li&gt;idle&lt;/li&gt;&lt;/ul&gt;Shutdown is a good example of a game ender. If you shut down the computer systems and the current. For a UGS it may not be so bad, a UAS just falls out of the sky. In my overly instrumented systems, we have an aircraft on ground sensor. It is nothing as cool as a weight on wheels, but it does check to see how far the fuselage is off of the ground. This is to enforce a flight floor system, only in certain situations will it not try to climb to the safe altitude. In general, the safe altitude should be above the tree line. Altitude is safe for a UAS, this is not as necessary for a UGS but it can be interesting to have. Land immediately works for either kind of system, it forces the system to plot the fastest route to the start area/landing strip. Once the system arrives in the pattern, it will begin normal landing/parking processes. Idle is similar to shutdown, but it does not cut the power. It however, means RC override in implementation. The computer lets the system freewheel, this can be useful if the computer keeps doing crazy crap and you have to bring it back.&lt;br /&gt;&lt;br /&gt;The ai (artificial intelligence) manager is the basis for the flight state. It reads the preset," at least we have somewhere to go" map and determines which mission phase the system should be in. Mission state is important information because it will time the use of instrumentation or cameras, as well as when to hit the "panic" button. The stability manager uses this to set system configurations and movement regimes for the &amp;nbsp;system.&lt;br /&gt;&lt;br /&gt;A director class is a operator, directing the data from one manager to the other. The AI manager is where the state manager exists. &amp;nbsp;More on the AIM later, check in tomorrow if I am feeling feisty and have not cut myself up or glued something good to the table.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-5233303277286963993?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/5233303277286963993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/5233303277286963993'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/10/of-directors-and-other-school-marms.html' title='Of Directors and Other School Marms'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-5367170853388106077</id><published>2009-10-02T23:37:00.000-04:00</published><updated>2009-10-03T12:03:32.037-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='buzz labs'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Get Your Buzz Gear</title><content type='html'>Hey everyone,&lt;br /&gt;&lt;br /&gt;I just got the &lt;a href="http://www.cafepress.com/fatmanflying"&gt;Buzz Gear&lt;/a&gt; store set up. Please help the cause, get some great Buzz stuff. I make pennies on it, but advertising is awesome.&lt;br /&gt;&lt;br /&gt;Let me know if you would like to see something else, I tried to have a selection of stuff.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Adam&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-5367170853388106077?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/5367170853388106077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/5367170853388106077'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/10/get-your-buzz-gear.html' title='Get Your Buzz Gear'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-819340556528393851</id><published>2009-09-27T18:53:00.000-04:00</published><updated>2009-09-27T18:54:12.333-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='project progress'/><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='carbon fiber'/><category scheme='http://www.blogger.com/atom/ns#' term='buzz labs'/><title type='text'>I almost forgot</title><content type='html'>Prototype two's wing is now almost complete. It will be mated to the fuselage hopefully tonight. I must have really bollocksed up using the pattern that I made on the first plane. It is a different diameter than the first. The second prototype has a more tear drop shaped fuselage that the first aircraft. I think it will make it easier to shore up the system with stringers than the purely round shape.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-819340556528393851?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/819340556528393851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/819340556528393851'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/i-almost-forgot.html' title='I almost forgot'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-5815938470365249505</id><published>2009-09-27T18:50:00.001-04:00</published><updated>2009-10-03T22:49:52.457-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='robot'/><category scheme='http://www.blogger.com/atom/ns#' term='autopilot'/><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='robotics'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='ugv'/><category scheme='http://www.blogger.com/atom/ns#' term='object oriented'/><category scheme='http://www.blogger.com/atom/ns#' term='oop'/><title type='text'>Before we get to actual code...</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Before we hop off into any actual implementation, I would suggest that we sit and think about some basics. The very first thing that should be done is to come up with a basic skeleton of the code that you would like to write. This may impact many decisions down the line. Basically, a UGV and a UAS/UAV are the same from the code's perspective. The UAV/UAS use different actual algorithms for certain processes, but the data flow and data collected are not so different. Some data is read, a decision is made, a servo solution is calculated, servos are moved into position and then the system loops again.&lt;br /&gt;&lt;br /&gt;One thing that I did, was to develop an object that was a sensor, ISensor. This will be the part that actually interact with any device. ISensorReading will also act as a fundamental contract for data. I would make sure that this object follows in general an observable pattern. That way it is easy to allow other objects to read its data, or to be notified when new data is available. This will make it easy for filtering&amp;nbsp;algorithms&amp;nbsp;to execute and work on the newest data as soon as it arrives. It will also make it easier to make the data collection to be asynchronously collected and processed.&lt;br /&gt;&lt;br /&gt;Then I made an instrumentation manager, IM. The IM will have factories for each kind of sensor and observe instances of each of the instruments. This way if something happens the IM can close an instrument and try to reconnect with a new object. In turn, the IM presents data to other parts of the code as needed. No other parts of the code need to see the sensors or interact with them directly.&lt;br /&gt;&lt;br /&gt;On top of the instrumentation system, should be a director layer. This will actually be the layer that does all of the work. It makes a nice break line between the device and the presentation, or intelligence. Separating the systems is an important object-oriented technique that is necessary for keeping the code healthy.&lt;br /&gt;&lt;br /&gt;More about the director later... I will see if I can get some pictures in to make it easier to see.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_DxmoXj6TAU4/SsgNJHBuAoI/AAAAAAAAAEA/8TSqCwt3au0/s1600-h/3axisMagnetometerClassDiagram.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_DxmoXj6TAU4/SsgNJHBuAoI/AAAAAAAAAEA/8TSqCwt3au0/s320/3axisMagnetometerClassDiagram.png" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_DxmoXj6TAU4/SsgM5f0GmFI/AAAAAAAAAD4/_-Rid5OPdhI/s1600-h/instrumentManagerClassDiagram.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_DxmoXj6TAU4/SsgM5f0GmFI/AAAAAAAAAD4/_-Rid5OPdhI/s400/instrumentManagerClassDiagram.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-5815938470365249505?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/5815938470365249505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/5815938470365249505'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/before-we-get-to-actual-code.html' title='Before we get to actual code...'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DxmoXj6TAU4/SsgNJHBuAoI/AAAAAAAAAEA/8TSqCwt3au0/s72-c/3axisMagnetometerClassDiagram.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-1673633927700566763</id><published>2009-09-26T15:57:00.000-04:00</published><updated>2009-09-26T15:57:00.950-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='renewable energy'/><category scheme='http://www.blogger.com/atom/ns#' term='lipo batteries'/><category scheme='http://www.blogger.com/atom/ns#' term='terrorism'/><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='lithium polymer'/><category scheme='http://www.blogger.com/atom/ns#' term='buzz labs'/><category scheme='http://www.blogger.com/atom/ns#' term='experimental'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>What I am Thinking At the Moment</title><content type='html'>At the moment, I am trying to decide what is the most interesting way to proceed with this blog. It is important to discuss some of the howto aspects of UAVs and autopilots. I think that it is also important to speak about some of the interesting applications and business difficulties of it as well.&lt;br /&gt;&lt;br /&gt;At the moment, there are many stories in the news about blowing up bad guys with thunder bolts from the sky. However, I think that this is not the most interesting thing to be done with the technologies. We are investigating a number of small-scale recycled materials and techniques to apply energy reclamation systems so that the uavs harvest as much of their energy from the environment and recycle as much as they can.&lt;br /&gt;&lt;br /&gt;For the record, the soybean epoxies available are just not as good as their petro-chemical equivalents. We are still trying to use them in our skin layups. If we can make use of them, they do come from a renewable resource stream. These adhesives are not recyclable though.&lt;br /&gt;&lt;br /&gt;Another big idea, that &lt;a href="http://www.buzzlabs.us/"&gt;Buzz Labs&lt;/a&gt; is working on is the heat pipe system to pull heat away from the motors and batteries and either use that to generate trickle charges or to be able to cool the batteries to a point that we can keep their chemistries from over heating down to the limit of their endurance. Lithium-polymer (LiPo) batteries do have some physical limitations that make exciting failures possible. Read about the exploding notebook batteries. Buzz's engineers are seeing some success with maintaining battery temperatures even above their rated currents. Battery performance increases are especially good news for the racers and autonomous vehicle systems&lt;br /&gt;&lt;br /&gt;We will keep you posted here as we make significant breakthroughs or cool flaming rc parts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-1673633927700566763?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1673633927700566763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1673633927700566763'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/what-i-am-thinking-at-moment.html' title='What I am Thinking At the Moment'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-4228233677510130529</id><published>2009-09-26T15:41:00.000-04:00</published><updated>2009-09-26T15:58:14.433-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phidgets'/><category scheme='http://www.blogger.com/atom/ns#' term='curve fitting'/><category scheme='http://www.blogger.com/atom/ns#' term='sparkfun'/><category scheme='http://www.blogger.com/atom/ns#' term='autopilot'/><category scheme='http://www.blogger.com/atom/ns#' term='instrumentation'/><category scheme='http://www.blogger.com/atom/ns#' term='gyroscope'/><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><category scheme='http://www.blogger.com/atom/ns#' term='uas sensors'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='sensors'/><category scheme='http://www.blogger.com/atom/ns#' term='trapezoid rule'/><title type='text'>Gyroscopes Are Fun!</title><content type='html'>Piezo-electric gyroscopes are fun. However, I certainly had to learn a lot of things to get a usable signal from them. Remember that &amp;nbsp;gyros report a rate of change not just an absolute value. This rate presents an interesting issue, that we have to integrate the signal at each step. You may want to use a more advanced curve fitting integration scheme than the one that I will present here.&lt;br /&gt;&lt;br /&gt;Integration for those not in the know is just finding the area under a curve. The catch is that, you will never be given a curve by the gyroscope. Not having a curve means that we must discretize the signal, from these step-wise readings we can write a formula that will help us back out what the absolute angle is in that direction. However, since we are integrating these formulae will not take into account small changes that happen to the signal between samples.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_DxmoXj6TAU4/Sr5t6qmd24I/AAAAAAAAADg/Qjvozmjm_34/s1600-h/Integration_rectangle.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_DxmoXj6TAU4/Sr5t6qmd24I/AAAAAAAAADg/Qjvozmjm_34/s320/Integration_rectangle.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_DxmoXj6TAU4/Sr5t78Pq6sI/AAAAAAAAADo/wF6ZZWUV6Ic/s1600-h/simpleRectangleRule.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_DxmoXj6TAU4/Sr5t78Pq6sI/AAAAAAAAADo/wF6ZZWUV6Ic/s320/simpleRectangleRule.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The simplest form of integration is, just calculating a rectangle. Your software will have to remember the last reading from the gyroscope and the last calculated &amp;nbsp;position.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;angle change =d&lt;i&gt;Angle&lt;/i&gt;* step length&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;so the basic formula would be,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Angle &lt;i&gt;i&lt;/i&gt; = Angle &lt;i&gt;i-1&lt;/i&gt;+ angle change&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;A better technique would be simply approximating the changes in the curve as linear segments and then calculating the differences as triangles or trapezoids.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_DxmoXj6TAU4/Sr5t3JuB2HI/AAAAAAAAADQ/tvcT_y9q27M/s1600-h/Calkowanie_numeryczne-metoda_trapezow.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_DxmoXj6TAU4/Sr5t3JuB2HI/AAAAAAAAADQ/tvcT_y9q27M/s320/Calkowanie_numeryczne-metoda_trapezow.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_DxmoXj6TAU4/Sr5t5DvhXrI/AAAAAAAAADY/LDoOyn7kPa8/s1600-h/trapezoid+rule.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_DxmoXj6TAU4/Sr5t5DvhXrI/AAAAAAAAADY/LDoOyn7kPa8/s320/trapezoid+rule.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;This is a relatively bad way to do this, but is easy to understand. I would suggest using a multi-order approach to try and take into account some of the variations in these signals. The nuts and bolts of it is, is that the equation only works if the change in angle is relatively small compared to the current angle. If you are executing maneuvers and sampling relatively slowly this formula will lead your software astray. I would use a gyroscope sampling rate that is at half of the gyroscope's sample acquisition rate. Halving the sampling rate should keep the software getting into too much trouble from landing between readings and getting garbage.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Remember to read your manufacturer's guidance on this. It will tell you how quickly it can measure changes. We use several of these:&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_DxmoXj6TAU4/Sr5r4Tfa-KI/AAAAAAAAADA/g--7RZmqRUs/s1600-h/09094-03-L_i_ma.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_DxmoXj6TAU4/Sr5r4Tfa-KI/AAAAAAAAADA/g--7RZmqRUs/s320/09094-03-L_i_ma.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9094"&gt;http://www.sparkfun.com/commerce/product_info.php?products_id=9094&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;They are 500 deg/s sampling rate at 2mV/deg. That is usually too small for our analog to digital coverter boards (A/D boards), so we lower that to 150 deg/s and get a better signal rate of 9mV/deg. This means that we can get a nice clean signal that is several bits wide from our A/D board. Remember that your I/O system will determine a lot of things about your code.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;If you sample to fast, you can have lock issues, too slow and you do not get a representative sample. I would suggest that you shoot around 200Hz for samples, and then apply your filtering to bring it down to a rate to allow your other software to make decision on the filtered values as if they were the just read values.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;There are better boards available, but the ones from&amp;nbsp;&lt;a href="http://www.phidgets.com/"&gt;Phidgets.com&lt;/a&gt; have a great API for almost any platform. Their &lt;a href="http://www.phidgets.com/products.php?category=0&amp;amp;product_id=1018"&gt;8/8/8 boards&lt;/a&gt; are great all-around boards, but do not have the highest sampling precision. For most things, it is plenty.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_DxmoXj6TAU4/Sr5sCM7XYfI/AAAAAAAAADI/PDfFycUK8aM/s1600-h/1018.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_DxmoXj6TAU4/Sr5sCM7XYfI/AAAAAAAAADI/PDfFycUK8aM/s320/1018.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;I really like the .NET support and the usb interface. Even I could figure it out from their examples in only a few minutes. Next time, I will show you how easy it is to connect to the A/D board and begin acquiring signals. The code samples from Phidgets are effective and describe most of the general functions that you will need to implement a system with their instruments.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-4228233677510130529?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4228233677510130529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4228233677510130529'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/gyroscopes-are-fun.html' title='Gyroscopes Are Fun!'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DxmoXj6TAU4/Sr5t6qmd24I/AAAAAAAAADg/Qjvozmjm_34/s72-c/Integration_rectangle.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-4746598717983952371</id><published>2009-09-20T13:41:00.000-04:00</published><updated>2009-09-20T13:41:03.337-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='robot'/><category scheme='http://www.blogger.com/atom/ns#' term='autopilot'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='robotics'/><category scheme='http://www.blogger.com/atom/ns#' term='formulas'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='basic aerodynamics'/><category scheme='http://www.blogger.com/atom/ns#' term='oop'/><title type='text'>Basic Quantities and Some Trigonometry</title><content type='html'>So You Want to Build a DIY Autopilot&lt;br /&gt;&lt;br /&gt;Accelerations&lt;br /&gt;&lt;br /&gt;One of the most important quantities for you to measure are accelerations. If your two or more-axis accelerometer is mounted along the traditional axes of the aircraft it will be the easiest to code for. The three traditional axes are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;From the nose through the center of gravity on the line of symmetry, the Y-axis, roll&lt;/li&gt;&lt;li&gt;From the center of gravity out of the fuselage toward the tip of the right wing, the X-axis, pitch&lt;/li&gt;&lt;li&gt;From the center of gravity away from the earth, the Z-axis, yaw&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://3.bp.blogspot.com/_DxmoXj6TAU4/SrZjrI7eSSI/AAAAAAAAACw/UscNHbdh30o/s1600-h/axes.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_DxmoXj6TAU4/SrZjrI7eSSI/AAAAAAAAACw/UscNHbdh30o/s320/axes.jpg" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Figure of Rigid Aircraft Axes&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;So, now for some basic Trigonometry, everyone remembers SOH CAH TOA.&lt;br /&gt;&lt;br /&gt;In general, the following picture is true for&amp;nbsp;a vehicle moving through space.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_DxmoXj6TAU4/SrZlCkCZlTI/AAAAAAAAAC4/uHu3kDZBDl0/s1600-h/zAxisAcceleration.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_DxmoXj6TAU4/SrZlCkCZlTI/AAAAAAAAAC4/uHu3kDZBDl0/s320/zAxisAcceleration.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Figure of the Direction of the Force of Gravitation on a Body&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;As you can see from the image, the angle of pitch relative to the surface of the earth is the same angle offset of the weight vector relative to the z-axis in the body frame of reference. If we put our accelerometer so that one of its axes is parallel to the body's z-axis at its center of gravity we are measuring this offset vector. Which is really neat, because it means that we can express the angle of the body in level, non-accelerating motion as ratios of the accelerations&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Pitch:&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;The angle theta between the actual gravity vector and the measured gravity is  related to the pitch of the aircraft (pitch = theta + 90°). If we know theta, we  know our pitch! Since we know the magnitude of the earth’s gravity, simple  calculus gives us our pitch angle:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;em&gt;accelerometer = cos (theta) * gravity&lt;/em&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;em&gt;theta = acos (accelerometer /  gravity)&lt;/em&gt;&lt;br /&gt;&lt;/div&gt;And since pitch = theta + 90°&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;em&gt;pitch = asin (accelerometer /  gravity)&lt;/em&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;Woot, we calculated the pitch orientation of our airplane using an  accelerometer. Pretty easy, huh?&lt;br /&gt;&lt;br /&gt;The real formula that we need to use for the software looks like this:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;em&gt;pitch = atan2(accelerometer / gravity, z / gravity)&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;&lt;/div&gt;&lt;em&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;Common piezo-electric accelerometers return in units of, g, 32.17 ft/s^2 or 9.81 m/s^2. We also know some more things about the flight that let us calculate the angles relative to the ground. More on this later, it is a bit more than basic trigonometry to describe. These equations assume non-accelerating flight. You can use a magnetometer to get the relative plane in space with less math, but magnetometers generally take more interface programming in my experience.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;Roll:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;Roll needs a second accelerometer with an axis perpendicular to the first so that we can figure out the resultant vector between them and then the angle. Essentially the vector between the accelerometers becomes the "gravitational" acceleration and the relative readings lets us calculate the angle with an atan2 function. The second accelerometer will have some other things to manage such as the effects of the distance between them on the accelerations measured. Physics fun and none of the boring class.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;Yaw:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;Yaw is the hardest of the angles to measure. The only answer is to use a magnetometer or a compass. In many ways, yaw can be solved by dead reckoning. Dead reckoning is all that is important for most of the projects in the DIY garage. They will be covered later.&lt;/span&gt;&lt;/div&gt;&lt;/em&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Next we will discuss gyroscopes and the beauty of rates and integral calculus&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-4746598717983952371?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4746598717983952371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4746598717983952371'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/basic-quantities-and-some-trigonometry.html' title='Basic Quantities and Some Trigonometry'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_DxmoXj6TAU4/SrZjrI7eSSI/AAAAAAAAACw/UscNHbdh30o/s72-c/axes.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-4985820742196260354</id><published>2009-09-18T07:22:00.000-04:00</published><updated>2009-09-18T07:22:41.072-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wiring'/><category scheme='http://www.blogger.com/atom/ns#' term='autopilot'/><category scheme='http://www.blogger.com/atom/ns#' term='instrumentation'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='control systems'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='object oriented'/><category scheme='http://www.blogger.com/atom/ns#' term='oop'/><title type='text'>How I started writing a DIY Autopilot</title><content type='html'>My intention still is to write my own c# based autopilot. It is not trivial as I found out. Lots and lots of details are needed. The first thing that needs to be done is to determine the instruments that you will need to measure the quantities that you need to know to control flight. Even this seems to be a matter of opinion. For a reference, I found every group that I could that was writing their own version.&lt;br /&gt;&lt;br /&gt;From my perspective the quantities that we need to know to control flight are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;air speed, ft/s or m/s&lt;/li&gt;&lt;li&gt;altitude, ft or m&lt;/li&gt;&lt;li&gt;orientation, roll, but pitch is good&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;These are intrinsic quantities that are really easy to do yourself. Air speed is the model's forward velocity. Altitude is the vehicle's position relative to the surface of the earth. Pitch and roll are the angles of the vehicle relative to the ground. Let me rephrase that, roll is the angle between the right wing and a plane parallel to the ground. Pitch is also known as angle of attack. Pitch is the angle between the plane at the center of the vehicle located on vectors from the center of gravity to the right wing tip and the center of gravity to the tip of the nose and the relative wind.&lt;br /&gt;&lt;br /&gt;At the beginning you will need to measure the following quantities:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;air pressure&lt;/li&gt;&lt;li&gt;acceleration in at least two directions&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Pressure taps are the easiest ways to measure air pressure in a flying vehicle. Piezo-electric accelerometers are cheap these days and are really accurate. In the next post we will talk about issues with these instruments and the physical quantities that you are actually measuring and how to use those as a basis for a control system.&lt;br /&gt;&lt;br /&gt;For all of those inch haters, a quick note about units. You can do this in any unit system. It is unimportant. I will write a quick post on the conversions between the US Customary System and the metric (mks) system. Remember metric is actually several unit systems in one and you have to keep them consistent. Oh, and for those trying to buy nuts and bolts, Japanese manufacturers use odd metric sizes, European use even metric sizes, and the US Customary System/SAE is in units of 1/64th of an inch. So SAE/SAME will have three bolt sizes for every bolt size in the two metric systems. Remember that the thread counts are different though. &lt;br /&gt;&lt;br /&gt;In my opinion, if the units are managed consistently then the issue is one of presentation to the user. Part of the display system of my code will show you how to do this with a simple object oriented approach.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-4985820742196260354?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4985820742196260354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4985820742196260354'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/how-i-started-writing-diy-autopilot.html' title='How I started writing a DIY Autopilot'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-4861524292185492134</id><published>2009-09-16T18:57:00.000-04:00</published><updated>2009-09-16T18:57:08.037-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='need more clicks'/><category scheme='http://www.blogger.com/atom/ns#' term='squadron badges'/><category scheme='http://www.blogger.com/atom/ns#' term='preview'/><title type='text'>What do you think of this one?</title><content type='html'>Ok, I have been looking around, since pretty much no one is voting, I made another one. I have to get back to working on the landing gear for the two prototypes. However, let me know what you think. I have a hopefully interesting article coming up about installing some of the components and an idea of how to do repeatable assembly that on small scales.&lt;br /&gt;&lt;br /&gt;woohoo we got the first search engine bounces on the blog. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_DxmoXj6TAU4/SrFsodBstUI/AAAAAAAAACo/i73J-0vpLVc/s1600-h/tosser.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_DxmoXj6TAU4/SrFsodBstUI/AAAAAAAAACo/i73J-0vpLVc/s320/tosser.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Another updated historical badge, I like it. The turtle badge came out badly, so I will keep it to myself.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-4861524292185492134?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4861524292185492134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/4861524292185492134'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/what-do-you-think-of-this-one.html' title='What do you think of this one?'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DxmoXj6TAU4/SrFsodBstUI/AAAAAAAAACo/i73J-0vpLVc/s72-c/tosser.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-5042082418058495955</id><published>2009-09-14T21:00:00.000-04:00</published><updated>2009-09-14T21:00:14.033-04:00</updated><title type='text'>Second Prototype is Almost Ready</title><content type='html'>That is a bit of a lie. Maybe it is just marketing, can't sell something that does not exist. Well you can, but I am not as big as a fruit-shaped software company. So I am trying to upload some of the better pics to the blog. The wing frame came out really well, maybe even symmetric, but we all know that will never happen. &lt;br /&gt;&lt;br /&gt;The first one is not doing poorly, we are waiting on some plexiglass hoops from the sign cutters to shore up the doors and part of the fuselage. As soon as I get those, we should be pretty close to getting the engines installed. I have to finish doing the soldering, but my little iron from radio shack takes a while to heat up the fat connections for the motors. Should try to do it again.&lt;br /&gt;&lt;br /&gt;At the moment, it is all looking good. Just need to get the last bits finished so that I can get some more pics together for the main site. Please don't forget to visit the main website, &lt;a href="http://www.buzzlabs.us"&gt;http://www.buzzlabs.us&lt;/a&gt;. A lot more information about everything there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-5042082418058495955?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/5042082418058495955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/5042082418058495955'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/second-prototype-is-almost-ready.html' title='Second Prototype is Almost Ready'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-6759889281426132076</id><published>2009-09-12T19:17:00.000-04:00</published><updated>2009-09-13T18:20:51.620-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='squadron badges'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Squadron Badge Ideas</title><content type='html'>Every squadron needs a symbol. Some research into the oldest American squadrons lead me through some interesting history. More filler for my head, I must admit. From two of these, I drew up some low color variants. Let me know which looks best out of each group.&lt;br /&gt;&lt;br /&gt;US UAV Squadron&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_DxmoXj6TAU4/Sq0doBbCv6I/AAAAAAAAACQ/TsS7zR688aA/s1600-h/jollyroger2+(320x240).jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" mq="true" src="http://2.bp.blogspot.com/_DxmoXj6TAU4/Sq0doBbCv6I/AAAAAAAAACQ/TsS7zR688aA/s320/jollyroger2+(320x240).jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/lh/photo/05VdOEg2PzyXNqw36l9_UA?feat=directlink"&gt;Jolly Roger&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://1.bp.blogspot.com/_DxmoXj6TAU4/Sq0c-3lOtHI/AAAAAAAAACA/qdGBxSXagjA/s1600-h/jollyroger+(160x120).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" mq="true" src="http://1.bp.blogspot.com/_DxmoXj6TAU4/Sq0c-3lOtHI/AAAAAAAAACA/qdGBxSXagjA/s320/jollyroger+(160x120).jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/lh/photo/dQ2xt2IXLWleHg7Gw0rEnA?feat=directlink"&gt;Jolly Roger with Triangles&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://2.bp.blogspot.com/_DxmoXj6TAU4/Sq0dvR0V9VI/AAAAAAAAACY/OdoG_qXlYts/s1600-h/jollyrogerround+(320x240)+(2).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" mq="true" src="http://2.bp.blogspot.com/_DxmoXj6TAU4/Sq0dvR0V9VI/AAAAAAAAACY/OdoG_qXlYts/s320/jollyrogerround+(320x240)+(2).jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/lh/photo/U1NUOLTzo-CsfWaeicLD3g?feat=directlink"&gt;Jolly Roger Round&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3"&gt;&lt;br /&gt;EU UAV Squadron&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_DxmoXj6TAU4/Sq0by4tnStI/AAAAAAAAABg/_1NW8oqnxuI/s1600-h/felix+(160x120).jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" mq="true" src="http://2.bp.blogspot.com/_DxmoXj6TAU4/Sq0by4tnStI/AAAAAAAAABg/_1NW8oqnxuI/s320/felix+(160x120).jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/lh/photo/ZXQ6iPYbywX5dKqtk5RCKQ?feat=directlink"&gt;Felix Beer&lt;/a&gt; &lt;/td&gt;&lt;td&gt;&lt;a href="http://1.bp.blogspot.com/_DxmoXj6TAU4/Sq1vZseTymI/AAAAAAAAACg/j4MWQ0AXChs/s1600-h/felixCamera+(160x120).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" mq="true" src="http://1.bp.blogspot.com/_DxmoXj6TAU4/Sq1vZseTymI/AAAAAAAAACg/j4MWQ0AXChs/s200/felixCamera+(160x120).png" /&gt;&lt;/a&gt;&lt;br /&gt;Felix Camera&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;img border="0" mq="true" src="http://2.bp.blogspot.com/_DxmoXj6TAU4/Sq0b33CzVEI/AAAAAAAAABo/q26S6tg1RDQ/s320/felix2+(160x120).jpg" /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/lh/photo/LMp8quamGuedQY7pW7zDOQ?feat=directlink"&gt;Felix Bomb&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Let me know which you guys like best. &lt;a href="mailto:info@fatmanflying.com"&gt;email&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-6759889281426132076?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6759889281426132076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6759889281426132076'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/somethingelse-that-i-have-been-working.html' title='Squadron Badge Ideas'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DxmoXj6TAU4/Sq0doBbCv6I/AAAAAAAAACQ/TsS7zR688aA/s72-c/jollyroger2+(320x240).jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-7125571773512535121</id><published>2009-09-12T18:06:00.000-04:00</published><updated>2009-09-12T18:07:50.244-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wiring'/><category scheme='http://www.blogger.com/atom/ns#' term='connectors'/><category scheme='http://www.blogger.com/atom/ns#' term='paparazzi'/><category scheme='http://www.blogger.com/atom/ns#' term='autopilot'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>Tiny 2.11</title><content type='html'>I need another u.fl connector-based antenna for the ground station XBee Pro modem. I found some at &lt;a href="http://www.sparkfun.com"&gt;Sparkfun&lt;/a&gt;. Per advice, the best plan is to go for the cable and duck route. All of the electronics will be boxed  to make them easier to shield from the high current wiring from the batteries to the ESC to the motors.&lt;br /&gt;&lt;br /&gt;My current plan is to use:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9145"&gt;SMA duck antenna&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sparkfun.com/commerce/product_info.php?products_id=558"&gt;u.fl to SMA cable&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-7125571773512535121?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/7125571773512535121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/7125571773512535121'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/tiny-211.html' title='Tiny 2.11'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-6717886921265602234</id><published>2009-09-11T18:21:00.000-04:00</published><updated>2009-09-11T18:21:32.955-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='connectors'/><category scheme='http://www.blogger.com/atom/ns#' term='cheap rc'/><category scheme='http://www.blogger.com/atom/ns#' term='carbon fiber'/><category scheme='http://www.blogger.com/atom/ns#' term='hygeine'/><title type='text'>Cheap RC and carbon fiber</title><content type='html'>Ok, this will be quick. Do not buy cheap RC electrical connectors. Get good gold plated, high current connectors for your EDF project. Make sure that you shrink wrap them so that they do not spark across each other. Remember, 6s and 50A is welding current level. Just be careful, better to fly next month than to miss it because you grounded out your ESC and motor.&lt;br /&gt;&lt;br /&gt;Also, put paper down where ever you are working with carbon fiber materials. If you cut on them or somehow scratch them, you will get broken fibers and that means that you will have hundreds or thousands of terribly painful little daggers waiting to find your skin. Don't sit on your work area, just let us agree to this. It will teach you not to do it twice. Just say no.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-6717886921265602234?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6717886921265602234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6717886921265602234'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/cheap-rc-and-carbon-fiber.html' title='Cheap RC and carbon fiber'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-6311641267619078829</id><published>2009-09-10T19:42:00.000-04:00</published><updated>2009-09-10T20:09:36.136-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wiring'/><category scheme='http://www.blogger.com/atom/ns#' term='paparazzi'/><category scheme='http://www.blogger.com/atom/ns#' term='autopilot'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='diy drones'/><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='gps'/><category scheme='http://www.blogger.com/atom/ns#' term='chebuzz'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='ardurino'/><category scheme='http://www.blogger.com/atom/ns#' term='tiny 2.11'/><title type='text'>Tiny 2.11 Out of the Box</title><content type='html'>For those of you following these projects, I have tried to wing an autopilot myself. It actually is getting there, but I thought. Better to get to market with a product before we spend five years debugging stuff that was just a dead end to begin with. I was reading around about each of the other projects on &lt;a href="http://www.diydrones.com"&gt;DIY drones&lt;/a&gt;. I was considering the Ardurino autopilot, but was a bit concerned of writing ANSI C at a register level. So I went with the &lt;a href="http://paparazzi.enac.fr"&gt;Paparazzi autopilot&lt;/a&gt; which is well received and more finished to a level where I was willing to get my feet wet.&lt;br /&gt;&lt;br /&gt;I got my Tiny 2.11 from &lt;a href="http://chebuzz.com/paparazzi/"&gt;Chebuzz&lt;/a&gt; in California/UK. &lt;br /&gt;&lt;br /&gt;"unpaid recommendation" &lt;i&gt;The guys at &lt;a href="http://chebuzz.com/paparazzi/"&gt;Chebuzz&lt;/a&gt; are great, I do suggest buying from them. They are better priced for the American market than the other assemblers, have great service and are willing to answer even my bone-headed questions. &lt;/i&gt;"unpaid recommendation"&lt;br /&gt;&lt;br /&gt;Out of the box, well it came in a normal padded envelope. I was eagerly trying to figure out what each board did. Having returned from vacation, I had forgotten what I had learned.  So, here are the parts I received from the &lt;a href="http://chebuzz.com/paparazzi/index.php?main_page=product_info&amp;cPath=1&amp;products_id=15"&gt;"Everything You Need" kit&lt;/a&gt; from &lt;a href="http://chebuzz.com/paparazzi/"&gt;Chebuzz&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;XBee Pro modems&lt;br /&gt;&lt;a href="http://picasaweb.google.com/fatmanflying/BuzzLabsBlogPics#5379982443275030194"&gt;modem0&lt;/a&gt;&lt;a href="http://picasaweb.google.com/fatmanflying/BuzzLabsBlogPics#5379982455653126930"&gt;modem1&lt;/a&gt;&lt;a href="http://picasaweb.google.com/fatmanflying/BuzzLabsBlogPics#5379982461876546258"&gt;modem2&lt;/a&gt;&lt;a href="http://picasaweb.google.com/fatmanflying/BuzzLabsBlogPics#5379982468720081698"&gt;modem3&lt;/a&gt;&lt;a href="http://picasaweb.google.com/fatmanflying/BuzzLabsBlogPics#5379982482779790130"&gt;modem4&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Main Tiny 2.11 board with pico blade connectors&lt;br /&gt;&lt;a href="http://picasaweb.google.com/fatmanflying/BuzzLabsBlogPics#5379982532356868034"&gt;top&lt;/a&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/fatmanflying/BuzzLabsBlogPics#5379982514032951282"&gt;bottom&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ESC throttle wire&lt;br /&gt;&lt;a href="http://picasaweb.google.com/fatmanflying/BuzzLabsBlogPics#5379982504916074626"&gt;black and white two pin&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-6311641267619078829?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6311641267619078829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6311641267619078829'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/tiny-211-out-of-box.html' title='Tiny 2.11 Out of the Box'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-2377302577942354501</id><published>2009-09-10T14:23:00.000-04:00</published><updated>2009-09-10T14:23:04.819-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='paparazzi'/><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='rc'/><category scheme='http://www.blogger.com/atom/ns#' term='drone'/><category scheme='http://www.blogger.com/atom/ns#' term='international treaty'/><category scheme='http://www.blogger.com/atom/ns#' term='laws'/><category scheme='http://www.blogger.com/atom/ns#' term='faa'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>The "Fat Man" Is Still Grounded, He Is At the Pub So We Won't Worry Just Yet</title><content type='html'>Yeah, this kind of sucks. After a year of construction and planning, we find out that there is an international weapons treaty that says that you cannot sell certain weight vehicles internationally that have autonomous guidance systems capable of free flight beyond a certain range. Ok, I get it. Who wants Tom, Dick or Harry building a 150lb (70kg) pop rocket and flying it half way across the planet to make a real mess.&lt;br /&gt;&lt;br /&gt;When you think about it, they are just setting rules to make it hard for the forces of evil. I have no interest in being one of the "dark side." My master tells me so. Ok, no more Star Wars references, but I make no promises. If anyone knows more about the "". Or what the real rules are about any of this, please let me know. There is no interest in using this device for any government purpose. I want to pull banners at the beach or to do small scale spraying of crops. &lt;br /&gt;&lt;br /&gt;Another question that would be great to hear some explanation of and/or some reasonable listing of what can be discussed between international unmanned vehicle (UAV/UAS/UGV) colleagues. I would hate to blip someone's radar because I was talking about a simple guidance system idea at the pub. Yeah, yeah this is a real problem, I am more likely to be drinking a pint than trying to sink a 40' put on the back nine of Pebble Beach.&lt;br /&gt;&lt;br /&gt;I am pretty sure that this is a messy topic and probably best left well-enough alone. However, if there is a chance to get this sorted and get the Fat Man to fly as more than a giant-scale RC plane that would be freaking awesome. Any qualified help is appreciated, I know that the FAA has been pretty draconian in their official guidelines.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-2377302577942354501?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/2377302577942354501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/2377302577942354501'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/fat-man-is-still-grounded-he-is-at-pub.html' title='The &quot;Fat Man&quot; Is Still Grounded, He Is At the Pub So We Won&apos;t Worry Just Yet'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-8012139527072882507</id><published>2009-09-08T12:39:00.001-04:00</published><updated>2009-09-09T17:04:06.318-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Viral marketing Ideas</title><content type='html'>Marketing a small company is tough for anyone. So I am looking for cute ways to drive traffic through the site. Hopefully, traffic that wants to buy a plane. One idea is to try the viral video route. A colleague of mine from work came up with a great title. Let me know what you guys think of, "Fat Man Flying presents A School Girl Plane White Panties First Flight". That should get us some of the other search hits from YouTube and on the blog. &lt;br /&gt;&lt;br /&gt;Pity, I do not live in Czech anymore, it always seemed a lot easier to talk a girl into letting me see her panties for a hare-brained video. Got to love it. I have some other ideas, but the viral video has the best chance to bring traffic to the site. We have started spamming business cards at UAV and fly-ins. Anyone have any other ideas? At least try to be professional, I am trying to run a legitimate business.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-8012139527072882507?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/8012139527072882507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/8012139527072882507'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/viral-marketing-ideas.html' title='Viral marketing Ideas'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-3943704420914516240</id><published>2009-09-07T16:07:00.000-04:00</published><updated>2009-09-09T17:05:35.134-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='paparazzi'/><category scheme='http://www.blogger.com/atom/ns#' term='autopilot'/><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='drone'/><category scheme='http://www.blogger.com/atom/ns#' term='chebuzz'/><title type='text'>Chebuzz Paparazzi Tiny 2.11 Autopilot Setup</title><content type='html'>I will start posting my adventures in setting up a &lt;a href="http://chebuzz.com/paparazzi/"&gt;Chebuzz&lt;/a&gt; &lt;a href="http://paparazzi.enac.fr"&gt;Paparazzi&lt;/a&gt; Autopilot. It does not seem to hard, but there are always hitches to these things. I have the equipment, I will post some pictures tonight or tomorrow.&lt;br /&gt;&lt;br /&gt;I bought an &lt;a href="http://chebuzz.com/paparazzi/index.php?main_page=product_info&amp;cPath=1&amp;products_id=15&amp;zenid=677e5a65cb15afa3a59dbf74635d169c"&gt;"everything you need"&lt;/a&gt; kit witht he Xbee Pro 2.4GHz modems. I had some questions from the Chebuzz guys, and I will gladly post their responses to the blog as they come in. &lt;br /&gt;&lt;br /&gt;One of the things that I would like to cover here is the construction of some airlock boxes for the Tiny 2.11. That way there is no cable tension on the devices themselves and we will have some nice boxes to mount inside the fuselage. It is not very professional to just stick boards into fuselage, there can be all kinds of issues if they are not properly secured.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-3943704420914516240?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3943704420914516240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3943704420914516240'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/chebuzz-paparazzi-tiny-211-autopilot.html' title='Chebuzz Paparazzi Tiny 2.11 Autopilot Setup'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-1045199345266076121</id><published>2009-09-07T11:39:00.000-04:00</published><updated>2009-09-09T17:05:53.706-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>What the Heck Are the Real Rules?</title><content type='html'>I have been canvasing anything that says UAV and not Boeing, Lockheed or General Atomics for several years now. One thing that I have noticed is that few if any sites even mention much less brag about Special Airworthiness Certificates or even Experimental Flight Airworthiness qualifications for their UAS. Knowing that they seem pretty tough to get still, I would think that they would happily brag about the fact theirs received one. &lt;br /&gt;&lt;br /&gt;So how are they making money? Is this some sort of strange smoke and mirrors game? If you do not have a certification you are not allowed to fly in the United States' airspace. So how are they doing it? I know way back when in 1998 they flew from New Foundland to Ireland, major props for that. Back then noone really cared or probably knew to care. What about now? As I read it on DIY drones and other places the rules are pretty clear, no commercial and LOS. I get it, it seems like a  good idea to film the kids' soccer game with your UAV. It does right up to the part when the LiPo packs overdraw and now you have a really cool shot on goal. &lt;br /&gt;&lt;br /&gt;As a matter of fact, it took me a few minutes to come up with that example. Most of mine were far more brutal, but that seemed to be a happy medium. Little Jimmy running away as dad's new rc plane which was an ARF and still took him two weeks to build catches on fire. Mom's new HD camcorder and all comes down in a ball of wicked fire streaking toward the goal. Oh no, Gahd'zee'ra. Always have to have the monster movie reference when a flaming anything streaks across the sky. Mothra could not shoot flames.&lt;br /&gt; &lt;br /&gt;Does anyone have any ideas how these companies stay afloat? Is it just a better marketing face than balance sheet? I can say that I am intrigued how you can be much bigger than a room in the garage sized company under the current regime. I guess maybe there is a private property application here, maybe that is enough to keep you afloat. At least in the , what they do not know, will not hurt them ballpark.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-1045199345266076121?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1045199345266076121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/1045199345266076121'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/what-heck-are-real-rules.html' title='What the Heck Are the Real Rules?'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-6003854770079604384</id><published>2009-09-06T11:15:00.001-04:00</published><updated>2009-09-09T17:05:35.134-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uav'/><category scheme='http://www.blogger.com/atom/ns#' term='drone'/><title type='text'>Wicked Hard</title><content type='html'>Having never scratch-built an rc plane with mixed-materials it is pretty tough to get it right. Yeah, I suck, but this is more than that. Over the last two years my co-conspirators and I have tried about every technique to repeatably build airframes. We have come full-circle now and say that a normal composite construction system is probably our best chance to make a good quality product with the least effort.&lt;br /&gt;&lt;br /&gt;Try to epoxy carbon fiber and Aluminum together, you will get sticky fingers and big globs of epoxy everywhere. It will eventually fix the pieces, however we find that we cannot get a great bond this way. You can scuff and sand all you want. The epoxy does not do more than touch the surface of either part. Meh. It works and you can do it, do not get me wrong. The difficulty involved is a bit more than I think is necessary. We are running some experiments now with some almost ready to fly (ARF) models. Sacrificing a few models to the Gods seems a good start, and par for the course.&lt;br /&gt;&lt;br /&gt;At least they already have all of the places for servos, spars and wire harnesses precut and in a reasonable place. Why reinvent the wheel, we have our own wheels but need to practice a construction technique. It is a well-documented idea in the composites industry. Essentially we make negative molds that allow us to control composite gauge in the best places and create bumpy sheets of composite. These sheets are bonded and reinforced as needed. Finally, they are covered with a material so that they may be painted or have decals applied.&lt;br /&gt;&lt;br /&gt;I will include some pictures a bit later when we get closer to a final product. We noticed that alignments are still an issue. Aligning six pieces is really easy compared to aligning and balancing forty pieces. That is really silly in my opinion. We tried a bunch of techniques to make airframes consistently. Maybe next time I will talk about some of our creative failures. None were failures, but some took a lot more work than others or cost a small fortune.&lt;br /&gt;&lt;br /&gt;We are trying to be Orville and Wilbur-like not like that other guy. The Wright brothers got off the ground for less than $2000 and their main competitor was funded by the Army and had something like 50x their budget. He even built a special barge to take off from and that never worked either.  It is time to get a good rugged system in place so we can go into nearly serial production of the airframes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-6003854770079604384?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6003854770079604384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/6003854770079604384'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/wicked-hard.html' title='Wicked Hard'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6344479272859449641.post-3175431174750379486</id><published>2009-09-05T17:43:00.001-04:00</published><updated>2009-09-09T17:05:43.361-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Welcome to Buzz Labs' Unofficial Development Blog</title><content type='html'>Yeah, yeah first posts always are tough. Here is a good college try. Don't forget to visit us at &lt;a href="http://www.buzzlabs.us"&gt;http://www.buzzlabs.us&lt;/a&gt; or at Facebook &lt;a href="http://www.facebook.com/group.php?gid=154142116717"&gt;Buzz Labs User Group&lt;/a&gt; or friend &lt;a href="http://www.facebook.com/profile.php?id=100000227591679"&gt;us&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6344479272859449641-3175431174750379486?l=buzzlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3175431174750379486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6344479272859449641/posts/default/3175431174750379486'/><link rel='alternate' type='text/html' href='http://buzzlabs.blogspot.com/2009/09/welcome-to-buzz-labs-unofficial.html' title='Welcome to Buzz Labs&apos; Unofficial Development Blog'/><author><name>Adam</name><uri>http://www.blogger.com/profile/11751412060706913930</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
