[[2007a/MemberOnly/進行状況A]]
#contents

*ロボット紹介 [#t897f346]

今回は、初め小さめで小回りが利きそうなロボットを作成しましたが、
ロボットにペンを持たせていざ文字を書こうとすると、回転するときに
ペンの位置がずれ、修正するのがかなり難しいことがわかりました。

そこで、うまくペンがずれないようにする方法はないか?と考えた結果
ペンをロボットの中心におけばいい!!という考えにたどり着きました。


これがロボです
http://yakushi.shinshu-u.ac.jp/robotics/?plugin=attach&pcmd=open&file=photo.jpg&refer=2007a%2FA1%2F%B2%DD%C2%EA%A3%B1%B1%A6

『ロボ全体の写真のはりつけ』




みてもらえばわかると思いますが、このロボは真ん中にかなり大きな
空洞があります。この空洞の中に、タイヤを2つセットして
モーターを回すことにより、2つのタイヤの間に挟んだボールペンが上下し
文字が書けるようになっています。







*プログラム      [#ie4e3283]
**『田』の字を書く [#ide1210f]
 task main()
  {
     OnFwd(OUT_A+OUT_C); //一画目
     Wait(100);//
     OnFwd(OUT_B);//
     Wait(30);//
     
     OnRev(OUT_A+OUT_C);       //戻る(一画目から二画目への移動)
     Wait(100);//
     OnRev(OUT_C);// 
     OnFwd(OUT_A); //
     Wait(78);//
     OnFwd(OUT_A+OUT_C);       //二画目
     Wait(100);          //
     OnRev(OUT_A);  //
     Wait(78);//
     OnFwd(OUT_A+OUT_C);//
     Wait(100);//
     
     OnRev(OUT_A+OUT_C);//戻る(二画目から三画目への移動)
     Wait(100);//
     OnRev(OUT_A);//
     OnFwd(OUT_C);//
     Wait(78);//
     OnFwd(OUT_A+OUT_C);//
     Wait(50);//
     OnRev(OUT_C);//
     OnFwd(OUT_A);//
     Wait(78);//
     OnFwd(OUT_A+OUT_C);//三画目
     Wait(100);
     
     OnRev(OUT_A+OUT_C);//戻る(三画目から四画目への移動)
     Wait(50);
     OnRev(OUT_A);//
     OnFwd(OUT_C);//
     Wait(78);//
     OnFwd(OUT_A+OUT_C); //
     Wait(50);     //
     
     OnRev(OUT_A+OUT_C);   //  四画目 
     Wait(100);      //
     
     OnFwd(OUT_A+OUT_C);    //戻る(四画目から五画目への移動)
     Wait(100);      //
     OnRev(OUT_C);//
     OnFwd(OUT_A);//
     Wait(78);//
     OnFwd(OUT_A+OUT_C);//
     Wait(50);//
     OnRev(OUT_C);//
     OnFwd(OUT_A);//
     Wait(78);//
     OnFwd(OUT_A+OUT_C);//五画目
     Wait(100);
   
     Off(OUT_A+OUT_B+OUT_C);//
     Wait(30);//
 }      

**『木』の字を書く [#w3bbd083]
  task main()
  {


 
  OnFwd(OUT_A+OUT_C); Wait(90);//1画目

  OnRev(OUT_B); Wait(15);//1画目から2画目
  Off(OUT_B);Wait(50);//
 
  OnRev(OUT_A+OUT_C); Wait(80);//
  Off(OUT_A+OUT_C); Wait(50);//
 
  OnFwd(OUT_C); OnRev(OUT_A);Wait(77);//
 
  OnFwd(OUT_A+OUT_C);Wait(45);//
  Off(OUT_A+OUT_C);Wait(50);//

  OnFwd(OUT_B); Wait(15);//
  Off(OUT_B);Wait(50);//

  OnRev(OUT_A+OUT_C);Wait(150);//2画目
  Off(OUT_A+OUT_C);Wait(50);//
  OnRev(OUT_B);Wait(15);//2画目から3画目
  Off(OUT_B);Wait(50);//

  OnFwd(OUT_A+OUT_C);Wait(105);//
  Off(OUT_A+OUT_C);Wait(50);//

  OnFwd(OUT_C);OnRev(OUT_A);Wait(50);//
  Off(OUT_A+OUT_C);Wait(50);//

  OnFwd(OUT_B);Wait(15);//
  Off(OUT_B);Wait(50);//

  OnRev(OUT_A+OUT_C);Wait(75);//3画目
  Off(OUT_A+OUT_C);Wait(50);//

  OnRev(OUT_B);Wait(15);//3画目から4画目
  Off(OUT_B);Wait(50);//

  OnFwd(OUT_A+OUT_C);Wait(75);//
  Off(OUT_A+OUT_C);Wait(50);//
  OnFwd(OUT_A);OnRev(OUT_C);Wait(90);//
  Off(OUT_A+OUT_C);Wait(50);//

  OnFwd(OUT_B);Wait(15);//
  Off(OUT_B);Wait(50);//

  OnRev(OUT_A+OUT_C);Wait(75);//4画目
  Off(OUT_A+OUT_C);Wait(50);//
  OnRev(OUT_B);Wait(15);//
  Off(OUT_B);Wait(50);//
  }
 
 
 
 
 
 
*苦労した点 [#k3fc47d3]
知識に乏しく、なかなかロボの制作がうまくいかなかった。

真ん中にペンを持ってきたのはよかったが、その影響で全体が縦長になり、
安定性を失ってしまった。軽い方にモーターなどの重いものを載せ、
できるだけ安定性がとれるようにした。

タイヤとタイヤの間の隙間に、何を入れるのかでも苦労した。
大きいものは隙間が小さかったため入らず、最終的にボールペンから
ボールペンの芯を取り出してタイヤの間に挟むことにした。
しかし、ボールペンの芯だと柔らかいため、字を書くとき
うまくインクが紙に付かない。それを改善するために、
うまくインクが紙に付かない。それを改善するために、さらにボールペンの芯に
蛍光ペンを付けることにした。



*がんばった点 [#e4abae75]
字が書きやすいように、ロボの中央にペンを持ってきたこと。
タイヤの隙間はどれくらいにするか、タイヤの隙間に何を入れるのか、
ペンの長さが許容範囲内であるか、など課題だらけだった。
試行錯誤をして、大きいペンだと挟んでもすぐタイヤから抜けてしまったり、
ペン自体の太さが一定じゃないなどの問題があったため、小さくて太さが一定である
ボールペンの芯を選ぶことにした。

*まとめ [#d2054d21]
困った点や工夫した点をできるだけ写真などを使いながら詳しく説明する。
今回初めて自分でプログラムしたロボットに漢字を書かせるということをしたが、
自分が思っている以上に時間がかかってしまった。特にロボの形に関しては、
何度も試行錯誤を繰り返し、やっとペンを中央にするということにたどり着けた。

使ったモーターやセンサーについての説明
字を書くときに真ん中にペンを持ってきたため、ロボが回転したときでもペンの位置がずれず、
きれいな字が簡単なプログラムで書けた。

ロボットの種々の機能と、プログラム全体の流れの説明
真ん中にペンを持ってくる構造にしたため、ロボの全景が縦長になってしまい、
床の場所によって、横転してしまったときもあり、バランスが悪かった。

他チームとの違いの強調

コメントをどうぞ
-試行錯誤の過程についてよく説明していてよいと思います。 -- [[ヒロヤ]] &new{2007-05-24 (木) 00:18:11};
-サブルーチンや関数を使ってみましょう。もっと見やすく改良しやすいプログラムになると思います。 -- [[松本]] &new{2007-05-24 (木) 08:12:38};





コメントをどうぞ
#comment


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