
Where Am I?
You've probably discovered that Minerva gets lost easily. If she drives over anything, or if her wheels slip in any way, she can't find her way back to her starting point. Minerva, basically, is trying
to answer the question "Where am I?" Unfortunately, she can't answer it very well.
Timing
Minerva uses a fairly unreliable technique, called
timing,
to determine her current position. She moves forward for some amount of time until she finds something to pick up. Then she turns
around by spinning in place for a length of time defined in
TURNAROUND_TIME
. Then she drives back to her starting point by moving forward for as much time as she moved forward before. If
Minerva drives forward for
Page 114
five seconds, she assumes she can reach her starting point by turning around and driving forward for five seconds again.
Timing is not a very accurate technique. Variations in battery power, the material Minerva is driving on, and other unpredictable factors will mess things up. Turning around, in particular, is not
very reliable: Minerva almost never heads back precisely the way she came. Minerva's directional transmission makes things more complicated, as well, because it takes a little time for the
transmission to shift from one direction to the other. This affects the timing of Minerva's forward motion, as the shifting time is also recorded.
Rotation Sensors
Ideally, Minerva should have some feedback about how far she's traveled and how far she's turned. You could, for example, buy some rotation sensors and attach them to inputs 1 and 2. If you put
the rotation sensors on Minerva's two main wheels, you would know exactly how many times, and in what direction, each wheel had turned. By assuming that the wheels didn't slip on the ground,
you could get a very accurate idea of where Minerva was, relative to her starting position. You wouldn't have to worry about the directional transmission any more.
Wheels do slip, sadly, so unexpected terrain like driving over blocks would likely throw this method of navigation off as well. Still, it's a step up from timing.
Navigation Tools
There are several generic navigation tools that you might consider attaching to your RCX to answer the question of location:
1. A magnetic compass would give a good indication of what direction Minerva was pointing. Feedback from the compass reading would allow Minerva to turn around with much better accuracy.
The interface between the compass and Minerva's inputs, of course, is entirely up to you and would probably require a bit of electronics hacking.
2.
Triangulation
is a commonly used navigation technique. Suppose you mounted three radio transmitters around the area where Minerva was going to drive. By listening to the three signals,
Minerva could determine her position relative to the radio transmitters. Again, this is pretty high-tech, serious electronics.
∗
∗
An obvious choice might be the Global Positioning System (GPS). Unfortunately, garden variety GPS is only accurate to 100 m or so. Unless you're the US military, or willing to spend some serious
money, you won't get accurate enough information from GPS to help your robot navigate.
Page 115
Why Should I Care?
Before you tear your hair out trying to get a GPS unit to talk to your RCX, think about what you're trying to do. Do you
really
need to know precisely where the robot is? Using precise positioning
and having the robot build a map of its world are both techniques of the big-metal artificial intelligence (AI) approach to mobile robotics. The RCX is not very powerful. If you just want to avoid
table legs and walls, build a bumper and back up when you hit something. After all, you probably won't be able to build a map of the world in your RCX, no matter what programming
environment you use.
Online Resources
Directional Transmission
Summary of Contents for MINDSTORMS Robots
Page 22: ...Page 18 The back tread wheels are anchored to the shafts with the 16t gears ...
Page 23: ...Page 19 Page 20 Next start building support for the drive motors ...
Page 26: ...Page 23 The touch sensors are attached only by the shaft that runs through them ...
Page 41: ...Page 41 ...
Page 43: ...Next build the support for the light sensor ...
Page 80: ...Page 85 Make sure the bump on the long pin is up against the 4u beam ...
Page 82: ......
Page 84: ...Page 89 ...
Page 85: ...Step 14 is similar to Step 11 take a deep breath and go slowly ...
Page 87: ...Page 91 ...
Page 88: ...Page 92 Make sure that the two sides are at the same angle They should mirror each other ...
Page 89: ...Page 93 Page 94 ...
Page 90: ...Structural Support Page 95 ...
Page 91: ...Idler Wheel Page 96 ...
Page 92: ...Page 97 Drive Motor ...
Page 93: ...While you re putting the motor in hold on to the worm gear so it doesn t slip off Page 98 ...
Page 94: ...Grabber Arm Motor ...
Page 95: ...Page 99 ...
Page 96: ...Page 100 RCX Attach the RCX on both sides as shown Page 101 ...
Page 158: ......
Page 159: ...Page 175 The 16t gears are nestled inside the tread wheels ...
Page 160: ...Page 176 ...
Page 161: ...Page 177 Attach the motors to output A and output C as shown Page 178 ...