[[2011a]]

[[2011a/A8/課題/プログラミングの説明]]

目次
#contents

*課題1 [#j93c134f]
**A4の紙に似顔絵を書くロボットの作成。 [#l5dacdc9]

-ひとりにつき一つ以上のプログラムを作成すること。
-ペン以外はキットに含まれる部品を使うこと。
-プログラムについて可能な部分についてはサブルーチンや関数、マクロなどを使うこと

*メンバー紹介 [#kb57fcc1]
-中島
-石井


*ロボット [#dd67b0d0]
**ペンについて [#td6a3819]
初めはアームの形にしていたが、アームの動きが速すぎてペンに遠心力がはたらいたため、パーツに負荷がかかってしまった。そこでエレベータ式に変更し、スムーズに動けるようにした。
**土台について [#nd2bfd7b]
土台は小回りがきき、スムーズに動くタイヤにした。

**工夫について [#g672ba91]
ペンを前につけたので土台の前の部品を取り除いた。前に重心が偏ったためパーツを少しつけたした。
**問題点について [#t04bb003]
ペンをつけている部分が重すぎて、勝手に下がることがある。また、うまく固定できていないため、ペンがぐらぐらである。

*プログラム [#w82e5682]
**中島 [#x06edfc8]
動く時間が決まっていないので、変数tを使って任意の時間をとった
 #define down OnFwd(OUT_B);Wait(5);Float(OUT_B);
 #define up OnRev(OUT_B);Wait(5);Float(OUT_B);
 #define turn_left(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Float(OUT_A+OUT_C);
 #define turn_right(t) OnRev(OUT_C);OnFwd(OUT_A);Wait(t);Float(OUT_A+OUT_C);
 #define go_straight(t) OnFwd(OUT_A+OUT_C);Wait(t);Float(OUT_A+OUT_C);
 #define go_back(t) OnRev(OUT_A+OUT_C);Wait(t);Float(OUT_A+OUT_C); 
 task main()
 {
 turn_left(332);//輪郭
 up;
 go_back(10);
 down;
 turn_left(35);//口
 up;
 go_back(18);
 turn_right(15);
 down;
 turn_left(15);
 go_back(25);//鼻
 up;
 go_straight(40);
 turn_left(75);
 go_back(80);
 down;
 go_straight(20);//目
 go_back(20);
 go_straight(20);
 up;
 go_straight(10);
 down;
 go_straight(20);//目
 up;
 }

**石井 [#tcccc312]
 #define turn_right(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C);
 #define turn_left(t) OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_A+OUT_C);
 #define up OnRev(OUT_B);Wait(5);Float(OUT_B);
 #define down OnFwd(OUT_B);Wait(5);Float(OUT_B);
 #define go_straight(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);
 #define go_back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);
 
 task main()
 {
   down;                   //輪郭
   turn_right(330);
   up;
   go_back(30);            //口
   down;
   turn_left(40);
   up;
   turn_left(60);          //目
   go_back(30);
   down;
   turn_right(20);
   up;
   turn_left(20);
   go_back(20);
   down;
   turn_right(20);
   up;
   turn_right(40);         //鼻
   go_straight(20);
   turn_left(60);
   down;
   turn_right(15);
   go_back(10);
   up;
 }

*感想 [#u7429672]
-中島~
ロボットを作ってみて、そのばそのばに適したロボットがあるのだと分かった。今回の似顔絵の課題では、ただのアームは不向きだと分かった。またプログラミングをしてみて、いざ動かしてみるとぜんぜん予想と違う動きをしたり移動時間が短かったり長かったりして調整するのに時間がかかった。今回はあまり納得のいくできではなかったので、次の課題で挽回したい。
-石井~
ロボットを動かす時間の調整が難しく、何度も試さなければならなくて大変だった。また、ペンを動かす方法がなかなか思いつかず、ロボットの作成に苦労した。他のグループと比べて自分の似顔絵のクォリティが低かったから、次の課題は納得のいくように頑張りたい。

*コメントをどうぞ [#l21f46ea]
#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS