2018a/Member/kan777/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2018a/Member]]
#contents
*課題1:文字を書くロボット [#u393defa]
A4の紙に自分にゆかりのある地名(2文字)をロボットを作...
*選んだ文字 [#j3b638ad]
今回は自分の苗字でもある地名の小諸市の地である"森山"を...
*車体構造 [#h082e831]
構造は基本的なものを用いx,y,z型とした紙の長編をX軸、短...
**x軸について [#k2f13bbf]
x軸はタイヤを用いて移動するようにした。ギアが余らずギ...
**y軸について [#jb47a7bb]
y軸はベルトコンベア型にした。上に乗っけたペンを下げる...
**z軸について [#z403b48e]
z軸はrisの特徴である平らなギアを用いた。y軸制御のコン...
&ref(2018a/Member/kan777/Mission1/z.png,50%,ペンを上下さ...
**車体考察 [#p1c29c1d]
-車体構造の考察として最初はギアが噛み合わないところにゴム...
-ギア比を大きくしてゆっくり動かしたかったがパーツが限られ...
-時間がなく一から考えるのは大変だった。ネットの情報をもっ...
***全部組み合わせて動作可能な状態にした車体画像。 [#fe453...
&ref(2018a/Member/kan777/Mission1/全体.PNG,50%,全体像);
*プログラム [#w3f91a05]
#define A 8 //X軸 Aのモータ係数
#define B 8 //Y軸 Bのモータ係数
#define C 3 //Z軸 Cのモータ係数
#define DPD 2//ペンを下ろす距離(時間)はDPD*Cで決まる
//初期位置は下記順通りから始まるyを真ん中 xは任意 zは...
task main(){
SetPower(OUT_A,3);
SetPower(OUT_B,3);
SetPower(OUT_C,2);
tree(); //森
Ym(7); Xm(1);
tree();
Yp(1); Xp(3);
tree();
Ym(6); Xm(4); //山
Zp(DPD); Xm(8); Zm(DPD);
Ym(5); Xp(3);
Zp(DPD); Xm(3);Yp(10); Zm(DPD);
Xp(3);
Zp(DPD); Xm(4); Zm(DPD);
}
void tree(){ //木
Zp(DPD); Yp(6); Zm(DPD);
Ym(3); Xp(1);
Zp(DPD); Xm(6); Zm(DPD);
Xp(5);
Zp(DPD); naname1(30); Zm(DPD);
Yp(3); Xp(3);
Zp(DPD); naname2(30); Zm(DPD);
}
void naname1(int time){
OnRev(OUT_AB);
Wait(time);
Off(OUT_AB);
Wait(1); //動作安定のためのWait
}
void naname2(int time){
OnRev(OUT_A);
OnFwd(OUT_B);
Wait(time);
Off(OUT_AB);
Wait(1);
}
void Xp(int time){
OnFwd(OUT_A);
Wait(time*A);
Off(OUT_A);
Wait(1);
}
void Xm(int time){
OnRev(OUT_A);
Wait(time*A);
Off(OUT_A);
Wait(1);
}
void Yp(int time){
OnFwd(OUT_B);
Wait(time*B);
Off(OUT_B);
Wait(1);
}
void Ym(int time){
OnRev(OUT_B);
Wait(time*B);
Off(OUT_B);
Wait(1);
}
void Zp(int time){
OnFwd(OUT_C);
Wait(time*C);
Off(OUT_C);
Wait(1);
}
void Zm(int time){
OnRev(OUT_C);
Wait(time*C);
Off(OUT_C);
Wait(1);
}
**プログラム説明 [#q45311d4]
-ギアをうまく取り回せなく早くなりすぎてしまったので強引で...
-プログラムは書き順に従ってかけることを目標に制作した。
-まず"森"という感じは"木"を3回繰り返すことでかけるので木...
-斜めの線を書くのはサブルーチンにしなくても良かったがどう...
-x,y,z軸はそれぞれXplus Xminus Yplus Yminus Zplus Zm...
***サブルーチンについて [#k4b9038d]
-naname 1, 2
木の斜めの線を引くためだけのサブルーチン。木を書くのを3...
-Xplus Xminus Yplus Yminus Zplus Zminus
それぞれX,Y,Z軸をプラスマイナスで動かすためのサブルーチン。
与えられた値の秒数だけ移動する。
-tree
木を書くためのサブルーチンnanameと同じ理由で用意した。
-サブルーチンについての考察defineでは長くなりすぎて見づら...
*全体を通して [#fd8763b4]
-ギア比を考えずに作ってしまったがためにきれいにかけなかっ...
-どうしても駆動域が小さく動きづらくなってしまった。駆動域...
-引っかかったりとトラブルも多く大変だった。
-いわれてみれば見えないこともない程度までしか書けなかった...
-プログラムは編集しやすさを重視して書いたがRISには少し高...
-サブルーチンの説明はプログラム説明にあります。複雑な動作...
終了行:
[[2018a/Member]]
#contents
*課題1:文字を書くロボット [#u393defa]
A4の紙に自分にゆかりのある地名(2文字)をロボットを作...
*選んだ文字 [#j3b638ad]
今回は自分の苗字でもある地名の小諸市の地である"森山"を...
*車体構造 [#h082e831]
構造は基本的なものを用いx,y,z型とした紙の長編をX軸、短...
**x軸について [#k2f13bbf]
x軸はタイヤを用いて移動するようにした。ギアが余らずギ...
**y軸について [#jb47a7bb]
y軸はベルトコンベア型にした。上に乗っけたペンを下げる...
**z軸について [#z403b48e]
z軸はrisの特徴である平らなギアを用いた。y軸制御のコン...
&ref(2018a/Member/kan777/Mission1/z.png,50%,ペンを上下さ...
**車体考察 [#p1c29c1d]
-車体構造の考察として最初はギアが噛み合わないところにゴム...
-ギア比を大きくしてゆっくり動かしたかったがパーツが限られ...
-時間がなく一から考えるのは大変だった。ネットの情報をもっ...
***全部組み合わせて動作可能な状態にした車体画像。 [#fe453...
&ref(2018a/Member/kan777/Mission1/全体.PNG,50%,全体像);
*プログラム [#w3f91a05]
#define A 8 //X軸 Aのモータ係数
#define B 8 //Y軸 Bのモータ係数
#define C 3 //Z軸 Cのモータ係数
#define DPD 2//ペンを下ろす距離(時間)はDPD*Cで決まる
//初期位置は下記順通りから始まるyを真ん中 xは任意 zは...
task main(){
SetPower(OUT_A,3);
SetPower(OUT_B,3);
SetPower(OUT_C,2);
tree(); //森
Ym(7); Xm(1);
tree();
Yp(1); Xp(3);
tree();
Ym(6); Xm(4); //山
Zp(DPD); Xm(8); Zm(DPD);
Ym(5); Xp(3);
Zp(DPD); Xm(3);Yp(10); Zm(DPD);
Xp(3);
Zp(DPD); Xm(4); Zm(DPD);
}
void tree(){ //木
Zp(DPD); Yp(6); Zm(DPD);
Ym(3); Xp(1);
Zp(DPD); Xm(6); Zm(DPD);
Xp(5);
Zp(DPD); naname1(30); Zm(DPD);
Yp(3); Xp(3);
Zp(DPD); naname2(30); Zm(DPD);
}
void naname1(int time){
OnRev(OUT_AB);
Wait(time);
Off(OUT_AB);
Wait(1); //動作安定のためのWait
}
void naname2(int time){
OnRev(OUT_A);
OnFwd(OUT_B);
Wait(time);
Off(OUT_AB);
Wait(1);
}
void Xp(int time){
OnFwd(OUT_A);
Wait(time*A);
Off(OUT_A);
Wait(1);
}
void Xm(int time){
OnRev(OUT_A);
Wait(time*A);
Off(OUT_A);
Wait(1);
}
void Yp(int time){
OnFwd(OUT_B);
Wait(time*B);
Off(OUT_B);
Wait(1);
}
void Ym(int time){
OnRev(OUT_B);
Wait(time*B);
Off(OUT_B);
Wait(1);
}
void Zp(int time){
OnFwd(OUT_C);
Wait(time*C);
Off(OUT_C);
Wait(1);
}
void Zm(int time){
OnRev(OUT_C);
Wait(time*C);
Off(OUT_C);
Wait(1);
}
**プログラム説明 [#q45311d4]
-ギアをうまく取り回せなく早くなりすぎてしまったので強引で...
-プログラムは書き順に従ってかけることを目標に制作した。
-まず"森"という感じは"木"を3回繰り返すことでかけるので木...
-斜めの線を書くのはサブルーチンにしなくても良かったがどう...
-x,y,z軸はそれぞれXplus Xminus Yplus Yminus Zplus Zm...
***サブルーチンについて [#k4b9038d]
-naname 1, 2
木の斜めの線を引くためだけのサブルーチン。木を書くのを3...
-Xplus Xminus Yplus Yminus Zplus Zminus
それぞれX,Y,Z軸をプラスマイナスで動かすためのサブルーチン。
与えられた値の秒数だけ移動する。
-tree
木を書くためのサブルーチンnanameと同じ理由で用意した。
-サブルーチンについての考察defineでは長くなりすぎて見づら...
*全体を通して [#fd8763b4]
-ギア比を考えずに作ってしまったがためにきれいにかけなかっ...
-どうしても駆動域が小さく動きづらくなってしまった。駆動域...
-引っかかったりとトラブルも多く大変だった。
-いわれてみれば見えないこともない程度までしか書けなかった...
-プログラムは編集しやすさを重視して書いたがRISには少し高...
-サブルーチンの説明はプログラム説明にあります。複雑な動作...
ページ名: