Discuss this article in the SERVO Magazine forums at http://forum.servomagazine.com
www.servomagazine.com/index.php?/magazine/article/june2013_Bouchier
ROS laptop over Wi-Fi. The PS3-eye
camera and Primesense RGBD
camera were cabled to the laptop.
We chose to use ROS mainly
because of the vision processing
packages available, but it brought
additional benefits such as easy
communication between different
software packages, sophisticated
logging, and the ability to replay
video from a run to debug
software.
Mechanical and
Electrical Design
We were inspired by the Spirit
rover which (at the time) was about
to land on Mars. As a showpiece at
DPRG outreach events, it would be
instantly recognizable to children
and adults alike. We also thought
the rover mechanical design would
provide great handling on rough
terrain. It used six-wheel drive to
maximize drive power from small light motors. All six
wheels were steered which enabled Ackerman-style
cornering, as well as crabbing. To steer, we turned the front
and back wheels in opposite directions, which afforded a
near zero radius turning ability. We built several iterations of
the robot as we found and addressed various challenges
before arriving at the final design.
The first challenge was the suspension. So that the
Mars rover can climb over rocks as big as twice its wheels’
diameter — all the while keeping six wheels on the ground
— its rocker-bogies have stub axles
for each wheel and an
independent suspension that
drives a self-leveling platform. We
were unsuccessful in our attempt
to duplicate that aspect of the
design; the weight of the laptop
on the platform stripped the
plastic gears that were supposed
to keep the platform level. We
ended up tying both front wheels
and the platform together into a
single rigid assembly which
resulted in sometimes only having
five wheels on the ground.
Another challenge was the
weight of the laptop which
caused flexing in the lower
chassis structures. That problem
was compounded by the wheels
which had straight sides and
FIGURE 2. Paul and Jason debate jRover
chassis design.
didn’t slip sideways on grass or carpet (as they must to
avoid deforming the chassis). Also, they were steered with
motors which had considerable backlash compared to
servos. We had decided to use motors for steering because
they’re stronger, but the backlash meant the wheels were
never perfectly aligned.
Adding to that problem, the integrated motor encoders
made backlash-induced misalignment undetectable. Also,
the wheels were mounted on beams extending from the
bogie pivot point, and the beams would twist. The result of
all this was the wheels would run
in or out from their intended
track, twisting the beams as they
did. We never solved these
problems satisfactorily.
Motor speed and steering
motor position were determined
from encoders integrated into the
VEX motors. Determining
“straight” for the wheel-steering
assembly was a challenge since
there was no indication of
absolute position. We installed a
mechanical stop on the steering
head, and at startup, we drove
the steering head against the stop,
then rotated the head back a fixed
amount that was calculated to
center it.
We also knew that when
turning we had to make each
SERVO 06.2013 63
FIGURE 3.
Software
architecture
for Roborama
lane-following.