[[2006a/A1]]

#contents
*プログラムについて [#ed2c79b9]
**『水』を書くプログラム [#ec699d27]
 //    作成者:増田
 //    作成日:2006-5-23
 //    マシーン:ミズキ
   
 #define back(t) OnFwd(OUT_C);Wait(t);Off(OUT_C);
 #define front(t) OnRev(OUT_C);Wait(t);Off(OUT_C);
 #define up OnFwd(OUT_A);Wait(30);Off(OUT_A);
 #define down OnRev(OUT_A);Wait(30);Off(OUT_A);
 #define left(t) OnFwd(OUT_B);Wait(t);Off(OUT_B);
 #define right(t) OnRev(OUT_B);Wait(t);Off(OUT_B);
 
 task main()
  {
  down;back(60);Wait(50);                                  //1画目
  OnRev(OUT_C);OnFwd(OUT_B);Wait(10);Off(OUT_C+OUT_B);     //ハネ
  up;left(30);front(35);Wait(100);                         //2画目に移動
  down;Wait(50);right(30);Wait(50);                        //2画目(横)
  OnFwd(OUT_C);OnFwd(OUT_B);Wait(30);Off(OUT_C+OUT_B);       //2画目(はらい)
  up;right(80);front(50);Wait(100);                         //3画目に移動
  down;Wait(50);                                           //3画目
  OnFwd(OUT_C);OnFwd(OUT_B);Wait(30);Off(OUT_C+OUT_B);Wait(50);
  OnFwd(OUT_C);OnRev(OUT_B);Wait(30);Off(OUT_C+OUT_B);up;     //3画目(はらい)
  }

*『水』を書くプログラム [#ec699d27]
 //    作成者:
**プログラムの構想と説明 [#t2c053f1]
当初の考えは車体が字の通りに動くマシーンを考えていたが、TAのマシーンを見て感激し自分たちにも作れないかとはじめたのがこのマシーンです。
-構想・・・
『水』という字はいわゆる八方位の中でかけることに気がづき、縦と横の動きを同時にすれば斜めがかけると予想して、車体は前後に、それと横にスライドするシステムを作ることを考えた。
&ref(2006a/A1/課題1左/無題.bmp,50%,完成イメージ); 
-説明・・・プログラムを出来るだけ短くするためにマクロを用いた。
車体の前後
+スライドシステムの左右の動き
+アームの上下

この三つを使ったおかげでかなり見た目には簡単なプログラムが出来た。ただ、斜めの移動のマクロがうまく作れなかった。
**『水』をかくプログラム 改訂版 [#k3215356]
 
 //    作成者:増田
 //    作成日:2006-5-23
 
 //    マシーン:ミズキ
  
 #define back(t) OnFwd(OUT_C);Wait(t);Off(OUT_C);
 #define front(t) OnRev(OUT_C);Wait(t);Off(OUT_C);
 #define up OnFwd(OUT_A);Wait(30);Off(OUT_A);
 #define down OnRev(OUT_A);Wait(30);Off(OUT_A);
 #define left(t) OnFwd(OUT_B);Wait(t);Off(OUT_B);
 #define right(t) OnRev(OUT_B);Wait(t);Off(OUT_B);
 #define move1(t) OnFwd(OUT_C);OnFwd(OUT_B);Wait(t);Off(OUT_C+OUT_B);
 #define move2(t) OnFwd(OUT_C);OnRev(OUT_B);Wait(t);Off(OUT_C+OUT_B);
 
 task main()
   {
   down;front(60);Wait(10);             //1画目
   OnRev(OUT_C);OnFwd(OUT_B);Wait(20)   //ハネ
   up;back(50);left(35);Wait(10);       //2画目に移動
   down;right(35);Wait(10);             //2画目
   OnRev(OUT_B);OnFwd(OUT_C);Wait(35);
   Off(OUT_C+OUT_B);Wait(10);
   up;right(90);back(95);Wait(10);      //3画目に移動
   OnFwd(OUT_B);OnFwd(OUT_C);Wait(35);
   Off(OUT_C+OUT_B);Wait(10);           //3画目
   OnRev(OUT_B);OnFwd(OUT_C);Wait(35);
   Off(OUT_C+OUT_B);Wait(10);
   }    
   
*難しかった点 [#a96ac96f]

*工夫した点 [#a471ecca]


  {
  down;back(60);Wait (50);                                  //1画目
 OnRev(OUT_C);OnFwd(OUT_B);Wait(10);Off(OUT_C+OUT_B);     //ハネ
 up;left(30);front(35);Wait(100);                         //2画目に移動
 down;Wait(50);right(30);Wait(50);                        //2画目(横)
 move1(30);                          //2画目(はらい)
 up;right(80);front(50);Wait(100);                         //3画目に移動
 down;Wait(50);                                           //3画目
 OnFwd(OUT_C);OnFwd(OUT_B);Wait(30);Off(OUT_C+OUT_B);Wait(50);
 move2(30)                         //3画目(はらい)
 }
斜めに動くマクロを追加しました。   
*マシーンの説明 [#xfa2fe11]
**難しかった点 [#a96ac96f]
課題となった点は
+3つのモーターでどうパーツを動かすか。
+横にスライドさせるシステムをどう作るか。
+モーターの回転は変わらないのでいかに同じバランスで動きを伝えるか。
+車体の不安定さをどう克服するか。
+プログラムをいかに簡単にするか。
**工夫した点 [#a471ecca]
課題ごとに
+モーターを車輪、スライドシステム、スライドシステムの上下の3つに分け、車輪を1つのモーターでまわすことにした。
&ref(2006a/A1/課題1左/SA350003.JPG,50%,車輪);
+モーターに歯車をつけ直接回転を伝えるパーツを使った。
&ref(2006a/A1/課題1左/SA350001.JPG,50%,スライド);
+ギアを使ったり、ゴムを使ったりしたが車輪は普通のギアで、スライドパーツもモーターに小さい歯車をつけたときが一番バランスよい速さになった。
+車体は後ろに補助輪をつけただけでかなり安定した。そして、スライドと車体をつなぐアームのつけ方を逆にしたところ、かなりペン先が安定した。
&ref(2006a/A1/課題1左/SA350002.JPG,50%,アーム);
+字の書き方がほかのチームと違い、前後左右の組み合わせなので定義を使ってかなり簡略化できた。
&ref(2006a/A1/課題1左/dscn2540_Medium.jpg,50%,ミズキ完成形);
**完成作品 [#a51c1d56]
かなり満足する作品です。
&ref(2006a/A1/課題1左/Suimoku_A1L.jpg,50%,『水』);
*考察 [#x3d109e2]
-実際に線を描くと斜めの線がどうしてもぶれてしまい、それを補正することができなかった。おそらく、モーターの速さが速すぎたためだが、それを遅くする方法がわからなかった。これからの製作で研究していきたい。
*反省点 [#eae3f20c]
完成がぎりぎりになってしまったこと。
もっと早く分担を決めて効率よくやるべきだった。
ロボットの製作過程を追って更新すればわかりやすくなったと思う。
*感想 [#y5f7b983]
今回のマシーンは
ほかのチームと明らかに書く動作が違うこと。
プログラムが一番短いこと。
字を書くスピードが一番速かったこと。この3つは良かったと評価しています。ただ、完成までの道のりがとても効率悪かったので、次の反省にしたいです。
-ついでに斜めの画もマクロで定義するとメインプログラムがもう少し見やすくなりますね。  -- [[松本(教員)]] &new{2006-06-01 (木) 08:39:12};
-pukiwikiの場合、番号付きの箇条書きを作成するには各項目を『+』で始めます。『-』だと番号なし(順序なし)の箇条書きになります。 -- [[松本(教員)]] &new{2006-06-01 (木) 08:43:24};

#comment
コメントをどうぞ…


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