|
Vision provided by
|
Hardware and Software Used on Pi Robot and Pepé
Le Bôt
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 (Peppy) also
uses a Serializer microcontroller for sensors and drive motors.
But there is no onboard CPU. Instead, I use the Bluetooth
adapter for the Serializer and run the control program 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, Peppy uses Dynamixel
AX-12+ servos from Robotis and are controlled through the Robotis CM-5
microcontroller. The CM-5 communicates back to the desktop PC using
an RS-232 to Bluetooth adapter. Peppy 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 Pi and Peppy 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 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.
|
|
|