2008b/MemberOnly/進行状況A

課題 : 光を追うロボット  

課題概要

1、全方向から懐中電灯の方向を探しだし、懐中電灯の手前50cmまで進んで懐中電灯を狙ってブロック(白樽)を投げる。懐中電灯は動かさない。

2、懐中電灯をゆっくり動かしたとき懐中電灯に向かって進み、懐中電灯の動きを止めれば50cmの距離まで近づいて懐中電灯を狙ってブロックを投げる。

ロボット〜本体編〜

制作過程

動力部-before

F10.gif

今回は動力にモーターを一つしか使用してはいけないということで、複雑にギアを組むことで自由に動けるようにしなくてはならなかった。

最初は写真のように組んだ。

前進するにはモーターを正回転すれば両タイヤが回転するのでいつも通りである。

方向を変えるにはモーターを逆回転させる。このストッパーが右タイヤの回転をとめ、車体は反時計回りの移動をする。

ただし!!!直進と左回転!!これ以上の移動機能がない、、、、

これで、光を追えとは無理がある。

改良することにけってい(~_~)

動力部-after

土.gif 無題.jpg

改良を施して完成したのがこちら。

このスーパーダブルストッパー(笑)によってモーターを正回転させると右へ曲がるし、負回転させれば左へまがる。

こちらも、これ以外の移動機能はないものの、左右の自由は初タイプよりあるため光を追いやすくなった。

ただ、直進ができないので図のように「カクカク」進むことで前進をおこなう。

砲撃部-before

hougeki.gif

白い樽をただ飛ばせればいいと思ってつくったのがこいつ。黄色いバーが矢印方向に回り、打ち出すことで飛ばす単純な仕組み。

しかし、同じ方向に飛ぶことがない.......(威力は抜群www)

精度に問題ありなので壱から再検討。

砲撃部-after

akb2.gif hougekikai22.jpg

我等は画期的な白樽発射装置の開発に成功した。

(説明の為に左のゴムを「ゴム壱」右側のゴムを「ゴム弐」とする。)

モーターを回転させると手前のワームギアがオレンジ矢印方向へゴム壱をたぐり寄せる。

すると連動して青丸部分の黒棒も紅矢印方向に動き出す。

この黒棒が白樽をとめるストッパーになっているため、

黒棒が白樽から抜けるとゴム弐の弾性エネルギーによって青矢印方向に発射される。

精度、威力ともに抜群!!!文句なしの発射機構となった。@(^^)@

完成体

完成.JPG

最後に苦労した点は車体のバランスだった。

発射機構のスケールが大きくなってしまったことに原因がある。

二つのモーターを使って直進するのに比べて、カクカク直進するのは急な発進、ストップをくりかえすのと変わらない。すると慣性力によって倒れやすくなってしまう。

試行錯誤を繰り返した結果、同じくらいの重さのNQCを後ろにつける形が一番バランスがよかったので、最終的に図のようなロボになった。

プログラム

その1

  #define THRESHOLD 55		//闘値
   task main()
     {
   SetSensor(SENSOR_1,SENSOR_LIGHT);		//光センサーをセンサー1にセット
   SetSensor(SENSOR_3,SENSOR_LIGHT);		//光センサーをセンサー3にセット
     SetPower(OUT_A+OUT_B,7);			//モーター出力を7に設定
     while((SENSOR_1 < THRESHOLD) || (SENSOR_3 < THRESHOLD))
     {
     OnFwd(OUT_B);		//センサー1、センサー3が光を感知していないときは右回転
     Off(OUT_A);		
     }
     Off(OUT_B);			//闘値を超えたら停止
     OnFwd(OUT_A);             //ホイールを投げる
     Wait(30);		
     Off(OUT_A);
     }

その2    

     #define THRESHOLD 55		//闘値
     task main()
     {
   SetSensor(SENSOR_1,SENSOR_LIGHT);		//光センサーをセンサー1にセット
   SetSensor(SENSOR_3,SENSOR_LIGHT);		//光センサーをセンサー3にセット
     SetPower(OUT_A+OUT_B,7);			//モーター出力を7に設定
     ClearTimer(0);
     while(true){
     if(SENSOR_1 > THRESHOLD){    
     OnFwd(OUT_B);ClearTimer(0);             //右の光が強いとき右に進む
     }
     if(SENSOR_1 < THRESHOLD){
     OnRev(OUT_B); ClearTimer(0);     //左に光が強いとき左に進む
     }
     if((SENSOR_1 > THRESHOLD) && (SENSOR_3 > THRESHOLD)) 
     {
     Off(OUT_B);
     if(Timer(0)>20)
     {
     OnFwd(OUT_A);                  //左右の光が闘値よりも強い場合ホイールを投げる
     Wait(30);
     }   
     }
     }
     }

苦労した点

•最初に苦労した点はモーター1つでロボを左右に動かさなければならなかったことでした。今まではモーターが2つだったので左右に曲がることは難しくなかったけどモーターが1つになると難易度がいっきに上がりロボを作るのにとても苦労しました。

コメント

何かコメントがありましたらお願いします。

  • ロボットの説明は詳しくてよかったと思います。ただ、一つ目の課題ではロボットを50cmの位置まで近づけましょう。二つ目ではロボットが真正面に光を認識したときにも投げてしまいます。 -- FI? 2009-02-02 (月) 20:01:05


添付ファイル: file無題.jpg 206件 [詳細] fileakb2.gif 208件 [詳細] fileakb.gif 117件 [詳細] filehougeki.gif 200件 [詳細] filezu.ai 126件 [詳細] file土.gif 209件 [詳細] fileF10.gif 206件 [詳細] filecra.gif 104件 [詳細] filecra.jpg 189件 [詳細] filecra.psd 121件 [詳細] file完成.JPG 219件 [詳細] filehougekikai22.jpg 215件 [詳細] filehougekikai2.psd 102件 [詳細] filekougekikai.jpg 121件 [詳細] filehougeki.jpg 112件 [詳細] filesharin.jpg 100件 [詳細] file土台2.JPG 107件 [詳細] file土台.JPG 120件 [詳細] fileF1000070.jpg 100件 [詳細] fileF1000061.jpg 108件 [詳細] file発射台2.jpg 108件 [詳細] file発射台.jpg 120件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-02-10 (火) 12:56:32 (3848d)