LEGO基本ライントレース車体の高速化
LEGO MindStorms NXTのライントレース処理で実験を行った。 プログラムはNXTソフトウェア2.0で記述した。 光センサーが1個しかない場合、白黒の境界に沿って車体をすすめることになるが、 「黒なら左折、白なら右折」の処理だと、 左右に車体を振りながらで余り速い動きにはならない。 NXTソフトウェアのブロック記述ではループ1周の速度も遅いため、 高速移動のために直進性を高めてモータ速度を上げると、 半径30cmほどのカーブでさえ曲がりきれない。 色々と条件を変えてみたけど、安定して半径20cm程を曲がるには、
for(;;) { // 実際はNXTソフトウェアのブロック if ( 光センサ==黒 ) 左前進0%,右前進30% ; else 左前進30%,右前進0% ; }
といったプログラムで、移動を高速化するのは難しい。
NXTソフトウェアでは状態遷移図は辛い…
NXTソフトウェアのループ周期で高速化しようとすると、 連続して黒or白なら高速カーブ、白黒が交互に変化するときは直進性を高めて左右にカーブという処理といった処理がしたくなってきた。 理想的には、状態遷移図で速度制御したいけど、 大人気なくC言語で書くのも気が引けるし、ROBOLABで1万円かけるのもイヤとなると、 状態遷移図的なコードも書きにくい。 色々と試し、以下のようなコードとしてみたら、それなりに高速化ができた。
# 直進時に速度 (30+0)/2 = 15% ⇒ 速度 (30%+50%)/4 = 20%
for(;;) { if ( 光センサ==黒 ) { 左前進0%,右前進30% ; if ( 光センサ==黒 ) 左前進0%,右前進100% ; else 左前進50%,右前進0% ; } else { 左前進30%,右前進0% ; if ( 光センサ==黒 ) 左前進0%,右前進50% ; else 左前進100%,右前進0% ; } }
NXT基本車体にブラシの取付け方法
歯みがきロボコンの自律ビギナー部門のための講習会が開催されるので、 NXTの基本車体にブラシを取り付けてみた。
ローリング方式 |
ワイパー方式 |
小中学生向けの講習会なので、写真だけではダメだろうから、 金曜には取り付けまでの部品のつけ方を1つ1つ写真にとったマニュアルを作ろう。
自律部門工作教室(追記)
明日に工作教室を控え、歯ブラシの取り付け方法の講習会の資料を作った。 基本車体までの作成などの説明は、別途工大の先生が担当なので、 歯ブラシの取り付けのみの資料。 (バドミントンの合宿で夜が暇だったしぃ…) LEGOのマニュアルは、基本組立ての絵が中心で、何をどこに刺すといった文章は 何も書いてないのが基本なので、この資料もそれを見習ってみた。(「文章書くのが面倒くさいんだろう」ってことは言いっこなし) 自宅用の一眼レフが大活躍(^_^;