ホーム » 2010 » 9月 » 22

日別アーカイブ: 2010年9月22日

2010年9月
« 8月   10月 »
 1234
567891011
12131415161718
19202122232425
2627282930  

最近の投稿(電子情報)

アーカイブ

カテゴリー

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の基本車体にブラシを取り付けてみた。

1009221704_240x320.jpg
ローリング方式
1009221702_240x320.jpg
ワイパー方式

小中学生向けの講習会なので、写真だけではダメだろうから、 金曜には取り付けまでの部品のつけ方を1つ1つ写真にとったマニュアルを作ろう。

自律部門工作教室(追記)

明日に工作教室を控え、歯ブラシの取り付け方法の講習会の資料を作った。 基本車体までの作成などの説明は、別途工大の先生が担当なので、 歯ブラシの取り付けのみの資料。 (バドミントンの合宿で夜が暇だったしぃ…) LEGOのマニュアルは、基本組立ての絵が中心で、何をどこに刺すといった文章は 何も書いてないのが基本なので、この資料もそれを見習ってみた。(「文章書くのが面倒くさいんだろう」ってことは言いっこなし) 自宅用の一眼レフが大活躍(^_^;