|
Vision provided by
|
Hardware and Software Used on Pi Robot and Peppy
In earlier videos, Pi Robot uses an onboard mini-ITX motherboard
running Windows XP. The sensor inputs and drive motors are controlled
by the Serializer microcontroller made by the Robotics Connection.
The Serializer connects to the mini-ITX over USB. This is a really
nice controller if you work in .Net languages (C#, VB.NET, etc) or
Visual C++. The drive motors (7.2V Gearhead) are also from
Robotics
Connection and have a superb integrated wheel encoder that comes
with custom connectors for the Serializer. The servos on the
pan-and-tilt head and the arms are HiTec 475-HB and I control them
using the SSC-32 controller from Lynxmotion.
The SSC-32 is one of the few servo controllers that has speed control
and it has the ability to move groups of servos as a unit so they
start and finish the movement at the same time. The video camera on
Pi Robot is the Philips SPC-1300NC which can process up to 90 frames
per second which is very useful for fast object tracking.
The
smaller robot (formerly Peppy but now the new Pi as of April 17,
2010) also uses a Serializer microcontroller for sensors and drive
motors. At the moment, there is no onboard CPU. Instead,
I use either the Bluetooth or USB adapter for the Serializer and the
control program is run on my desktop PC or a laptop. This
allows for faster development since I don't have to continually
download code changes to the robot to test them out. It also
means the robot is smaller and can use a lighter battery. Instead of
the SSC-32 and HiTec servos, the new Pi uses Dynamixel AX-12+ servos
from Robotis (purchased from Trossen
Robotics) that are controlled through the USB2Dynamixel
controller (purchased from CrustCrawler
Robotics). The new Pi uses a wireless video camera, the D-Link
920. This camera is capable of 30 frames per second and seems to work
well with a Linksys 802.11g router.
Both robots use aluminum framing from Vex
Robotics. The green wheels on Pi are also from Vex and the white
wheels on the old Pi were taken from an "ab roller"
exercise toy. Both robots use a few other common components such as
sonar and IR range sensors, light sensors and force sensors. They
also utilize the 5V regulator from Robotics Connection, current and
voltage sensors from Phidgets,
a Lithium Ion Portable Power Station from Battery Geeks and 7.2V NiMH
batteries from All-Battery.com.
Software
The code for both Pi and Peppy is written in C# using Microsoft's
Visual Studio 2005. I have no particular attachment to C# or VS
but find them easy to use. For vision processing I am using the
amazing RoboRealm
package which comes with a 30-day free trial and is only $89 to buy.
For the neural network routines, I am using the most excellent open
source Aforge.Net
package. The histogram analysis was done using EmguCV
which provides a .Net version of the OpenCV vision package. The
Dynamixel servos are controlled using the open source Dynamixel
libraries from Forest
Moon Productions.
|
|
|