get installed with Windows such as Games,
Internet Explorer (I use Firefox), MSN Explorer,
Outlook Express, Windows Media Player, and
Windows Messenger. These are just the basics.
Depending upon your comfort level with
Windows, you can take the total size down to
about 500-600 megabytes and use as little as
50 megabytes of RAM while still maintaining
an OS capable of running your robot.
Diving into the intricacies of in-depth Windows
liposuction is a bit beyond the scope of this
article, however.
Remote connectivity is very important in
PC-based robots. You don’t want to have to
continue to plug in peripherals to your bot
when you can simply pull up its desktop over
your network via Remote Desktop Protocol
(RDP) and operate it with the same ease. To
prepare Windows for this, you must first create
a password protected account or simply use
the default Administrator account for this
purpose. Next, enable Remote Desktop connections on the
computer. This option is found by right clicking on My
Computer, selecting Properties, selecting the Remote tab,
and placing a checkbox in “Allow users to connect remotely
to this computer.” At this point, all that is left is establishing
a connection to your wireless network.
The Remote Desktop Connection manager can be
found by navigating to Start > All Programs > Accessories >
Communications > Remote Desktop Connection, or
alternatively you can type “mstsc” on the Run line. You can
do this on any modern Windows-based PC connected to
your network and simply type in the computer name you
set for your robot’s computer. This will bring up a log-on
prompt; enter in the username/password you set earlier
and your robot’s desktop will be displayed. At this point,
you can access and control your robot’s PC from anywhere
within the range of your wireless network. If it has
webcams, you can view those over this connection for
easy telepresence, talk through it using a text-to-speech
engine, access network resources, and control its servos
and motors via various programs.
FIGURE 1
treads on the robot. Lucky for me, the original Johnny 5
kit I started out with came with a Lynxmotion SSC- 32
Sequencer, which is a GUI-based servo control and
sequencing package. SEQ is a straightforward and easy-to-use application that interfaces directly with the SSC- 32
servo controller I am using for this project.
Servo home positions and range limits are set via a
small configuration menu, and servos are controlled via a
drag-and-drop GUI. Each servo is represented as a small box
with a slider for setting servo positions, which can be
moved around to create a layout of your robot’s frame.
Figure 1 shows a screenshot of what my servo layout looks
like. A “step” is created by manipulating the servos to their
desired position and then taking a snapshot of the position.
These steps can be strung together and played through at
various speeds to create complex motion sequences, as well
as be mapped to buttons in the GUI or physical keys. Refer
to Figure 2 for a picture of a pose created using SEQ. Also
check out www.youtube.com/watch?v=hHUoxtG91YQ
Telepresence
The software used on a robotics project is going to
be dependent upon many things such as what type of
hardware you’re using, what programming languages
you’re comfortable with, and what you want to do with
your robot. Obviously, I can’t tell you what will work for
your project, but I will cover what worked well for me.
My first objective with this project was to set up a
solid telepresence scheme and have the ability to speak
through the robot (read: scare the wits out of my wife).
Given that a remote video feed is simply a matter of
establishing an RDP connection and viewing one of the
webcams, all I really needed was a way to control the
FIGURE 2
SERVO 11.2008 53