今回の課題:空き缶収集&積み上げロボット

2台のロボットで空き缶を収集し、ゴールに空き缶になるべく高く積み上げる

コース図

今回の課題は班員を役割分担して、この課題の攻略を図りました。

ロボとプログラムの紹介(空き缶収集ロボ)

ロボの説明

空き缶収集ロボ

このロボットは空き缶積み上げロボットのために空き缶を持ってきてあげるためのロボットです。腕には一本の空き缶が入るようになっています。積み上げロボの構造上、二本ずつしか積み上げられないのでこちらが一本ずつ持っていく形になりました。

プログラム

今回このロボのプログラミングは、課題1でやったライントレースのプログラムをその場その場で活用していく形になった。ただ自分たちでやった時と、本番で行った時とではしきい値が変わったのか、上手く動くことが出来なかった。再チャレンジの際、その点を上手く改良したかったが、失敗してしまった。どの環境下でも対応出来るようなロボを作れなかったのが残念だった。

ロボとプログラムの紹介(空き缶積み上げロボ)

ロボの説明

空き缶積み上げロボ

こちらのロボの構造などの詳しい説明はyunagiのページをみてください。

プログラム

こちらのロボのプログラムの詳しい説明はmatoのページをみてください。

#define THRESHOLD 50
#define HIPOWER 2
#define LOWPOWER 1
#define set_power_H SetPower(OUT_AC,HIPOWER);
#define set_power_L SetPower(OUT_AC,LOWPOWER);
#define go_forward(t) set_power_H; OnFwd(OUT_A); Wait(t); Off(OUT_A);
#define go_back(t) set_power_L; OnRev(OUT_A); Wait(t); Off(OUT_A);
#define turn_right2 set_power_L; OnRev(OUT_C); OnFwd(OUT_A);
#define can_hold(t)set_power_L; OnFwd(OUT_C); Wait(t); 
#define can_up(t) set_power_L; OnFwd(OUT_B); Wait(t); Off(OUT_B);
#define can_down(t) set_power_L; OnRev(OUT_B); Wait(t); Off(OUT_B);
#define can_rerease(t) set_power_L; OnRev(OUT_C); Wait(t); Off(OUT_C);
#define time1 1700
sub can_stack()
{ can_hold(100);
  go_back(30);
  go_forward(50);
  can_up(700);
  go_forward(200);
  can_down(200);
  can_rerease(60);
  go_back(1000);   }
task main()
{   SetSensor(SENSOR_2, SENSOR_LIGHT);
    go_forward(600);
    Wait(3000);     
    can_stack();    }

課題2、ロボコンを行った感想・反省点

今回は二台のロボを使って缶を積み上げてゴールに置くというものだったが、二台に分けてやろうとするとどうしても二台の間で動きが合わないなどの問題を生じ、それを合わせていく方法を考えるのが大変だった。通信機能を使ってやろうともしたが、上手く通信してくれず、最終的に時間を計って合わせる感じになってしまった。

ロボコンでも僕らが作った回収ロボが全く役に立たず、すごく悔しかった。作ってる過程でロボコンの実際に行われる環境を配慮出来てなったのが悪かったのかなと感じた。

この授業でロボットの制御というのが思っていたよりもシビアなんだなと感じ、今後自分がそういう分野のことをやっていくんだなと思うと、とても大変そうだが、楽しそうだなとも思った。今回の失敗を忘れずに今後のロボット制御を行っていきたい。


添付ファイル: filerobo4.jpg 371件 [詳細] filerobo3.jpg 328件 [詳細] fileroute.JPG 319件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-02-05 (水) 21:33:54