2015a/Member/ahiru/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#contents
*課題1 [#ic71a861]
第一回目の課題は、書道ロボットの作成です。
課題内容は[[こちら:http://yakushi.shinshu-u.ac.jp/robotic...
*ロボットの構造説明 [#l825ec4e]
今回の書道ロボットでは「美」という字を描いています。画数...
ロボットを作成する際に気を付けた事として、構造を理解しや...
**setpowerを使用せずに減速 [#u20f4f8d]
モーター自体の力が弱いため、本体全ての重さがかかっている...
そのような欠点がある以上、車輪プログラムにsetpower避ける...
#ref(./001.JPG,40%)
***車輪ののギア比 [#ibb67537]
+モーターの回転部分に歯数12の歯車を付け、次の棒(2番目)...
+また、同じ棒(2番目)に歯数8の歯車を付け、大きな歯車(歯...
+歯数8と車輪についている歯数24の歯車が噛むことになるので...
よって、以上の(1.)(2.)を掛け合わせたもの{(3/10)*(1/3)=(1...
つまり、モーターが10回転すると1回車輪が回転し終えるという...
**ペンを垂直にあげるために [#s7d3fef1]
字の太さに差をつけるため、垂直に上下動させることを考えま...
また、そこでどのようなペンでも使用できるよう考慮し、キャ...
ペンは比較的軽いため、setpowerが可能です。ですが、あまり...
作成後の収穫として、キャタピラならではの利点がありました...
&ref(./005.JPG,20%);
ここでのギア比は、一回目に歯数8と歯数40が噛み(1/5)、歯...
すなわち、モーターが15回転するとキャタピラの車輪が1回転し...
**後輪のキャスター [#j53f84ca]
重心が前方に位置するため、移動速度が遅いとは言え転倒する...
#ref(./002.JPG,40%)
重心を少しでも中心へ移動させるには、上の写真のように後輪...
*プログラミング[#f224a4ad]
**プログラミングの説明 [#yc494bf1]
まずは今回の書道ロボットのプログラム全てを記載します。
#define HIPOWER 7
#define LOWPOWER 4
#define WAIT Wait(50);
#define set_power_pH SetPower(OUT_B,HIPOWER);
#define set_power_pL SetPower(OUT_B,LOWPOWER);
#define turn_left(t) OnFwd(OUT_A); OnRev(OUT_C); Wait(t)...
#define turn_right(t) OnRev(OUT_A); OnFwd(OUT_C); Wait(t...
#define go_forward(t) OnFwd(OUT_AC); Wait(t); Off(OUT_AC...
#define go_back(t) OnRev(OUT_AC); Wait(t); Off(OUT_AC);
#define TURN_TIME 190 //垂直回転時間
#define TURN_TIME2 180 //左右でモーターの強さが異なるた...
sub pen_up_fast()
{ set_power_pH OnFwd(OUT_B);
Wait(49);
Off(OUT_B);
WAIT;
}
sub pen_up_slow()
{ set_power_pL OnFwd(OUT_B);
Wait(55);
Off(OUT_B);
}
sub pen_down()
{ set_power_pH OnRev(OUT_B);
Wait(50);
Off(OUT_B);
}
task main ()
{
pen_down();
go_forward(60);
pen_up_fast(); //一画目
go_back(70);
WAIT;
turn_left(130);
go_forward(150);
turn_right(270);
pen_down();
OnFwd(OUT_AC);
Wait(60);
pen_up_slow();
Off(OUT_AC); //二画目
WAIT;
go_back(20);
WAIT;
turn_right(100);
go_forward(100);
pen_down();
go_back(170);
pen_up_fast(); //三角目
repeat(2){
turn_left(TURN_TIME);
go_forward(50);
turn_right(TURN_TIME2);
go_forward(150);
pen_down();
go_back(150);
pen_up_fast();
} //四・五画目
turn_left(TURN_TIME);
go_forward(50);
turn_right(TURN_TIME2);
go_forward(180);
pen_down();
go_back(230);
pen_up_fast(); //六画目
go_forward(150);
turn_right(TURN_TIME);
go_forward(135);
pen_down();
go_back(125);
pen_up_fast(); //七画目
turn_left(40);
go_forward(30);
turn_right(110);
pen_down();
OnRev(OUT_AC);
Wait(160);
pen_up_slow();
Off(OUT_AC); //八画目
WAIT;
go_forward(215);
turn_left(140);
go_back(25);
pen_down();
go_back(120);
OnRev(OUT_AC);
Wait(50);
pen_up_slow();
Off(OUT_AC); //九画目
}
**上記のプログラムで実際に書いたもの [#o1792b59]
#ref(./004.JPG,20%)
**書き順 [#md1c0d73]
プログラミングがし易いよう、本来の書き順とは違う書き順に...
#ref(./008.gif)
「美」という字には、横棒が4本あります。実際の書き順では、...
**プログラムからのロボット動作観点 [#x70e3026]
最初のdefineでは、setpowerを定義しています。序盤に記載し...
turn_left,rightの時間を(t)と置いたのは、90°回転以外は基本...
それぞれの動作の間にWAIT(待ち時間)があるのは、移動後の...
*細かい動作制御、利用 [#z7b0141b]
今回使用したRISのモーターは左右で出力に差があり、直進する...
例えば、左に90°回転、少し進んで右に90°回転、その後真っ直...
**文字の細かい部分を描くにあたって [#l60c2627]
***文字(払い) [#b1cfbb27]
文字の払いを表現するために、二画目・九画目に以下のような...
pen_down();
OnFwd(OUT_AC);
Wait(60);
pen_up_slow();
Off(OUT_AC);
ペンを上げながら車輪を動かすということです。移動速度の関...
***止め払い [#nef8f00d]
プログラムを見ると、一番最後の九画目のプログラミングが不...
pen_down();
go_back(120);
OnRev(OUT_AC);
Wait(50);
pen_up_slow();
Off(OUT_AC); //九画目
go_backで一度後進しているはずなのに、OnRevで再び後進する...
この現象はこのRIS特有なのかは定かではありませんが、同じ指...
*ロボット作成時間 [#se1eb3b5]
-ロボット本体作成時間・・・約20時間(微調整時間含む)
-プログラミング時間・・・約10時間(試し走行を含む)
*今回の課題を通しての反省 [#i8f4c0d1]
作業全体を通じて、作業効率が悪かったと思います。ロボット...
また、移動式のロボットのため、アームなどで動くロボット等...
以上の反省点を、次回のロボット作成には活かしていきたいと...
終了行:
#contents
*課題1 [#ic71a861]
第一回目の課題は、書道ロボットの作成です。
課題内容は[[こちら:http://yakushi.shinshu-u.ac.jp/robotic...
*ロボットの構造説明 [#l825ec4e]
今回の書道ロボットでは「美」という字を描いています。画数...
ロボットを作成する際に気を付けた事として、構造を理解しや...
**setpowerを使用せずに減速 [#u20f4f8d]
モーター自体の力が弱いため、本体全ての重さがかかっている...
そのような欠点がある以上、車輪プログラムにsetpower避ける...
#ref(./001.JPG,40%)
***車輪ののギア比 [#ibb67537]
+モーターの回転部分に歯数12の歯車を付け、次の棒(2番目)...
+また、同じ棒(2番目)に歯数8の歯車を付け、大きな歯車(歯...
+歯数8と車輪についている歯数24の歯車が噛むことになるので...
よって、以上の(1.)(2.)を掛け合わせたもの{(3/10)*(1/3)=(1...
つまり、モーターが10回転すると1回車輪が回転し終えるという...
**ペンを垂直にあげるために [#s7d3fef1]
字の太さに差をつけるため、垂直に上下動させることを考えま...
また、そこでどのようなペンでも使用できるよう考慮し、キャ...
ペンは比較的軽いため、setpowerが可能です。ですが、あまり...
作成後の収穫として、キャタピラならではの利点がありました...
&ref(./005.JPG,20%);
ここでのギア比は、一回目に歯数8と歯数40が噛み(1/5)、歯...
すなわち、モーターが15回転するとキャタピラの車輪が1回転し...
**後輪のキャスター [#j53f84ca]
重心が前方に位置するため、移動速度が遅いとは言え転倒する...
#ref(./002.JPG,40%)
重心を少しでも中心へ移動させるには、上の写真のように後輪...
*プログラミング[#f224a4ad]
**プログラミングの説明 [#yc494bf1]
まずは今回の書道ロボットのプログラム全てを記載します。
#define HIPOWER 7
#define LOWPOWER 4
#define WAIT Wait(50);
#define set_power_pH SetPower(OUT_B,HIPOWER);
#define set_power_pL SetPower(OUT_B,LOWPOWER);
#define turn_left(t) OnFwd(OUT_A); OnRev(OUT_C); Wait(t)...
#define turn_right(t) OnRev(OUT_A); OnFwd(OUT_C); Wait(t...
#define go_forward(t) OnFwd(OUT_AC); Wait(t); Off(OUT_AC...
#define go_back(t) OnRev(OUT_AC); Wait(t); Off(OUT_AC);
#define TURN_TIME 190 //垂直回転時間
#define TURN_TIME2 180 //左右でモーターの強さが異なるた...
sub pen_up_fast()
{ set_power_pH OnFwd(OUT_B);
Wait(49);
Off(OUT_B);
WAIT;
}
sub pen_up_slow()
{ set_power_pL OnFwd(OUT_B);
Wait(55);
Off(OUT_B);
}
sub pen_down()
{ set_power_pH OnRev(OUT_B);
Wait(50);
Off(OUT_B);
}
task main ()
{
pen_down();
go_forward(60);
pen_up_fast(); //一画目
go_back(70);
WAIT;
turn_left(130);
go_forward(150);
turn_right(270);
pen_down();
OnFwd(OUT_AC);
Wait(60);
pen_up_slow();
Off(OUT_AC); //二画目
WAIT;
go_back(20);
WAIT;
turn_right(100);
go_forward(100);
pen_down();
go_back(170);
pen_up_fast(); //三角目
repeat(2){
turn_left(TURN_TIME);
go_forward(50);
turn_right(TURN_TIME2);
go_forward(150);
pen_down();
go_back(150);
pen_up_fast();
} //四・五画目
turn_left(TURN_TIME);
go_forward(50);
turn_right(TURN_TIME2);
go_forward(180);
pen_down();
go_back(230);
pen_up_fast(); //六画目
go_forward(150);
turn_right(TURN_TIME);
go_forward(135);
pen_down();
go_back(125);
pen_up_fast(); //七画目
turn_left(40);
go_forward(30);
turn_right(110);
pen_down();
OnRev(OUT_AC);
Wait(160);
pen_up_slow();
Off(OUT_AC); //八画目
WAIT;
go_forward(215);
turn_left(140);
go_back(25);
pen_down();
go_back(120);
OnRev(OUT_AC);
Wait(50);
pen_up_slow();
Off(OUT_AC); //九画目
}
**上記のプログラムで実際に書いたもの [#o1792b59]
#ref(./004.JPG,20%)
**書き順 [#md1c0d73]
プログラミングがし易いよう、本来の書き順とは違う書き順に...
#ref(./008.gif)
「美」という字には、横棒が4本あります。実際の書き順では、...
**プログラムからのロボット動作観点 [#x70e3026]
最初のdefineでは、setpowerを定義しています。序盤に記載し...
turn_left,rightの時間を(t)と置いたのは、90°回転以外は基本...
それぞれの動作の間にWAIT(待ち時間)があるのは、移動後の...
*細かい動作制御、利用 [#z7b0141b]
今回使用したRISのモーターは左右で出力に差があり、直進する...
例えば、左に90°回転、少し進んで右に90°回転、その後真っ直...
**文字の細かい部分を描くにあたって [#l60c2627]
***文字(払い) [#b1cfbb27]
文字の払いを表現するために、二画目・九画目に以下のような...
pen_down();
OnFwd(OUT_AC);
Wait(60);
pen_up_slow();
Off(OUT_AC);
ペンを上げながら車輪を動かすということです。移動速度の関...
***止め払い [#nef8f00d]
プログラムを見ると、一番最後の九画目のプログラミングが不...
pen_down();
go_back(120);
OnRev(OUT_AC);
Wait(50);
pen_up_slow();
Off(OUT_AC); //九画目
go_backで一度後進しているはずなのに、OnRevで再び後進する...
この現象はこのRIS特有なのかは定かではありませんが、同じ指...
*ロボット作成時間 [#se1eb3b5]
-ロボット本体作成時間・・・約20時間(微調整時間含む)
-プログラミング時間・・・約10時間(試し走行を含む)
*今回の課題を通しての反省 [#i8f4c0d1]
作業全体を通じて、作業効率が悪かったと思います。ロボット...
また、移動式のロボットのため、アームなどで動くロボット等...
以上の反省点を、次回のロボット作成には活かしていきたいと...
ページ名: