2017b/Member/OGI/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
目次
#contents
* 課題3 [#zc5ac2fc]
紙コップとピンポン玉を別々に集めるロボットの製作
** 内容 [#a64871f0]
下図のマジェンタの円に逆さまにした紙コップを置き、その中...
#ref(2017b/Mission3/2017b-mission3.png,50%,ロボコンのフィ...
**ルール [#kf13b008]
下記URL(2017年後期Mission3)を参照してください。
http://yakushi.shinshu-u.ac.jp/robotics/?2017b%2FMission3
*ロボット [#h34081ac]
はじめに、RISの通信機能の性質を踏まえてロボット本体は1台...
**アーム部分 [#v850c5af]
&ref(2017b/Member/OGI/Mission3/アーム上.jpg,75%); &ref(20...
基本的な構造は、開閉を行うアーム部分を3本の黒い棒で本体と...
1枚目の写真の大きいギアはモーターと直接つながっており、こ...
2枚目の写真のようにギアを配置することでモーターの力の向き...
**車体部分 [#z9de6ba1]
&ref(2017b/Member/OGI/Mission3/本体上.jpg,75%); &ref(2017...
アームが重かったため、重心が中心になるようにRISの配置を写...
アーム部分と車体部分の接続が弱く、本番では走行中にアーム...
*プログラム [#ce44f58a]
ロボット製作に多くの時間を割いてしまったため、二つのコッ...
プログラム担当ではなかったので簡単な説明とする。
**RIS? アーム部分の上下を行う [#qfd165b5]
定義
#define up(t) OnRev(OUT_A);Wait(t);Off(OUT_A); //t秒上...
#define down(t) OnFwd(OUT_A);Wait(t);Off(OUT_A); //t秒下...
#define st(t) Off(OUT_A);Wait(t); //t秒待機
メインプログラム
task main ()
{
Wait(870); //X地点に着くまでの時間
up(30); //コップを持ち上げる
st(200); //割りばしの正方形の中にコップが入るまで...
down(30); //コップを下ろす
}
変数tの値は、少しずつ値を変え適切なものを調べた。
**RIS? ライントレースとアームの開閉を行う [#i7353e58]
定義
#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;
Wait(5); //0.05秒間左旋回して位置調整
re; //アームを開く
go(160); //直線ABの延長上にあるコップに近づく
cross_stop; //1秒停止
ch; //アームを閉じコップをつかむ
rightSENKAI;
Wait(140); //1.4秒間右旋回して位置調整
cross_stop; //1秒停止
ch; //コップを離さないように再びアーム...
go(90); //X地点に近づく
cross_stop; //1秒停止
re; //アームを開きX地点にコップを置く
back(100); //1秒後退して位置調整
leftSENKAI;
Wait(30); //0.3秒左旋回して位置調整
go(200); //2秒前進して位置調整
rightSENKAI;
Wait(40); //0.4秒右旋回して障害物に当たらない...
re; //アームを開く
go(250); //交差点Qの上にあるコップを本体で押...
}
*反省点 [#yee8fc69]
ロボット製作に多くの時間を割いたにもかかわらず、あまり良...
*感想 [#ue65b3cb]
自分たちのチームが出来なかったことを他のチームでは出来て...
終了行:
目次
#contents
* 課題3 [#zc5ac2fc]
紙コップとピンポン玉を別々に集めるロボットの製作
** 内容 [#a64871f0]
下図のマジェンタの円に逆さまにした紙コップを置き、その中...
#ref(2017b/Mission3/2017b-mission3.png,50%,ロボコンのフィ...
**ルール [#kf13b008]
下記URL(2017年後期Mission3)を参照してください。
http://yakushi.shinshu-u.ac.jp/robotics/?2017b%2FMission3
*ロボット [#h34081ac]
はじめに、RISの通信機能の性質を踏まえてロボット本体は1台...
**アーム部分 [#v850c5af]
&ref(2017b/Member/OGI/Mission3/アーム上.jpg,75%); &ref(20...
基本的な構造は、開閉を行うアーム部分を3本の黒い棒で本体と...
1枚目の写真の大きいギアはモーターと直接つながっており、こ...
2枚目の写真のようにギアを配置することでモーターの力の向き...
**車体部分 [#z9de6ba1]
&ref(2017b/Member/OGI/Mission3/本体上.jpg,75%); &ref(2017...
アームが重かったため、重心が中心になるようにRISの配置を写...
アーム部分と車体部分の接続が弱く、本番では走行中にアーム...
*プログラム [#ce44f58a]
ロボット製作に多くの時間を割いてしまったため、二つのコッ...
プログラム担当ではなかったので簡単な説明とする。
**RIS? アーム部分の上下を行う [#qfd165b5]
定義
#define up(t) OnRev(OUT_A);Wait(t);Off(OUT_A); //t秒上...
#define down(t) OnFwd(OUT_A);Wait(t);Off(OUT_A); //t秒下...
#define st(t) Off(OUT_A);Wait(t); //t秒待機
メインプログラム
task main ()
{
Wait(870); //X地点に着くまでの時間
up(30); //コップを持ち上げる
st(200); //割りばしの正方形の中にコップが入るまで...
down(30); //コップを下ろす
}
変数tの値は、少しずつ値を変え適切なものを調べた。
**RIS? ライントレースとアームの開閉を行う [#i7353e58]
定義
#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;
Wait(5); //0.05秒間左旋回して位置調整
re; //アームを開く
go(160); //直線ABの延長上にあるコップに近づく
cross_stop; //1秒停止
ch; //アームを閉じコップをつかむ
rightSENKAI;
Wait(140); //1.4秒間右旋回して位置調整
cross_stop; //1秒停止
ch; //コップを離さないように再びアーム...
go(90); //X地点に近づく
cross_stop; //1秒停止
re; //アームを開きX地点にコップを置く
back(100); //1秒後退して位置調整
leftSENKAI;
Wait(30); //0.3秒左旋回して位置調整
go(200); //2秒前進して位置調整
rightSENKAI;
Wait(40); //0.4秒右旋回して障害物に当たらない...
re; //アームを開く
go(250); //交差点Qの上にあるコップを本体で押...
}
*反省点 [#yee8fc69]
ロボット製作に多くの時間を割いたにもかかわらず、あまり良...
*感想 [#ue65b3cb]
自分たちのチームが出来なかったことを他のチームでは出来て...
ページ名: