* START on p. 270
* step 1 - those are two axle-pins-with-friction on the top right
and 2 axle-joiners-perpendicular-3L on the bottom left
* step 2 - those are 2 3-beams on the bottom
* step 3 - beware! the pin-3L-double goes BETWEEN the two
axle-joiners-perpendicular-with-two-holes!
AND note that the bush-half-smooth goes UNDER the
axle-pin-with-friction!
* step 4 - that's a 3-beam on the bottom
...I believe this is a kind of castor wheel, maybe.
NOW THE ROBOT's INSTRUCTIONS ARE BACKWARDS FROM WHAT WE
NEED TO USE THE COMPASS SENSOR!!!
* step 5 - this instruction is incomprehensible anyway, but
it is also backwards for what we need.
ATTACH the "castor wheel" to the BACK of the
brick, just behind the LCD screen, so it straddles
between the 2 sets of 3 holes.
Or, come and see my robot as an example.
* step 6 - those are two axle-pins-with-friction on the bottom
right.
We don't have the liftarms 1x7 bent shown -- we have
liftwarms 9 bent instead. They SEEM to work,
fortunately...
EXCEPT, instead of placing them in the 3-holes on either
side of the LCD screen, follow the instructions as if the
brick were shown the OTHER way (as if the LCD screen were
AWAY from you instead of TOWARD you).
(one liftarm-and-pieces on either side of the brick,
with axle-pin, then pin, then pin attaching the
liftarm to the brick)
Or, come and see my robot as an example.
* step 7 - again, do this step as if the LCD screen were facing
AWAY from you instead of TOWARD you,
but everything ELSE is as shown.
And I *think* it is OK to push the 5-axles all the
way through the motors.
* step 8 - I used the BIG wheels and tires here -- what is shown
here are medium wheels and tires we don't have.
* step 9 - yes, you only have 1 more pin-3L-double!
if I don't find another for you, can kluge this
by using two pin-longs-with-friction in its
place on one of the sides.
And yes, you are placing this across the top of
the brick, above the LCD screen, connecting the
two motors to each other.
NOW, STOP. DON'T GO to P. 274,
JUMP to p. *324*
* Figure 17.8 - now attaching a compass sensor to our
carpet rover!
* that's a 15-beam, here.
* and, notice how your rover now does look like the
rover in this figure?!
* you should be able to attach it as shown.
* I used the short cable to connect the compass sensor
to sensor port 1,
and the medium cables to attach the motors to
motor ports B and C.
* NOW you are ready to proceed to the deprecated-but-possibly-working
code posted, only slightly adapted from the similarly named
versions in the course text:
* FOR ALL OF THESE: measure the tire diameter and track width
(the distance between the tires), and use those measurements
in the DifferentialPilot and CompassPilot constructors!
(I, um, didn't have a ruler with me when I tested them before
posting them...)
* you may want to adapt the units of the Blighbot applications
according to the units you use for these two measures!
* of course, include all participating team members'
names in an adapted-by @author in each class' javadoc comment --
and include the last-modified date in a @version, too.
* FIRST create and run CalibrateCompass.java (original on p. 324)
* THEN create and run HandHeldCompass.java (original on p. 325)
* THEN (for comparison) create and run the Blighbot.java
(using JUST DifferentialPilot)
* (original on p. 321, and ALSO look at Figure 17.7, the
obstacle course it is allegedly supposed to be navigating --
* I cut the units by 75% to try to test this on my home office
floor...)
* THEN create and run the BlighbotCompass.java
(this is using the deprecated CompassPilot, original on
p. 326)
* has units likewise cut by 75% -- is supposed to be
navigating the same course as Blighbot.java.
...allegedly more accurately! What do you think?
* ONCE you have run these -- SUBMIT them all, with homework
number of 42 (Project 4 Stage 2)
* AND: create ANOTHER version of each, running a course of
a DIFFERENT shape and size of your choice --
Blighbot2.java, BlighbotCompass2.java --
...which was more accurate for your course?
...submit your versions of these with homework number
43 (Projec 4 Stage 3).
* [I'm still deciding if teams will demo these to the
class -- it might happen!]