- 追加された行はこの色です。
- 削除された行はこの色です。
*課題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]]