<?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'><id>tag:blogger.com,1999:blog-2449526116546466299</id><updated>2010-03-08T19:13:22.082-08:00</updated><title type='text'>CrashNet MOTD</title><subtitle type='html'>Welcome to my project blog!  Behold the ramblings of a militant geek, and the many things I do to entertain myself as I learn stuff...</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default'/><link rel='alternate' type='text/html' href='http://www.chiefcrash.com/blog/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.chiefcrash.com/blog/atom.xml'/><author><name>chiefcrash</name><uri>http://www.blogger.com/profile/10476395823308983201</uri><email>chiefcrash@gmail.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2449526116546466299.post-6716742504431484361</id><published>2009-11-06T14:16:00.000-08:00</published><updated>2009-11-06T14:18:43.802-08:00</updated><title type='text'>Hackosis LIVES!</title><content type='html'>So, once upon a time, there was a really cool guy named Shane.  He made a blog called Hackosis.  However, he let his domain registration lapse, and the hacky goodness was lost to the void of 404...&lt;br /&gt;&lt;br /&gt;However, it is lost no more!  I got a hold of him and offered him a subdomain on my site.  So now, I present the original hackosis in all it's glory: &lt;a href="http://hackosis.chiefcrash.com/"&gt;http://hackosis.chiefcrash.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Check it out, lots of nifty stuff there...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2449526116546466299-6716742504431484361?l=www.chiefcrash.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/6716742504431484361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2449526116546466299&amp;postID=6716742504431484361' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/6716742504431484361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/6716742504431484361'/><link rel='alternate' type='text/html' href='http://www.chiefcrash.com/blog/2009/11/hackosis-lives.html' title='Hackosis LIVES!'/><author><name>chiefcrash</name><uri>http://www.blogger.com/profile/10476395823308983201</uri><email>chiefcrash@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06295788564003145566'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2449526116546466299.post-3449065339797508264</id><published>2009-10-09T23:58:00.000-07:00</published><updated>2009-10-10T00:01:08.764-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='clock'/><category scheme='http://www.blogger.com/atom/ns#' term='crashclock'/><title type='text'>CrashClock</title><content type='html'>Ok, so the robot is still cooking.  It's hard trying to learn like 4 programming languages at once.  And since the robot isn't for work or school, I'm taking a little break from it for now.&lt;br /&gt;&lt;br /&gt;But, as a little side project, I'm building an alarm clock.  Just for giggles.  It'll be crazy once it's done, but for now, it ain't much.  check it out:&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/He051snWmBWtpULgeu9GFw?authkey=Gv1sRgCO6Tvdbu27jKRw&amp;amp;feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_nmfN3fcMsyM/StAwKwflqfI/AAAAAAAAAIE/xhji5MvtfPM/s400/CIMG0459.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="http://picasaweb.google.com/jamerriam/Crashclock?authkey=Gv1sRgCO6Tvdbu27jKRw&amp;amp;feat=embedwebsite"&gt;crashclock&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2449526116546466299-3449065339797508264?l=www.chiefcrash.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/3449065339797508264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2449526116546466299&amp;postID=3449065339797508264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/3449065339797508264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/3449065339797508264'/><link rel='alternate' type='text/html' href='http://www.chiefcrash.com/blog/2009/10/crashclock.html' title='CrashClock'/><author><name>chiefcrash</name><uri>http://www.blogger.com/profile/10476395823308983201</uri><email>chiefcrash@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06295788564003145566'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_nmfN3fcMsyM/StAwKwflqfI/AAAAAAAAAIE/xhji5MvtfPM/s72-c/CIMG0459.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2449526116546466299.post-8271243430058226587</id><published>2009-08-26T21:28:00.000-07:00</published><updated>2009-09-26T22:11:06.910-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='projects'/><category scheme='http://www.blogger.com/atom/ns#' term='arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='robots'/><category scheme='http://www.blogger.com/atom/ns#' term='fido'/><category scheme='http://www.blogger.com/atom/ns#' term='crashbot'/><title type='text'>Robotics Crash Course, Part 3</title><content type='html'>Ok, so after some drama, some bullcrap, and a temporary bout of homelessness, I'm back.  Let's try to put something on this dang blog...&lt;br /&gt;&lt;br /&gt;So in Part 2, we had managed to find a way to get our laptop to charge from the robot.  Catch was, the laptop was &lt;span style="font-style: italic;"&gt;always&lt;/span&gt; charging from the robot.  We don't want that.  Let's fix that...&lt;br /&gt;&lt;br /&gt;&lt;a href="Read%20More%21"&gt;Read More!&lt;/a&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;What we need is some way of selectively connecting or disconnecting the laptop's power supply from the robot.  A common light switch would do, but that kind of defeats the whole autonomous charging ability thingie we're going for.  So we want some sort of computer controlled switch: a &lt;a href="http://en.wikipedia.org/wiki/Relay"&gt;relay&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;But our little OLPC laptop has no way of controlling a relay by itself.  Maybe there's some sort of USB gizmo out there to do this, but screw that: let's build something.  So I picked up a little Arduino microcontroller board (in this case, it's actually a Seeeduino.)  Add in a breadboard, some resistors, a diode and transistor, and we have a working relay circuit.  By flipping one of the I/O pins on the Arduino, we can flip the switch and charge the laptop whenever we want.  And since we can control the Arduino through the laptop, the robot can do this whenever it needs to.&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/pZFJ_UtAq8pxZ0i5udlmgQ?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_nmfN3fcMsyM/Sfuq-xk2DfI/AAAAAAAAAEE/HboYjSdvFCY/s400/CIMG0406.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="http://picasaweb.google.com/jamerriam/Crashbot?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite"&gt;crashbot&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;What you see up this is the setup.  &lt;a href="http://www.arduino.cc/playground/uploads/Learning/relays.pdf"&gt;Here's the schematic&lt;/a&gt;.  I simply took the power cord running from the robot to the laptop, cut one of the wires, wired the relay into the gap, and presto!&lt;br /&gt;&lt;br /&gt;Since we got this fancy microcontroller thingie here, why not get a little more use out of it?  You might notice those extra wires taped off to the side.  One of those goes to the power toggle pin of the robot's cargo bay connector.  By sending little pulses to this pin, we can turn the robot's power on or off.  We couldn't do this before.  Sounds like something that might come in useful...&lt;br /&gt;&lt;br /&gt;Another one of them connects to the "charging source available" pin in the cargo bay connector.  We can pull sensor data from the robot and tell this, but this seemed like a nifty thing to have (especially since we can't pull sensor data if the robot is off but charging.)  This way, I can just poll one of the Arduino pins and can quickly tell if the robot is connected to a charging source (docking station or plugged in).  I thought about using this pin to drive the relay by itself, but there's advantages to having the relay controlled via the computer.&lt;br /&gt;&lt;br /&gt;Another one of those wires simply connects to the robot's 5v reference voltage.  This allows us to tell if the robot is on or off (sounds like a stupid thing to need.  It isn't.)&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/8ah-h8_K4ACSbEz4nG5R5g?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite"&gt;&lt;img src="http://lh4.ggpht.com/_nmfN3fcMsyM/Sfuq_7RxSkI/AAAAAAAAAEU/PTtN6PZxwng/s400/CIMG0408.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="http://picasaweb.google.com/jamerriam/Crashbot?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite"&gt;crashbot&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;The black thing in the picture is a little piece of 3-ring binder I cut and shaped to serve as a cover/deck for the cargo bay.  I tucked as many wires as I could into the cargo bay, fed them through a little hole, then screwed down the binder piece.  I stuck the little arduino and breadboard to a harness that came with the arduino, and used a piece of velcro to stick it to the binder piece.  I also screwed on top of all this a plastic clipboard, using long screws, some nuts and washers.  This clipboard serves as the deck for the laptop.  (I'm actually thinking of ditching this design in favor of a piece of sonotube, since it'd make it look nicer and might a bit better.)&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/GOpwBDuhGcqdWCAjBxQpbA?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_nmfN3fcMsyM/SfurAMeVydI/AAAAAAAAAEc/ylt20-8VaQ4/s400/CIMG0409.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="http://picasaweb.google.com/jamerriam/Crashbot?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite"&gt;crashbot&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/8VnF-4c1f3BBLTmrdh-COQ?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite"&gt;&lt;img src="http://lh6.ggpht.com/_nmfN3fcMsyM/Sfur5CbOZ4I/AAAAAAAAAE4/IUZWzULzJmI/s400/CIMG0412.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="http://picasaweb.google.com/jamerriam/Crashbot?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite"&gt;crashbot&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;And, while we're at it, let's throw a pan/tilt webcam on there.  That way, we can look around with the robot.  Logitech Orbit AF will do nicely:&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/REz-dAABAKi41f3I1eyh3w?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_nmfN3fcMsyM/Sfur5GWNx7I/AAAAAAAAAFA/_mKH23kWM3w/s400/CIMG0413.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="http://picasaweb.google.com/jamerriam/Crashbot?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite"&gt;crashbot&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/ISWyO7moBOxZCSA8JIhyNg?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite"&gt;&lt;img src="http://lh3.ggpht.com/_nmfN3fcMsyM/Sfur5pJtD9I/AAAAAAAAAFQ/08ZYXBwgG5I/s400/CIMG0414.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="http://picasaweb.google.com/jamerriam/Crashbot?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite"&gt;crashbot&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Word of warning about the webcam: it was a pain in the butt to get the pan/tilt working with this thing.  Something about the uvcvideo drivers in the newer kernel, blah blah blah.  Bottom line?  You need to compile and install &lt;a href="http://www.quickcamteam.net/software/libwebcam"&gt;libwebcam&lt;/a&gt;.  You'll get a little program called uvcdynctrl that will allow you to control pan/tilt, plus a bunch of other advanced controls.  Until I'm ready to start posting the code up (it's a mess at the momment: held together by digital duct tape) you'll have to poke around the libwebcam forums and documentation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So how about that?  Some nice little upgrades there.  Currently, I've been debugging and cleaning up the code, and since that means I have to teach myself Python, it's taking a while.  Feel free to take a look at all the crappy pictures I took while building it thus far...&lt;br /&gt;&lt;table style="width: 194px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="background: transparent url(http://picasaweb.google.com/s/c/transparent_album_background.gif) no-repeat scroll left center; height: 194px; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;" align="center"&gt;&lt;a href="http://picasaweb.google.com/jamerriam/Crashbot?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite"&gt;&lt;img src="http://lh3.ggpht.com/_nmfN3fcMsyM/Sfun-_iFH2E/AAAAAAAAAFo/ygnfb6PjIvo/s160-c/Crashbot.jpg" style="margin: 1px 0pt 0pt 4px;" height="160" width="160" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center; font-family: arial,sans-serif; font-size: 11px;"&gt;&lt;a href="http://picasaweb.google.com/jamerriam/Crashbot?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite" style="color: rgb(77, 77, 77); font-weight: bold; text-decoration: none;"&gt;crashbot&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2449526116546466299-8271243430058226587?l=www.chiefcrash.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/8271243430058226587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2449526116546466299&amp;postID=8271243430058226587' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/8271243430058226587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/8271243430058226587'/><link rel='alternate' type='text/html' href='http://www.chiefcrash.com/blog/2009/09/robotics-crash-course-part-3.html' title='Robotics Crash Course, Part 3'/><author><name>chiefcrash</name><uri>http://www.blogger.com/profile/10476395823308983201</uri><email>chiefcrash@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06295788564003145566'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_nmfN3fcMsyM/Sfuq-xk2DfI/AAAAAAAAAEE/HboYjSdvFCY/s72-c/CIMG0406.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2449526116546466299.post-1219596820150185341</id><published>2009-07-19T16:23:00.000-07:00</published><updated>2009-07-19T17:57:15.506-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='projects'/><category scheme='http://www.blogger.com/atom/ns#' term='olpc'/><category scheme='http://www.blogger.com/atom/ns#' term='robots'/><category scheme='http://www.blogger.com/atom/ns#' term='fido'/><category scheme='http://www.blogger.com/atom/ns#' term='crashbot'/><title type='text'>Robotics Crash Course, Part 2</title><content type='html'>Ok, so if you've been following us from &lt;a href="http://www.chiefcrash.com/blog/2009/07/robotics-crash-course-part-1.html"&gt;part 1 of the crash course&lt;/a&gt;, you'll know that we're beginning to build a very simple robot.  So simple, it's effectively a laptop duct taped to a robot vacuum cleaner.  Since &lt;a href="http://code.google.com/u/damonkohler/"&gt;Damon&lt;/a&gt; has done such a good job of documenting the process up to here, i'm just going to refer you to his &lt;a href="http://www.instructables.com/id/OLPC-Telepresence/"&gt;Instructables page&lt;/a&gt;.  But let's talk about the important improvements in this step...&lt;br /&gt;&lt;br /&gt;In case you're wondering, i did the optional power step he describes.  *THIS* is why I'm using the OLPC laptop for now: nothing else is this flexible with their power inputs.  I can't hook up anything else this easily.  My eeepc 701 for example wants a nice clean 9.5 v at 2.5 amps.  Not happenin' (yet)...&lt;br /&gt;&lt;br /&gt;The really important thing to note here is we have just potentially made our robot self-sufficient.  The robot base AND the laptop can now dock with the docking station and recharge their batteries whenever they see fit.  You could easily make the "low battery" warning trigger the dock-seek subroutine, set it up on a schedule, whatever.  Point is: our robot can now (potentially) function indefinitely without the need of a human to refuel it.  Obviously it can't wander off too far, or it won't make it back to the docking station, but hey, big step here.&lt;br /&gt;&lt;br /&gt;Of course, there is a really big drawback here as well: the laptop will suck power from the robot constantly.  Which means less battery life for the robot.  We'll fix that in our next step...&lt;br /&gt;&lt;br /&gt;The other thing to note here is we now have some nifty software!  It's not perfect, but it's better than VNCing into the laptop and some other craziness.  Pretty basic for now, but we'll upgrade that later.  It's made in Python, which means it'll run on pretty much anything with a little tweaking.  It also means it can run a tad slow, but for now it works.  Much expansion here in the next step too...&lt;br /&gt;&lt;br /&gt;So tune in next time, you damn kids with your music...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2449526116546466299-1219596820150185341?l=www.chiefcrash.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/1219596820150185341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2449526116546466299&amp;postID=1219596820150185341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/1219596820150185341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/1219596820150185341'/><link rel='alternate' type='text/html' href='http://www.chiefcrash.com/blog/2009/07/robotics-crash-course-part-2.html' title='Robotics Crash Course, Part 2'/><author><name>chiefcrash</name><uri>http://www.blogger.com/profile/10476395823308983201</uri><email>chiefcrash@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06295788564003145566'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2449526116546466299.post-3948653885280936838</id><published>2009-07-06T18:44:00.000-07:00</published><updated>2009-07-07T20:48:29.434-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='projects'/><category scheme='http://www.blogger.com/atom/ns#' term='olpc'/><category scheme='http://www.blogger.com/atom/ns#' term='robots'/><category scheme='http://www.blogger.com/atom/ns#' term='fido'/><category scheme='http://www.blogger.com/atom/ns#' term='crashbot'/><title type='text'>Robotics Crash Course, Part 1</title><content type='html'>&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Ok&lt;/span&gt;, let's say you wanna build some robots.  Maybe you want something to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;automagically&lt;/span&gt; feed the dogs for you.  Maybe you want something to fetch you a beer.  Some sort of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;robo&lt;/span&gt;-butler, perhaps.  Or maybe you're looking at a world domination bid, whatever.  Let's build some robots.&lt;br /&gt;&lt;br /&gt;Oh wait, all I know about robots come from movies and TV.  That might be a problem.  Better start small and simple.  Crawl before you walk before you run and so on.  How's about a simple as hell, darn-near idiot proof, ultra-n00&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;b's&lt;/span&gt; guide to building your first robot?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.chiefcrash.com/blog/2009/07/robotics-crash-course-part-1.html"&gt;Hell, why not...&lt;/a&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Turns out that robots, much like everything else, are nothing more than a carefully arranged pile of parts, held together by screws and software.  So the question is: how "made from scratch" do you wanna go?  If you're really ambitious, you could go mine some copper ore, refine it into wire, build the motors yourself, and so on.  I don't know about you, but that ain't happening...&lt;br /&gt;&lt;br /&gt;You could buy some basic motors and wheels and bearing and all that junk, and build a robot up from the ground up.  Maybe, someday.  Not today...&lt;br /&gt;&lt;br /&gt;How about we cheat a little?  Let's take a ready-built robot: the &lt;a href="http://en.wikipedia.org/wiki/IRobot_Create"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;iRobot&lt;/span&gt; Create&lt;/a&gt;.  It's basically one of those robot vacuum cleaners, except without the vacuum cleaner.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/lh/photo/wOcHxEQLm_dnXgjMPN6m9w?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite"&gt;&lt;img src="http://lh4.ggpht.com/_nmfN3fcMsyM/SfuoYxEJoRI/AAAAAAAAABc/fDM-s6PsCK4/s400/CIMG0387.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Yay&lt;/span&gt;!  We have a robot now!  Let's take over the world!  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Ok&lt;/span&gt;, well, not quite.  It's a robot by some measure of the word, but it doesn't really do anything useful.  Yet...&lt;br /&gt;&lt;br /&gt;Here's what it DOES do usefully: moves around based on serial commands, avoids obstacles, provides battery power from it's 14.4v battery to anything you can wire into the cargo bay connector, and it can find it's own charging station.&lt;br /&gt;&lt;br /&gt;In fact you can pull it out of the box, slap in a battery, and hook the included cable up to the serial port of a computer, and drive the little robot with the computer!&lt;br /&gt;&lt;br /&gt;Now imagine you have a laptop.  If you don't know how to do it by now, it's pretty easy to connect to a laptop and remotely control it.  You can use Remote Desktop Connection or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;VNC&lt;/span&gt; and control it like you were sitting right there if you wanted to keep it simple (and avoid writing code).  Most laptops come with a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;webcam&lt;/span&gt; these days, and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;usb&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;webcams&lt;/span&gt; are cheap.  Laptops have wireless too...&lt;br /&gt;&lt;br /&gt;...so &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;duct tape&lt;/span&gt; the laptop to the robot!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/lh/photo/Umr6zEcsX3PeyJn7XRO4qA?authkey=Gv1sRgCOGCo5ek8cWbwQE&amp;amp;feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_nmfN3fcMsyM/SfuoxTjoyjI/AAAAAAAAACI/8Te2cOvfQNs/s400/CIMG0392.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You now have a self-mobile, remotely &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;connectable&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;WiFi&lt;/span&gt; enabled robot with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;webcam&lt;/span&gt; and microphone.  It can find it's little charging station all by itself, and can avoid obstacles in some fashion.  It even has a nice juicy screen to display stuff to people, and speakers to talk or play music with.  It &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;ain't&lt;/span&gt; R2-D2, but you could easily use it as a remote &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;surveillance&lt;/span&gt; / &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;telepresence&lt;/span&gt; type &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;thingie&lt;/span&gt;.  Hostage &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_19"&gt;negotiators&lt;/span&gt; could send one in to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_20"&gt;teleconference&lt;/span&gt; with the bad guys, while SWAT sneaks one in the back to map out the interior and looks around.  In this case, it's an &lt;a href="http://en.wikipedia.org/wiki/OLPC_XO-1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;OLPC&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;XO&lt;/span&gt; laptop&lt;/a&gt;, which is nifty because of the swiveling screen, built in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;WiFi&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;webcam&lt;/span&gt;, microphone, and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;uber&lt;/span&gt;-long battery life.  However, any laptop you have laying around can be used, but it seems like a cheap little &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;netbook&lt;/span&gt; is &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_27"&gt;particularly&lt;/span&gt; suited.  I used the included &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;iRobot&lt;/span&gt; cable and a cheap serial-to-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;usb&lt;/span&gt; converter to connect the robot to the laptop.&lt;br /&gt;&lt;br /&gt;Now, granted, our robot still isn't much to brag about.  But if you didn't get 100 ideas about how to IMPROVE on this little thing, you need to put down the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;internet&lt;/span&gt; and step away.  Slowly.&lt;br /&gt;&lt;br /&gt;That's the beauty of this thing: it's a simple yet marginally useful and functional platform to start with.  Building a robot from scratch to this point is a long a frustrating process for beginners, and is usually the main barrier keeping them from really building anything.  But now, we can focus on learning about the smaller and funner things.  As time marches on, this little platform will become &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_31"&gt;insufficient&lt;/span&gt;.  By then, I'll be ready to build one from scratch.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;And there you have it.  With about $400 and a bit of ducktape, you can "build" a somewhat useful robot!  &lt;/span&gt;&lt;span class="fullpost"&gt;Don't worry, more to come.  Gotta make it cooler after all.  Relatively soon.&lt;br /&gt;&lt;br /&gt;And if this looks &lt;a href="http://www.instructables.com/id/OLPC-Telepresence/"&gt;oddly familiar&lt;/a&gt;, it's supposed to.  I'm going to be building up his &lt;a href="http://code.google.com/p/pyrobot/"&gt;Fido robot&lt;/a&gt; (or as close as I can) as my personal starting point, and then &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_32"&gt;tweak&lt;/span&gt;/hack/rebuild from there. I don't want nobody thinking I'm stealing credit for this, give credit where credit is due and all that &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_33"&gt;happiness&lt;/span&gt;.  Updates during the process are the plan, but plans never survive first contact, so we'll see when they get up.&lt;br /&gt;&lt;br /&gt;and riboflavin...&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2449526116546466299-3948653885280936838?l=www.chiefcrash.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/3948653885280936838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2449526116546466299&amp;postID=3948653885280936838' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/3948653885280936838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/3948653885280936838'/><link rel='alternate' type='text/html' href='http://www.chiefcrash.com/blog/2009/07/robotics-crash-course-part-1.html' title='Robotics Crash Course, Part 1'/><author><name>chiefcrash</name><uri>http://www.blogger.com/profile/10476395823308983201</uri><email>chiefcrash@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06295788564003145566'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_nmfN3fcMsyM/SfuoYxEJoRI/AAAAAAAAABc/fDM-s6PsCK4/s72-c/CIMG0387.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2449526116546466299.post-6609642018506836788</id><published>2009-04-06T23:27:00.000-07:00</published><updated>2009-07-07T20:36:17.611-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='projects'/><category scheme='http://www.blogger.com/atom/ns#' term='olpc'/><category scheme='http://www.blogger.com/atom/ns#' term='reboot'/><category scheme='http://www.blogger.com/atom/ns#' term='robots'/><category scheme='http://www.blogger.com/atom/ns#' term='crashbot'/><title type='text'>[CTRL]+[ALT]+[DEL]</title><content type='html'>*tap tap tap* is this thing on?&lt;br /&gt;&lt;br /&gt;Yea, ok, bit of an abandoned blog.  I'll try to fix that.  Geekiness must be had.  Geekiness WILL be had.  So here's the situation:&lt;br /&gt;&lt;br /&gt;I have an iRobot Create&lt;br /&gt;I have an OLPC XO laptop&lt;br /&gt;I have a Logitech Orbit AF&lt;br /&gt;I have a USB generic webcam w/IR LEDs&lt;br /&gt;I have a USB missile launcher&lt;br /&gt;I have 2 arduino boards&lt;br /&gt;I have a compass sensor&lt;br /&gt;I (will soon) have a sonar sensor&lt;br /&gt;I have a 4X20 Character LCD display&lt;br /&gt;&lt;br /&gt;One way or another, all that crap is getting stuck together.  Should be fun to figure out that game of electrical tetris.  Stay tuned...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2449526116546466299-6609642018506836788?l=www.chiefcrash.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/6609642018506836788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2449526116546466299&amp;postID=6609642018506836788' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/6609642018506836788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/6609642018506836788'/><link rel='alternate' type='text/html' href='http://www.chiefcrash.com/blog/2009/04/ctrlaltdel.html' title='[CTRL]+[ALT]+[DEL]'/><author><name>chiefcrash</name><uri>http://www.blogger.com/profile/10476395823308983201</uri><email>chiefcrash@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06295788564003145566'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2449526116546466299.post-1723981661772512223</id><published>2008-05-25T18:06:00.000-07:00</published><updated>2008-05-25T18:09:03.742-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='chatter'/><category scheme='http://www.blogger.com/atom/ns#' term='paranoid'/><category scheme='http://www.blogger.com/atom/ns#' term='DNA'/><title type='text'>we need some mousetraps on the interwebs...</title><content type='html'>So i was talking to someone today about how when you delete a file, it's still on the drive.  As I'm sure you're all aware, even formating it won't work.  You have to actually overwrite the files with some sort of random data.  I started rambling on about things like DOD standard wipes and &lt;a href="http://en.wikipedia.org/wiki/Gutmann_method"&gt;Gutmann wipes&lt;/a&gt;, and so on...&lt;br /&gt;&lt;br /&gt;She asked if I was paranoid.  That launched a whole other series of ramblings...&lt;br /&gt;&lt;br /&gt;But I was thinking about it again, and had some crazy thoughts.  I *know* there is some crazy advanced tech out there.  Stuff I can't even imagine.  Stuff I probably could never fathom as possible...&lt;br /&gt;&lt;br /&gt;And then I imagined some sort of CIA datacenter facility with a brand new kind of supercomputer.  Some sort of DNA based computer...&lt;br /&gt;&lt;br /&gt;like 500 lab rats, with all of their brains wired together and running linux....&lt;br /&gt;&lt;br /&gt;I bet that the idle CPU cycles get spent looking at the Wikipedia article for cheese...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2449526116546466299-1723981661772512223?l=www.chiefcrash.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.chiefcrash.com/blog/2008/05/we-need-some-mousetraps-on-interwebs.html' title='we need some mousetraps on the interwebs...'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/1723981661772512223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2449526116546466299&amp;postID=1723981661772512223' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/1723981661772512223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/1723981661772512223'/><link rel='alternate' type='text/html' href='http://www.chiefcrash.com/blog/2008/05/we-need-some-mousetraps-on-interwebs.html' title='we need some mousetraps on the interwebs...'/><author><name>chiefcrash</name><uri>http://www.blogger.com/profile/10476395823308983201</uri><email>chiefcrash@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06295788564003145566'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2449526116546466299.post-5382498596003517531</id><published>2008-05-20T15:08:00.000-07:00</published><updated>2008-05-25T18:09:53.452-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hello world'/><title type='text'>Welcome to CrashNet</title><content type='html'>Welcome to the CrashNet MOTD.  If you're reading this, and it's some time in May of 2008, then congrats!  You've somehow managed to stumble across this thing.  Otherwise, I've become famous and you're reading this post because it's the first and you want the history.  In either case...&lt;br /&gt;&lt;br /&gt;This is basically my project blog.  I plan to be doing all sorts of stuff, from the mundane to the insane.  The hope here is that I will try to do crazy stuff with my gadgets and gizmos, and in the process I'll learn stuff.  In theory, this stuff I will learn will help me some how when it comes to work and school.  If not, some of it should at least be kinda cool and interesting...&lt;br /&gt;&lt;br /&gt;Don't expect anything to be the same for too long.  Everything, especially right now, is subject to change and reconfiguration.  I believe the buzzword for it is "dynamic".  Just stick around and you'll see...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2449526116546466299-5382498596003517531?l=www.chiefcrash.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.chiefcrash.com/blog/2008/05/hello-world.html' title='Welcome to CrashNet'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/5382498596003517531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2449526116546466299&amp;postID=5382498596003517531' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/5382498596003517531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2449526116546466299/posts/default/5382498596003517531'/><link rel='alternate' type='text/html' href='http://www.chiefcrash.com/blog/2008/05/hello-world.html' title='Welcome to CrashNet'/><author><name>chiefcrash</name><uri>http://www.blogger.com/profile/10476395823308983201</uri><email>chiefcrash@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06295788564003145566'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>