2018b/Member/ndksiba/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2018b/Member]]
目次
#contents
*課題1 [#ld371846]
これまで住んだことのある都道府県名、市町村名、地区名な...
2文字以上のものを選び、それをA4の紙を書くロボットを製作せ...
ということで、書く文字は”&size(30){&color(red){大村};};...
*ロボット [#o8f0d0e8]
**全体像 [#e8e87fa4]
書く上で、X軸はロボット全体の移動、Y軸はアームの移動で...
&ref(imagefull1.jpeg);
全体像 ↑ここにペンを付ける。
**アーム (モータA) [#p733cd2d]
モータAはマジックハンドの要領でY座標を指定する。
&ref(アーム.JPG);
下図のようにモータを回すと・・・
&ref(pen_y1.png);
&size(150){&color(blue){ ⇓ ...
&ref(pen_y2.png);
屈折部分が伸び、ペンを取り付けるためのパーツが移動する...
屈折部分の個数を増やすと可動域が広くなるが、部品の数が...
**台車 (モータB・C) [#v64d3116]
台車部分にはモータB・モータC使用し、一つでX座標、もう...
&ref(imageDodai1.JPG);←正面
***ペンの上下 (モータB) [#x396adf9]
ペンの上下の変化については、モータを含むアーム自体を持...
こちらが使用したギア&size(30){→};
&ref(Z軸モータ.JPG);
&size(30){↑};...
モータBにかかる負荷が大きい為、最小のギアを使用してギア...
下図は車体正面から見たギアの位置を示している。
&ref(モータ_B.jpg);
矢印は、ペンを上げる時の回転方向。
***X軸 (モータC) [#oc4dbb7b]
写真では、左から右に向かって書くため、モータCの前転で右...
|&size(50){&color(blue){⇦};};|&size(20){後転 };|&r...
*プログラム [#v6999ede]
**書き順 [#p532a5cf]
文字を書く順番はこの通り。実際の書き順通りに行う。
&ref(書順.JPG);
***マクロ [#b4b141f0]
よく使う「ペンの上下移動」はマクロで宣言する。
#define pen_up RotateMotor(OUT_B, 20, -60);Off(OUT_B);
↑ペンを上げて停止。
#define pen_down RotateMotor(OUT_B,20,60);Float(OUT_B);W...
↑ペンを下げて、モータをニュートラル状態で誤差を調整して...
***メイン処理 [#tade265d]
残りのプログラムは全て、メイン処理にて行った。
&size(25){一文字目:&color(red){大};};
&size(20){&color(blue){?}; }; 移動
task main(){
ResetTachoCount(OUT_ABC);//全てのモータの回転角をリ...
pen_up;
RotateMotor(OUT_A, 30, 30);//モータAをパワー30、角度...
&size(20){&color(red){?}; ・ &color(blue){?};}; ...
pen_down;
RotateMotor(OUT_C, 30, 180);//モータCをパワー30、角...
pen_up;
RotateMotor(OUT_C, 30, -90);//モータCをパワー30、角...
RotateMotor(OUT_A, 30, -30);//モータAをパワー30、角...
&size(20){&color(red){?}; ・ &color(blue){?};}; ...
pen_down;
RotateMotor(OUT_A, 30, 30);//モータAをパワー30、角度...
OnFwd(OUT_A,20);//モータAをパワー20で回転
OnFwd(OUT_C,-20);//モータCをパワー20で逆回転
Wait(1000);//上記2行を1秒継続
Off(OUT_AC);//モータA・Cの回転を停止
pen_up;
OnFwd(OUT_A,-20);//モータAをパワー20で逆回転
OnFwd(OUT_C,20);//モータCをパワー20で回転
Wait(850);//上記2行を0.85秒継続
Off(OUT_AC);//モータA・Cの回転を停止
&size(20){&color(red){?}; }; 大:三画目
pen_down;
OnFwd(OUT_A,20);//モータAをパワー20で回転
OnFwd(OUT_C,20);//モータCをパワー20で回転
Wait(1000);//上記2行を1秒継続
Off(OUT_AC);//モータA・Cの回転を停止
&size(25){二文字目:&color(red){村};};
&size(20){&color(blue){?}; }; 移動
ResetTachoCount(OUT_ABC);//全てのモータの回転角をリ...
pen_up;
RotateMotor(OUT_A, 30, -60);//モータAをパワー30、角...
&size(20){&color(red){?}; ・ &color(blue){?};}; ...
pen_down;
RotateMotor(OUT_C, 30, 90);//モータCをパワー30、角度...
pen_up;
RotateMotor(OUT_C, 30, -45);//モータCをパワー30、角...
RotateMotor(OUT_A, 30, -20);//モータAをパワー30、角...
&size(20){&color(red){?}; ・ &color(blue){?};}; ...
pen_down;
RotateMotor(OUT_A, 30,80);//モータAをパワー30、角度8...
pen_up;
RotateMotor(OUT_A, 30, -60);//モータAをパワー30、角...
&size(20){&color(red){?}; ・ &color(blue){?};}; ...
pen_down;
OnFwd(OUT_A,20);//モータAをパワー20で回転
OnFwd(OUT_C,-20);//モータCをパワー20で逆回転
Wait(500);//上記2行を0.5秒継続
Off(OUT_AC);モータA・Cの回転を停止
pen_up;
OnFwd(OUT_A,-20);//モータAをパワー20で逆回転
OnFwd(OUT_C,20);//モータCをパワー20で回転
Wait(470);//上記2行を0.47秒継続
Off(OUT_AC);//モータA・Cの回転を停止
&size(20){&color(red){?}; }; 村:四画目
pen_down;
OnFwd(OUT_A,20);//モータAをパワー20で回転
OnFwd(OUT_C,20);//モータCをパワー20で回転
Wait(300);//上記2行を0.3秒継続
Off(OUT_AC);//モータA・Cの回転を停止
&size(20){&color(blue){?}; }; 移動
pen_up;
RotateMotor(OUT_C,20,15);//モータCをパワー20、角度15...
RotateMotor(OUT_A,20,-30);//モータAをパワー20、角度3...
&size(20){&color(red){?}; ・ &color(blue){?};}; ...
pen_down;
RotateMotor(OUT_C, 30, 80);//モータCをパワー30、角度...
pen_up;
RotateMotor(OUT_C, 40, -30);//モータCをパワー40、角...
RotateMotor(OUT_A, 30, -20);//モータAをパワー30、角...
&size(20){&color(red){?}; ・ &color(blue){?};}; ...
pen_down;
RotateMotor(OUT_A,20, 80);//モータAをパワー20、角度8...
pen_up;
RotateMotor(OUT_C,40,-30);//モータCをパワー40、角度3...
RotateMotor(OUT_A,20,-40);//モータAをパワー20、角度4...
&size(20){&color(red){?}; }; 村:七画目+...
pen_down;
Wait(500);上記1行を0.5秒継続
pen_up;
RotateMotor(OUT_C,30,180);//モータCをパワー30、角度1...
Off(OUT_ABC);
}
**結果 [#a532439f]
試運転。最後まで上手くいくとこんな感じ&size(40){&color(...
&ref(結果.JPG);
本番では、ペン先が下がりきらず最後まで書くことができな...
*反省感想 [#qaed89c4]
-アームを持ち上げる構造は、始めはモータBに直接取り付けて...
-ペンを操作する点が構造上高くなっており、そのため、筆圧が...
-長さ等の比をできるだけ揃えるために
RotateMotor(出力モータ, パワー, 回転角);
の関数を使用したが、斜線ができないので、仕方なく斜線部...
RotateMotorEx(出力モータ, パワー, 回転角, 同期比率, 同期...
の関数を使うことも考えたが、比率の調整が上手くいかず断...
-今回の反省を活かし、普段何気なく行っている事も振り返って...
終了行:
[[2018b/Member]]
目次
#contents
*課題1 [#ld371846]
これまで住んだことのある都道府県名、市町村名、地区名な...
2文字以上のものを選び、それをA4の紙を書くロボットを製作せ...
ということで、書く文字は”&size(30){&color(red){大村};};...
*ロボット [#o8f0d0e8]
**全体像 [#e8e87fa4]
書く上で、X軸はロボット全体の移動、Y軸はアームの移動で...
&ref(imagefull1.jpeg);
全体像 ↑ここにペンを付ける。
**アーム (モータA) [#p733cd2d]
モータAはマジックハンドの要領でY座標を指定する。
&ref(アーム.JPG);
下図のようにモータを回すと・・・
&ref(pen_y1.png);
&size(150){&color(blue){ ⇓ ...
&ref(pen_y2.png);
屈折部分が伸び、ペンを取り付けるためのパーツが移動する...
屈折部分の個数を増やすと可動域が広くなるが、部品の数が...
**台車 (モータB・C) [#v64d3116]
台車部分にはモータB・モータC使用し、一つでX座標、もう...
&ref(imageDodai1.JPG);←正面
***ペンの上下 (モータB) [#x396adf9]
ペンの上下の変化については、モータを含むアーム自体を持...
こちらが使用したギア&size(30){→};
&ref(Z軸モータ.JPG);
&size(30){↑};...
モータBにかかる負荷が大きい為、最小のギアを使用してギア...
下図は車体正面から見たギアの位置を示している。
&ref(モータ_B.jpg);
矢印は、ペンを上げる時の回転方向。
***X軸 (モータC) [#oc4dbb7b]
写真では、左から右に向かって書くため、モータCの前転で右...
|&size(50){&color(blue){⇦};};|&size(20){後転 };|&r...
*プログラム [#v6999ede]
**書き順 [#p532a5cf]
文字を書く順番はこの通り。実際の書き順通りに行う。
&ref(書順.JPG);
***マクロ [#b4b141f0]
よく使う「ペンの上下移動」はマクロで宣言する。
#define pen_up RotateMotor(OUT_B, 20, -60);Off(OUT_B);
↑ペンを上げて停止。
#define pen_down RotateMotor(OUT_B,20,60);Float(OUT_B);W...
↑ペンを下げて、モータをニュートラル状態で誤差を調整して...
***メイン処理 [#tade265d]
残りのプログラムは全て、メイン処理にて行った。
&size(25){一文字目:&color(red){大};};
&size(20){&color(blue){?}; }; 移動
task main(){
ResetTachoCount(OUT_ABC);//全てのモータの回転角をリ...
pen_up;
RotateMotor(OUT_A, 30, 30);//モータAをパワー30、角度...
&size(20){&color(red){?}; ・ &color(blue){?};}; ...
pen_down;
RotateMotor(OUT_C, 30, 180);//モータCをパワー30、角...
pen_up;
RotateMotor(OUT_C, 30, -90);//モータCをパワー30、角...
RotateMotor(OUT_A, 30, -30);//モータAをパワー30、角...
&size(20){&color(red){?}; ・ &color(blue){?};}; ...
pen_down;
RotateMotor(OUT_A, 30, 30);//モータAをパワー30、角度...
OnFwd(OUT_A,20);//モータAをパワー20で回転
OnFwd(OUT_C,-20);//モータCをパワー20で逆回転
Wait(1000);//上記2行を1秒継続
Off(OUT_AC);//モータA・Cの回転を停止
pen_up;
OnFwd(OUT_A,-20);//モータAをパワー20で逆回転
OnFwd(OUT_C,20);//モータCをパワー20で回転
Wait(850);//上記2行を0.85秒継続
Off(OUT_AC);//モータA・Cの回転を停止
&size(20){&color(red){?}; }; 大:三画目
pen_down;
OnFwd(OUT_A,20);//モータAをパワー20で回転
OnFwd(OUT_C,20);//モータCをパワー20で回転
Wait(1000);//上記2行を1秒継続
Off(OUT_AC);//モータA・Cの回転を停止
&size(25){二文字目:&color(red){村};};
&size(20){&color(blue){?}; }; 移動
ResetTachoCount(OUT_ABC);//全てのモータの回転角をリ...
pen_up;
RotateMotor(OUT_A, 30, -60);//モータAをパワー30、角...
&size(20){&color(red){?}; ・ &color(blue){?};}; ...
pen_down;
RotateMotor(OUT_C, 30, 90);//モータCをパワー30、角度...
pen_up;
RotateMotor(OUT_C, 30, -45);//モータCをパワー30、角...
RotateMotor(OUT_A, 30, -20);//モータAをパワー30、角...
&size(20){&color(red){?}; ・ &color(blue){?};}; ...
pen_down;
RotateMotor(OUT_A, 30,80);//モータAをパワー30、角度8...
pen_up;
RotateMotor(OUT_A, 30, -60);//モータAをパワー30、角...
&size(20){&color(red){?}; ・ &color(blue){?};}; ...
pen_down;
OnFwd(OUT_A,20);//モータAをパワー20で回転
OnFwd(OUT_C,-20);//モータCをパワー20で逆回転
Wait(500);//上記2行を0.5秒継続
Off(OUT_AC);モータA・Cの回転を停止
pen_up;
OnFwd(OUT_A,-20);//モータAをパワー20で逆回転
OnFwd(OUT_C,20);//モータCをパワー20で回転
Wait(470);//上記2行を0.47秒継続
Off(OUT_AC);//モータA・Cの回転を停止
&size(20){&color(red){?}; }; 村:四画目
pen_down;
OnFwd(OUT_A,20);//モータAをパワー20で回転
OnFwd(OUT_C,20);//モータCをパワー20で回転
Wait(300);//上記2行を0.3秒継続
Off(OUT_AC);//モータA・Cの回転を停止
&size(20){&color(blue){?}; }; 移動
pen_up;
RotateMotor(OUT_C,20,15);//モータCをパワー20、角度15...
RotateMotor(OUT_A,20,-30);//モータAをパワー20、角度3...
&size(20){&color(red){?}; ・ &color(blue){?};}; ...
pen_down;
RotateMotor(OUT_C, 30, 80);//モータCをパワー30、角度...
pen_up;
RotateMotor(OUT_C, 40, -30);//モータCをパワー40、角...
RotateMotor(OUT_A, 30, -20);//モータAをパワー30、角...
&size(20){&color(red){?}; ・ &color(blue){?};}; ...
pen_down;
RotateMotor(OUT_A,20, 80);//モータAをパワー20、角度8...
pen_up;
RotateMotor(OUT_C,40,-30);//モータCをパワー40、角度3...
RotateMotor(OUT_A,20,-40);//モータAをパワー20、角度4...
&size(20){&color(red){?}; }; 村:七画目+...
pen_down;
Wait(500);上記1行を0.5秒継続
pen_up;
RotateMotor(OUT_C,30,180);//モータCをパワー30、角度1...
Off(OUT_ABC);
}
**結果 [#a532439f]
試運転。最後まで上手くいくとこんな感じ&size(40){&color(...
&ref(結果.JPG);
本番では、ペン先が下がりきらず最後まで書くことができな...
*反省感想 [#qaed89c4]
-アームを持ち上げる構造は、始めはモータBに直接取り付けて...
-ペンを操作する点が構造上高くなっており、そのため、筆圧が...
-長さ等の比をできるだけ揃えるために
RotateMotor(出力モータ, パワー, 回転角);
の関数を使用したが、斜線ができないので、仕方なく斜線部...
RotateMotorEx(出力モータ, パワー, 回転角, 同期比率, 同期...
の関数を使うことも考えたが、比率の調整が上手くいかず断...
-今回の反省を活かし、普段何気なく行っている事も振り返って...
ページ名: