
A single touch sensor can be used to detect when the arm is fully raised, either with the gripper open or the gripper closed. Picking up an object is simply a matter of running the motor in the right
direction and waiting for the touch sensor to be pressed. Releasing an object is just as simple.
The "fingers" of the gripper need to pick up objects. Ideally, they should be slightly pliable and tacky rather than smooth. Minerva uses two of the rubber wheels as fingers, which work reasonably
well.
Page 112
The arm also needs to be strong, as its parts are under a fair amount of stress. You may notice, as you use Minerva, that the pieces of the arm loosen up after time. You could make the arm
stronger, but it would also be bulkier. See Ben Williamson's FetchBot (in the "Online Resources" section) for the original arm design, which is stronger and larger than Minerva's.
Balance
One of the fundamental issues Minerva faces is balance. The grabber arm sticks out in front of Minerva. Without some kind of counterbalance, Minerva falls right on her face. One way to fix this
is to move the drive wheels closer to the front of Minerva. In this case, however, the directional transmission and the grabber arm gearing would not have enough space to coexist. Minerva solves
the problem of balance by mounting the RCX near the back of the robot. The weight of the RCX (the batteries, mostly) more than compensates for the weight of the grabber arm.
Drivetrain
Although the directional transmission is relatively simple, Minerva's drivetrain is a little more complex. When the motor runs one way, the two drive wheels both turn forward. When the motor
runs the other way, the drive wheels turn in opposite directions, causing Minerva to spin in place. Minerva uses a fairly complex system of gears to translate the outputs of the directional
transmission into the correct wheel movements. Only one of the outputs drives a wheel directly.
Two Sensors, One Input
You might think that the RCX's three inputs limit you to designing robots with only three sensors. In this section, I'll describe one way to move beyond the three-input barrier: attaching more than
one sensor to a single input. Minerva, for example, has a touch sensor and a light sensor attached to a single input. If you have ambitious plans (and parts) for expanding Minerva, you've got two
inputs, not just one, with which to play.
There are two common variations on the theme of attaching multiple sensors to one input, both of which are discussed here.
Multiple Touch Sensors
The first and easiest possibility is to attach multiple touch sensors to a single input. With the input configured for a touch sensor, a press on any one of the attached sensors will produce a value of
1 on the input.
Page 113
This might be useful, for example, in a robot with a "skirt" touch sensor that runs around the entire robot. Different parts of the skirt might trigger different touch sensors. By putting all the skirt
sensors on one input, you could easily detect any collision with the skirt, anywhere around the robot.
The downside, of course, is that you don't know which touch sensor is being pressed. There's a way around this problem, of course, but it involves using a soldering iron. I'll explain how it works
in Chapter 11,
Make Your Own Sensors.
Light and Touch
Minerva uses a light sensor and a touch sensor on one input. The input is configured for a light sensor. When the touch sensor is not pressed, it has no effect on the light sensor reading. When the
touch sensor is pressed, the input gives a value of 100; the current value of the light sensor becomes irrelevant.
Usually the light sensor shows values in the range of 30 to 70, roughly speaking; the readings depend on the lighting conditions around the sensor. You'll rarely see a real light sensor reading of
100 unless you point some very bright light directly into the sensor. In general, it's safe to assume that readings of 100 correspond to the touch sensor being pressed.
Minerva's program must account for the two sensors being attached to one input. In particular, the touch sensor must normally be not pressed. In the
grab()
and
release()
subroutines, for
example, the grabber arm motor is run forward or in reverse until the touch sensor is triggered. Then the motor must be run the other way briefly so the touch sensor is no longer pressed. This
allows Minerva to observe values from the light sensor.
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 ...