*課題1 右側 : "木"の字を書くロボット[#z6e034cd]

**ロボット [#rbdb7d38]
移動とペンの上下を行うことで文字を書くロボット。&br;
モータを直結させたタイヤをペンに押し当て、タイヤを回転させることでペンの上下を行う。&br;
OUT_Aに移動用右モータ、OUT_Cに移動用左モータ、OUT_Bにペン上下用モータを接続。
モータを直結させたタイヤをペンに押し当てることでペンを固定した。ペンの上下はこのタイヤを回転させて行う。&br;
OUT_Aに移動用右側モータ、OUT_Cに移動用左側モータ、OUT_Bにペン上下用モータを接続した。

&ref(kadai01-001.jpg); &ref(kadai01-002.jpg);
&ref(kadai01-001.jpg);

**プログラム [#aaf64e92]

 kadai001-03.nqc
完成版プログラム
 作成日 2005/05/22
 作成者 原 辰徳
 作成者 Nori
 ==============================
 
 sub penup()     //ペンを上げる
 {OnFwd(OUT_B);Wait(15);Off(OUT_B);}
 
 sub pendn()     //ペンを下げる
 {OnRev(OUT_B);Wait(16);Off(OUT_B);}
 
 void gofwd(int fwdtime)     //前に移動
 {OnFwd(OUT_A+OUT_C);Wait(fwdtime);Off(OUT_A+OUT_C);}
 
 void gorev(int revtime)     //後ろに移動
 {OnRev(OUT_A+OUT_C);Wait(revtime);Off(OUT_A+OUT_C);}
 
 void turnl(int turnltime)     //左に曲がる
 {OnFwd(OUT_A);OnRev(OUT_C);
  Wait(turnltime);Off(OUT_A+OUT_C);Wait(40);}
 
 void turnr(int turnrtime)     //右に曲がる
 {OnFwd(OUT_C);OnRev(OUT_A);
  Wait(turnrtime);Off(OUT_A+OUT_C);Wait(40);}
 
 task main()
 {
  Wait(100);     //すぐに動き出さないように待機
  
  pendn();     //1画目を書く
  Wait(40);
  gofwd(100);
  penup();
  Wait(40);
 
  gorev(9);     //2画目を書く位置まで移動
  Wait(40);
  turnl(95);
  
  pendn();     //2画目を書く
  gorev(150);
  penup();
  Wait(40);
  
  gofwd(170);     //3画目を書く位置まで移動
  Wait(40);
  turnl(155);
  gorev(25);
  Wait(40);
  
  pendn();     //3画目を書く
  OnFwd(OUT_A+OUT_C);
  repeat(5)
  repeat(5)     //右にコーナーリング
  {
   Wait(8);
   Float(OUT_A);
   Wait(12);
   OnFwd(OUT_A);
  }
  Off(OUT_A+OUT_C);
  penup();
  Wait(40);
  
  OnRev(OUT_C);     //4画目を書く位置まで移動
  repeat(3)
  {
   Wait(12);
   OnRev(OUT_A);
   Wait(8);
   Float(OUT_A);
  }
  Off(OUT_A+OUT_C);
  Wait(40);
  turnl(86);
  gorev(30);
  Wait(40);
  
  pendn();     //4画目を書く
  OnFwd(OUT_A+OUT_C);
  repeat(5)
  repeat(5)     //左にコーナーリング
  {
   Wait(8);
   Float(OUT_C);
   Wait(12);
   OnFwd(OUT_C);
  }
  Off(OUT_A+OUT_C);
  penup();
 }
 

[[改良前の試作プログラムはこちら。>2006a/C4/課題1右/改良前のプログラム]]&br;&br;
プログラムの改良点
-すべて直線で"木"を書くようにしていたが、3,4画目は曲線で書くようにした。
-余計な待機時間をなくし、インクのにじみを解消した。
-ペンを下げる時のモータの回転時間を上げる時よりわずかに長くし、確実にペンを紙に触れさせかすれを解消しようとした。&br;しかし、振動等による影響のほうが大きかったようで改善されず。
-数値の調整

**工夫した点 [#e6523722]
-シンプルな機構
-3,4画目は直線ではなく曲線になるようにした。
-シンプルな構造。特にペンを持つ部分は極力シンプルにし、ペンをタイヤ一つで固定と上下ができるようにした。&br;
&ref(kadai01-002.jpg);&br;
写真のように、ペンをブロックとタイヤで挟み込んでいる。&br;
ブロックの突起間の溝にペンがはまるため、タイヤ1つで正確な固定と上下ができる。
-3,4画目は直線ではなく曲線になるようにした。片方のモータの回転・停止を繰り返すことでロボットをコーナーリングさせ、曲線を引いている。
-重心を前にもってくることで、ペンがしっかりと紙に押しつけられるようにした。

**苦労した点 [#x5ed3c70]
-モータを回す時間の調整。計算で求めた値を入力してもなかなか考えた通りに動かなかった。特に3,4画目の始点の調整に苦労した。
-ブロックの突起間の溝をレールにしたため、ペンを取り付けるユニットのブロックを重ねる方向が車体と90°違う。&br;
そのため固定がなかなかうまくいかず、様々な固定方法を試みた。&br;
&ref(kadai01-003.jpg);&ref(kadai01-004.jpg);&br;
最終的に、このような簡単な固定方法をとった。強度はあまり高くないが、文字を書くのに十分な強度はある。

**残っている問題点 [#p6b60e35]
-振動が発生することがあり、その時はうまく線が引けない。特に曲線の3,4画目を描く時に振動が発生しやすい。
-振動が発生し、かすれてうまく線が引けないことがある。特に曲線の3,4画目を描く時にそうなりやすい。
-実行するたびに結果に違いが出る。
-ホイールベースが短くて不安定。
-装飾が し ょ ぼ い 。

**反省 [#e69fcc2d]
機構や動かし方ばかりを考え、ロボットの安定性をあまり考えていなかったため、振動等の問題が残ってしまった。

**コメント [#a3a6d109]
コメントをどうぞ。
-しっかり書けていて、充実したレポートになっていると思います。 -- [[ゆき(TA)]] &new{2006-05-26 (金) 16:42:00};
-工夫した点、苦労した点などは、さらに具体的に書くとより良くなると思いますよ。(シンプルな構造→どういう構造なのか、写真等) -- [[ゆき(TA)]] &new{2006-05-26 (金) 16:43:18};

#comment


[[2006a/C4 に戻る>2006a/C4]]


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