provides all of the low-level functionality necessary to build
a fairly sophisticated robot.
Use Any Microcontroller
Figure 1 shows how the RROS chip can be controlled
by an external processor. When you have an intelligent I/O
processor handling the time-sensitive details associated with
controlling motors and interrogating sensors, then the
intelligent portion of your robot’s programming can reside
in almost any microcontroller that has the ability to
communicate at 9600 baud — regardless of its speed or
number of I/O pins.
The processor uses this interface to tell the RROS chip
what to do without having to worry about the details of
how anything actually gets done. We will use specific
examples to demonstrate this idea shortly. First, let’s
examine how the controller communicates with the RROS
chip. The protocol of the serial interface for the RROS chip
is very specific. Commands to the chip are always two
bytes: a command byte followed by a parameter byte which
should be zero if not needed.
The RROS chip can react to nearly 100 commands, but
you may prefer more or less if you design your own system.
Some of the commands are used during initialization to
specify what types of motors and sensors are being used.
Once the chip is properly initialized, other commands move
the robot forward or backward, and turn it left and right.
The second parameter for these commands controls how
far the robot should move or turn. Each time a command is
sent to the RROS, it returns exactly five bytes of sensory
There are commands to read some of the above data
such as the compass heading or the distance to objects
within the robot’s view, but some sensory information
(bump, feel, and line) is so time-sensitive that it is actually
obtained and returned by the RROS without it being
formally requested. An example of a situation needing
Op-code Returned Bytes
SERVO 12.2012 39