2015a/Member/riesteria/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
目次
#contents
*課題の説明 [#m710e389]
今回の課題は、書道ロボットを作成し、各自の名前の一文字を選択し、A4用紙に書道ロボットに書かせるというものである。ただし、選択する文字は7画以上でなければならない。なお、今回私は「村」という一文字を選んだ。
* ロボットの説明 [#mfdabb24]
**全体 [#m42cd21d]
#ref(new_IMG_0268.jpg)
最初は後輪が高いため、重心が高くなっており、ひっくり返ってしまった。そこで後輪を組み換え重心を低くした。
**タイヤ部分 [#e01b93bb]
#ref(new_IMG_0259.jpg)
後輪はRISの冊子を参考に作った。前輪は歯数の小さいギアをモーター側に、大きいギアをタイヤ側につけることで速度を落とし、A4紙に収まる大きさの字を書きやすくした。モーターは前輪にのみ付いている。
**ペンの上げ下げ [#ycfc016c]
#ref(new_IMG_0254.jpg)
#ref(new_IMG_0255.jpg)
タイヤを2つ使い、その間にペンをはさみ、タイヤをギアで回転させることで、ペンの上げ下げを行う。最初、ギアをそのままつけたが、強すぎ、ペン先がはじかれてしまった。そこで輪ゴムを使い、一定のテンションがかかり続けるようにすることで、はじかれないように調整した。
*プログラムの説明 [#z4fe8132]
**プログラム [#p80eadb7]
#define Down OnRev(OUT_B);Wait(120);Off(OUT_B);Wait(100); //ペンを下げる
#define Up OnFwd(OUT_B);Wait(100);Off(OUT_B);Wait(100); //ペンを上げる
#define SenFwd(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC);Wait(100); //前に進む
#define spin90 OnFwd(OUT_C);OnRev(OUT_A);Wait(60); //90度回転させる
#define SenRev(t) OnRev(OUT_AC);Wait(t);Off(OUT_AC);Wait(100); //後ろに進む
task main ()
{
Down; //一画目開始
int time1;
time1 = 0;
time1 += 25;
SenFwd(time1);
Up; //一画目終了
time1 /= 2;
SenFwd(time1); //五画目の始めの位置に移動
Down; //五画目開始
time1 *= 2;
SenFwd(time1);
Up; //五画目終了
time1 *= 2;
SenRev(time1); //一画目の中央に移動
spin90; //90度回転
time1 /= 4;
SenRev(time1); //二画目の始めの位置に移動
Down; //二画目開始
time1 *= 8;
SenFwd(time1);
Up; //二画目終了
time1 *= 3;
time1 /= 4;
SenRev(time1); //三画目の始めの位置に移動
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(10);
Off(OUT_AC);
Wait(100); //三画目を書く方向を向かせる
Down; //三画目開始
time1 *= 2;
time1 /= 3;
SenFwd(time1);
Up; //三画目終了
SenRev(time1);//四画目の始めの位置に移動
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(25);
Off(OUT_AC);
Wait(100); //四画目を書く方向を向かせる
Down; //四画目開始
time1 /= 2;
SenFwd(time1);
Up; //四画目終了
time1 *= 3;
time1 /= 2;
SenFwd(time1);//六画目の始めの位置に移動(六画目は反対側から書く)
Down; //六画目のはねの部分開始
time1 *= 2;
time1 /= 3;
SenFwd(time1);//六画目のはねの部分終わり
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(100);
Off(OUT_AC);
Wait(100); //六画目の直線を書く方向を向かせ、六画目の直線部分開始
time1 *= 4;
SenFwd(time1);
Up; //六画目終了
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(10);
Off(OUT_AC);
Wait(100); //七画目の始めの位置の方向を向かせる
time1 /= 2;
SenFwd(time1);//七画目の始めの位置に移動
spin90; //七画目を書く方向を向かせる
Down; //七画目開始
time1 /= 8;
SenFwd(time1);//七画目終了
}
**説明 [#dba01cfe]
#ref(new_ロボ書き順.jpg)
上の図の書き順で書いた。同じ方向の線を合わせて書くことで、向きを変える手間をできるだけ省いた。
プログラムにおける回転の秒数は、モーターの出力に差があったため、何回か実際に動かしてみることで秒数を決定した。
**書けたもの [#s2ecbaa9]
#ref(new_IMG_0262.jpg)
少し斜めになってしまったが、何とか「村」と読める。
*感想と反省 [#aec3a5c4]
~・ロボットの動きの微調整が難しかった。特に、回転の秒数を決めるとき、モーターの出力に差があったため、何回も動かして秒数を決めていった。
~・全員の予定がなかなか合わず、あまり時間を取れなかった。今度ロボットを組む時は連携をさらに密にし、完璧なものを作り上げたい。
~・難しかった点や、困った点などいろいろとあったが、最終的にはなんとか形にでき、また楽しむこともできたのでよかったと思う。今回の経験は次回の課題に生かしていきたい。
終了行:
目次
#contents
*課題の説明 [#m710e389]
今回の課題は、書道ロボットを作成し、各自の名前の一文字を選択し、A4用紙に書道ロボットに書かせるというものである。ただし、選択する文字は7画以上でなければならない。なお、今回私は「村」という一文字を選んだ。
* ロボットの説明 [#mfdabb24]
**全体 [#m42cd21d]
#ref(new_IMG_0268.jpg)
最初は後輪が高いため、重心が高くなっており、ひっくり返ってしまった。そこで後輪を組み換え重心を低くした。
**タイヤ部分 [#e01b93bb]
#ref(new_IMG_0259.jpg)
後輪はRISの冊子を参考に作った。前輪は歯数の小さいギアをモーター側に、大きいギアをタイヤ側につけることで速度を落とし、A4紙に収まる大きさの字を書きやすくした。モーターは前輪にのみ付いている。
**ペンの上げ下げ [#ycfc016c]
#ref(new_IMG_0254.jpg)
#ref(new_IMG_0255.jpg)
タイヤを2つ使い、その間にペンをはさみ、タイヤをギアで回転させることで、ペンの上げ下げを行う。最初、ギアをそのままつけたが、強すぎ、ペン先がはじかれてしまった。そこで輪ゴムを使い、一定のテンションがかかり続けるようにすることで、はじかれないように調整した。
*プログラムの説明 [#z4fe8132]
**プログラム [#p80eadb7]
#define Down OnRev(OUT_B);Wait(120);Off(OUT_B);Wait(100); //ペンを下げる
#define Up OnFwd(OUT_B);Wait(100);Off(OUT_B);Wait(100); //ペンを上げる
#define SenFwd(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC);Wait(100); //前に進む
#define spin90 OnFwd(OUT_C);OnRev(OUT_A);Wait(60); //90度回転させる
#define SenRev(t) OnRev(OUT_AC);Wait(t);Off(OUT_AC);Wait(100); //後ろに進む
task main ()
{
Down; //一画目開始
int time1;
time1 = 0;
time1 += 25;
SenFwd(time1);
Up; //一画目終了
time1 /= 2;
SenFwd(time1); //五画目の始めの位置に移動
Down; //五画目開始
time1 *= 2;
SenFwd(time1);
Up; //五画目終了
time1 *= 2;
SenRev(time1); //一画目の中央に移動
spin90; //90度回転
time1 /= 4;
SenRev(time1); //二画目の始めの位置に移動
Down; //二画目開始
time1 *= 8;
SenFwd(time1);
Up; //二画目終了
time1 *= 3;
time1 /= 4;
SenRev(time1); //三画目の始めの位置に移動
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(10);
Off(OUT_AC);
Wait(100); //三画目を書く方向を向かせる
Down; //三画目開始
time1 *= 2;
time1 /= 3;
SenFwd(time1);
Up; //三画目終了
SenRev(time1);//四画目の始めの位置に移動
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(25);
Off(OUT_AC);
Wait(100); //四画目を書く方向を向かせる
Down; //四画目開始
time1 /= 2;
SenFwd(time1);
Up; //四画目終了
time1 *= 3;
time1 /= 2;
SenFwd(time1);//六画目の始めの位置に移動(六画目は反対側から書く)
Down; //六画目のはねの部分開始
time1 *= 2;
time1 /= 3;
SenFwd(time1);//六画目のはねの部分終わり
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(100);
Off(OUT_AC);
Wait(100); //六画目の直線を書く方向を向かせ、六画目の直線部分開始
time1 *= 4;
SenFwd(time1);
Up; //六画目終了
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(10);
Off(OUT_AC);
Wait(100); //七画目の始めの位置の方向を向かせる
time1 /= 2;
SenFwd(time1);//七画目の始めの位置に移動
spin90; //七画目を書く方向を向かせる
Down; //七画目開始
time1 /= 8;
SenFwd(time1);//七画目終了
}
**説明 [#dba01cfe]
#ref(new_ロボ書き順.jpg)
上の図の書き順で書いた。同じ方向の線を合わせて書くことで、向きを変える手間をできるだけ省いた。
プログラムにおける回転の秒数は、モーターの出力に差があったため、何回か実際に動かしてみることで秒数を決定した。
**書けたもの [#s2ecbaa9]
#ref(new_IMG_0262.jpg)
少し斜めになってしまったが、何とか「村」と読める。
*感想と反省 [#aec3a5c4]
~・ロボットの動きの微調整が難しかった。特に、回転の秒数を決めるとき、モーターの出力に差があったため、何回も動かして秒数を決めていった。
~・全員の予定がなかなか合わず、あまり時間を取れなかった。今度ロボットを組む時は連携をさらに密にし、完璧なものを作り上げたい。
~・難しかった点や、困った点などいろいろとあったが、最終的にはなんとか形にでき、また楽しむこともできたのでよかったと思う。今回の経験は次回の課題に生かしていきたい。
ページ名: