2017b/Member/MURA/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
目次
#contents
*課題3 [#wdc46bbe]
ピンポン玉と紙コップをそれぞれ所定の位置に運ぶ。
#ref(2017b-mission3.png)
左上のピンポン玉と中央上の紙コップをねらうことにした。
*ロボット説明 [#dea40a76]
ロボット作成を担当したので張り切って作ろうとおもった。エ...
#ref(Image_b274090.jpg)
赤色で囲った部分はコップを持って旋回するときに紙コップが...
#ref(Image_04040a2.jpg)
センサーはタイヤのすぐ前に設置した。アームが重くなりすぎ...
*プログラム [#je5439fe]
**アームを上下させ紙コップを上下させるRIS [#x599a4ba]
定義
#define up(t) OnRev(OUT_A);Wait(t);Off(OUT_AC); //t...
#define down(t) OnFwd(OUT_A);Wait(t);Off(OUT_AC); //t...
#define st(t) Off(OUT_AC);Wait(t); //t...
メイン
task main ()
{
Wait(870); //X地点へ行く時間
up(30); //紙コップを持ち上げる
st(200); //本体が紙コップをXの中に入れるまで...
down(30); //紙コップを下ろす
}
**本体の移動と光センサーと紙コップをつかませるRIS [#v34cc...
定義
#define leftSENKAI OnFwd(OUT_A);OnRev(OUT_C); //左...
#define leftMAGARU OnFwd(OUT_A);Off(OUT_C); //左折
#define rightSENKAI OnFwd(OUT_C);OnRev(OUT_A); //右...
#define rightMAGARU OnFwd(OUT_C);Off(OUT_A); //右折
#define ch OnFwd(OUT_B);Wait(30);Off(OUT_B); //ア...
#define re OnRev(OUT_B);Wait(20);Off(OUT_B); //ア...
#define go(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC); //t...
#define back(t) OnRev(OUT_AC);Wait(t);Off(OUT_AC); //t...
#define cross_stop Off(OUT_AC);Wait(100); //1秒...
#define carb 46 //閾値
ライントレース
sub r()
{
SetSensor(SENSOR_2,SENSOR_LIGHT); //端子2に光センサー
ClearTimer(0);
while(FastTimer(0)<=24) //0.24秒以内はループ...
{
if(SENSOR_2>carb+5) //センサーが閾値+5の...
{
leftSENKAI
ClearTimer(0); //タイマーリセット
}
else if(SENSOR_2>carb+3) //センサーが閾値+3の...
{
leftMAGARU
ClearTimer(0);
}
else if(SENSOR_2>carb) //センサーが閾値を超...
{
OnFwd(OUT_AC);
ClearTimer(0);
}
else if(SENSOR_2>carb-3) //センサーが閾値-3の...
{
rightMAGARU
ClearTimer(0);
}
else //上記のどの条件にも...
{
rightSENKAI
}
}
Off(OUT_AC);
}
メインプログラム
task main ()
{
go(30); //Aの枠から出る
r(); //A〜Bライントレース
leftSENKAI; //0.05秒間左旋回して位置調整
Wait(5);
re; //アームを開く
go(160); //マップ左上の紙コップに近づく
cross_stop; //1秒停止
ch; //アームを閉じコップをつかむ
rightSENKAI; //1.4秒間右旋回して位置調整
Wait(140);
cross_stop; //1秒停止
ch; //移動の振動で紙コップを離してしまうので...
go(90); //X地点に近づく
cross_stop; //1秒停止
re; //アームを開きX地点にコップを置く
back(100); //1秒後退して位置調整
leftSENKAI; //0.3秒左旋回して位置調整
Wait(30);
go(200); //2秒前進して位置調整
rightSENKAI; //0.4秒右旋回して障害物に当たらないよう...
Wait(40);
re; //アームを開く
go(250); //Qの上方向にある紙コップを本体で押しな...
}
*感想まとめ [#b119d611]
ロボットを製作することに時間がかかりすぎてしまいプログラ...
終了行:
目次
#contents
*課題3 [#wdc46bbe]
ピンポン玉と紙コップをそれぞれ所定の位置に運ぶ。
#ref(2017b-mission3.png)
左上のピンポン玉と中央上の紙コップをねらうことにした。
*ロボット説明 [#dea40a76]
ロボット作成を担当したので張り切って作ろうとおもった。エ...
#ref(Image_b274090.jpg)
赤色で囲った部分はコップを持って旋回するときに紙コップが...
#ref(Image_04040a2.jpg)
センサーはタイヤのすぐ前に設置した。アームが重くなりすぎ...
*プログラム [#je5439fe]
**アームを上下させ紙コップを上下させるRIS [#x599a4ba]
定義
#define up(t) OnRev(OUT_A);Wait(t);Off(OUT_AC); //t...
#define down(t) OnFwd(OUT_A);Wait(t);Off(OUT_AC); //t...
#define st(t) Off(OUT_AC);Wait(t); //t...
メイン
task main ()
{
Wait(870); //X地点へ行く時間
up(30); //紙コップを持ち上げる
st(200); //本体が紙コップをXの中に入れるまで...
down(30); //紙コップを下ろす
}
**本体の移動と光センサーと紙コップをつかませるRIS [#v34cc...
定義
#define leftSENKAI OnFwd(OUT_A);OnRev(OUT_C); //左...
#define leftMAGARU OnFwd(OUT_A);Off(OUT_C); //左折
#define rightSENKAI OnFwd(OUT_C);OnRev(OUT_A); //右...
#define rightMAGARU OnFwd(OUT_C);Off(OUT_A); //右折
#define ch OnFwd(OUT_B);Wait(30);Off(OUT_B); //ア...
#define re OnRev(OUT_B);Wait(20);Off(OUT_B); //ア...
#define go(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC); //t...
#define back(t) OnRev(OUT_AC);Wait(t);Off(OUT_AC); //t...
#define cross_stop Off(OUT_AC);Wait(100); //1秒...
#define carb 46 //閾値
ライントレース
sub r()
{
SetSensor(SENSOR_2,SENSOR_LIGHT); //端子2に光センサー
ClearTimer(0);
while(FastTimer(0)<=24) //0.24秒以内はループ...
{
if(SENSOR_2>carb+5) //センサーが閾値+5の...
{
leftSENKAI
ClearTimer(0); //タイマーリセット
}
else if(SENSOR_2>carb+3) //センサーが閾値+3の...
{
leftMAGARU
ClearTimer(0);
}
else if(SENSOR_2>carb) //センサーが閾値を超...
{
OnFwd(OUT_AC);
ClearTimer(0);
}
else if(SENSOR_2>carb-3) //センサーが閾値-3の...
{
rightMAGARU
ClearTimer(0);
}
else //上記のどの条件にも...
{
rightSENKAI
}
}
Off(OUT_AC);
}
メインプログラム
task main ()
{
go(30); //Aの枠から出る
r(); //A〜Bライントレース
leftSENKAI; //0.05秒間左旋回して位置調整
Wait(5);
re; //アームを開く
go(160); //マップ左上の紙コップに近づく
cross_stop; //1秒停止
ch; //アームを閉じコップをつかむ
rightSENKAI; //1.4秒間右旋回して位置調整
Wait(140);
cross_stop; //1秒停止
ch; //移動の振動で紙コップを離してしまうので...
go(90); //X地点に近づく
cross_stop; //1秒停止
re; //アームを開きX地点にコップを置く
back(100); //1秒後退して位置調整
leftSENKAI; //0.3秒左旋回して位置調整
Wait(30);
go(200); //2秒前進して位置調整
rightSENKAI; //0.4秒右旋回して障害物に当たらないよう...
Wait(40);
re; //アームを開く
go(250); //Qの上方向にある紙コップを本体で押しな...
}
*感想まとめ [#b119d611]
ロボットを製作することに時間がかかりすぎてしまいプログラ...
ページ名: