2006b/A2/michikoのページ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[ロボティクス入門ゼミ]]
目次
#contents
*自己紹介 [#b61ca3ac]
工学部物質工学科の佐野美知子です。
お茶と富士山で有名な静岡県出身です。
*書道ロボットを作る [#seda4b02]
**字を書くロボットを作る [#mc0227c3]
まずペンを上げ下げさせる仕組みを作る。
アームでペンを挟んでそれを上げ下げさせるようにした。
task main()
{ OnFwd(OUT_C);
Wait(100);
OnRev(OUT_C);
Off(OUT_C);
}
このプログラムでやってみた。ペンを持ったアームが重過ぎるのか、微動だにしない。
アーム自体を変える。ペンをキャタピラにつけてキャタピラを回転させる仕組みにした。
#ref(cimg0134_Medium.jpg)
次にこのプログラムでやってみた。
task main()
{ OnFwd(OUT_B);
Wait(10);
OnFwd(OUT_A);
OnFwd(OUT_C);
Wait(100);
OnRev(OUT_B);
Wait(10);
OnFwd(OUT_A);
OnFwd(OUT_C);
Wait(100);
Off(OUT_A+OUT_B+OUT_C); }
OnFwd(OUT_B)のあとWait(t)のtをどんなに小さくしてもペンがキャタピラを半周してしまう。初めの位置を調節した。
Off(OUT_B)をつけていないから、そのあとの(100)もはいってしまっていた。そこを直してやってみた。真っ直ぐ線を書くことができた。
**文字のプログラムを作る [#kf4e7b10]
サブルーチンを使って作ってみた。だが書かれた線の位置がまったくおかしい。
ペンの位置がロボットの真ん中ではなく右についていたためだった。
時間とgo_straight,go_backをいろいろ変えて再度挑戦してみた。上手くいった!!
それから、一画ずつとりあえず作って後で調節するというやり方でプログラムを作った。
**完成したプログラム [#ldf0c6f1]
#define down OnFwd(OUT_B);Wait(30);Off(OUT_B); //ペンを下ろす
#define up OnRev(OUT_B);Wait(30);Off(OUT_B); //ペンを挙げる
#define go_straight(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //前進
#define back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //後ろへ
#define turn_right(t) OnRev(OUT_C)+OnFwd(OUT_A);Wait(t);Off(OUT_A+OUT_C); //右を回転する
#define turn_left(t) OnRev(OUT_A)+OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C); //左を回転する
task main()
{
down;
go_straight(20); //1
up;
go_straight(10);
turn_riht(100);
gp_straight(20);
turn_right(90);
back(90);
down;
back(40); //2
up;
go_straight(40);
turn_right(90);
back(95);
down;
go_straight(180); //3
up;
go_straight(10);
turn_right(90);
back(55);
down;
back(40); //4
up;
go_straight(40);
turn_right(90);
go_straight(40);
down;
back(100); //5
up;
go_straight(140);
turn_left(90);
back(15);
down;
go_straight(100); //6
up;
back(15);
turn_right(120);
back(95);
down;
back(30); //7
up;
}
*感想 [#hee9d12e]
思っていたより大変でした。でも、一つ一つしっかり丁寧にやっていけばできるので、すごく達成感があります。上手くいかなくても、どうして上手くいかないのかを考えて、その問題を解決するにはどうすればいいのかを考えて実際にやってみる。この繰り返しが面白かったです。
-試験的なプログラムも掲載されていて、製作の過程がよくわかります。 -- [[松本(教員)]] &new{2006-12-01 (金) 09:11:47};
#comment
[[2006b/A2/tankn616のページ]]
終了行:
[[ロボティクス入門ゼミ]]
目次
#contents
*自己紹介 [#b61ca3ac]
工学部物質工学科の佐野美知子です。
お茶と富士山で有名な静岡県出身です。
*書道ロボットを作る [#seda4b02]
**字を書くロボットを作る [#mc0227c3]
まずペンを上げ下げさせる仕組みを作る。
アームでペンを挟んでそれを上げ下げさせるようにした。
task main()
{ OnFwd(OUT_C);
Wait(100);
OnRev(OUT_C);
Off(OUT_C);
}
このプログラムでやってみた。ペンを持ったアームが重過ぎるのか、微動だにしない。
アーム自体を変える。ペンをキャタピラにつけてキャタピラを回転させる仕組みにした。
#ref(cimg0134_Medium.jpg)
次にこのプログラムでやってみた。
task main()
{ OnFwd(OUT_B);
Wait(10);
OnFwd(OUT_A);
OnFwd(OUT_C);
Wait(100);
OnRev(OUT_B);
Wait(10);
OnFwd(OUT_A);
OnFwd(OUT_C);
Wait(100);
Off(OUT_A+OUT_B+OUT_C); }
OnFwd(OUT_B)のあとWait(t)のtをどんなに小さくしてもペンがキャタピラを半周してしまう。初めの位置を調節した。
Off(OUT_B)をつけていないから、そのあとの(100)もはいってしまっていた。そこを直してやってみた。真っ直ぐ線を書くことができた。
**文字のプログラムを作る [#kf4e7b10]
サブルーチンを使って作ってみた。だが書かれた線の位置がまったくおかしい。
ペンの位置がロボットの真ん中ではなく右についていたためだった。
時間とgo_straight,go_backをいろいろ変えて再度挑戦してみた。上手くいった!!
それから、一画ずつとりあえず作って後で調節するというやり方でプログラムを作った。
**完成したプログラム [#ldf0c6f1]
#define down OnFwd(OUT_B);Wait(30);Off(OUT_B); //ペンを下ろす
#define up OnRev(OUT_B);Wait(30);Off(OUT_B); //ペンを挙げる
#define go_straight(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //前進
#define back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //後ろへ
#define turn_right(t) OnRev(OUT_C)+OnFwd(OUT_A);Wait(t);Off(OUT_A+OUT_C); //右を回転する
#define turn_left(t) OnRev(OUT_A)+OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C); //左を回転する
task main()
{
down;
go_straight(20); //1
up;
go_straight(10);
turn_riht(100);
gp_straight(20);
turn_right(90);
back(90);
down;
back(40); //2
up;
go_straight(40);
turn_right(90);
back(95);
down;
go_straight(180); //3
up;
go_straight(10);
turn_right(90);
back(55);
down;
back(40); //4
up;
go_straight(40);
turn_right(90);
go_straight(40);
down;
back(100); //5
up;
go_straight(140);
turn_left(90);
back(15);
down;
go_straight(100); //6
up;
back(15);
turn_right(120);
back(95);
down;
back(30); //7
up;
}
*感想 [#hee9d12e]
思っていたより大変でした。でも、一つ一つしっかり丁寧にやっていけばできるので、すごく達成感があります。上手くいかなくても、どうして上手くいかないのかを考えて、その問題を解決するにはどうすればいいのかを考えて実際にやってみる。この繰り返しが面白かったです。
-試験的なプログラムも掲載されていて、製作の過程がよくわかります。 -- [[松本(教員)]] &new{2006-12-01 (金) 09:11:47};
#comment
[[2006b/A2/tankn616のページ]]
ページ名: