このロボットは単純に,フォークリフト風に作ってみました. ロボットを2台にすると,回収ロボと荷台部との位置が 毎回ずれてしまうことに気づいたのは前日2時↓ じゃ,こいつも回収できるようにしちゃえ★ ということで,荷台の直前に箱が来るだけで十分なように 回収アームを付けてみた. これで回収ロボに箱を「載せてもらう」でなく 自ら「載せる」を可能にした. これが功を奏してか,予選では1個箱を上げてくれました♪
またアームを上下させるため,かなりギア比を低くしてある. しかし極力コンパクトになるよう努力した. 計算によると625:3のギア比となっており, 大体モーターが208回転でアームが1回転. アームの可動範囲は水平を±0とすると,+側に80度 −側に80度ほどなので,アームが最下点から最上点に 行く間にモーターは約93回転している. また試合で邪魔が入りタッチセンサーが反応せず, アームを動かすモーターが止まらないことが何度かあり, 試合終了までモーターが回り続け,軸がねじれてしまった. あの軸が,1つのモーターでねじれてしまうほどなので かなり低いギア比となっていたことが判る.
写真では手前ギアの真上に取り付けた軸が 奥のギアでは180度回って下側にきている.
task main() {
SetSensor(SENSOR_1,SENSOR_TOUCH); SetSensor(SENSOR_2,SENSOR_TOUCH); SetSensor(SENSOR_3,SENSOR_TOUCH);
while(true) { OnFwd (OUT_C) ; until (SENSOR_1 == 1 || SENSOR_3 == 1) ; OnRev(OUT_A) ; Wait (1000); OnRev (OUT_C) ; until (SENSOR_2 == 1) ;
OnFwd (OUT_B) ; Wait (90) ; Off (OUT_B)
OnFwd (OUT_C) ; until (SENSOR_1 == 1 || SENSOR_3 == 1) ;
OnFwd (OUT_A) ; Wait (200) ; Off (OUT_A)
OnRev (OUT_C) ; until (SENSOR_2 == 1) ;
OnFwd (OUT_B) ; Wait (90) ; Off (OUT_B) }
}