2006a/C2/ロボコン


ロボコン特設ページVol.3
補助マシンとプログラムの説明

製作者:伊藤 伊藤 糸島 佐藤 堀 (五十音順)

ルールとか

カウンタ1474
ロボティクス入門ゼミ
2006a/C2
1ページ全体の構想、我々の,予想と結果とその原因・・・・
2ページメインのマシン紹介のページ
3ページこのページ

補助ロボット

全体図補助ロボット
・実際のコースで缶と缶の隙間の距離を計り、その長さに収まるようにマシンを組み立てた。
 
左の写真の四角い枠で缶をホールドし、缶をメインマシンが運びやすいように缶をずらす。
 
・小刻みに動くようにプログラムを作ったので、非常に正確に缶の位置を合わせることが出来た。(練習では)
 
・ギヤ比を調整し、缶を運んでも、マシンがふらつかないようにした。

マシンの紹介

補助ロボット
VFSH0003.JPG・正確さが重要なので、小さめのタイヤを採用し、マシンのスピードを遅くした
 
・ギヤ比を調整し、重たい缶を運んでも、マシンがふらつかないようにした。
 
・タイヤを6つもつけたので、缶をずらすときもまっすぐ走ってくれました。 
 
・アームが缶の重さに負けないようにしっかりと装着した 
 
・実際のコースで缶と缶の隙間の距離を計り、その長さに収まるようにマシンを組み立てた。
 
・出来は良かったのですが、本番ではあんまり働けませんでした
 
2台並んでアーム使ってみました
VFSH0001.JPG  VFSH0004.JPG   VFSH0005.JPG VFSH0002.JPG

このマシンが出来るまで

このマシンが完成したのは、本番前日です。
8/16

プログラム紹介

モーターA マシンの前進後退に関わる
モーターC マシンの前進後退に関わる
モーターB アームの上下に関わる
#define go_straight OnFwd(OUT_A+OUT_C);               // マシンを前進させる
#define back OnRev(OUT_A+OUT_C);                      //マシンを後退させる
#define Stop Off(OUT_A+OUT_C); Wait(5);               //マシンを停止させる
#define up Wait(100);OnFwd(OUT_B);Wait(60);Off(OUT_B);//アームを上げる
#define down OnRev(OUT_B);Wait(20);Off(OUT_B);        //アームを下げて缶を保持する

sub can_grasp_1()                  //木の障害物に囲まれた方の缶をつかむ
{

down
go_straight
Wait(10);             //前進と後退を繰り返して、確実に缶を保持する
back
Wait(10);
go_straight
Wait(40);
back
Wait(30);
go_straight
Wait(40);

}

sub can_grasp_2()       //缶で囲まれた方の缶をつかむ
{
down
back
Wait(10);
go_straight
Wait(10);          //同様に缶を確実に保持できるように、前進後退を繰り返す
back
Wait(20);
go_straight
Wait(20);
back
Wait(25);
}

task main()
{

//ClearMessage();

go_straight             //まずはマシンが壁にぶつかるまで前進する
Wait(250);
Stop

//until(Message() == 1 );
Wait(4000);
can_grasp_1();           //そして障害物の木で囲まれている方の缶をつかむ

back
Wait(50);
Stop                //そしてそのまま慎重に後退し
back
Wait(25);
Stop
back
Wait(20);
Stop
back
Wait(10);              //缶を一番運びやすい位置までずらす

Stop
Wait(70);              //終わったらアームを上げ、缶を放す
up
Wait(50);


go_straight             //缶を放し終わったら、邪魔にならない位置に移動する
Wait(100);
Stop

//until( Message() == 2 );
Wait(4000);

back                //次に缶に囲まれている方の缶のところまで移動する
Wait(100);
Stop

back
Wait(70);
Stop
back
Wait(10);

Stop
Wait(5);
                 //移動し終わったところ で、缶をつかむ
can_grasp_2();

go_straight
Wait(70);
Stop               //少しずつ缶をずらしていく
go_straight
Wait(60);
Stop
go_straight
Wait(20);
Stop


Wait(10);            //先ほどの位置まで缶をずらす
up                //そしてアームを上げる

Stop

go_straight
Wait(100);           //邪魔にならない位置まで移動する
Stop
}

プログラムの流れ

  1. 缶の隙間を通り待機場所へ移動する
  2. 40秒間待機する。「この間に輸送ロボットが一番運びやすい缶を運ぶ」
  3. 40秒後に、障害物の木の棒に囲まれたほうの缶をつかむ
  4. そして、輸送ロボットが運びやすい位置まで、缶をずらす
  5. ずらし終わったら、待機場所に戻る
  6. 40秒待機する。「この間に輸送ロボットが一番(以下省略)」
  7. 40秒後、今度は、障害物の缶で囲まれているほうの缶の近くまで移動して、缶をつかむ。
  8. そして、輸送ロボットが運びやすい位置まで、缶をずらす
  9. ずらし終わったら、待機場所に戻る「この間に(以下省略)」

プログラム解説

   苦労した点を強いてあげるならば

  1. アームを上げる時間の調整
  2. 実践するたびに、電池が消耗し、マシンの進む距離が変わったこと*1
  3. 缶の隙間の距離を測りにわざわざ大学まで行ったこと

このマシンの改善したい点

コメント



1ページ全体の構想、我々の,予想と結果とその原因・・・・
2ページメインのマシン紹介のページ
3ページこのページ
ロボティクス入門ゼミ
2006a/C2

*1 新品の電池を使うことでこの問題は解決できた

添付ファイル: fileVFSH0005.JPG 387件 [詳細] fileVFSH0004.JPG 341件 [詳細] fileVFSH0003.JPG 304件 [詳細] fileVFSH0002.JPG 332件 [詳細] fileVFSH0001.JPG 320件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-08-28 (月) 09:53:10