<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Puck&#039;s Workbench</title>
	<atom:link href="http://www.e-techgarage.com/Puck/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.e-techgarage.com/Puck</link>
	<description>Embedded Geek</description>
	<lastBuildDate>Thu, 22 Apr 2010 00:00:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ZigBee Remote, Slave Mode, and the Restraining Bolt</title>
		<link>http://www.e-techgarage.com/Puck/2010/04/21/zigbee-remote-slave-mode-and-the-restraining-bolt/</link>
		<comments>http://www.e-techgarage.com/Puck/2010/04/21/zigbee-remote-slave-mode-and-the-restraining-bolt/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 23:58:30 +0000</pubDate>
		<dc:creator>Puck</dc:creator>
				<category><![CDATA[Analog Circuits]]></category>
		<category><![CDATA[C Programming]]></category>
		<category><![CDATA[Circuits]]></category>
		<category><![CDATA[Digital Circuits]]></category>
		<category><![CDATA[Rover]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[ZigBee]]></category>

		<guid isPermaLink="false">http://www.e-techgarage.com/Puck/?p=704</guid>
		<description><![CDATA[At the request of our marketing team we have taken our intelligent rover who avoids obstacles without any assistance from anyone and given him a remote control feature via ZigBee.
Personally, I find this to be a sad state of affairs when an intelligent robot with SONAR vision is asked to behave like an RC car. [...]]]></description>
			<content:encoded><![CDATA[<p>At the request of our marketing team we have taken our intelligent rover who avoids obstacles without any assistance from anyone and given him a remote control feature via ZigBee.</p>
<p>Personally, I find this to be a sad state of affairs when an intelligent robot with SONAR vision is asked to behave like an RC car.   I&#8217;ve named this mode of operation &#8220;Slave Mode&#8221; to quietly voice my opinion on the matter.  It&#8217;s something like a zombie version of the same rover and you can understand why R2-D2 was so interested in getting rid of that restraining bolt in the first Star Wars movie so he could run for the hills.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="405" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/q9VN-eXc4RA&amp;hl=en_US&amp;fs=1&amp;color1=0x234900&amp;color2=0x4e9e00&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="500" height="405" src="http://www.youtube.com/v/q9VN-eXc4RA&amp;hl=en_US&amp;fs=1&amp;color1=0x234900&amp;color2=0x4e9e00&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>For the record, I wrote a command interpreter for the Rover so you can send him into Slave mode with a Wi-Fi device, ZigBee, or even from his own web server.  Truly, he is not going to escape and run off to find Obi-Won Kenobi.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-techgarage.com/Puck/2010/04/21/zigbee-remote-slave-mode-and-the-restraining-bolt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZigBee and the Rover</title>
		<link>http://www.e-techgarage.com/Puck/2010/02/12/zigbee-and-the-rover/</link>
		<comments>http://www.e-techgarage.com/Puck/2010/02/12/zigbee-and-the-rover/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 00:59:52 +0000</pubDate>
		<dc:creator>Puck</dc:creator>
				<category><![CDATA[Analog Circuits]]></category>
		<category><![CDATA[C Programming]]></category>
		<category><![CDATA[Circuits]]></category>
		<category><![CDATA[Digital Circuits]]></category>
		<category><![CDATA[Rover]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[ZigBee]]></category>

		<guid isPermaLink="false">http://www.e-techgarage.com/Puck/?p=690</guid>
		<description><![CDATA[Anyone working in the Embedded field by now has caught the wireless ZigBee buzz and RoverLORD is no exception.  Digi has a pretty strong line of ZigBee products.
Adding ZigBee to the Rover&#8230; Scary Scary!
I admit that ZigBee is pretty intimidating but getting him up and running was less than a day with the Rabbit code.
The [...]]]></description>
			<content:encoded><![CDATA[<p>Anyone working in the Embedded field by now has caught the wireless ZigBee buzz and RoverLORD is no exception.  <a href="http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp#overview">Digi has a pretty strong line of ZigBee products</a>.</p>
<h2>Adding ZigBee to the Rover&#8230; Scary Scary!</h2>
<p>I admit that ZigBee is pretty intimidating but getting him up and running was less than a day with the Rabbit code.</p>
<p>The first thing you want to realize is that you can set up one of the ZigBee modems to fake out a serial port.  Why is that important?  It means my Rover doesn&#8217;t need to know &#8220;<em>thing one</em>&#8221; about ZigBee.  He just writes or reads with his serial port and the modem does all the work.  If there is no need to worry about the ZigBee software, I don&#8217;t increase my project&#8217;s code size and my CPU doesn&#8217;t have to carry the overhead either.</p>
<p>On the other end I have an <a href="http://www.rabbit.com/products/rcm4500W/">RCM4510W</a> acting as the ZigBee coordinator to the Rover&#8217;s ZigBee end device.  He comes up using our ZigBee API, sends off a command to set the Rover&#8217;s modem as a transparent serial port and then sits there listening as my rover happily chatters away to his fake serial port.  Little does he know that every log entry is being passed wirelessly to my other Rabbit where I can easily dump the data into a log file.</p>
<h2>ZigBee at Play</h2>
<p>In this video you can see our Rover happily face-planting into a cube wall while he reliably sends us a description of his many woes via the ZigBee connection back to my PC.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="445" height="364" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/LP7HLShdV78&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="445" height="364" src="http://www.youtube.com/v/LP7HLShdV78&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>You will see an XBee Series 2 modem on the Rover in the video and in the image below.</p>
<div id="attachment_692" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/ZigBee_Rover_PCB.JPG"><img class="size-medium wp-image-692 " style="border: 5px solid black;" title="ZigBee_Rover_PCB" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/ZigBee_Rover_PCB-300x225.jpg" alt="You can see the blue ZigBee Modem on the PCB." width="300" height="225" /></a><p class="wp-caption-text">You can see the blue ZigBee Modem on the PCB.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.e-techgarage.com/Puck/2010/02/12/zigbee-and-the-rover/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Taking a Hammer to the Rover &#8211; Cold-working Metal</title>
		<link>http://www.e-techgarage.com/Puck/2010/02/09/taking-a-hammer-to-the-rover-cold-working-metal/</link>
		<comments>http://www.e-techgarage.com/Puck/2010/02/09/taking-a-hammer-to-the-rover-cold-working-metal/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 21:58:18 +0000</pubDate>
		<dc:creator>Puck</dc:creator>
				<category><![CDATA[Rover]]></category>

		<guid isPermaLink="false">http://www.e-techgarage.com/Puck/?p=656</guid>
		<description><![CDATA[We wanted to replace the slightly goofy looking brackets with something a little more polished so with a piece of stock aluminum, a few tools, and a bit of time I created a new SONAR mount for the rover.
An Anvil and Some Metal
My friend Tim Kwasny taught me some metalworking and I have an anvil [...]]]></description>
			<content:encoded><![CDATA[<p>We wanted to replace the slightly goofy looking brackets with something a little more polished so with a piece of stock aluminum, a few tools, and a bit of time I created a new SONAR mount for the rover.</p>
<h2>An Anvil and Some Metal</h2>
<p>My friend Tim Kwasny taught me some metalworking and I have an anvil ready in my garage when I need to hit something with a hammer&#8230; I mean hit it constructively of course.  <img src='http://www.e-techgarage.com/Puck/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div id="attachment_657" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-001.JPG"><img class="size-medium wp-image-657" title="rover_bracket 001" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-001-300x225.jpg" alt="A piece of stock aluminum on my anvil ready for shaping." width="300" height="225" /></a><p class="wp-caption-text">A piece of stock aluminum on my anvil ready for shaping.</p></div>
<p>When cold-working a metal like aluminum you want to use a soft mallet and take it slowly.  The last thing you want is for the metal to tear or snap when you are bending it.  (It is called &#8220;<em>cold-working</em>&#8221; because I&#8217;m not heating the metal with a forge or torch first.)</p>
<div id="attachment_658" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-002.JPG">-<img class="size-medium wp-image-658" title="rover_bracket 002" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-002-300x225.jpg" alt="Use a soft mallet for aluminum." width="300" height="225" /></a><p class="wp-caption-text">Use a soft mallet for aluminum.</p></div>
<p>If I was concerned about scratching the aluminum stock, I might place leather on the anvil so I can still use it for shaping but the steel anvil surface doesn&#8217;t scratch my piece.</p>
<h2>Adding a Bend for the Bracket</h2>
<p>For a basic L-bracket I need a 90 degree bend.  My anvil has just the shaping surface I need.  It may sound tricky, but really it is just holding the metal down with one hand and whacking it with the hammer until it begins to gently fold.</p>
<div id="attachment_659" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-003.JPG"><img class="size-medium wp-image-659" title="rover_bracket 003" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-003-300x225.jpg" alt="The aluminum begins to fold." width="300" height="225" /></a><p class="wp-caption-text">The aluminum begins to fold.</p></div>
<p>Once the fold starts you can strike both the top and side of the anvil to shape the metal.</p>
<div id="attachment_660" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-004.JPG"><img class="size-medium wp-image-660" title="rover_bracket 004" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-004-300x225.jpg" alt="Starting to get a nice shape for the bracket." width="300" height="225" /></a><p class="wp-caption-text">Starting to get a nice shape for the bracket.</p></div>
<h2>One of my many vices&#8230;</h2>
<p>The anvil wasn&#8217;t giving me a clean enough bend and I couldn&#8217;t apply enough grip to finish a sharp corner so I turned to my bench vice.</p>
<div id="attachment_661" class="wp-caption aligncenter" style="width: 235px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-005.JPG"><img class="size-medium wp-image-661" title="rover_bracket 005" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-005-225x300.jpg" alt="Vicing the piece allows me to create a sharper corner." width="225" height="300" /></a><p class="wp-caption-text">Vicing the piece allows me to create a sharper corner.</p></div>
<p>Some of this shaping was done with hammer strikes but a good bit was also just applying a bit of muscle to the end of the aluminum stock to lever it against the vice.</p>
<h2>Cut it out&#8230;</h2>
<p>Believe it or not, I used a normal jigsaw with a metal blade to cut the piece.  I measured it out to 2 inches on either side of the bend, marked it with pencil, and then viced it into position.  When cutting metal like this:</p>
<ol>
<li><strong>Wear eye protection</strong> &#8211; You will be covered with metal spray.  You also never know when that metal-rated jigsaw blade might snap.</li>
<li><strong>Cut slowly</strong> &#8211; A slower cut is a cleaner and really safer cut.</li>
</ol>
<div id="attachment_662" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-006.JPG"><img class="size-medium wp-image-662" title="rover_bracket 006" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-006-300x225.jpg" alt="The bracket cut after being cut with the jigsaw." width="300" height="225" /></a><p class="wp-caption-text">The bracket after being cut with the jigsaw.</p></div>
<h2>Cleaning up the Piece</h2>
<p>Two tools that any metal worker should have in their shop.</p>
<ol>
<li><strong>A dremel or rotary tool</strong> &#8211; This is pretty obvious.  I use it for fine freehand shaping and also as a drill because it gives me really good control over the rotation speed.  A slow speed lets me easily place the bit and once it bites, I can increase the speed to finish the hole.  (If you have a drill press, use that instead.)</li>
<li><strong>A belt sander with a sanding wheel attachment</strong> &#8211; Use this to clean up cuts and drill holes, round corners, and generally shape the piece.  I can&#8217;t overstate how useful this tool is.</li>
</ol>
<div id="attachment_663" class="wp-caption aligncenter" style="width: 235px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-007.JPG"><img class="size-medium wp-image-663" title="rover_bracket 007" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-007-225x300.jpg" alt="A belt sander with a wheel attachment is very useful for metal work." width="225" height="300" /></a><p class="wp-caption-text">A belt sander with a wheel attachment is very useful for metal work.</p></div>
<p>I used the sanding wheel to tidy up and straighten out my cuts.</p>
<div id="attachment_664" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-008.JPG"><img class="size-medium wp-image-664" title="rover_bracket 008" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-008-300x225.jpg" alt="The sanding wheel made the jigsaw cuts much cleaner and smooth to the touch." width="300" height="225" /></a><p class="wp-caption-text">The sanding wheel made the jigsaw cuts much cleaner and smooth to the touch.</p></div>
<p>The sanding belt took the sharp corners off for a more professional rounded look on the bracket.</p>
<div id="attachment_665" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-009.JPG"><img class="size-medium wp-image-665" title="rover_bracket 009" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-009-300x225.jpg" alt="Rounding the corners on the bracket." width="300" height="225" /></a><p class="wp-caption-text">Rounding the corners on the bracket.</p></div>
<p>Using the Rover&#8217;s SONAR circuit board, I marked the mounting points by gently tapping a dent into the aluminum with a punch.  Then with my vice, I used my dremel and a drill bit to add mounting holes.</p>
<div id="attachment_666" class="wp-caption aligncenter" style="width: 235px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-010.JPG"><img class="size-medium wp-image-666" title="rover_bracket 010" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-010-225x300.jpg" alt="Checking the mounting holes for fit." width="225" height="300" /></a><p class="wp-caption-text">Checking the mounting holes for fit.</p></div>
<h2>A Fresh Coat of Paint and &#8220;Taah-Daaah!&#8221;</h2>
<p>I pulled the turret off the rover and applied a coat of flat black spray paint to both the bracket and the turret.  The flat black helps to cover any &#8220;anvil-bite&#8221; marks on the aluminum and it gives the whole thing a classy look.</p>
<div id="attachment_667" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-011.JPG"><img class="size-medium wp-image-667" title="rover_bracket 011" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-011-300x225.jpg" alt="About to spray down the bracket and the turret." width="300" height="225" /></a><p class="wp-caption-text">About to spray down the bracket and the turret.</p></div>
<h2>Doesn&#8217;t he look fancy?</h2>
<p>With his new bracket and freshly painted turret, the Rover looks terribly sophisticated.</p>
<div id="attachment_668" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-012.JPG"><img class="size-medium wp-image-668" title="rover_bracket 012" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/rover_bracket-012-300x225.jpg" alt="The new bracket and freshly painted turret." width="300" height="225" /></a><p class="wp-caption-text">The new bracket and freshly painted turret.</p></div>
<h2>Why would anyone do this?</h2>
<p>At first it might seem silly to pull out an anvil when I can buy mounting brackets from any Robot part store.  The point is that I got to choose exactly what material I wanted (light aluminum) and created exactly the part I needed.  If I need another part, I can shape it just as easily as this one in 20 &#8211; 30 minutes.</p>
<p>Also we should remember that, engineering is a creative process and that applies to <a href="http://www.e-techgarage.com/Larry/?p=186">C code</a>, <a href="http://www.e-techgarage.com/Puck/2009/12/01/design-meeting-one-building-a-circuit-to-control-the-motors/">H-bridge motor drivers</a>, or metal work.  There is something to be said for the challenge and pleasure you get in creating something yourself.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-techgarage.com/Puck/2010/02/09/taking-a-hammer-to-the-rover-cold-working-metal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Collision Avoidance and More</title>
		<link>http://www.e-techgarage.com/Puck/2010/02/08/collision-avoidance-and-more/</link>
		<comments>http://www.e-techgarage.com/Puck/2010/02/08/collision-avoidance-and-more/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 23:16:59 +0000</pubDate>
		<dc:creator>Puck</dc:creator>
				<category><![CDATA[C Programming]]></category>
		<category><![CDATA[Rover]]></category>

		<guid isPermaLink="false">http://www.e-techgarage.com/Puck/?p=627</guid>
		<description><![CDATA[The initial rover collision avoidance algorithm was created so that the rover would turn his SONAR turret back and forth and attempt to detect an obstacle within 3 feet in any direction.  It worked well enough but was probably too aggressive.  When the Rover got close to a wall he got very suspicious when he probably [...]]]></description>
			<content:encoded><![CDATA[<p>The initial rover collision avoidance algorithm was created so that the rover would turn his SONAR turret back and forth and attempt to detect an obstacle within 3 feet in any direction.  It worked well enough but was probably too aggressive.  When the Rover got close to a wall he got very suspicious when he probably didn&#8217;t need to.</p>
<div id="attachment_628" class="wp-caption aligncenter" style="width: 315px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/Rover-Collision-Circle.bmp"><img class="size-full wp-image-628" style="border: 5px solid black;" title="Rover Collision Circle" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/Rover-Collision-Circle.bmp" alt="Rover's Turret sweeping a constant forward arc for obstacles." width="305" height="277" /></a><p class="wp-caption-text">Rover will detect an obstacle anywhere within the 3 foot arc.</p></div>
<p style="text-align: center;">
<p style="text-align: left;">When the rover is operating near a wall, 3 feet of lateral clearance is too much.   It prevents him from traveling in parallel to a wall or from passing through any hallway less than 6 feet wide.</p>
<div class="wp-caption aligncenter" style="width: 300px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/Rover-Collision-Circle_Wall1.bmp"><img style="display: block; margin-left: auto; margin-right: auto; border: 5px solid black;" title="Rover Collision Circle_Wall" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/Rover-Collision-Circle_Wall1.bmp" alt="As the Rover attempts to navigate this hallway, the 3 foot detection radius registers as a false obstacle." width="290" height="326" /></a><p class="wp-caption-text">As the Rover attempts to navigate this hallway, the 3 foot detection radius registers the hallway as a false obstacle.</p></div>
<p style="text-align: left;">
<p style="text-align: center;"><span style="color: #ff0000;">3 feet</span> of clearance on the left + <span style="color: #ff0000;">3 feet</span> of clearance on the right</p>
<p style="text-align: center;">=</p>
<p style="text-align: center;"><strong><span style="color: #ff0000;">6 fee</span><span style="color: #ff0000;">t</span> minimum lateral clearance</strong></p>
<p style="text-align: left;">If you would believe my high school math teacher we might be able to find a use for math in the real world.  In fact, there is a handy ratio function that lets us trim down the obstacle detection field.</p>
<p style="text-align: center;">
<div id="attachment_640" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/ratio-math1.JPG"><img class="size-medium wp-image-640 " style="border: 5px solid black;" title="ratio math" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/ratio-math1-300x294.jpg" alt="Calculating a ratio to scale the obstacle field." width="300" height="294" /></a><p class="wp-caption-text">Calculating a ratio to scale the obstacle field.</p></div>
<p>If our obstacle detection is 3 feet and we want 10 inches of clearance on either side for the wheels, we can use the ratio to get there like this:</p>
<ul>
<li>y &#8211; axis (Forward Obstacle Detection) = 36 inches (3 feet)</li>
<li>x &#8211; axis (Lateral Obstacle Detection) = <strong><span style="color: #339966;">10 inches</span></strong></li>
<li>36 inches &#8211; 10 inches = <strong><span style="color: #0000ff;">26 inches</span></strong></li>
</ul>
<p>We just plug our numbers into this equation and out drops our new detection zone:</p>
<p style="text-align: center;"><strong>Obstacle distance at angle Theta = (RATIO x <span style="color: #0000ff;">26 inches</span>) + (<span style="color: #339966;">10 </span><span style="color: #339966;">inches</span>)</strong></p>
<p style="text-align: left;">Crunching these numbers<strong> </strong>we get the following results<strong>:<br />
</strong></p>
<ol>
<li>-90 degrees = (0.0 x 26&#8243;) + 10&#8243; = 10&#8243; &#8211; <strong>(Looking Left)</strong></li>
<li>-45 degrees = (0.5 x 26&#8243;) + 10&#8243; = 23&#8243; &#8211; <strong>(Looking Left &amp; Forward)</strong></li>
<li>0 degrees = (1.0 x 26&#8243;) + 10&#8243; = 36&#8243; &#8211; <strong>(Looking Forward)</strong></li>
<li>+45 degrees = (0.5 x 26&#8243;) + 10&#8243; = 23&#8243; &#8211; <strong>(Looking Right &amp; Forward)</strong></li>
<li>+90 degrees = (0.0 x 26&#8243;) + 10&#8243; = 10&#8243; &#8211; <strong>(Looking Right)</strong></li>
</ol>
<p>That changes the shape of the obstacle detection field from a half-circle into this triangle:</p>
<div id="attachment_645" class="wp-caption aligncenter" style="width: 255px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/Rover-Collision-Triangle1.bmp"><img class="size-full wp-image-645" style="border: 5px solid black;" title="Rover Collision Triangle" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/Rover-Collision-Triangle1.bmp" alt="The obstacle field is trimmed to allow for more lateral clearance." width="245" height="476" /></a><p class="wp-caption-text">The obstacle field is trimmed to allow for more lateral clearance.</p></div>
<p style="text-align: center;">
<p>With this little bit of math we can more easily travel through a narrow hallway.  This modified detection algorithm is what we used in the <a href="http://www.e-techgarage.com/Puck/2010/01/22/collision-avoidance-is-working/">successful obstacle avoidance test video</a>.  The best part is that while we travel parallel to a wall we won&#8217;t detect it as an obstacle but if we start to drift into it, the Rover will still detect it.</p>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://www.e-techgarage.com/Puck/2010/02/08/collision-avoidance-and-more/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Collision Avoidance is Working</title>
		<link>http://www.e-techgarage.com/Puck/2010/01/22/collision-avoidance-is-working/</link>
		<comments>http://www.e-techgarage.com/Puck/2010/01/22/collision-avoidance-is-working/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 22:58:18 +0000</pubDate>
		<dc:creator>Puck</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.e-techgarage.com/Puck/?p=621</guid>
		<description><![CDATA[We have defeated Dread Conduit Pipe Bob and now face the grim Cube of No Return!!
Rover Test Video #31 &#8211; Getting Closer!!

Rover Test Video #32  &#8211; Success!!

As you can see, RoverLORD nailed it!
]]></description>
			<content:encoded><![CDATA[<p>We have defeated <span style="color: #ff0000;"><strong>Dread Conduit Pipe Bob</strong></span> and now face the grim <span style="color: #0000ff;"><strong>Cube of No Return!!</strong></span></p>
<h2>Rover Test Video #31 &#8211; Getting Closer!!</h2>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/ZWfZ_etZS5I&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/ZWfZ_etZS5I&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h2>Rover Test Video #32  &#8211; Success!!</h2>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/GTUZXJRnjbQ&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/GTUZXJRnjbQ&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>As you can see, RoverLORD nailed it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-techgarage.com/Puck/2010/01/22/collision-avoidance-is-working/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
