「センサー」 起動時に土俵の反射率(光度)を記憶し、光センサー2つ (右目、左目)の感度の違いを利用して、ロボットが安全なポ ジションをキープするようにしています。土俵は白線で囲われ て、センサーでこの白線を感知することで土俵際を見極めてい ます。2つのLEDはセンサーの感度を一定に保つため、また外的 要因(部屋の明るさ、土俵の色等)からセンサーの感度を守る ために使用しています。センサーの感知する地面を一定の適度 な明かりで照らすことにより、路面からの反射光の変化(土表 内と土俵際)を見極めることを可能にしています。また土俵内 の反射率の違いによる誤差に影響を受けないように、プログラ ムに適切なスレッシュフォールドを設定しています。 「駆動」 サーボ個々のポジションを指定することで(変えることで)駆動 を与えています。このロボットのアクチュエーター(サーボ)は、 ラジコン等についているモーターと違い、同一方向に連続回転は しない(設定を変えるとできるようだが、今回のコンペでは変更 は許可されていない)ので、全ての状態(360度)を 1-255の 値で表現しています。つまりServo1=1としてからServo1=255の指 示を出すと、サーボーが最大の回転稼動(360度回転)をします。 「ボディーコントロール」 連続回転しない駆動輪を持つということで、このロボットの直進 させるのには、ちょっと苦労しています。左右の駆動輪に2つの サーボ(Servo7, 8) を直付けして駆動を伝えていますが、同一 方向に連続回転しないので、巻き戻し(リワインド)が必要です。 そこで、ボディーを左右に傾けて接地している片方で駆動を与える と同時に、空中に浮いた反対側の車輪をリワインドしています。 この車体の傾きを制御するのに、第三のサーボ(Servo1)の駆動力 を使い、その力を車体内部の複数の歯車で左右に分散し、ボディー の周りについているチェーンに伝え、補助輪4つを稼動(引き上げ たり、押し下げたり)させ、左右の傾きを制御しています。 「前進速度」 今回のロボットインプリではサーボモーター3つまで使用可能と 制限つきでしたが、上記のボディーコントロールにより、車体が 常に前進することが可能となり、直進速度では他のチームの2倍 を実現しています。他のチームは、前進の後一時停止し、第三の サーボで車体を持ち上げて、2つの駆動輪を同時にリワインドし ています。 「回転」 回転運動については、ディファレンシャルドライブの考えを使って いて、第三サーボをニュートラル(Servo1=128)にした時に(車体 の傾きがゼロ、補助輪が左右ともリフトしている状態、つまり両側 の駆動輪が接地)で行っています。Servo7,8とも同一の方向に回転 指示を送ると、物理的に駆動がお互い逆向きにかかるので、ボディ ーは回転し(進行方向を変え)ます。 「電気回路」 サーボーモーターコントロールボード(SV203)には、サーボーモー ターを最大8個まで制御できる能力があり、今回はそれに3つの サーボモーターを接続しています。またボードから5V定電圧を供給 する口があるので、そこからLEDの電力を供給し光度を一定に保って います。カドミウム光センサー(CdS)は、光を受けると抵抗値が変 わる性質があるので、抵抗を入れて回路を作り、電圧変化としての 処理(コントロールボードの制約)を実現しています。