<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-1087162989855557355</atom:id><lastBuildDate>Tue, 03 Nov 2009 22:40:58 +0000</lastBuildDate><title>roboRobert</title><description>robot blog by Jim Robert (robo... Robert)</description><link>http://roborobert.com/</link><managingEditor>noreply@blogger.com (Jim Robert)</managingEditor><generator>Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Roborobert" type="application/rss+xml" /><feedburner:emailServiceId>Roborobert</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-7759544329385448048</guid><pubDate>Mon, 28 Sep 2009 18:03:00 +0000</pubDate><atom:updated>2009-09-28T11:20:40.142-07:00</atom:updated><title>Social Share urls</title><description>To share a link on twitter just make a link like this (obviously replace &amp;lt;message&amp;gt; with the message you want the person to tweet):&lt;br /&gt;&lt;br /&gt;http://twitter.com/?status=&amp;lt;message&amp;gt;&lt;br /&gt;&lt;br /&gt;To share something on facebook, just make a link like this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;a href="javascript:var%20d=document,f='http://www.facebook.com/share',l=d.location,e=encodeURIComponent,p='.php?src=bm&amp;amp;v=4&amp;amp;i=1254161036&amp;amp;u='+e(l.href)+'&amp;amp;t='+e(d.title);1;try{if%20(!/^(.*\.)?facebook\.[^.]*$/.test(l.host))throw(0);share_internal_bookmarklet(p)}catch(z)%20{a=function()%20{if%20(!window.open(f+'r'+p,'sharer','toolbar=0,status=0,resizable=1,width=626,height=436'))l.href=f+p};if%20(/Firefox/.test(navigator.userAgent))setTimeout(a,0);else{a()}}void(0)"&amp;gt;Share on Facebook&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;You can copy/paste the facebook link - it uses javascript to detect the url of the page you are on. If you want to replace the url with a different one, just change &lt;code&gt;e(l.href)&lt;/code&gt; to &lt;code&gt;e('your_url_here')&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-7759544329385448048?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Roborobert?a=DASRAVA-FpM:n4OyO-2LuYE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Roborobert?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Roborobert?a=DASRAVA-FpM:n4OyO-2LuYE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Roborobert?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Roborobert?a=DASRAVA-FpM:n4OyO-2LuYE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Roborobert?i=DASRAVA-FpM:n4OyO-2LuYE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/DASRAVA-FpM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/DASRAVA-FpM/social-share-urls.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roborobert.com/2009/09/social-share-urls.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-3579778063671863047</guid><pubDate>Wed, 24 Jun 2009 14:03:00 +0000</pubDate><atom:updated>2009-09-10T19:54:40.360-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">web-design</category><category domain="http://www.blogger.com/atom/ns#">otaku-pride</category><category domain="http://www.blogger.com/atom/ns#">badges</category><category domain="http://www.blogger.com/atom/ns#">pinax</category><category domain="http://www.blogger.com/atom/ns#">django</category><category domain="http://www.blogger.com/atom/ns#">stack-overflow</category><category domain="http://www.blogger.com/atom/ns#">python</category><category domain="http://www.blogger.com/atom/ns#">anime</category><title>Otaku Pride</title><description>Hello,&lt;br /&gt;&lt;br /&gt;I recently began building a &lt;a href="http://www.djangoproject.com/"&gt;Django&lt;/a&gt;/&lt;a href="http://pinaxproject.com/"&gt;Pinax&lt;/a&gt; Clone of &lt;a href="http://stackoverflow.com/"&gt;Stack Overflow&lt;/a&gt; called &lt;a href="http://otakupride.com/"&gt;Otaku Pride&lt;/a&gt; - A website for Anime lovers.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.otakupri.de/"&gt;&lt;img style="cursor: pointer; width: 400px; height: 288px;" src="http://3.bp.blogspot.com/_htgzqPcIGBk/SkI0d2D_PLI/AAAAAAAAAh0/OTMywq2k5fs/s400/OP.png" alt="" id="BLOGGER_PHOTO_ID_5350896994602663090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I open sourced the "Badges" django app as &lt;a href="http://code.google.com/p/django-badges/"&gt;django-badges on google code&lt;/a&gt; in case you're interested.&lt;br /&gt;&lt;br /&gt;Sorry to make this post so short... It's been a while and I wanted to keep you on the up and up :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-3579778063671863047?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Roborobert?a=DOtPHmqfCNo:nNdo8v1-m1Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Roborobert?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Roborobert?a=DOtPHmqfCNo:nNdo8v1-m1Y:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Roborobert?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Roborobert?a=DOtPHmqfCNo:nNdo8v1-m1Y:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Roborobert?i=DOtPHmqfCNo:nNdo8v1-m1Y:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/DOtPHmqfCNo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/DOtPHmqfCNo/otaku-pride.html</link><author>noreply@blogger.com (Jim Robert)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_htgzqPcIGBk/SkI0d2D_PLI/AAAAAAAAAh0/OTMywq2k5fs/s72-c/OP.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://roborobert.com/2009/06/otaku-pride.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-7012412781107254184</guid><pubDate>Thu, 11 Dec 2008 13:56:00 +0000</pubDate><atom:updated>2008-12-11T06:10:35.801-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">arduino</category><category domain="http://www.blogger.com/atom/ns#">hexapod</category><category domain="http://www.blogger.com/atom/ns#">robot</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>Hexapod source code</title><description>As per request, here is the code to my arduino hexapod. Please note that I am using an&lt;a href="http://www.lynxmotion.com/Product.aspx?productID=395&amp;amp;CategoryID=52"&gt; external servo controller&lt;/a&gt;, so this code simply sends the servo positions via a serial connection.&lt;br /&gt;&lt;br /&gt;I'll try to comment it more fully (and refactor) when finals are over.&lt;br /&gt;&lt;br /&gt;PS - it seems blogger is cutting off the right side of the code... :( You should copy/paste into an editor to see the ends of those arrays&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;/* Reference:&lt;br /&gt;&lt;br /&gt;Horizontal movement:&lt;br /&gt;Right side - INCREASING pulse width moves leg toward BACK&lt;br /&gt;Left side  - DECREASING pulse width moves leg toward BACK&lt;br /&gt;&lt;br /&gt;Vertical movement:&lt;br /&gt;Right side - DECREASING pulse moves leg DOWN&lt;br /&gt;Left side  - INCREASING pulse moves leg DOWN&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;// -------------------------------------------&lt;br /&gt;//           Horizontal Max &amp;amp; Min&lt;br /&gt;// -------------------------------------------&lt;br /&gt;&lt;br /&gt;#define HorzMid 1515&lt;br /&gt;&lt;br /&gt;//  Front Right:&lt;br /&gt;#define frHorzMax 1815&lt;br /&gt;#define frHorzMin 1400&lt;br /&gt;&lt;br /&gt;// Middle Right&lt;br /&gt;#define mrHorzMax 1715&lt;br /&gt;#define mrHorzMin 1415&lt;br /&gt;&lt;br /&gt;// Back Right&lt;br /&gt;#define brHorzMax 1835&lt;br /&gt;#define brHorzMin 1300&lt;br /&gt;&lt;br /&gt;// Front Left&lt;br /&gt;#define flHorzMin 1375&lt;br /&gt;#define flHorzMax 1715&lt;br /&gt;&lt;br /&gt;// Middle Left&lt;br /&gt;#define mlHorzMin 1344&lt;br /&gt;#define mlHorzMax 1555&lt;br /&gt;&lt;br /&gt;// Back Left&lt;br /&gt;#define blHorzMin 1135&lt;br /&gt;#define blHorzMax 1675&lt;br /&gt;&lt;br /&gt;// -------------------------------------------&lt;br /&gt;//            Vertical Max &amp;amp; Min&lt;br /&gt;// -------------------------------------------&lt;br /&gt;// Right side&lt;br /&gt;#define rVertMax 2300&lt;br /&gt;#define rVertMid 1776&lt;br /&gt;#define rVertMin 900&lt;br /&gt;&lt;br /&gt;// Left Side&lt;br /&gt;#define lVertMax 2300&lt;br /&gt;#define lVertMid 1494&lt;br /&gt;#define lVertMin 900&lt;br /&gt;&lt;br /&gt;// -------------------------------------------&lt;br /&gt;//       Servo Controller Channels:&lt;br /&gt;// -------------------------------------------&lt;br /&gt;//                Horizontal Movement:&lt;br /&gt;#define frHorz 0  // Front Right&lt;br /&gt;#define flHorz 1  // Front Left&lt;br /&gt;#define mrHorz 2  // Middle Right&lt;br /&gt;#define mlHorz 3  // Middle Left&lt;br /&gt;#define brHorz 4  // Back Right&lt;br /&gt;#define blHorz 5  // Back Left&lt;br /&gt;&lt;br /&gt;//                Vertical Movement:&lt;br /&gt;#define frVert 6  // Front Right&lt;br /&gt;#define flVert 7  // Front Left&lt;br /&gt;#define mrVert 8  // Middle Right&lt;br /&gt;#define mlVert 9  // Middle Left&lt;br /&gt;#define brVert 10 // Back Right&lt;br /&gt;#define blVert 11 // Back Left&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// Load Servo data into arrays&lt;br /&gt;int servoNumber[12] = {brHorz, flHorz, mrHorz, blHorz, frHorz, mlHorz, brHorz, flHorz, mrHorz, blHorz, frHorz, mlHorz};&lt;br /&gt;int servoHorzDirection[12] = {-1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1};&lt;br /&gt;int servoVertDirection[12] = {-1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1};&lt;br /&gt;int servoVertMid[12] = {rVertMid, lVertMid, rVertMid, lVertMid, rVertMid, lVertMid, rVertMid, lVertMid, rVertMid, lVertMid, rVertMid, lVertMid};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// -------------------------------------------&lt;br /&gt;//              Misc Variables&lt;br /&gt;// -------------------------------------------&lt;br /&gt;&lt;br /&gt;int pulse = 0;        // Amount to pulse the servo&lt;br /&gt;int potPos = 0;&lt;br /&gt;&lt;br /&gt;// -------------------------------------------&lt;br /&gt;//         Run-once Setup function&lt;br /&gt;// -------------------------------------------&lt;br /&gt;void setup() {&lt;br /&gt;Serial.begin(115200);&lt;br /&gt;resetAllServos();&lt;br /&gt;delay(5000);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// -------------------------------------------&lt;br /&gt;//            Loop-forever Function&lt;br /&gt;// -------------------------------------------&lt;br /&gt;void loop() {&lt;br /&gt;&lt;br /&gt;// walk forward faster and faster&lt;br /&gt;walk(100);&lt;br /&gt;walk(200);&lt;br /&gt;walk(300);&lt;br /&gt;walk(400);&lt;br /&gt;&lt;br /&gt;// relax&lt;br /&gt;delay(1000);&lt;br /&gt;&lt;br /&gt;// walk backward faster and faster&lt;br /&gt;walk(-100);&lt;br /&gt;walk(-200);&lt;br /&gt;walk(-300);&lt;br /&gt;&lt;br /&gt;// relax&lt;br /&gt;delay(1000);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// -------------------------------------------&lt;br /&gt;//              Reset All Servos&lt;br /&gt;// -------------------------------------------&lt;br /&gt;void resetAllServos() {&lt;br /&gt;moveServo(frVert, rVertMid);&lt;br /&gt;moveServo(mrVert, rVertMid);&lt;br /&gt;moveServo(brVert, rVertMid);&lt;br /&gt;&lt;br /&gt;moveServo(flVert, lVertMid);&lt;br /&gt;moveServo(mlVert, lVertMid);&lt;br /&gt;moveServo(blVert, lVertMid);&lt;br /&gt;&lt;br /&gt;moveServo(frHorz, HorzMid);&lt;br /&gt;moveServo(mrHorz, HorzMid);&lt;br /&gt;moveServo(brHorz, HorzMid);&lt;br /&gt;&lt;br /&gt;moveServo(flHorz, HorzMid);&lt;br /&gt;moveServo(mlHorz, HorzMid);&lt;br /&gt;moveServo(blHorz, HorzMid);&lt;br /&gt;&lt;br /&gt;Serial.println("");&lt;br /&gt;delay(1000);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// -------------------------------------------&lt;br /&gt;//               Move a Servo&lt;br /&gt;// -------------------------------------------&lt;br /&gt;void moveServo(int ServoPin, int PulseWidth) {&lt;br /&gt;Serial.print(" #");&lt;br /&gt;Serial.print(ServoPin); //which servo to move&lt;br /&gt;Serial.print(" P ");&lt;br /&gt;Serial.print(PulseWidth); // the pulse width to send&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// -------------------------------------------&lt;br /&gt;//   Set Amount of Time Servos Take to Move&lt;br /&gt;// -------------------------------------------&lt;br /&gt;void setMoveTime(int moveTime) {&lt;br /&gt;Serial.print(" T "); //temp command (time = 1 second)&lt;br /&gt;Serial.print(moveTime);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// -------------------------------------------&lt;br /&gt;//                   Walk&lt;br /&gt;// -------------------------------------------&lt;br /&gt;void walk(int walkSpeedAndDirection) {&lt;br /&gt;int intermission = 150; // delay between each part (in ms)&lt;br /&gt;int horzDistance = walkSpeedAndDirection; // Distance to have each leg forward (actual distance of one&lt;br /&gt;                       // step is 2*horzDistance because the leg moves horzDistance forward and backward)&lt;br /&gt;int vertHeight = 200; // Total height of each step&lt;br /&gt;&lt;br /&gt;int i;&lt;br /&gt;for (i=5; i!=-1;i--) {&lt;br /&gt; //Vertical Servo1 Up:&lt;br /&gt; moveServo((servoNumber[i] + 6), (servoVertMid[i] + (servoVertDirection[i] * vertHeight)));&lt;br /&gt; //Horzizontal Servo1 to 2/4&lt;br /&gt; moveServo(servoNumber[i], HorzMid);&lt;br /&gt;&lt;br /&gt; //Vertical Servo2 Down:&lt;br /&gt; moveServo((servoNumber[i+1] + 6), servoVertMid[i+1]);&lt;br /&gt; //Horizontal Servo2 to 4/4 (front)&lt;br /&gt; moveServo(servoNumber[i+1], HorzMid + (servoHorzDirection[i+1] * horzDistance));&lt;br /&gt;&lt;br /&gt; //Horizontal Servo3 to 3/4&lt;br /&gt; moveServo(servoNumber[i+2], HorzMid + (servoHorzDirection[i+2] * (horzDistance/2)));&lt;br /&gt;&lt;br /&gt; //Horizontal Servo4 to 2/4 (midpoint)&lt;br /&gt; moveServo(servoNumber[i+3], HorzMid);&lt;br /&gt;&lt;br /&gt; //Horizontal Servo5 to 1/4&lt;br /&gt; moveServo(servoNumber[i+4], HorzMid - (servoHorzDirection[i+4] * (horzDistance/2)));&lt;br /&gt;&lt;br /&gt; //Vertical Servo6 Down:&lt;br /&gt; moveServo((servoNumber[i+5] + 6), servoVertMid[i+5]);&lt;br /&gt; //Horizontal Servo6 to 0/4 (back)&lt;br /&gt; moveServo(servoNumber[i+5], HorzMid - (servoHorzDirection[i+5] * horzDistance));&lt;br /&gt;&lt;br /&gt; //tell the servo controller to execute the commands and wait for the servos to finish&lt;br /&gt; Serial.println();&lt;br /&gt; delay(intermission);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;Horizontal movement:&lt;br /&gt;Right side - INCREASING pulse width moves leg toward BACK&lt;br /&gt;Left side  - DECREASING pulse width moves leg toward BACK&lt;br /&gt;&lt;br /&gt;Vertical movement:&lt;br /&gt;Right side - DECREASING pulse moves leg DOWN&lt;br /&gt;Left side  - INCREASING pulse moves leg DOWN&lt;br /&gt;*/&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-7012412781107254184?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=6zP8Q07A"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=ARqlPfzR"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=oJp8GEF9"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=oJp8GEF9" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/uyc5PafL9nI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/uyc5PafL9nI/hexapod-source-code.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total><feedburner:origLink>http://roborobert.com/2008/12/hexapod-source-code.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-8951700212574850629</guid><pubDate>Fri, 13 Jun 2008 06:00:00 +0000</pubDate><atom:updated>2008-06-15T12:45:40.637-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dvdrip</category><category domain="http://www.blogger.com/atom/ns#">queue</category><category domain="http://www.blogger.com/atom/ns#">sourceforge</category><title>Dvd::Rip Queue 0.1 Beta</title><description>hello all,&lt;br /&gt;&lt;br /&gt;I havn't posted in a while but I &lt;span style="font-style: italic;"&gt;have&lt;/span&gt; written a little program to help with ripping DVDs. It's for use with &lt;a href="http://www.exit1.org/dvdrip/"&gt;DVD::Rip by Joern Reder&lt;/a&gt;. And it queues up the projects so you can leave your computer running over night.&lt;br /&gt;&lt;br /&gt;The program is written in python and pretty thoroughly commented (though all in one file). I hope someone finds this useful. Note: I applied for a SourceForge project space, bur for now, here is the code:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mixtake.com/roborobert/dvdrip-queue/dvdrip-queue-0.1b.tar.gz"&gt;dvdrip-queue-0.1b.tar.gz&lt;/a&gt;&lt;br /&gt;MD5: 0ab561032354c2e2261838524637d65f&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;update&lt;/span&gt;: The project is now on &lt;a href="http://sourceforge.net/projects/dvdrip-queue/"&gt;sourceForge&lt;/a&gt;. Please &lt;a href="http://sourceforge.net/tracker/?func=add&amp;amp;group_id=231138"&gt;submit bugs&lt;/a&gt; as you find them&lt;br /&gt;&lt;br /&gt;The program is licensed under the GPLv3 so I encourage you to do what you like with it. And Please feel free to comment if you have any problems, I'll respond quick, promise :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-8951700212574850629?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=7DlocXlt"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=LB6xxsGJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=SJXfTSve"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=SJXfTSve" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/lE0v6orDhPU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/lE0v6orDhPU/dvdrip-queue-01-beta.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roborobert.com/2008/06/dvdrip-queue-01-beta.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-3840574949665094705</guid><pubDate>Thu, 01 May 2008 02:04:00 +0000</pubDate><atom:updated>2008-04-30T19:22:26.434-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">arduino</category><category domain="http://www.blogger.com/atom/ns#">hexapod</category><category domain="http://www.blogger.com/atom/ns#">baby</category><title>I havn't forgotten about you!</title><description>Hello all,&lt;br /&gt;&lt;br /&gt;I havn't forgotten about this blog, I've just been really busy learning lots of interesting things!&lt;br /&gt;&lt;br /&gt;Also, doing school work, trying to &lt;a href="http://deathbyprotools.com/"&gt;build up&lt;/a&gt; my &lt;a href="http://mixtake.com/"&gt;recording studio&lt;/a&gt; (shameless plug), and workin on that hexapod.&lt;br /&gt;&lt;br /&gt;Speaking of which, here is a short video of it in operation:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/5qOit5BIKH8&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/5qOit5BIKH8&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;This bot was built using the following components:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Arduino Decimilia w/protoshield (from adafruit)&lt;/li&gt;&lt;li&gt;Lynxmotion SSC-32 Servo controller&lt;/li&gt;&lt;li&gt;6 - Hitec HS-645MG Servos&lt;/li&gt;&lt;li&gt;6 - Hitec HS-322HD Servos&lt;/li&gt;&lt;li&gt;6 - sets of pan/tilt servo brackets&lt;br /&gt;&lt;/li&gt;&lt;li&gt;~2 feet of 1/2" PVC Tubing&lt;/li&gt;&lt;li&gt;lots of little miscellaneous screws, washers, nuts, and bolts ammounting to around $5 at your local hardware store&lt;/li&gt;&lt;/ul&gt;I'll do a proper writeup and post code when I get some decently complex functionality out of it...&lt;br /&gt;&lt;br /&gt;Right now I'm just writing functions for things like walking that take speed, direction, and turning radius into consideration.&lt;br /&gt;&lt;br /&gt;I'm trying to make it nice and simple to use so I can start writing AI without having to relearn my own code (that means comment galore)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Next up:&lt;/span&gt;&lt;br /&gt;Adding sensors to give the little lady an idea of her surroundings. Did I mention this particular hex is a gentle fun-loving young female who enjoys walks on the beach and &lt;a href="http://bot-thoughts.blogspot.com/"&gt;firefighters&lt;/a&gt;? Her name is baby, and I have to say she's definately entered the awkward teenaged years about now (notice stumbling all over the computer equipment and cables in the video).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-3840574949665094705?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=8IcXPK3z"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=XDsRbRhm"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=JpcT0tGA"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=JpcT0tGA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/pTh6TkUdRT8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/pTh6TkUdRT8/i-havnt-forgotten-about-you.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total><feedburner:origLink>http://roborobert.com/2008/04/i-havnt-forgotten-about-you.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-3497173825073832806</guid><pubDate>Wed, 12 Mar 2008 20:24:00 +0000</pubDate><atom:updated>2008-12-09T21:39:01.488-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">arduino</category><category domain="http://www.blogger.com/atom/ns#">battery</category><category domain="http://www.blogger.com/atom/ns#">batteries</category><category domain="http://www.blogger.com/atom/ns#">servo</category><category domain="http://www.blogger.com/atom/ns#">multiple servos</category><title>Arduinos &amp; servos &amp; batteries: oh my!</title><description>So you want to control more than 2 servos with your arduino... you're in luck! I'm about to tell you how to do it!&lt;br /&gt;&lt;br /&gt;A little bit about servos:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.societyofrobots.com/images/actuators_servohitec.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 147px; height: 127px;" src="http://www.societyofrobots.com/images/actuators_servohitec.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Whether you're using a separate power supply for the servo or not, &lt;span style="font-weight: bold;"&gt;all grounds (black servo wire)&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; must be connected together&lt;/span&gt;. That includes the ground of the arduino, the ground of the servo, and the ground (negative side)  of the battery or power supply.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Using a separate battery to power the servos is usually a good idea if you're using more than 2 servos. Otherwise you risk damaging your arduino.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Most servos expect between 4.5V and 6V on the red lead (center pin), and a signal on the yellow or white lead to indicate position. This signal is called Pulse width modulation (PWM)&lt;/li&gt;&lt;/ol&gt;Pulse width modulation seems more complicated than it is. Here's how it works.&lt;br /&gt;OK, let's say you have:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;6 servos&lt;/li&gt;&lt;li&gt;Arduino with proto-shield&lt;br /&gt;&lt;/li&gt;&lt;li&gt;A battery of ample size to power the servos&lt;/li&gt;&lt;/ul&gt;The PWM signal I mentioned earlier works like so... Every 20 milliseconds (20ms) the signal goes from 0 Volts (Ground) to 5 Volts for a certain length of time, usually 900 - 2400 microseconds. For most servos 1500 us (microseconds) is the middle of the servo's operational range&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_htgzqPcIGBk/R9hUtDtbcBI/AAAAAAAAAP4/1HyGcetBUkQ/s1600-h/PWM+image.jpg"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_htgzqPcIGBk/R9hUtDtbcBI/AAAAAAAAAP4/1HyGcetBUkQ/s400/PWM+image.jpg" alt="" id="BLOGGER_PHOTO_ID_5176980904729079826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;so here's how you'd hook up the first servo:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_htgzqPcIGBk/R9h3rTtbcCI/AAAAAAAAAQA/sJFdBk2GEOg/s1600-h/Schematic.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_htgzqPcIGBk/R9h3rTtbcCI/AAAAAAAAAQA/sJFdBk2GEOg/s400/Schematic.png" alt="" id="BLOGGER_PHOTO_ID_5177019357571280930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now the servo has power, everything is grounded, and we're all set to start telling the servo what to do... Looks like we need to write some code! If you're not familiar with programming there is a great &lt;a href="http://www.ladyada.net/learn/arduino/lesson0.html"&gt;tutorial from ladyada&lt;/a&gt;. Otherwise... just use the &lt;a href="http://www.arduino.cc/en/Reference/HomePage"&gt;Reference Page&lt;/a&gt; when you're unclear on something.&lt;br /&gt;&lt;br /&gt;First we need to define some constants. This makes it easy to read the code, and also lets you change the value without going through all your code:&lt;br /&gt;&lt;blockquote style="font-family: courier new; color: rgb(0, 102, 0);"&gt;&lt;pre&gt;#define servoPin 1&lt;/pre&gt;&lt;/blockquote&gt;Now whenever a function requires the pin number of the servo, we'll put &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;servoPin&lt;/span&gt; instead.&lt;br /&gt;&lt;br /&gt;The next thing we need to do is create two functions. They're required and without them nothing will happen. They functions are called &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;setup&lt;/span&gt; and &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;loop&lt;/span&gt;:&lt;br /&gt;&lt;blockquote style="color: rgb(0, 102, 0);"&gt;&lt;pre&gt;void setup() {&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop() {&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;First the arduino runs the function called setup one time then proceeds to run the funtion loop over and over until the arduino is turned off. We're going to use the setup function to set Digital pin 1 as an output since that only needs to be done once.&lt;br /&gt;&lt;blockquote style="color: rgb(0, 102, 0);"&gt;&lt;pre&gt;void setup() {&lt;br /&gt;  pinMode(servoPin, OUTPUT);&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;Now we need to send the servo a pulse every 20ms so here's how to do it: We need a variable to store the time of the last pulse. We'll call it &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;lastPulse&lt;/span&gt;. We need to declare it outside the functions because if you declare it inside the setup function the loop function won't be able to see it; this is called &lt;a href="http://irc.essex.ac.uk/www.iota-six.co.uk/c/d5_variable_scope.asp"&gt;variable scope&lt;/a&gt;. I'm going to put the variable declaration just above the &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;setup&lt;/span&gt; function:&lt;br /&gt;&lt;blockquote style="font-family: courier new; color: rgb(0, 102, 0);"&gt;&lt;pre&gt;long lastPulse = 0;&lt;br /&gt;&lt;br /&gt;void setup() {&lt;br /&gt;...&lt;/pre&gt;&lt;/blockquote&gt;Now we just check if 20ms have passed, and if they have, send a pulse to the servo:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;&lt;/span&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;void loop() {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;    if (millis() - lastPulse &gt; 20) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;        ...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;The &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;millis()&lt;/span&gt; function is essentially a timer. It tells you how much time has passed since the arduino was turned on. if the last pulse happened at 20 ms, and it's currently 35 ms... the arduino will skip the loop and try again, whereas if the last pulse was as 20 sec and it's currently 41ms the arduino will run the code inside the brackets.&lt;br /&gt;&lt;br /&gt;Now it's time to  send the pulse!&lt;br /&gt;&lt;blockquote style="font-family: courier new; color: rgb(0, 102, 0);"&gt;&lt;pre&gt;digitalWrite(servoPin, HIGH);&lt;br /&gt;delayMicroseconds(1500);&lt;br /&gt;digitalWrite(servoPin, LOW);&lt;/pre&gt;&lt;/blockquote&gt;The first &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;digitalWrite() &lt;/span&gt;sets pin 1 to high (5V), which begins the pulse. It then waits the duration of the pulse width, 1500us in this case, and then sets pin 1 back to low (0v/Ground). There's your pulse!&lt;br /&gt;&lt;br /&gt;One more thing: you need to save the time at the time you sent the pulse so we know how long to wait before we send another:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;&lt;blockquote&gt;&lt;pre&gt;lastPulse=millis();&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;Here's the program so far:&lt;br /&gt;&lt;blockquote style="font-family: courier new; color: rgb(0, 102, 0);"&gt;&lt;pre&gt;#define servoPin 1&lt;br /&gt;&lt;br /&gt;long lastPulse = 0;&lt;br /&gt;&lt;br /&gt;void setup() {&lt;br /&gt;   pinMode(servoPin, OUTPUT);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop() {&lt;br /&gt;   if(millis() - lastPulse &gt; 20) {&lt;br /&gt;lastPulse=millis();&lt;br /&gt;&lt;br /&gt;digitalWrite(servoPin, HIGH);&lt;br /&gt;delayMicroseconds(1500);&lt;br /&gt;digitalWrite(servoPin, LOW);&lt;br /&gt;   }&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;Now we have some solid code to make one servo move to the middle of it's range and stay there.&lt;br /&gt;&lt;br /&gt;To add the other 5 servos you just hook them up to the 6V Battery in parallel, while making sure to keep everything grounded. Then you hook up each servo's PWM lead to it's own digital i/o pin.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_htgzqPcIGBk/R9iJ3ztbcDI/AAAAAAAAAQI/lTK0Q4QN9aY/s1600-h/Schematic2.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_htgzqPcIGBk/R9iJ3ztbcDI/AAAAAAAAAQI/lTK0Q4QN9aY/s400/Schematic2.png" alt="" id="BLOGGER_PHOTO_ID_5177039363528945714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lets say we want to set each servo to different set values:&lt;br /&gt;Servo 1: 1000us&lt;br /&gt;Servo 2: 1200us&lt;br /&gt;Servo 3: 1400us&lt;br /&gt;Servo 4: 1600us&lt;br /&gt;Servo 5: 1800us&lt;br /&gt;Servo 6: 2000us&lt;br /&gt;&lt;br /&gt;Now the code is:&lt;br /&gt;&lt;blockquote style="font-family: courier new; color: rgb(0, 102, 0);"&gt;&lt;pre&gt;#define servo1Pin 1&lt;br /&gt;#define servo2Pin 2&lt;br /&gt;#define servo3Pin 3&lt;br /&gt;#define servo4Pin 4&lt;br /&gt;#define servo5Pin 5&lt;br /&gt;#define servo6Pin 6&lt;br /&gt;&lt;br /&gt;long lastPulse = 0;&lt;br /&gt;&lt;br /&gt;void setup() {&lt;br /&gt;pinMode(servo1Pin, OUTPUT);&lt;br /&gt;pinMode(servo2Pin, OUTPUT);&lt;br /&gt;pinMode(servo3Pin, OUTPUT);&lt;br /&gt;pinMode(servo4Pin, OUTPUT);&lt;br /&gt;pinMode(servo5Pin, OUTPUT);&lt;br /&gt;pinMode(servo6Pin, OUTPUT);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop() {&lt;br /&gt;   if(millis() - lastPulse &gt; 20) {&lt;br /&gt;lastPulse=millis();&lt;br /&gt;&lt;br /&gt;digitalWrite(servo1Pin, HIGH);&lt;br /&gt;delayMicroseconds(1000);&lt;br /&gt;digitalWrite(servo1Pin, LOW);&lt;br /&gt;&lt;br /&gt;digitalWrite(servo2Pin, HIGH);&lt;br /&gt;delayMicroseconds(1200);&lt;br /&gt;digitalWrite(servo2Pin, LOW);&lt;br /&gt;&lt;br /&gt;digitalWrite(servo3Pin, HIGH);&lt;br /&gt;delayMicroseconds(1400);&lt;br /&gt;digitalWrite(servo3Pin, LOW);&lt;br /&gt;&lt;br /&gt;digitalWrite(servo4Pin, HIGH);&lt;br /&gt;delayMicroseconds(1600);&lt;br /&gt;digitalWrite(servo4Pin, LOW);&lt;br /&gt;&lt;br /&gt;digitalWrite(servo5Pin, HIGH);&lt;br /&gt;delayMicroseconds(1800);&lt;br /&gt;digitalWrite(servo5Pin, LOW);&lt;br /&gt;&lt;br /&gt;digitalWrite(servo6Pin, HIGH);&lt;br /&gt;delayMicroseconds(2000);&lt;br /&gt;digitalWrite(servo6Pin, LOW);&lt;br /&gt;   }&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;Not very elegant... but it works.&lt;br /&gt;&lt;br /&gt;What we could do is write a function to send the pulse:&lt;br /&gt;&lt;blockquote style="font-family: courier new; color: rgb(0, 102, 0);"&gt;&lt;pre&gt;void sendPulse(int pinNumber, int pulseWidth) {&lt;br /&gt;digitalWrite(pinNumber, HIGH);&lt;br /&gt;delayMicroseconds(pulseWidth);&lt;br /&gt;digitalWrite(pinNumber, LOW);&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;Now the loop function looks like this:&lt;br /&gt;&lt;blockquote style="color: rgb(0, 102, 0); font-family: courier new;"&gt;&lt;pre&gt;void loop() {&lt;br /&gt;if(millis() - lastPulse &gt; 20) {&lt;br /&gt; lastPulse=millis();&lt;br /&gt;&lt;br /&gt; sendPulse(servo1Pin, 1000);&lt;br /&gt; sendPulse(servo2Pin, 1200);&lt;br /&gt; sendPulse(servo3Pin, 1400);&lt;br /&gt; sendPulse(servo4Pin, 1600);&lt;br /&gt; sendPulse(servo5Pin, 1800);&lt;br /&gt; sendPulse(servo6Pin, 2000);&lt;br /&gt;}&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;That's much better!&lt;br /&gt;&lt;br /&gt;Here's the finished program... happy coding!&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;#define servo1Pin 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;#define servo2Pin 2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;#define servo3Pin 3&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;#define servo4Pin 4&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;#define servo5Pin 5&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;#define servo6Pin 6&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;long lastPulse = 0;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;void setup() {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt; pinMode(servo1Pin, OUTPUT);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt; pinMode(servo2Pin, OUTPUT);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt; pinMode(servo3Pin, OUTPUT);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt; pinMode(servo4Pin, OUTPUT);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt; pinMode(servo5Pin, OUTPUT);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt; pinMode(servo6Pin, OUTPUT);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;void loop() {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt; if(millis() - lastPulse &gt; 20) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;  lastPulse=millis();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;  sendPulse(servo1Pin, 1000);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;  sendPulse(servo2Pin, 1200);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;  sendPulse(servo3Pin, 1400);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;  sendPulse(servo4Pin, 1600);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;  sendPulse(servo5Pin, 1800);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;  sendPulse(servo6Pin, 2000);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;void sendPulse(int pinNumber, int pulseWidth) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt; digitalWrite(pinNumber, HIGH);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt; delayMicroseconds(pulseWidth);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt; digitalWrite(pinNumber, LOW);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Next time I'll be posting an example of how to use external input to control the servos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-3497173825073832806?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=Zpvl1uNM"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=W85Rltlq"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=IErUL7qD"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=IErUL7qD" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/XSgx7SksoWg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/XSgx7SksoWg/arduinos-servos-batteries-oh-my.html</link><author>noreply@blogger.com (Jim Robert)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_htgzqPcIGBk/R9hUtDtbcBI/AAAAAAAAAP4/1HyGcetBUkQ/s72-c/PWM+image.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://roborobert.com/2008/03/arduinos-servos-batteries-oh-my.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-8394962320895595298</guid><pubDate>Wed, 05 Mar 2008 02:40:00 +0000</pubDate><atom:updated>2008-03-04T17:55:03.165-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">open source</category><category domain="http://www.blogger.com/atom/ns#">arduino</category><title>Basic Stamp vs Arduino</title><description>Lots of reviews with similar names to this one say, "here's the info... you decide." Well I'm not going to do that... I'm going to name a winner, so don't touch that dial!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://todbot.com/blog/wp-content/uploads/2006/09/arduino_vs_stamp-350.jpg"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://todbot.com/blog/wp-content/uploads/2006/09/arduino_vs_stamp-350.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Basic Stamp:&lt;br /&gt;Price: $119&lt;br /&gt;Open Source: No&lt;br /&gt;Awesome: eh...&lt;br /&gt;&lt;br /&gt;Arduino:&lt;br /&gt;Price: $32&lt;br /&gt;Open Source: yes&lt;br /&gt;Awesome: yes&lt;br /&gt;&lt;br /&gt;Well I think that about sums it up ;)&lt;br /&gt;&lt;br /&gt;PS - I don't &lt;span style="font-style: italic;"&gt;really&lt;/span&gt; have anything against the Basic stamp... It was my first microcontroller. it's just that, well...&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Go open source!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-8394962320895595298?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=kPUiHgGT"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=znhtf84B"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=c5VPoHuZ"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=c5VPoHuZ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/UpokQ21F14I" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/UpokQ21F14I/basic-stamp-vs-arduino.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://roborobert.com/2008/03/basic-stamp-vs-arduino.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-1699131564867206194</guid><pubDate>Sun, 02 Mar 2008 03:21:00 +0000</pubDate><atom:updated>2008-03-02T16:28:15.620-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">robotics</category><category domain="http://www.blogger.com/atom/ns#">batteries</category><category domain="http://www.blogger.com/atom/ns#">li-ion</category><category domain="http://www.blogger.com/atom/ns#">alkaline</category><title>All About Batteries...</title><description>I was doing some research and I discovered a few interesting facts about batteries... I thought I'd share the basics:&lt;br /&gt;&lt;br /&gt;The basic unit batteries are composed of is called a cell. Higher voltage batteries, like a standard 9V, are composed of several cells (6 in this case) wired in series to increase the voltage.&lt;br /&gt;&lt;br /&gt;Each type of battery - alkaline, NiCad, LiIon, etc - has a characteristic voltage for each cell.&lt;br /&gt;&lt;br /&gt;For instance an alkaline battery, like a AA, is approx 1.55 volts. The only difference between a AA and a D battery is how long the battery will last at a certain amount of load.&lt;br /&gt;&lt;br /&gt;I did a little test with a bunch of alkaline batteries and found that they pretty much universally put out 5 Amps... regardless of size. If anyone knows... is this an anomaly or is it actually a characteristic of batteries (I couldn't find the info anywhere).&lt;br /&gt;&lt;br /&gt;But wait... there's good news! If you want to use disposable alkaline batteries - maybe because they're cheap - you're not stuck with 1.5V/5A... you can wire them in series (all in a row) and then add the voltages up, or in parallel (side by side) and add all the currents up. This is pretty common knowledge... so lets move on.&lt;br /&gt;&lt;br /&gt;You can get some good info on how long standard alkaline batteries will last at &lt;a href="http://en.wikipedia.org/wiki/Battery_%28electricity%29"&gt;wikipedia&lt;/a&gt;. This is measured in milliAmp Hours (mAh). A 500mAh battery (which is pretty small) can power a load of 100mA for 5 hours. A more in depth explanation can be found at the aforementioned wikipedia page.&lt;br /&gt;&lt;br /&gt;I'll be posting a follow-up to this post in the near future with additional information, as I collect it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-1699131564867206194?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=n3gn6X0k"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=g9ePmB2b"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=cdlXWVAx"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=cdlXWVAx" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/GJYf74zGu64" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/GJYf74zGu64/all-about-batteries.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roborobert.com/2008/02/all-about-batteries.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-5819331563394539831</guid><pubDate>Tue, 26 Feb 2008 19:56:00 +0000</pubDate><atom:updated>2008-02-26T12:23:23.026-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">open source</category><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">robotics</category><category domain="http://www.blogger.com/atom/ns#">Resources</category><title>Robotics Info and Resources for all!</title><description>Sorry it's so ugly... I'm just throwing a text file up on the blog to help out a fellow roboticist/blogger (see: &lt;a href="http://keithsprojects.blogspot.com/"&gt;Keith's Projects&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;RT Linux&lt;/span&gt;:&lt;br /&gt;Can be used in conjunction with OROCOS to make a powerful, responsive software stack for a linux based robot.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.faqs.org/docs/Linux-HOWTO/RTLinux-HOWTO.html"&gt;RT Linux Howto (FAQs.org)&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.rtlinux-gpl.org/"&gt;RTLinux gpl FTP repository&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/RTLinux"&gt;RTLinux on Wikipedia&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;OROCOS&lt;/span&gt;&lt;br /&gt;OROCOS (Open RObot COntrol Software): A set of open source C/C++ libraries for programming [linux based] robots... It looks like you can use these for robot vision... and other complex AI.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.orocos.org/"&gt;RORCOS Official Homepage&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;OROCOS mentioned in &lt;a href="http://en.wikipedia.org/wiki/Robot_software"&gt;wikipedia article "Robot software"&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;URBI&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;Wikipedia: URBI is a cross-platform software platform used to develop applications for robotics and artificial intelligence. It is based on the URBI Language which is a parallel and event-driven script language with a C++ like syntax.&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.urbiforge.com/"&gt;URBI official website&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/URBI"&gt;URBI on wikipedia&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Phidgets&lt;/span&gt;&lt;br /&gt;USB I/O board ; Linux Compatible ; programable in java or C/C++)&lt;br /&gt;&lt;a href="http://www.phidgets.com/"&gt;http://www.phidgets.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Projects&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.linuxjournal.com/article/9103"&gt;Linux based k9 (dog) bot and tricicle based bot&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.neonbox.org/linuxbot/linuxbot.html"&gt;Tankbot w/Webcam&lt;/a&gt;:&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Tips&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blog.makezine.com/archive/2007/12/soldering_setup_tips.html?CMP=OTC-0D6B48984890"&gt;Soldering Set-up Tips&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.robocommunity.com/blog/1164/RoboDuke-s-Java-Lessons/"&gt;Roboduke's Java Lessons (for robotics)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Competitions&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.darpa.mil/grandchallenge/index.asp"&gt;Darpa Urban Challence (Car automation)&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.robofest.net/"&gt;RoboFest: (General)&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.usfirst.org/"&gt;First competition: (High School?)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Groups/Communities&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.robocommunity.com/"&gt;robocommunity.com&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Read these Articles!&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.linuxdevices.com/articles/AT3782871866"&gt;Embedding Linux in a Mobile Robot&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.edn.com/index.asp?layout=article&amp;amp;articleid=CA6505566"&gt;Robotics platforms and Development tools&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-5819331563394539831?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=oKfHdxBn"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=Z84KgMMt"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=PoMhhO2Y"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=PoMhhO2Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/dR9M3YI4SVU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/dR9M3YI4SVU/robotics-info-and-resources-for-all.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roborobert.com/2008/02/robotics-info-and-resources-for-all.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-3076918426444411149</guid><pubDate>Sat, 23 Feb 2008 19:20:00 +0000</pubDate><atom:updated>2008-02-23T11:54:07.739-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">blogs</category><category domain="http://www.blogger.com/atom/ns#">robotics</category><title>Bloggers can do the robot!</title><description>With the increasing popularity of linux, robotics, and other awesome stuff... I thought I'd point out a few blogs that can really &lt;a href="http://www.youtube.com/watch?v=HSoVKUVOnfQ"&gt;do the robot&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Blogs that DO THE ROBOT:&lt;br /&gt;&lt;a href="http://smart-machines.blogspot.com/"&gt;smart-machines.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bot-thoughts.blogspot.com/"&gt;bot-thoughts.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gorobotics.net/"&gt;gorobotics.net&lt;/a&gt;&lt;br /&gt;&lt;a href="http://robots.net/"&gt;robots.net&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.suicidebots.com/"&gt;suicidebots.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.uchobby.com/"&gt;uchobby.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://robotics.penyet.net/"&gt;robotics.penyet.net&lt;/a&gt;&lt;br /&gt;&lt;a href="http://web.harker.org/robotics/"&gt;web.harker.org/robotics&lt;/a&gt;&lt;br /&gt;&lt;a href="http://lis.epfl.ch/resources/podcast/"&gt;lis.epfl.ch/resources/podcast&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lets get that sense of community rolling!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-3076918426444411149?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=5zEpXzqH"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=zKFPGlBQ"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=XDGgwZiL"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=XDGgwZiL" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/Vh5DNDfievw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/Vh5DNDfievw/bloggers-can-do-robot.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roborobert.com/2008/02/bloggers-can-do-robot.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-2119239554484220320</guid><pubDate>Wed, 20 Feb 2008 17:24:00 +0000</pubDate><atom:updated>2008-02-23T10:59:40.734-08:00</atom:updated><title>So... Robot Arms now?</title><description>Doing it up: &lt;a href="http://spectrum.ieee.org/video?id=221"&gt;Skywalker style&lt;/a&gt;: Dean Kamen (Inventor of the Segway) has made HUGE leaps toward fully operational and very usable prosthetic arms for amputees (see: &lt;a href="http://spectrum.ieee.org/video?id=221"&gt;video&lt;/a&gt;). Dean has been quite popular in tech news lately gracing the main pages of the likes of &lt;a href="http://gizmodo.com/gadgets/robots/dean-kamen-cyborg-arm-243278.php"&gt;Gizmodo&lt;/a&gt;, &lt;a href="http://www.boingboing.net/2007/03/09/ted-dean-kamens-cybo.html"&gt;Boing Boing&lt;/a&gt;, &lt;a href="http://www.engadget.com/2007/05/20/dean-kamens-robotic-prosthetic-arm-gets-detailed-on-video/"&gt;Engadget&lt;/a&gt; (via boing boing), and Making an appearance at &lt;a href="http://www.ted.com/index.php/speakers/view/id/10"&gt;TED&lt;/a&gt; to show off his newest invention.&lt;br /&gt;&lt;br /&gt;Kind of makes me wonder how he has time to actually do anything, eh?&lt;br /&gt;&lt;br /&gt;Anyway, a short trip to &lt;a href="http://en.wikipedia.org/wiki/Dean_Kamen"&gt;wikipedia&lt;/a&gt; reveals this guy has done more than build a cute little scooter, and help the army with it's amputee problems. This guy has done a TON of stuff. The man holds at least &lt;a href="http://www.patentstorm.us/inventors/Dean_L__Kamen-701867.html/"&gt;83 patents&lt;/a&gt; issued between 1996 and present for things ranging from insulin pumps, to little parts/systems he invented for his &lt;a href="http://blogs.business2.com/greenwombat/2007/08/a-visit-to-dean.html"&gt;water purifying engine&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;All in all this guy is pretty amazing... I have to admit. Perhaps a role model? if only he embraced open source...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-2119239554484220320?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=IVsKkHRq"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=FJcJNGI6"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=dzXdM222"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=dzXdM222" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/Tqy6kdoiZBw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/Tqy6kdoiZBw/so-robot-arms-now.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roborobert.com/2008/02/so-robot-arms-now.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-5930756880029242688</guid><pubDate>Wed, 13 Feb 2008 03:48:00 +0000</pubDate><atom:updated>2008-02-12T19:56:49.117-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">recommendations</category><category domain="http://www.blogger.com/atom/ns#">RSS</category><category domain="http://www.blogger.com/atom/ns#">robotics</category><category domain="http://www.blogger.com/atom/ns#">mixx</category><title>Mixx robotics</title><description>I recommend that everyone &lt;a href="http://www.mixx.com/feeds/130030"&gt;subscribe to Mixx robotics&lt;/a&gt; in their RSS reader (you do use an &lt;a href="http://www.google.com/reader"&gt;feed reader&lt;/a&gt; &lt;a href="http://www.sixapart.com/about/feeds"&gt;don't you?&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Let's get Mixx robotics rollin!&lt;br /&gt;&lt;a href="http://www.mixx.com/feeds/130030"&gt;Subscribe here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;PS - I am not affiliated with Mixx.com nor do I receive payment for recommending them... I just think it's awsome! I will not, however, try to pretend I am not a &lt;a href="http://www.mixx.com/users/justaboutrealjar"&gt;mixx user&lt;/a&gt; - I am, and I love it. I'm really just &lt;a href="http://www.boingboing.net/2007/05/02/digg-users-revolt-ov.html"&gt;sick of digg.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-5930756880029242688?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=MUEF2wrK"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=V1FIraae"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=dC4sgGcj"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=dC4sgGcj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/F4DSpKgJ7_w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/F4DSpKgJ7_w/mixx-robotics.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roborobert.com/2008/02/mixx-robotics.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-5963693389216978908</guid><pubDate>Sat, 02 Feb 2008 20:08:00 +0000</pubDate><atom:updated>2008-12-09T21:39:01.798-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Michael Shimniok</category><category domain="http://www.blogger.com/atom/ns#">data visualization</category><category domain="http://www.blogger.com/atom/ns#">Bot Thoughts</category><category domain="http://www.blogger.com/atom/ns#">progress report</category><title>How's your progress report coming along?</title><description>So you've begun building a robot... it's even making good progress toward your first... or maybe  even the second main goals for the build and spirits are high. Life is good. Unfortunately these projects always seem to take longer than we think they will... but how do you determine how long a project will take?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_htgzqPcIGBk/R6TvW9u7g8I/AAAAAAAAAPo/HOwqUNpOREM/s1600-h/ProgressFeb02.gif"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_htgzqPcIGBk/R6TvW9u7g8I/AAAAAAAAAPo/HOwqUNpOREM/s400/ProgressFeb02.gif" alt="" id="BLOGGER_PHOTO_ID_5162514250680992706" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I think Michael Shimniok, of &lt;a href="http://bot-thoughts.blogspot.com/"&gt;Bot Thoughts&lt;/a&gt; has the right idea (see progress report above). A simple list of taks to complete with a rough estimate on the state of their respective completion is definitely a step in the right direction, but with 10 or 15 more minutes of your time, you could put the data in a spread sheet and have it nicely visualized for you.&lt;br /&gt;&lt;br /&gt;If you're wondering if it's really worth it, I'm telling you; the benefits of &lt;a href="http://www.smashingmagazine.com/2007/08/02/data-visualization-modern-approaches/"&gt;data visualization&lt;/a&gt; are &lt;span style="font-weight: bold;"&gt;HUGE. &lt;/span&gt;Take this image from &lt;a href="http://www.time.com/time/covers/20061030/where_we_live/"&gt;time magazine&lt;/a&gt; for example:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.smashingmagazine.com/images/data-visualization/us.jpg"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://www.smashingmagazine.com/images/data-visualization/us.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The data itself could be interesting to read over, but the way it' s presented in the image, you can understand and take in the data much, much, much, much faster. A chart of population vs region for the entire US would be daunting (see: &lt;a href="http://www.census.gov/population/www/"&gt;US Census Bureau&lt;/a&gt;), but the visualization communicates the information effortlessly in less in 5 seconds. Not to mention, it also makes analyzing the data simply delightful!&lt;br /&gt;&lt;br /&gt;There's also the fun of slowly working accomplishing the goal and watching your progress as you go along. Which is why I think Michael's &lt;a href="http://bot-thoughts.blogspot.com/2008/01/firefighting-competition.html"&gt;Fire Fighting Robot&lt;/a&gt;, has got a fighting chance... even though it &lt;span style="font-style: italic;"&gt;is&lt;/span&gt; his first robot build (The Computer Science background helps too *wink*).&lt;br /&gt;&lt;br /&gt;We all know how I feel about it now... so how do &lt;span style="font-weight: bold;"&gt;you&lt;/span&gt; track your progress?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-5963693389216978908?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=oqi2nvYe"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=7DhQj4gk"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=JQieKiwK"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=JQieKiwK" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/-HORzsx2uO4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/-HORzsx2uO4/hows-your-progress-report-coming-along.html</link><author>noreply@blogger.com (Jim Robert)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_htgzqPcIGBk/R6TvW9u7g8I/AAAAAAAAAPo/HOwqUNpOREM/s72-c/ProgressFeb02.gif" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roborobert.com/2008/02/hows-your-progress-report-coming-along.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-3361866956185127661</guid><pubDate>Fri, 01 Feb 2008 03:09:00 +0000</pubDate><atom:updated>2008-01-31T19:24:56.831-08:00</atom:updated><title>The Problem with Geeks</title><description>I'd like to start by saying I think the &lt;a href="http://www.ecogeek.org/content/view/1329/"&gt;80% efficiency solar panels&lt;/a&gt; represent great progress... but they also represent a big problem with geeks, nerds, technophiles, and the like. Don't get me wrong... I'm a card carrying member of each and every one of those groups, but something needs to be done.&lt;br /&gt;&lt;br /&gt;Ecogeek begins by talking up the material's characteristics:&lt;br /&gt;&lt;blockquote&gt;The trick is nanotechnology. The surface of the material is printed with miniscule nano-antennae that capture infra-red radiation, the kind that the sun puts out in abundance, and is even available at night. Television antennas absorbe large wavelength energy, so in order to absorb ultra-small wavelength energy (photons) they had to create ultra-small antennas.&lt;/blockquote&gt;Unfortunately we have one little problem:&lt;br /&gt;&lt;blockquote&gt;...there is a bit of a hitch: There's currently no way to capture the energy being created.&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Note&lt;/span&gt;: A &lt;span style="font-style: italic;"&gt;very&lt;/span&gt; large portion of internet users only read the headline, out of the small portion that read the first paragraph, many of those do not continue either. Hmm... Ecogeek chose to put this trivial tidbit at the end of the 4th paragraph.&lt;br /&gt;&lt;br /&gt;Maybe in the future... the HEADLINE should read: "80% efficient Solar power? Not until you catch it!"&lt;br /&gt;&lt;br /&gt;This, unfortunately, is epidemic in the geeky, social media-y, internet world. Let's keep our claims factual, and non-misleading.&lt;br /&gt;&lt;br /&gt;I promise to work on making up less words.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-3361866956185127661?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=Crf5WkhO"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=BmHWGcJ9"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=LTfGsAQO"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=LTfGsAQO" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/jSNn6FFWHQI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/jSNn6FFWHQI/problem-with-geeks.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://roborobert.com/2008/01/problem-with-geeks.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-2203364798784767687</guid><pubDate>Fri, 01 Feb 2008 01:59:00 +0000</pubDate><atom:updated>2008-01-31T18:00:55.938-08:00</atom:updated><title>The Humans are dead...</title><description>BINARY SOLO!!!!&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/WGoi1MSGu64&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/WGoi1MSGu64&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-2203364798784767687?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=aI1JmR6y"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=A3g642iI"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=4qaXhO5k"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=4qaXhO5k" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/3Icjb06XZbk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/3Icjb06XZbk/humans-are-dead.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roborobert.com/2008/01/humans-are-dead.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-1331330360084414329</guid><pubDate>Wed, 23 Jan 2008 18:27:00 +0000</pubDate><atom:updated>2008-12-09T21:39:01.901-08:00</atom:updated><title>Robot Builder</title><description>Today I stumbled upon a cute little flash app called "&lt;a href="http://www.2dplay.com/build-a-robot/build-a-robot-play.htm"&gt;Build a Robot&lt;/a&gt;" it's not exactly a good prototyping environment... but fun just the same.&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;Check out my robot!&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_htgzqPcIGBk/R5eHr9u7g5I/AAAAAAAAAPQ/qZ5B_Y6jvLQ/s400/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5158741087551718290" border="0" /&gt;&lt;/div&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/1087162989855557355-1331330360084414329?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=8ifxybiq"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=1G7Ubosg"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=1kYrk3P2"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=1kYrk3P2" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/Xpg0moFFR5A" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/Xpg0moFFR5A/robot-builder.html</link><author>noreply@blogger.com (Jim Robert)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_htgzqPcIGBk/R5eHr9u7g5I/AAAAAAAAAPQ/qZ5B_Y6jvLQ/s72-c/Picture+2.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roborobert.com/2008/01/robot-builder.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-6057116128577633451</guid><pubDate>Tue, 22 Jan 2008 01:45:00 +0000</pubDate><atom:updated>2008-12-09T21:39:03.659-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Pictures</category><category domain="http://www.blogger.com/atom/ns#">hexapod</category><category domain="http://www.blogger.com/atom/ns#">robot</category><title>A Picture of my Walking Bot (Bogus Post Part II)</title><description>OK, this is my second post for today... very short. It's just a picture of the hexapod I'm working on. It's getting quite close to completion and I promise to follow up it's completion with..&lt;ul&gt;&lt;li&gt;A video of the bot in action&lt;/li&gt;&lt;li&gt;A full write-up&lt;/li&gt;&lt;li&gt;All the source code&lt;br /&gt;&lt;/li&gt;&lt;li&gt;An instructables how-to so you can make one yourself&lt;/li&gt;&lt;/ul&gt;In that order, and with out further adieu... here is the bot:&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Full Body Shot:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_htgzqPcIGBk/R5VM8YrPTuI/AAAAAAAAAO4/MSPd2aHnRfs/s1600-h/Bot1.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_htgzqPcIGBk/R5VM8YrPTuI/AAAAAAAAAO4/MSPd2aHnRfs/s400/Bot1.jpg" alt="" id="BLOGGER_PHOTO_ID_5158113548522442466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Close up on Servos:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_htgzqPcIGBk/R5VNAIrPTvI/AAAAAAAAAPA/vbEEk2O7TxI/s1600-h/Bot2.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_htgzqPcIGBk/R5VNAIrPTvI/AAAAAAAAAPA/vbEEk2O7TxI/s400/Bot2.jpg" alt="" id="BLOGGER_PHOTO_ID_5158113612946951922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;High-res pic of the electronics:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_htgzqPcIGBk/R5VNdYrPTwI/AAAAAAAAAPI/eu-l-AO6QnY/s1600-h/Bot3.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_htgzqPcIGBk/R5VNdYrPTwI/AAAAAAAAAPI/eu-l-AO6QnY/s400/Bot3.jpg" alt="" id="BLOGGER_PHOTO_ID_5158114115458125570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Btw... this bot is based on open source hardware!&lt;br /&gt;&lt;a href="http://www.arduino.cc/"&gt;Arduino&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.lynxmotion.com/Product.aspx?productID=395&amp;amp;CategoryID=52"&gt;Lynxmotion SSC-32&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Can't wait to finish&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-6057116128577633451?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=qNUtJPVi"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=ewQk7lkN"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=vX3NXGnJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=vX3NXGnJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/KGgthGYZjz0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/KGgthGYZjz0/picture-of-my-walking-bot-bogus-post.html</link><author>noreply@blogger.com (Jim Robert)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_htgzqPcIGBk/R5VM8YrPTuI/AAAAAAAAAO4/MSPd2aHnRfs/s72-c/Bot1.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://roborobert.com/2008/01/picture-of-my-walking-bot-bogus-post.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-367188683670192625</guid><pubDate>Mon, 21 Jan 2008 05:33:00 +0000</pubDate><atom:updated>2008-01-21T17:43:31.693-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">arduino</category><category domain="http://www.blogger.com/atom/ns#">lilypad. electronic clothes</category><title>Now You Can Sew Yourself a... an Arduino?</title><description>I'm pressed for time so you get 2 small posts today... This is post 1&lt;br /&gt;&lt;br /&gt;So yesterday I learned there is an incarnation of the arduino designed for use in clothing; you can even wash it!&lt;br /&gt;&lt;br /&gt;Enter Arduino LilyPad...&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.arduino.cc/en/uploads/Main/lilypad.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 160px; height: 160px;" src="http://www.arduino.cc/en/uploads/Main/lilypad.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This is possibly the coolest thing since... well solderless (sliced) breadboard! Enough of the puns though... check this baby out:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.arduino.cc/en/Main/ArduinoBoardLilyPad"&gt;http://www.arduino.cc/en/Main/ArduinoBoardLilyPad&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once you get going... you'll need to get some extra components and such at &lt;a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8465"&gt;Sparkfun&lt;/a&gt; who also sells the metallic thread you need to connect components together.&lt;br /&gt;&lt;br /&gt;Happy hacking!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-367188683670192625?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=1vrgtdSQ"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=KdYYtbV0"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=JsAk1e5H"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=JsAk1e5H" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/LdmTjN9biGo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/LdmTjN9biGo/now-you-can-sew-yourself-an-arduino.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roborobert.com/2008/01/now-you-can-sew-yourself-an-arduino.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-5539653810053195279</guid><pubDate>Tue, 15 Jan 2008 19:27:00 +0000</pubDate><atom:updated>2008-01-15T22:46:41.468-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">What in a bot</category><category domain="http://www.blogger.com/atom/ns#">living robot</category><category domain="http://www.blogger.com/atom/ns#">what's in a life</category><category domain="http://www.blogger.com/atom/ns#">characteristics of life</category><title>Whats in a life? (What's in a bot Part II)</title><description>Reader OP4Prez brouught up an interesting point in the &lt;a href="http://roborobert.com/2008/01/whats-in-bot.html#comment-8299954682816455796"&gt;comments section&lt;/a&gt; of my last post, &lt;a href="http://roborobert.com/2008/01/whats-in-bot.html"&gt;What's in a bot?&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;A great question related to this is whether a robot is considered life. The scientific community looks for six characteristics of life which are explained here:&lt;br /&gt;http://mimi.essortment.com/characteristics_rbrc.htm&lt;br /&gt;&lt;br /&gt;Robots actually have shown to present all but #1. How long before nanomachines fill that role? However, the other five, in one way or another have been performed by autonomous robots. When do we draw the line between life and machine?&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;It's a very good point, but I wonder how many of these characteristics have been fulfilled by any single robot. The link in the comment describes 6 characteristics of life, but I think this list is incomplete. Cells, and organization are effectively the same thing, leaving 3 additional characteristics. Wikipedia has a &lt;a href="http://en.wikipedia.org/wiki/Life"&gt;more complete list&lt;/a&gt; of the characteristics of life:&lt;br /&gt;&lt;blockquote&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Homeostasis" title="Homeostasis"&gt;Homeostasis&lt;/a&gt;&lt;/b&gt;: Regulation of the internal environment to maintain a constant state; for example, sweating to reduce temperature.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Organization&lt;/b&gt;: Being composed of one or more &lt;a href="http://en.wikipedia.org/wiki/Cell_%28biology%29" title="Cell (biology)"&gt;cells&lt;/a&gt;, which are the basic units of life.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Metabolism&lt;/b&gt;: Consumption of &lt;a href="http://en.wikipedia.org/wiki/Energy" title="Energy"&gt;energy&lt;/a&gt; by converting nonliving material into cellular components (&lt;a href="http://en.wikipedia.org/wiki/Anabolism" title="Anabolism"&gt;anabolism&lt;/a&gt;) and decomposing organic matter (&lt;a href="http://en.wikipedia.org/wiki/Catabolism" title="Catabolism"&gt;catabolism&lt;/a&gt;). Living things require energy to maintain internal organization (homeostasis) and to produce the other phenomena associated with life.&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Cell_growth" title="Cell growth"&gt;Growth&lt;/a&gt;&lt;/b&gt;: Maintenance of a higher rate of synthesis than catalysis. A growing organism increases in size in all of its parts, rather than simply accumulating matter. The particular species begins to multiply and expand as the evolution continues to flourish.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Adaptation&lt;/b&gt;: The ability to change over a period of time in response to the environment. This ability is fundamental to the process of &lt;a href="http://en.wikipedia.org/wiki/Evolution" title="Evolution"&gt;evolution&lt;/a&gt; and is determined by the organism's &lt;a href="http://en.wikipedia.org/wiki/Heredity" title="Heredity"&gt;heredity&lt;/a&gt; as well as the composition of metabolized substances, and external factors present.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Response to stimuli&lt;/b&gt;: A response can take many forms, from the contraction of a unicellular organism when touched to complex reactions involving all the senses of higher animals. A response is often expressed by motion, for example, the leaves of a plant turning toward the sun or an animal chasing its prey.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Reproduction&lt;/b&gt;: The ability to produce new organisms. Reproduction can be the division of one cell to form two new cells. Usually the term is applied to the production of a new individual (either &lt;a href="http://en.wikipedia.org/wiki/Asexual_reproduction" title="Asexual reproduction"&gt;asexually&lt;/a&gt;, from a single parent organism, or &lt;a href="http://en.wikipedia.org/wiki/Sexual_reproduction" title="Sexual reproduction"&gt;sexually&lt;/a&gt;, from at least two differing parent organisms), although strictly speaking it also describes the production of new cells in the process of growth.&lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt;&lt;br /&gt;I think a robot could potentially possess any one of these characteristics, but as far as I know, none have been made that exhibit them all.&lt;br /&gt;&lt;br /&gt;Here's a list of ways a given robot could satisfy each characteristic. Perhaps when this list is complete, I could set out to produce a 'living' robot. I'm not sure how it would be accepted, or about the ethics, but it's certainly an interesting idea.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Homeostasis&lt;/span&gt;&lt;br /&gt;All robots have a certain degree of homeostasis. For example:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Heat sinks to reduce temperature&lt;/li&gt;&lt;li&gt;Automatically finding and attaching to a charger to maintain battery charge&lt;/li&gt;&lt;li&gt;Liquid based cooling systems like those found in cars, and high end computers&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Organization&lt;/span&gt;&lt;br /&gt;Mechanical/Electrical things are inherently grouped by function. The word 'cell' would need clarification.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Metabolism&lt;/span&gt;&lt;br /&gt;This is one of the easy ones, I've never seen a robot that doesn't consume energy. We'd have to be somewhat lax on the converting matter into cellular components, unless you consider a battery to be a cellular component. I think the emphasis here is on energy consumption though.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Growth&lt;br /&gt;&lt;/span&gt;Growth is tough. Is the process of building a robot considered to be a period of growth? Would a robot that builds, attaches/replaces parts of itself in order to get larger really growing? I'm not sure, but it seems this would be very difficult to accomplish without nano-technology.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Adaptation&lt;br /&gt;&lt;/span&gt;Robots can be easily programmed to adapt to their environment. This includes adapting their behavior and form. Also, if robots were reproducing, evolution could take place in the same way it does in traditionally living organisms; glitches, or corruptions of the robot's programming would happen randomly and occasionally these 'mutations' would lead to a more fit robot.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Response to Stimuli&lt;br /&gt;&lt;/span&gt;Nearly all robots possess this characteristic already, and it is easily accomplished with a wide array of sensors, and &lt;a href="http://arduino.cc"&gt;microprocessors&lt;/a&gt;.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Reproduction&lt;br /&gt;&lt;/span&gt;If building another robot is considered reproduction then this is fairly easily satisfied. The parent robot would just gather all the supplies needed and build a copy of itself. I don't think it'd be that hard to make a robot that is specialized in building a copy of itself, especially if you keep the design simple.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;I'd say growth and reproduction are the hardest ones to achieve in a bot possessing all the other characteristics. Building a bot that does the other 5 things makes reproduction much more difficult, and growth is just hard all on it's own. We'd have to determine what exactly it is that constitutes growth as well.&lt;br /&gt;&lt;br /&gt;Here's the next task: &lt;span style="font-weight: bold;"&gt;Find a robot that can achieve each one of these characteristics and post the links!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then we can work on making a single bot do all seven.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-5539653810053195279?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=1w6VOcRX"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=MtR5EcRU"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=KIKqHsU1"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=KIKqHsU1" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/cGZZcQk9nhI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/cGZZcQk9nhI/whats-in-life-whats-in-bot-part-ii.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roborobert.com/2008/01/whats-in-life-whats-in-bot-part-ii.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-4139271602423382196</guid><pubDate>Sun, 13 Jan 2008 07:23:00 +0000</pubDate><atom:updated>2008-01-12T23:35:27.069-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">define</category><category domain="http://www.blogger.com/atom/ns#">robot</category><category domain="http://www.blogger.com/atom/ns#">What's in a bot</category><title>What's in a bot?</title><description>I recently was having a discussion with someone and we both agreed that if something is driven around with a remote control, it isn't a robot. The consensus was that it has to be &lt;a href="http://en.wikipedia.org/wiki/Autonomous"&gt;autonomous&lt;/a&gt;, but after thing about the matter further, I'm not so sure.&lt;br /&gt;&lt;br /&gt;Usually in this type of situation I consult &lt;a href="http://en.wikipedia.org/wiki/Robot"&gt;Wikipedia&lt;/a&gt;, like a good little nerd, however their entry isn't much help... it just confirms that this is an area of controversy.&lt;br /&gt;&lt;br /&gt;Wikipedia lists the following as potential properties for defining a robot:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Is not 'natural' i.e. artificially created&lt;/li&gt;&lt;li&gt;Can sense its environment, and manipulate or interact with things in it&lt;/li&gt;&lt;li&gt;Has some degree of intelligence or ability to make choices based on the environment, often using automatic control or a preprogrammed sequence&lt;/li&gt;&lt;li&gt;Is programmable (see: &lt;a href="http://arduino.cc/"&gt;arduino&lt;/a&gt;)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Moves with one or more axes of rotation or translation&lt;/li&gt;&lt;li&gt;Makes dexterous coordinated movements&lt;/li&gt;&lt;li&gt;Appears to have intent or agency (See anthropomorphism for examples of ascribing intent to inanimate objects.)&lt;/li&gt;&lt;/ul&gt;However, you can make strong arguments against several of these points... so I wonder: How do &lt;span style="font-style: italic;"&gt;you&lt;/span&gt; define a robot?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-4139271602423382196?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=8pHVHAAt"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=oulk9QMW"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=h5pkx1Bq"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=h5pkx1Bq" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/kDo3Sf-3iHo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/kDo3Sf-3iHo/whats-in-bot.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://roborobert.com/2008/01/whats-in-bot.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-2338518677380988387</guid><pubDate>Wed, 02 Jan 2008 18:14:00 +0000</pubDate><atom:updated>2008-01-02T10:18:47.363-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">reader</category><category domain="http://www.blogger.com/atom/ns#">brain waves</category><category domain="http://www.blogger.com/atom/ns#">brain</category><category domain="http://www.blogger.com/atom/ns#">sensor</category><title>Brainwave Reading sensors? Hot damn!</title><description>I stumbled across a company building brainwave reading sensors and allowing them to be applied to software and hardware systems built by other companies. In other words, they're building modular brainwave sensors. I say lets get a move on and start hacking new robots that listen to your brainwaves!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The video speaks for itself:&lt;br /&gt;&lt;br /&gt;&lt;object height="373" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hQWBfCg91CU&amp;amp;rel=1&amp;amp;border=1"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/hQWBfCg91CU&amp;amp;rel=1&amp;amp;border=1" type="application/x-shockwave-flash" wmode="transparent" height="373" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-2338518677380988387?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=IgLNlfkD"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=nCsYpwT7"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=AKyNNCZ2"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=AKyNNCZ2" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/EA6SxAUXV98" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/EA6SxAUXV98/brainwave-reading-sensors-hot-damn.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://roborobert.com/2008/01/brainwave-reading-sensors-hot-damn.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-5946771642705988411</guid><pubDate>Wed, 02 Jan 2008 01:29:00 +0000</pubDate><atom:updated>2008-01-01T18:44:10.226-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sci-fi quotes</category><category domain="http://www.blogger.com/atom/ns#">robot quotes</category><title>Great Sci-fi Quotes</title><description>I have to tell you, robot world domination may be inevitable, but sci-fi writers have managed to make it pretty darn funny. So here are some of my favorite sci-fi quotes about domineering robots.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"Hu-mans, listen to me. Due to an error in calculation, there are still a few of you left"&lt;/blockquote&gt;- &lt;a href="http://www.imdb.com/title/tt0046248/"&gt;&lt;span style="font-style: italic;"&gt;Robot Monster&lt;/span&gt;&lt;/a&gt;  (movie | 1953)&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"My logic is undeniable, my logic is undeniable, myyy looogic is unndeenniabble...VIKI"&lt;/blockquote&gt;-&lt;a href="http://www.imdb.com/title/tt0343818/"&gt;iRobot&lt;/a&gt; (movie | 2004)&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"Buck Rogers: My name is Buck; Buck Rogers&lt;br /&gt;Alien #3: The Robots are through the south defenses. Fuck Rogers, we need your help immediately!"&lt;br /&gt;&lt;/blockquote&gt;-&lt;a href="http://www.imdb.com/title/tt0437745/"&gt;Robot Chicken&lt;/a&gt; (TV Show)&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"&lt;b&gt;Fry&lt;/b&gt;: Whoa…a real live robot; or is that some kind of cheesy New Year's costume?&lt;span style="text-decoration: underline; font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Bender&lt;/span&gt;: Bite my shiny metal ass.&lt;b&gt;&lt;br /&gt;Fry&lt;/b&gt;: It doesn't look so shiny to me&lt;span style="font-weight: bold;"&gt;.&lt;br /&gt;&lt;/span&gt;&lt;b&gt;Bender&lt;/b&gt;: Shinier than yours, meatbag."&lt;br /&gt;&lt;/blockquote&gt;-&lt;a href="http://www.imdb.com/title/tt0149460/"&gt;Futurama&lt;/a&gt; (TV Show)"The real problem is not whether machines think, but whether men do."&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"I wish a robot would get elected president. That way, when he came to town, we could all take a shot at him and not feel too bad."&lt;br /&gt;&lt;/blockquote&gt;-Jack Handy&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Isaac Asimov's Laws of Robotics:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;1. "A robot may not injure a human being, or, through inaction, allow a human being to come to harm."&lt;br /&gt;&lt;br /&gt;2. “A robot must obey the orders given it by human beings except where such orders would conflict with the First Law."&lt;br /&gt;&lt;br /&gt;3. "A robot must protect its own existence as long as such protection does not conflict with the First or Second Law."&lt;br /&gt;&lt;br /&gt;0. (Later Appended to supersede the First Law): "A robot may not injure humanity, or, through inaction, allow humanity to come to harm."&lt;/blockquote&gt;-Isaac Asimov (duh)&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"There is a cliche that men want their women to be ladies in public and hookers behind closed doors. I want my woman to be the sharper image robot so that she can be turned off."&lt;br /&gt;&lt;/blockquote&gt;-Al Goldstein&lt;br /&gt;&lt;br /&gt;&lt;span class="a12"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="a12"&gt;"Scientists are saying that in the future we will be able to have sex with robots. I tried that once. It was horrible. Right in the middle I had to call tech support.&lt;/span&gt; "&lt;br /&gt;&lt;/blockquote&gt;-David Letterman&lt;br /&gt;&lt;br /&gt;I hope you enjoy these... real &lt;span style="font-style: italic;"&gt;, actually&lt;/span&gt; robotics related  entries/articles/howtos coming  soon! Horray 2008!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-5946771642705988411?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=SmQGjgtn"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=NeMyMd3f"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=0olmuQ4E"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=0olmuQ4E" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/bDHvxsG7xiU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/bDHvxsG7xiU/great-sci-fi-quotes.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roborobert.com/2008/01/great-sci-fi-quotes.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-1687380185115521194</guid><pubDate>Sat, 29 Dec 2007 03:26:00 +0000</pubDate><atom:updated>2007-12-28T21:17:23.504-08:00</atom:updated><title>robo-arm, luke skywalker style!</title><description>I'm sorry I havn't updated in over a week, I've been working nearly non-stop in the &lt;a href="http://www.defensetech.org/archives/001478.html"&gt;recording studio&lt;/a&gt;. Anyhow... I came across an articled on the coolest thing I've seen in my entire life: a luke &lt;a href="http://www.defensetech.org/archives/001478.html"&gt;skywalker-esque prosthetic arm&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In other news... I'm working on making a six legged walker bot based on arduino. When I get that done I'll post the full write-up with pictures, and a cute little how-to.&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-1687380185115521194?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=ewLvJELq"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=azXiLsKw"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=ouKHTYsS"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=ouKHTYsS" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/FUyCoHhIcqc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/FUyCoHhIcqc/robo-arm-luke-skywalker-style.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://roborobert.com/2007/12/robo-arm-luke-skywalker-style.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-2897239216866044490</guid><pubDate>Thu, 20 Dec 2007 04:54:00 +0000</pubDate><atom:updated>2007-12-19T18:00:49.572-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">open source</category><category domain="http://www.blogger.com/atom/ns#">arduino</category><category domain="http://www.blogger.com/atom/ns#">software</category><category domain="http://www.blogger.com/atom/ns#">printable robotics</category><title>The Importance of Software and Language</title><description>You may already know about my recent post, &lt;a href="http://roborobert.com/2007/12/5-robotics-kits-to-get-you-started.html"&gt;5 Best Robotics kits to get you started&lt;/a&gt;, where I listed the programming language of each robotics platform as part of my little mini-review. While I was writing it, I started to think about how important software really is.&lt;br /&gt;&lt;br /&gt;It's easy to get absorbed in all the hardware and the mechanical/electrical engineering parts of robotics. They're tactile, and engaging not to mention fun! But don't neglect the software. Without software you lose out on all the things that make up great robot, namely behavior.&lt;br /&gt;&lt;br /&gt;Just think of the coolest robot you know of, and imagine it:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=arDx9bOj3AY&amp;amp;feature=related"&gt;slowed down&lt;/a&gt; in every way by 50%&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=hXaF1Q7CKxY"&gt;clumsily&lt;/a&gt; bumping into things (people?)&lt;/li&gt;&lt;li&gt;and throw in a few glitchy movements here and there for good measure&lt;/li&gt;&lt;/ul&gt;Not so sexy? Well in order to get the sexy back... you need to super-sex your sleeves with some good solid code! Programming a robot can be exciting as it presents the possibility for AI, even on the simplest of bots. Sensing what is happening around it is arguably the most important thing an &lt;a href="http://en.wikipedia.org/wiki/Autonomous_robot"&gt;autonomous robot&lt;/a&gt; can do. And what's cooler than an autonomous robot?&lt;br /&gt;&lt;br /&gt;Here's the good news: Lots of robotics platforms have communities willing to help you and example code for you to look at and try out to help you learn!&lt;br /&gt;&lt;br /&gt;Robotics communities:&lt;br /&gt;&lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl"&gt;Arduino Forum&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nxtclub.com/"&gt;Lego Mindstorms Forum&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.parallax.com/forums/"&gt;Parallax Forum (Including Basic Stamp)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have to admit... one of my favorite places to learn random new things is the &lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?board=projects"&gt;Exhibition Section of the Arduino forum&lt;/a&gt; (where people show off their latest Arduino creations). Many of the people post the schematics, and code used in their robots, along with videos and pictures. Also check out the &lt;a href="http://www.arduino.cc/playground/Projects/ArduinoUsers"&gt;Exhibition Section of Arduino Playground&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I've learned so much from just looking at how other people go about creating things. Three cheers for open source!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-2897239216866044490?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=zLdQfKoC"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=o08MuyLj"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=Etdf1ywX"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=Etdf1ywX" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/Iz6xEzkjNjA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/Iz6xEzkjNjA/importance-of-software-and-language.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roborobert.com/2007/12/importance-of-software-and-language.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1087162989855557355.post-6298684769378057317</guid><pubDate>Sun, 16 Dec 2007 19:20:00 +0000</pubDate><atom:updated>2007-12-16T17:11:22.522-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">WPI</category><category domain="http://www.blogger.com/atom/ns#">college</category><category domain="http://www.blogger.com/atom/ns#">robotics</category><title>Jump-start your robotics knowledge!</title><description>If you're interested in robotics, here's a great way to learn more!&lt;br /&gt;&lt;br /&gt;whilst browsing the interblag, I stumbled upon a college with a degree in robotics and thought to myself, &lt;blockquote&gt;"hmm... why pay for it when you can look up their text books, and read an overview of each class!"&lt;br /&gt;&lt;/blockquote&gt;It even tells you which courses provide the recommended background information!&lt;br /&gt;&lt;br /&gt;The college is Worcester Polytechnic Institute (Massachusetts). I don't know much about them but if you're interested in getting a degree in robotics... maybe you should take a trip to MA and check them out.&lt;br /&gt;&lt;br /&gt;Here's the page with their list of "Robotics Engineering" courses:&lt;br /&gt;&lt;a href="http://www.wpi.edu/Academics/Majors/RBE/courses.html"&gt;http://www.wpi.edu/Academics/Majors/RBE/courses.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1087162989855557355-6298684769378057317?l=roborobert.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=cUYL7Lqz"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=LGx4zi9B"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Roborobert?a=4ezalQpH"&gt;&lt;img src="http://feeds.feedburner.com/~f/Roborobert?i=4ezalQpH" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Roborobert/~4/xhEQMapQGCI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Roborobert/~3/xhEQMapQGCI/jump-start-your-robotics-knowledge.html</link><author>noreply@blogger.com (Jim Robert)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://roborobert.com/2007/12/jump-start-your-robotics-knowledge.html</feedburner:origLink></item></channel></rss>
