アルファレックス改

ようやく撮影用のロボットが完成したので、皆さんにお披露目したいと思います。


アルファレックスをベースにして、ボールが発射できるよう腕まわりを改造しています。


そして、はじめてまともに書いたJavaコードがこれ!


import lejos.nxt.*;
import lejos.robotics.navigation.*;

public class TouchListener01 {
public static void main(String[] args) throws Exception {
TouchSensor touchSensor2 = new TouchSensor(SensorPort.S2);
TouchSensor touchSensor3 = new TouchSensor(SensorPort.S3);
Motor.B.setSpeed(200); // モーターの回転速度は、0〜900まで設定できる
Motor.B.forward(); // 前進
while(!touchSensor2.isPressed());
Motor.B.stop();
Motor.C.setSpeed(200);
Motor.C.forward();
while(!touchSensor3.isPressed());
Motor.C.rotate(180); // モーターを180度回転させます。
Motor.C.stop();
Pilot pilot = new TachoPilot(1.0f, 2.4f, Motor.B, Motor.C); // BとCのモーターを同時に制御します。
pilot.forward();
while(pilot.getTravelDistance() < 24.5); // 24.5インチ前進します。
pilot.stop();
Motor.C.resetTachoCount();
Motor.B.forward();
while(!touchSensor2.isPressed());
Motor.B.rotate(216);
Motor.C.setSpeed(900);
Motor.C.forward();
while(!touchSensor3.isPressed());
Motor.C.forward();
while(Motor.C.getTachoCount() < 3240);
Motor.C.stop();
Motor.A.setSpeed(600);
Motor.A.rotate(1440);
}
}

コメント要らないくらい読みやすいので、説明は省きます。


実際の動作はこんな感じです。

何のために弾を発射しているのかは、ヒミツです。


方向転換の動作が、ものすごくいびつですが、足首も膝も動かせないので、仕方ありません。
地団駄ふんでるようにも見えますね。


二足歩行のロボットって、動きに制限が多くて、やりづらいなぁ。
もっとサーボモーターの数が増やせれば、いろんなアクションができるんでしょうけどね。