<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>robots.net blog for Pi Robot</title>
    <link>http://robots.net/person/Pi Robot/</link>
    <description>robots.net blog for Pi Robot</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Mon, 13 Feb 2012 08:56:28 GMT</pubDate>
    <item/>
    <item>
      <pubDate>Tue, 4 Jan 2011 19:29:58 GMT</pubDate>
      <title>4 Jan 2011</title>
      <link>http://robots.net/person/Pi Robot/diary.html?start=11</link>
      <guid>http://robots.net/person/Pi Robot/diary.html?start=11</guid>
      <description>&lt;b&gt;&lt;big&gt;ROS Head Tracking Tutorial Available&lt;/big&gt;&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; For those of you getting started with ROS, I have written up&#xD;
a do-it-yourself tutorial for tracking a colored object&#xD;
using a web cam and AX-12 pan and tilt servos.  You can find&#xD;
it here:&#xD;
&#xD;
&lt;p&gt; &lt;p&gt;&#xD;
&#xD;
&lt;p&gt; &lt;a href="http://www.pirobot.org/blog/0016/" &gt;ROS by Example:&#xD;
Visual Object Tracking&lt;/a&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt;&amp;nbsp;&#xD;
&#xD;
&#xD;
&lt;p&gt; &lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/pkFIngb_SEY?fs=1&amp;amp;hl=en_US"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/pkFIngb_SEY?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 26 Nov 2010 15:01:12 GMT</pubDate>
      <title>26 Nov 2010</title>
      <link>http://robots.net/person/Pi Robot/diary.html?start=10</link>
      <guid>http://robots.net/person/Pi Robot/diary.html?start=10</guid>
      <description>&lt;b&gt;Robot Cartography: ROS + SLAM&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;In this short article on using SLAM with ROS,&#xD;
I have&#xD;
posted a couple of videos showing Pi Robot mapping out part&#xD;
of an apartment using a Hokuyo laser scanner and the&#xD;
gmapping package.  See&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;a href="http://www.pirobot.org/blog/0015/" &gt;http://www.pirobot.org/blog/0015/&lt;/a&gt;&#xD;
&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;&lt;p&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;a href="http://www.pirobot.org/blog/0015/" &gt;&lt;img src="http://www.pirobot.org/blog/0015/map-1b.png" width=562 height=340&gt;&lt;/a&gt;&#xD;
</description>
    </item>
    <item>
      <pubDate>Tue, 2 Nov 2010 22:08:36 GMT</pubDate>
      <title>2 Nov 2010</title>
      <link>http://robots.net/person/Pi Robot/diary.html?start=9</link>
      <guid>http://robots.net/person/Pi Robot/diary.html?start=9</guid>
      <description>&lt;b&gt;&lt;big&gt;Pi Robot Meets ROS&lt;/big&gt;&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt;&#xD;
&#xD;
&lt;p&gt; For the past several months, I have been learning the basics&#xD;
of ROS from Willow Garage.  At the same time, I have been&#xD;
testing Mike Ferguson's "Poor Man's Lidar" or PML as an&#xD;
alternative to a more expensive laser range finder.  The&#xD;
results are encouraging--at least for obstacle avoidance and&#xD;
simple navigation tasks.  You can see the report at:&#xD;
&#xD;
&lt;p&gt; &lt;p&gt;&#xD;
&#xD;
&lt;p&gt; &lt;a href="http://www.pirobot.org/blog/0014/" &gt;http://www.pirobot.org/blog/0014/&lt;/a&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt;&#xD;
&#xD;
&lt;p&gt; &lt;a href="http://www.pirobot.org/blog/0014/" &gt;&#xD;
&lt;img src="http://www.pirobot.org/blog/0014/pi_robot_meets_ros.png" width="235" height="228"&gt;&#xD;
&lt;/a&gt;&#xD;
&#xD;
&#xD;
</description>
    </item>
    <item>
      <pubDate>Tue, 10 Aug 2010 20:29:24 GMT</pubDate>
      <title>10 Aug 2010</title>
      <link>http://robots.net/person/Pi Robot/diary.html?start=8</link>
      <guid>http://robots.net/person/Pi Robot/diary.html?start=8</guid>
      <description>&lt;b&gt;Robot Agents, Messages and The Society of Mind&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; I recently converted most of the C# code for my Pi Robot&#xD;
project to Python.  At the same time, I am changing the&#xD;
programming architecture to use message passing among nodes.&#xD;
 To get started, I wrote up a little introduction to the&#xD;
topic at:&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;a href="http://www.pirobot.org/blog/0013/" &gt;Robot Agents,&#xD;
Messages and The Society of Mind&lt;/a&gt;&#xD;
&#xD;
</description>
    </item>
    <item>
      <pubDate>Fri, 30 Apr 2010 21:41:05 GMT</pubDate>
      <title>30 Apr 2010</title>
      <link>http://robots.net/person/Pi Robot/diary.html?start=7</link>
      <guid>http://robots.net/person/Pi Robot/diary.html?start=7</guid>
      <description>&lt;b&gt;An Introduction to Robot Coordinate Frames&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
&#xD;
&lt;p&gt; &lt;img src="http://www.pirobot.org/blog/0011/Coordinate%20Frames%201_html_73f6375b.gif"&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; I finally had a chance to write up the math behind the Pi&#xD;
Robot arm tracking video. Keep in mind that I am only using&#xD;
the two shoulder joints in each arm--the elbow and wrist&#xD;
servos are fixed--so the inverse kinematics is fairly&#xD;
straightforward. Later on I'll have to deal with the other&#xD;
joints...&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; Here is the link to the write-up:&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;a href="http://www.pirobot.org/blog/0011/" &gt;http://www.pirobot.org/blog/0011/&lt;/a&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; --patrick </description>
    </item>
    <item>
      <pubDate>Tue, 23 Mar 2010 18:15:28 GMT</pubDate>
      <title>23 Mar 2010</title>
      <link>http://robots.net/person/Pi Robot/diary.html?start=6</link>
      <guid>http://robots.net/person/Pi Robot/diary.html?start=6</guid>
      <description>&lt;b&gt;Visually-Guided Grasping&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;Here is a followup video to my previous blog&#xD;
entry.  In&#xD;
this video, a number of independent behavioral threads are&#xD;
running to enable the robot to track and grasp the green&#xD;
balloon. Whenever the balloon is grasped, the robot turns&#xD;
its attention to the red balloon. When the green balloon is&#xD;
released, tracking turns again to it and the red balloon is&#xD;
ignored. I use RoboRealm to do the green/red tracking. There&#xD;
is a sonar sensor on the inside of the left hand that tells&#xD;
the robot when something is ready to be grasped. It can also&#xD;
do this using vision alone along with some trigonometry, but&#xD;
the result is more reliable when using the sensor.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/319eVBIYfec&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/319eVBIYfec&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; --patrick&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;a href="http://www.pirobot.org" &gt;http://www.pirobot.org&lt;/a&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 3 Mar 2010 00:08:52 GMT</pubDate>
      <title>3 Mar 2010</title>
      <link>http://robots.net/person/Pi Robot/diary.html?start=5</link>
      <guid>http://robots.net/person/Pi Robot/diary.html?start=5</guid>
      <description>&lt;b&gt;Robotic Eye-Hand Coordination&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; I just finished up some work on using RoboRealm to guide my&#xD;
robot as it reaches toward a target object.  The ultimate&#xD;
goal is for the robot to be able to pick up the object from&#xD;
a random location or take it from someone's hands.  For now,&#xD;
I simply wanted to work out the coordinate transformations&#xD;
from visual space to arm space to get the two hands to point&#xD;
in the right direction as the target is moved about.  The&#xD;
following video shows the results so far:&#xD;
&#xD;
&lt;p&gt; &lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/m8GthdGApz8&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/m8GthdGApz8&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&#xD;
&#xD;
&lt;p&gt; I don't have a full write-up yet on how I did this but it&#xD;
basically just uses 3-d coordinate transformations from the&#xD;
head angles and distance to the target (as measured by sonar&#xD;
and IR sensors mounted near the camera lens) to a frame of&#xD;
reference attached to each shoulder joint.  The Dynamixel&#xD;
AX-12 servos are nice for this application since they can be&#xD;
queried for their current position info.  The distance to&#xD;
the balloon as measured by the sonar and IR sensors is a&#xD;
little hit and miss and I think I'd get better performance&#xD;
using stereo vision instead.&#xD;
&#xD;
&lt;p&gt; --patrick&#xD;
&#xD;
&lt;p&gt; &lt;a href="http://www.pirobot.org" &gt;http://www.pirobot.org&lt;/a&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 8 Jan 2010 22:30:51 GMT</pubDate>
      <title>8 Jan 2010</title>
      <link>http://robots.net/person/Pi Robot/diary.html?start=4</link>
      <guid>http://robots.net/person/Pi Robot/diary.html?start=4</guid>
      <description>Hello,&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; I put together a new robot using Dynamixel AX-12+ servos and&#xD;
I wanted to test an algorithm for tracking a moving object.&#xD;
The camera being used is a DLink 920 wireless operating&#xD;
over 802.11g and the visual tracking is done using&#xD;
RoboRealm.  All processing is done on my desktop PC.  The&#xD;
full writeup can be found here:&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;a href="http://www.pirobot.org/blog/0008/" &gt;http://www.pirobot.org/blog/0008/&lt;/a&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; --patrick&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;a href="http://www.pirobot.org/blog/0008/" &gt;&lt;img src="http://www.pirobot.org/blog/0008/Object%20Tracking%201_files/Object%2520Tracking_html_m6faf7f58.gif" border="0"&gt;&lt;/a&gt;&#xD;
&#xD;
&#xD;
</description>
    </item>
    <item>
      <pubDate>Tue, 24 Nov 2009 05:07:01 GMT</pubDate>
      <title>24 Nov 2009</title>
      <link>http://robots.net/person/Pi Robot/diary.html?start=3</link>
      <guid>http://robots.net/person/Pi Robot/diary.html?start=3</guid>
      <description>This video demonstrates learning by example in an&#xD;
artificial neural network that controls the motion of a&#xD;
mobile robot. The robot uses four sonar sensors and three IR&#xD;
sensors to detect the ranges to nearby objects. A wireless&#xD;
controller is used to initially remote control the robot&#xD;
past some test objects while the robot records the sensor&#xD;
readings and motor control signals. This data is then used&#xD;
to train a 2x7 artificial neural network (2 motors and 7&#xD;
sensors). Once the network is trained, it is used to control&#xD;
the robot without intervention from the operator.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; For more information, see &lt;a href="http://www.pirobot.org/blog/0007/" &gt;http://www.pirobot.org/blog/0007/&lt;/a&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;&amp;nbsp;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/xLPrB5O5E_A&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/xLPrB5O5E_A&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&#xD;
</description>
    </item>
  </channel>
</rss>

