[[2006a/C2/ロボコン]]


#hr
CENTER:&size(25){ロボコン特設ページVol.3&br;};&br;
補助マシンとプログラムの説明
#hr

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

[[ルールとか>2006a/ロボコン]]
RIGHT:カウンタ&counter;
RIGHT:[[ロボティクス入門ゼミ]]
RIGHT:[[2006a/C2]]
--目次
#contents


*補助ロボット [#qb437dcb]
**プログラム紹介 [#n99d1a67]
 モーター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
 }


メインのマシンの作業の進行具合でメッセージ方式か、時限式にするつもりでした。

--メッセージよりも時限式のほうが確実か・・・・?

--通信方式だと通信に失敗した場合、そこでマシンが動かなくなるが。、時限式だとそのようなことはなくなる

このマシン・プログラムは本番ではほとんど機能できませんでした。とても残念でした。

実際のコースで缶と缶の隙間の距離を計り、その長さに収まるようにマシンを組み立てた。

マシンの動きが単純なのでそれほど苦労はしなかった。

小刻みに動くようにプログラムを作ったので、非常に正確に缶の位置を合わせることが出来た。(練習では


ギヤ比を調整し、缶を運んでも、マシンがふらつかないようにした。





#comment
----------------
RIGHT:[[ロボティクス入門ゼミ]]
RIGHT:[[2006a/C2]]


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS