Page 117 - The Definitive Guide to Building Java Robots
P. 117
Preston_5564C03.fm Page 98 Wednesday, October 5, 2005 7:21 AM
98 CHAPTER 3 ■ MOTION
// add to collection for easier checks
servos.add(s1);
servos.add(s2);
servos.add(e);
servos.add(w);
servos.add(g1);
servos.add(g2);
}
public void rest() throws Exception {
for (int i = 0; i < servos.size(); i++) {
ServoPosition2 tmpPos = (ServoPosition2) servos.get(i);
lm32.sscCmd(tmpPos.pin, tmpPos.neutral);
}
lm32.move(1000);
}
// move to position A (experimentally determined)
public void posA() throws Exception {
lm32.sscCmd(s1.pin, 50);
lm32.sscCmd(s2.pin, 135);
lm32.sscCmd(e.pin, 75);
lm32.sscCmd(w.pin, 200);
lm32.sscCmd(g1.pin, 150);
lm32.sscCmd(g2.pin, 255);
lm32.move(1000); // move in 1 second
}
// move to position B (experimentally determined)
public void posB() throws Exception {
lm32.sscCmd(s1.pin, 220);
lm32.sscCmd(s2.pin, 135);
lm32.sscCmd(e.pin, 100);
lm32.sscCmd(w.pin, 190);
lm32.sscCmd(g1.pin, 130);
lm32.sscCmd(g2.pin, 255);
lm32.move(1000); // move in 1 second
}
private void move(int pin, int pos) throws Exception {
// check range first
checkRange(pin, pos);
// then move
lm32.move(pin, pos);
}