2014b/Member/knee/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
目次
#contents
*ロボットの説明 [#eb5fc73a]
ロボット本体はLEGOのmindstorms educationの説明書p2〜p23に...
#ref(IMG_0907(1).JPG)
*プログラムの説明 [#a7200bcd]
私は正確に距離を移動させるためにタイヤの直径、円周率、角...
~○定義したプログラム
~注意 このプログラムは1秒を1000としてあらわす。
#define speed 50//モーターの出力が50%
#define turn_time30 200//30度回転するための時間
#define turn_time45 250//45度回転するための時間
#define turn_time45A 270//A地点での45度回転する時間
#define turn_time90 520//90度回転するための時間
#define turn_time90F 540//F地点で90度回転するための時間
#define turn_time90M 580//M地点で90度回転するための時間
#define turn_time100 600//100度回転するための時間
#define turn_right30 OnRev(OUT_B,speed);OnFwd(OUT_C,spee...
#define turn_right45 OnRev(OUT_B,speed);OnFwd(OUT_C,spee...
#define turn_right90 OnRev(OUT_B,speed);OnFwd(OUT_C,spee...
#define turn_right90F OnRev(OUT_B,speed);OnFwd(OUT_C,spe...
#define turn_right100 OnRev(OUT_B,speed);OnFwd(OUT_C,spe...
#define turn_left30 OnRev(OUT_C,speed);OnFwd(OUT_B,speed...
#define turn_left45 OnRev(OUT_C,speed);OnFwd(OUT_B,speed...
#define turn_left45A OnRev(OUT_C,speed);OnFwd(OUT_B,spe...
#define turn_left90 OnRev(OUT_C,speed);OnFwd(OUT_B,speed...
#define turn_left90M OnRev(OUT_C,speed);OnFwd(OUT_B,spee...
#define turn_left100 OnRev(OUT_C,speed);OnFwd(OUT_B,spee...
#define hurry_up Off(OUT_speed);OnRev(OUT_A,speed);Wait(...
#define hurry_down Off(OUT_BC);OnFwd(OUT_A,speed);Wait(2...
#define Let RotateMotor(OUT_BC,SP,angle);//angleの値によ...
#define Advantage(t) angle+=GetAngle(t);Let;//angleの値...
#define Return(t) angle-=GetAngle(t);Let;//angleの値にt...
#br
~○正確な距離を前進したり、後退するためのプログラム
float GetAngle(float d)
{
const float diameter=5.45;//タイヤの直径
const float pi=3.1415;//円周率
float ang=d/(diameter*pi)*360;//角度の計算
return ang;//角度を返す
}
#br
~○「近」を描くプログラム
~注意 Advantage(α)かReturn(β);//point? +or−数字
~これは図にある?の場所にあり、数字の?だけ前進したという...
#ref(斤.png)
task main()
{
Wait(1000);
int angle=GetAngle(4.5);//最初に決める前進する距離
hurry_up;
turn_right45;
hurry_down;
Let;
hurry_up;
Advantage(1.0);//pointA+4.5
turn_left45A;
Return(10.0);//pointB-5.5
hurry_down;
Advantage(13.0);//pointC+7.5
hurry_up;
Return(10.5);//pointA-3.0
turn_left90;
Return(2.5);//pointD-5.5
hurry_down;
Advantage(10.5);//pointE+5.0
hurry_up;
Return(0.5);//pointF+4.5
turn_right90F;
Return(12.0);//pointG-7.5
hurry_down;
Advantage(16.5);//pointH+9.0
hurry_up;
Return(4.5);//pointI+5.5 「近」の「斤」部分完成
#ref(sinnyou.png)
turn_left45;
Return(25.0);//pointJ-19.5
hurry_down;
Advantage(21.5);//pointK+2.0
hurry_up;
Advantage(3.5);//pointL+5.5
turn_right45;
Return(4.0);//pointM+1.5
turn_left90M;
Return(7.0);//pointN-5.5
hurry_down;
Advantage(7.0);//pointO+1.5
hurry_up;
Advantage(5.0);//pointP+6.5
turn_right100;
Return(12.0);//pointQ-5.5
hurry_down
Advantage(15.5);//pointR+10.0
hurry_up;
Return(4.5);//pointS+5.5
turn_left100;
Return(11.0);//point-5.5
hurry_down;
Advantage(17.5);//point+12.0
hurry_up;
Off(OUT_ABC);//「近」完成
}
*作成時に発生した問題とその解決 [#x597e233]
未完成のプログラムで習字ロボットを動かした際に4つの問題が...
~・曲がる角度が途中から変化してしまうというものである。
→思った通りに曲がらない場所をせチェックし、そこのプログ...
・筆を紙におろす時間を考えなかったために一筆ごとに少しず...
→全体のすすむ距離のプログラムを変換させることによって解...
・筆自身の固定が甘く、筆が左右前後にずれやすいというもの...
→部品を追加し、支えることで解決した。このことを下図にお...
部分が文字を書いている際に前進するので筆が前方向に傾いて...
#ref(IMG_0907.JPG)
~・ロボットを動かすモーターから筆までの距離を計算に入れて...
→筆を書きたい場所にいくように下がるというプログラムをす...
*結果・反省 [#t4c2fff9]
ロボットとプログラムにおける問題を解決していき、「近」の...
#ref(IMG_0925.JPG)
*感想 [#ubc6feb6]
今回習字ロボットを製作して思ったのは、自分の行いたいこと...
終了行:
目次
#contents
*ロボットの説明 [#eb5fc73a]
ロボット本体はLEGOのmindstorms educationの説明書p2〜p23に...
#ref(IMG_0907(1).JPG)
*プログラムの説明 [#a7200bcd]
私は正確に距離を移動させるためにタイヤの直径、円周率、角...
~○定義したプログラム
~注意 このプログラムは1秒を1000としてあらわす。
#define speed 50//モーターの出力が50%
#define turn_time30 200//30度回転するための時間
#define turn_time45 250//45度回転するための時間
#define turn_time45A 270//A地点での45度回転する時間
#define turn_time90 520//90度回転するための時間
#define turn_time90F 540//F地点で90度回転するための時間
#define turn_time90M 580//M地点で90度回転するための時間
#define turn_time100 600//100度回転するための時間
#define turn_right30 OnRev(OUT_B,speed);OnFwd(OUT_C,spee...
#define turn_right45 OnRev(OUT_B,speed);OnFwd(OUT_C,spee...
#define turn_right90 OnRev(OUT_B,speed);OnFwd(OUT_C,spee...
#define turn_right90F OnRev(OUT_B,speed);OnFwd(OUT_C,spe...
#define turn_right100 OnRev(OUT_B,speed);OnFwd(OUT_C,spe...
#define turn_left30 OnRev(OUT_C,speed);OnFwd(OUT_B,speed...
#define turn_left45 OnRev(OUT_C,speed);OnFwd(OUT_B,speed...
#define turn_left45A OnRev(OUT_C,speed);OnFwd(OUT_B,spe...
#define turn_left90 OnRev(OUT_C,speed);OnFwd(OUT_B,speed...
#define turn_left90M OnRev(OUT_C,speed);OnFwd(OUT_B,spee...
#define turn_left100 OnRev(OUT_C,speed);OnFwd(OUT_B,spee...
#define hurry_up Off(OUT_speed);OnRev(OUT_A,speed);Wait(...
#define hurry_down Off(OUT_BC);OnFwd(OUT_A,speed);Wait(2...
#define Let RotateMotor(OUT_BC,SP,angle);//angleの値によ...
#define Advantage(t) angle+=GetAngle(t);Let;//angleの値...
#define Return(t) angle-=GetAngle(t);Let;//angleの値にt...
#br
~○正確な距離を前進したり、後退するためのプログラム
float GetAngle(float d)
{
const float diameter=5.45;//タイヤの直径
const float pi=3.1415;//円周率
float ang=d/(diameter*pi)*360;//角度の計算
return ang;//角度を返す
}
#br
~○「近」を描くプログラム
~注意 Advantage(α)かReturn(β);//point? +or−数字
~これは図にある?の場所にあり、数字の?だけ前進したという...
#ref(斤.png)
task main()
{
Wait(1000);
int angle=GetAngle(4.5);//最初に決める前進する距離
hurry_up;
turn_right45;
hurry_down;
Let;
hurry_up;
Advantage(1.0);//pointA+4.5
turn_left45A;
Return(10.0);//pointB-5.5
hurry_down;
Advantage(13.0);//pointC+7.5
hurry_up;
Return(10.5);//pointA-3.0
turn_left90;
Return(2.5);//pointD-5.5
hurry_down;
Advantage(10.5);//pointE+5.0
hurry_up;
Return(0.5);//pointF+4.5
turn_right90F;
Return(12.0);//pointG-7.5
hurry_down;
Advantage(16.5);//pointH+9.0
hurry_up;
Return(4.5);//pointI+5.5 「近」の「斤」部分完成
#ref(sinnyou.png)
turn_left45;
Return(25.0);//pointJ-19.5
hurry_down;
Advantage(21.5);//pointK+2.0
hurry_up;
Advantage(3.5);//pointL+5.5
turn_right45;
Return(4.0);//pointM+1.5
turn_left90M;
Return(7.0);//pointN-5.5
hurry_down;
Advantage(7.0);//pointO+1.5
hurry_up;
Advantage(5.0);//pointP+6.5
turn_right100;
Return(12.0);//pointQ-5.5
hurry_down
Advantage(15.5);//pointR+10.0
hurry_up;
Return(4.5);//pointS+5.5
turn_left100;
Return(11.0);//point-5.5
hurry_down;
Advantage(17.5);//point+12.0
hurry_up;
Off(OUT_ABC);//「近」完成
}
*作成時に発生した問題とその解決 [#x597e233]
未完成のプログラムで習字ロボットを動かした際に4つの問題が...
~・曲がる角度が途中から変化してしまうというものである。
→思った通りに曲がらない場所をせチェックし、そこのプログ...
・筆を紙におろす時間を考えなかったために一筆ごとに少しず...
→全体のすすむ距離のプログラムを変換させることによって解...
・筆自身の固定が甘く、筆が左右前後にずれやすいというもの...
→部品を追加し、支えることで解決した。このことを下図にお...
部分が文字を書いている際に前進するので筆が前方向に傾いて...
#ref(IMG_0907.JPG)
~・ロボットを動かすモーターから筆までの距離を計算に入れて...
→筆を書きたい場所にいくように下がるというプログラムをす...
*結果・反省 [#t4c2fff9]
ロボットとプログラムにおける問題を解決していき、「近」の...
#ref(IMG_0925.JPG)
*感想 [#ubc6feb6]
今回習字ロボットを製作して思ったのは、自分の行いたいこと...
ページ名: