2014b/Member/maji/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2014b/Member]]
*課題 [#z8832255]
[[mission1:http://yakushi.shinshu-u.ac.jp/robotics/?2014b...
*ロボット組み立て [#k988308e]
初めに作ったロボットは解説書の通り本体の右側からアームが...
#ref(robo.jpg)
3つ目のモーターを本体の真ん中に取り付け、モーターの回転...
***真上から見た図 [#mdf6ff30]
#ref(ue.jpg)
真横~
***真横から見た図 [#z1852c31]
#ref(yo.jpg)
*課題攻略に向けて [#va1f2b90]
「間」という漢字に斜線が入っていないことを利用し、初めに...
***縦線パート [#wfdccd5e]
#ref(tate.jpg)
***横線パート [#ifa7c794]
#ref(yoko.jpg)
*プログラム概要 [#s155748f]
プログラムを組んでいる途中で、先に直角に曲がるにはタイヤ...
**定義・サブルーチン [#lc82e7d7]
#define SPEED 30
sub side90()//3✕3マスの1マス分前進する。
{RotateMotorEx(OUT_BC,SPEED,90,0,false,true);}
sub side270()//3✕3マスの3マス分前進する。
{RotateMotorEx(OUT_BC,SPEED,270,0,false,true);}
sub unside90()//3✕3マスの1マス分後退する。
{RotateMotorEx(OUT_BC,SPEED,-90,0,false,true);}
sub unside270()//3✕3マスの3マス分後退する。
{RotateMotorEx(OUT_BC,SPEED,-270,0,false,true);}
sub side600()
{RotateMotorEx(OUT_BC,SPEED,700,0,false,true);}
sub up()//ペンを持ち上げる。
{RotateMotor(OUT_A,SPEED,-25);}
sub down()//ペンを下ろす。
{RotateMotor(OUT_A,SPEED,25);}
sub adjust()//左タイヤを反転させた後右タイヤを反転させ1...
{RotateMotor(OUT_C,SPEED,-200);
RotateMotor(OUT_B,SPEED,-200);}
sub adjust2()//右タイヤを反転させた後左タイヤを反転させ...
{RotateMotor(OUT_B,SPEED,-150);
RotateMotor(OUT_C,SPEED,-170);}
sub adjust3()//右タイヤを反転させた後左タイヤを反転させ...
{RotateMotor(OUT_B,SPEED,-200);
RotateMotor(OUT_C,SPEED,-200);}
ここでの位置調整のサブルーチン内の数値が正確でないため後...
**縦線 [#j16c471f]
***縦線パート?〜? [#v92d70ce]
task main()
{
ResetTachoCount(OUT_ABC);
RotateMotor(OUT_A,SPEED,-45);
RotateMotor(OUT_A,SPEED,50);
side270();
up();
RotateMotorEx(OUT_BC,SPEED,190,0,false,true);//少し前に...
adjust();//左タイヤを反転させた後に右タイヤを同じ角度反...
***縦線パート?〜? [#p2334456]
down();
unside90();
up();
unside90();//縦線パートA区間
down();
unside90();
up();
adjust();//左タイヤを反転させた後に右タイヤを同じ角度反...
RotateMotorEx(OUT_BC,SPEED,190,0,false,true);//少し前に...
***縦線パート?〜? [#ya9affef]
down();
side90();
up();
side90();//縦線パートB区間
down();
side90();
up();
RotateMotorEx(OUT_BC,SPEED,190,0,false,true);//少し前に...
adjust();//左タイヤを反転させた後に右タイヤを同じ角度反...
***縦線パート?〜縦線パート書き終えるまで [#d8b51f6a]
down();
unside270();
up();
ここまでは上手くかける
**横線 [#o62805ce]
side600();//横線のSTART位置を少し越えるあたりまで前進。
ResetTachoCount(OUT_ABC);
RotateMotor(OUT_C,SPEED,-360);//左タイヤを反転させて90...
RotateMotorEx(OUT_BC,SPEED,-120,0,false,true);//横線のST...
***横線パート?〜? [#hf494467]
down();
side90();
up();
side90();
down();
side90();
up();
RotateMotorEx(OUT_BC,SPEED,240,0,false,true);//少し前に...
adjust2();//右タイヤを反転させた後左タイヤを反転させ1マ...
***横線パート?〜? [#h70c1ed2]
down();
unside90();
up();
unside90();
down();
unside90();
up();
adjust2();//右タイヤを反転させた後左タイヤを反転させ1マ...
RotateMotorEx(OUT_BC,SPEED,120,0,false,true);//少し前に...
***横線パート?〜? [#b18e1c39]
down();
side90();
up();
side90();
down();
side90();
up();
RotateMotorEx(OUT_BC,SPEED,260,0,false,true);//少し前に...
adjust3();//右タイヤを反転させた後左タイヤを反転させ1マ...
***横線パート?〜? [#he384e4e]
unside90();
down();
unside90();
up();
unside90();
adjust2();//右タイヤを反転させた後左タイヤを反転させ1マ...
RotateMotorEx(OUT_BC,SPEED,180,0,false,true);//少し前に...
***横線パート?〜? [#eab831fb]
side90();
down();
side90();
up();
side90();
RotateMotorEx(OUT_BC,SPEED,180,0,false,true);//少し前に...
adjust2();//右タイヤを反転させた後左タイヤを反転させ1マ...
***横線パート?〜横線パート書き終えるまで [#wd6e723b]
unside90();
down();
unside90();
}
位置調整の動きのはずがタイヤの回転する角度が少し違うので...
*感想・反省点 [#o909a219]
まずはプログラムの文字数がやや多くなったところは直す必...
課題についてだが、結果として成功はなかった。数値が正確...
終了行:
[[2014b/Member]]
*課題 [#z8832255]
[[mission1:http://yakushi.shinshu-u.ac.jp/robotics/?2014b...
*ロボット組み立て [#k988308e]
初めに作ったロボットは解説書の通り本体の右側からアームが...
#ref(robo.jpg)
3つ目のモーターを本体の真ん中に取り付け、モーターの回転...
***真上から見た図 [#mdf6ff30]
#ref(ue.jpg)
真横~
***真横から見た図 [#z1852c31]
#ref(yo.jpg)
*課題攻略に向けて [#va1f2b90]
「間」という漢字に斜線が入っていないことを利用し、初めに...
***縦線パート [#wfdccd5e]
#ref(tate.jpg)
***横線パート [#ifa7c794]
#ref(yoko.jpg)
*プログラム概要 [#s155748f]
プログラムを組んでいる途中で、先に直角に曲がるにはタイヤ...
**定義・サブルーチン [#lc82e7d7]
#define SPEED 30
sub side90()//3✕3マスの1マス分前進する。
{RotateMotorEx(OUT_BC,SPEED,90,0,false,true);}
sub side270()//3✕3マスの3マス分前進する。
{RotateMotorEx(OUT_BC,SPEED,270,0,false,true);}
sub unside90()//3✕3マスの1マス分後退する。
{RotateMotorEx(OUT_BC,SPEED,-90,0,false,true);}
sub unside270()//3✕3マスの3マス分後退する。
{RotateMotorEx(OUT_BC,SPEED,-270,0,false,true);}
sub side600()
{RotateMotorEx(OUT_BC,SPEED,700,0,false,true);}
sub up()//ペンを持ち上げる。
{RotateMotor(OUT_A,SPEED,-25);}
sub down()//ペンを下ろす。
{RotateMotor(OUT_A,SPEED,25);}
sub adjust()//左タイヤを反転させた後右タイヤを反転させ1...
{RotateMotor(OUT_C,SPEED,-200);
RotateMotor(OUT_B,SPEED,-200);}
sub adjust2()//右タイヤを反転させた後左タイヤを反転させ...
{RotateMotor(OUT_B,SPEED,-150);
RotateMotor(OUT_C,SPEED,-170);}
sub adjust3()//右タイヤを反転させた後左タイヤを反転させ...
{RotateMotor(OUT_B,SPEED,-200);
RotateMotor(OUT_C,SPEED,-200);}
ここでの位置調整のサブルーチン内の数値が正確でないため後...
**縦線 [#j16c471f]
***縦線パート?〜? [#v92d70ce]
task main()
{
ResetTachoCount(OUT_ABC);
RotateMotor(OUT_A,SPEED,-45);
RotateMotor(OUT_A,SPEED,50);
side270();
up();
RotateMotorEx(OUT_BC,SPEED,190,0,false,true);//少し前に...
adjust();//左タイヤを反転させた後に右タイヤを同じ角度反...
***縦線パート?〜? [#p2334456]
down();
unside90();
up();
unside90();//縦線パートA区間
down();
unside90();
up();
adjust();//左タイヤを反転させた後に右タイヤを同じ角度反...
RotateMotorEx(OUT_BC,SPEED,190,0,false,true);//少し前に...
***縦線パート?〜? [#ya9affef]
down();
side90();
up();
side90();//縦線パートB区間
down();
side90();
up();
RotateMotorEx(OUT_BC,SPEED,190,0,false,true);//少し前に...
adjust();//左タイヤを反転させた後に右タイヤを同じ角度反...
***縦線パート?〜縦線パート書き終えるまで [#d8b51f6a]
down();
unside270();
up();
ここまでは上手くかける
**横線 [#o62805ce]
side600();//横線のSTART位置を少し越えるあたりまで前進。
ResetTachoCount(OUT_ABC);
RotateMotor(OUT_C,SPEED,-360);//左タイヤを反転させて90...
RotateMotorEx(OUT_BC,SPEED,-120,0,false,true);//横線のST...
***横線パート?〜? [#hf494467]
down();
side90();
up();
side90();
down();
side90();
up();
RotateMotorEx(OUT_BC,SPEED,240,0,false,true);//少し前に...
adjust2();//右タイヤを反転させた後左タイヤを反転させ1マ...
***横線パート?〜? [#h70c1ed2]
down();
unside90();
up();
unside90();
down();
unside90();
up();
adjust2();//右タイヤを反転させた後左タイヤを反転させ1マ...
RotateMotorEx(OUT_BC,SPEED,120,0,false,true);//少し前に...
***横線パート?〜? [#b18e1c39]
down();
side90();
up();
side90();
down();
side90();
up();
RotateMotorEx(OUT_BC,SPEED,260,0,false,true);//少し前に...
adjust3();//右タイヤを反転させた後左タイヤを反転させ1マ...
***横線パート?〜? [#he384e4e]
unside90();
down();
unside90();
up();
unside90();
adjust2();//右タイヤを反転させた後左タイヤを反転させ1マ...
RotateMotorEx(OUT_BC,SPEED,180,0,false,true);//少し前に...
***横線パート?〜? [#eab831fb]
side90();
down();
side90();
up();
side90();
RotateMotorEx(OUT_BC,SPEED,180,0,false,true);//少し前に...
adjust2();//右タイヤを反転させた後左タイヤを反転させ1マ...
***横線パート?〜横線パート書き終えるまで [#wd6e723b]
unside90();
down();
unside90();
}
位置調整の動きのはずがタイヤの回転する角度が少し違うので...
*感想・反省点 [#o909a219]
まずはプログラムの文字数がやや多くなったところは直す必...
課題についてだが、結果として成功はなかった。数値が正確...
ページ名: