Software and
Programming
Part 3: Software Advantages
of a PC-Based Robot
First off, let’s set the record
straight. I am not a programmer.
I know various forms of
“microcontroller Basic,” VBScript,
some Visual Basic, and am in the
process of teaching myself C#,
but I don’t believe that qualifies
me as a programmer. Until my
recent venture into C#, I had only
taught myself enough to get
specific projects done, and left it
at that. With my Johnny 5
project, I wanted to keep things
simple and more importantly take
advantage of GUI-based
programs as much as possible, given that I have full access to
the robot’s desktop at all times. We’ll touch more on that
later. Let’s tally a few things that we have at our disposal
with a PC-based robot: We have a computer and hard drive
capable of running a full fledged operating system, wireless
networking, “bridgeware” to connect the PC to the robot’s
hardware components (in my case, this was my SSC- 32
servo controller), and various other peripherals such as USB
webcams, speakers, and a microphone. I will show you just
how easy it is to bring all of those components together to
greatly expand your robot’s potential.
In this series of articles, we are exploring my Pico
ITX based Johnny 5 project. In the first article, I
detailed the work that went into upgrading and
expanding the original kit to make it a more viable
research platform. In the second article, I dove into
the concept and implementation of PC-based
robotics. In this third article, I will show some of
the software advantages of having an onboard PC.
While I used the Lynxmotion Johnny 5 kit as a
platform for my project, the principles, concepts,
and even components of this project can be
applied to almost any robotics platform.
Operating System
I used Windows XP for my project; it’s what I know
best and it’s simple and easy to use. I know many out
there will preach the greater potential of Linux in such
applications, but for me it was a simple choice: I was a
52 SERVO 11.2008
network admin for seven years
so I stuck with what was
comfortable. Installation of the
operating system (OS) went
simply enough. I plugged an
LCD monitor, keyboard, mouse,
and USB CD-ROM into my robot
(Ha! I love saying that!) and
installed Windows just as I
would on any PC. I kept it
plugged into these peripherals
throughout the Windows install,
driver installation, software
installation, and initial
configuration of the OS.
Before we dive into what
software I installed on Johnny,
let’s cover some initial
configuration details needed to trim down the OS a bit and
prepare it for remote connectivity. Trimming down the OS is
optional and doesn’t provide a huge benefit but it’s sort of
habitual for me to do on a PC with a very specific function
such as the robot’s Pico ITX. Right clicking on My
Computer, selecting Manage, and then selecting Services
down towards the bottom will bring up a list of active and
inactive services on Windows XP. These are various
processes running in the background that enable and
control different functions of the OS, and a lot of them
aren’t needed for this project. I turned off Automatic
Updates, Clipbook, Error Reporting Service, Fast User
Switching, Help and Support, Indexing Service, Print
Spooler, Remote Registry, Security Center, Themes, and
Windows Firewall/Internet Connection Sharing (ICS) by
right clicking each service, selecting Properties, changing
the Startup Type to Disabled, and clicking Stop.
Lastly, I did a clean-up of a few unneeded apps that