2015a/Member/riesteria/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*ライン・トレースロボット [#dba9122f]
#contents
**チームメンバー及び番号 [#w5548558]
番号:R3
~メンバー
~・梅木
~・桜井
~・藤村
**課題の説明 [#r427d8fc]
今回の課題は、あらかじめ指定されたコース(以下のURL先...
(http://yakushi.shinshu-u.ac.jp/robotics/?plugin=attach&...
**ロボット [#fb341a2e]
***全体 [#v9ace547]
#ref(./s_IMG_0299.JPG)
完成図
#ref(./s_IMG_0301.JPG)
分解図
~このように簡単に分解でき、簡単に箱にしまうことができ、持...
***アーム [#c1667e61]
#ref(./new_IMG_0301.jpg,100%,アーム)
アームはモータとギアで回す。アームの両方にギアをつけ、片...
***センサー [#k226cf44]
#ref(./s_IMG_0300.JPG,100%,前方)
光センサーは正面向かって左側にある。光センサーは地面ギリ...
~少し中心よりも左側につけることで、少しだけ光センサーが振...
**プログラム [#hb92b51e]
#define THRESHOLD 42//閾値を42に設定
#define turn_leftA Off(OUT_A); OnFwd(OUT_C);//左に回転
#define turn_leftB OnFwd(OUT_C); OnRev(OUT_A); Wait(20);...
#define turn_rightA OnFwd(OUT_A); Off(OUT_C);//右に回転
#define turn_rightB OnFwd(OUT_A); OnRev(OUT_C);//その場...
#define go_foward1 OnFwd(OUT_AC); Wait(8);//少し前に進む
#define go_back1 OnRev(OUT_AC); Wait(10);//少し後ろに進む
#define go_back2 OnRev(OUT_AC); Wait(100);//後ろに進む
#define nMAX1 10//三叉路Pを認識するカウンタの回数
#define nMAX2 50//交差点Qの前で角度調整を行うことを認識...
#define nMAX3 10//交差点Qを認識するカウンタの回数
#define nMAX4 8//直角カーブを認識するカウンタの回数
#define nMAX5 2//B地点についたことを認識するカウンタの回数
#define BallCatch 120//三叉路Pからボールをキャッチする場...
#define armopen OnFwd(OUT_B); Wait(7);//
#define armclose OnRev(OUT_B); Wait(7);//
task main(){
SetSensor(SENSOR_2,SENSOR_LIGHT);
int nOnline=0;//三叉路Pを認識するカウンタ
int nOnline1=0;//交差点Qの前で角度調整を行うことを認...
int nOnline2=0;//交差点Qを認識するカウンタ
int nOnline3=0;//直角カーブを認識するカウンタ
int nOnline4=0;//B地点についたことを認識するカウンタ
int ball=0;//三叉路Pからボールをキャッチする場所に行...
while(nOnline < nMAX1){//三叉路Pまで移動
if(SENSOR_2 < THRESHOLD){
turn_leftA;
nOnline++;
} else {
turn_rightA;
nOnline=0;
}
Wait(1);
}
Off(OUT_AC);//三叉路Pで2秒間停止
Wait(200);
turn_rightB;//進む角度のズレを調整
Wait(18);
go_foward1;//進む角度のズレを調整
nOnline=0;
while(ball < BallCatch){//ボールをキャッチするところ...
if (SENSOR_2 < THRESHOLD) {
turn_leftA;
ball++;
} else {
turn_rightA;
ball++;
}
Wait(1);
}
Off(OUT_AC);//停止して
Wait(200);
armclose;//アームを閉じてボールをキャッチ
Off(OUT_B);
while(nOnline1<nMAX2){//ボールをつかんだところから交...
if (SENSOR_2 < THRESHOLD) {
turn_leftA;
nOnline1=0;
} else {
turn_rightA;
nOnline1++;
}
Wait(1);
}
go_back1;//交差点Qの直前でロボットの構造上生じたズレ...
turn_rightB;
Wait(20);
nOnline1=0;
while(nOnline2<nMAX3){//ズレを修正し終わったところか...
if (SENSOR_2 < THRESHOLD) {
turn_leftA;
nOnline2++;
} else {
turn_rightA;
nOnline2=0;
}
Wait(1);
}
Off(OUT_AC);//交差点Qで2秒間停止
Wait(200);
turn_rightB;//進む角度のズレを調整
Wait(50);
go_foward1;
nOnline2=0;
while(nOnline3<nMAX4){//交差点Qから直角カーブまで移動
if (SENSOR_2 < THRESHOLD) {
turn_leftA;
nOnline3=0;
} else {
turn_rightA;
nOnline3++;
}
Wait(1);
}
turn_rightB;//直角カーブを曲がる
Wait(90);
while(nOnline4 < nMAX5){//直角カーブからBまで移動
if (SENSOR_2 < THRESHOLD) {
turn_leftA;
nOnline4=0;
} else {
turn_rightA;
nOnline4++;
}
Wait(1);
}
go_back2;//B地点でゴールの方へ角度を調整
turn_leftB;
armopen;//アームを開き、少し後ろに下がったあと少し前...
Off(OUT_B);
go_back2;
go_foward1;
Off(OUT_AC);//停止して終了
}
**工夫点 [#w910cb33]
・タイヤとタイヤの幅をある程度狭くすることで、小回りが利...
~・光センサーを地面ギリギリに持ってくることで、感知しやす...
~・光センサーを向って正面左側につけることで、ロボットの動...
**感想と反省 [#y550e953]
・割と時間ギリギリまでかかってしまった。予定が合わなかっ...
~・ロボットがもろくなってしまった。走らせる分には問題ない...
~・アームのギア調整がうまくいかず、小さいギアから大きいギ...
~・いろいろと大変なことがあったが、最後は何とか完成させら...
終了行:
*ライン・トレースロボット [#dba9122f]
#contents
**チームメンバー及び番号 [#w5548558]
番号:R3
~メンバー
~・梅木
~・桜井
~・藤村
**課題の説明 [#r427d8fc]
今回の課題は、あらかじめ指定されたコース(以下のURL先...
(http://yakushi.shinshu-u.ac.jp/robotics/?plugin=attach&...
**ロボット [#fb341a2e]
***全体 [#v9ace547]
#ref(./s_IMG_0299.JPG)
完成図
#ref(./s_IMG_0301.JPG)
分解図
~このように簡単に分解でき、簡単に箱にしまうことができ、持...
***アーム [#c1667e61]
#ref(./new_IMG_0301.jpg,100%,アーム)
アームはモータとギアで回す。アームの両方にギアをつけ、片...
***センサー [#k226cf44]
#ref(./s_IMG_0300.JPG,100%,前方)
光センサーは正面向かって左側にある。光センサーは地面ギリ...
~少し中心よりも左側につけることで、少しだけ光センサーが振...
**プログラム [#hb92b51e]
#define THRESHOLD 42//閾値を42に設定
#define turn_leftA Off(OUT_A); OnFwd(OUT_C);//左に回転
#define turn_leftB OnFwd(OUT_C); OnRev(OUT_A); Wait(20);...
#define turn_rightA OnFwd(OUT_A); Off(OUT_C);//右に回転
#define turn_rightB OnFwd(OUT_A); OnRev(OUT_C);//その場...
#define go_foward1 OnFwd(OUT_AC); Wait(8);//少し前に進む
#define go_back1 OnRev(OUT_AC); Wait(10);//少し後ろに進む
#define go_back2 OnRev(OUT_AC); Wait(100);//後ろに進む
#define nMAX1 10//三叉路Pを認識するカウンタの回数
#define nMAX2 50//交差点Qの前で角度調整を行うことを認識...
#define nMAX3 10//交差点Qを認識するカウンタの回数
#define nMAX4 8//直角カーブを認識するカウンタの回数
#define nMAX5 2//B地点についたことを認識するカウンタの回数
#define BallCatch 120//三叉路Pからボールをキャッチする場...
#define armopen OnFwd(OUT_B); Wait(7);//
#define armclose OnRev(OUT_B); Wait(7);//
task main(){
SetSensor(SENSOR_2,SENSOR_LIGHT);
int nOnline=0;//三叉路Pを認識するカウンタ
int nOnline1=0;//交差点Qの前で角度調整を行うことを認...
int nOnline2=0;//交差点Qを認識するカウンタ
int nOnline3=0;//直角カーブを認識するカウンタ
int nOnline4=0;//B地点についたことを認識するカウンタ
int ball=0;//三叉路Pからボールをキャッチする場所に行...
while(nOnline < nMAX1){//三叉路Pまで移動
if(SENSOR_2 < THRESHOLD){
turn_leftA;
nOnline++;
} else {
turn_rightA;
nOnline=0;
}
Wait(1);
}
Off(OUT_AC);//三叉路Pで2秒間停止
Wait(200);
turn_rightB;//進む角度のズレを調整
Wait(18);
go_foward1;//進む角度のズレを調整
nOnline=0;
while(ball < BallCatch){//ボールをキャッチするところ...
if (SENSOR_2 < THRESHOLD) {
turn_leftA;
ball++;
} else {
turn_rightA;
ball++;
}
Wait(1);
}
Off(OUT_AC);//停止して
Wait(200);
armclose;//アームを閉じてボールをキャッチ
Off(OUT_B);
while(nOnline1<nMAX2){//ボールをつかんだところから交...
if (SENSOR_2 < THRESHOLD) {
turn_leftA;
nOnline1=0;
} else {
turn_rightA;
nOnline1++;
}
Wait(1);
}
go_back1;//交差点Qの直前でロボットの構造上生じたズレ...
turn_rightB;
Wait(20);
nOnline1=0;
while(nOnline2<nMAX3){//ズレを修正し終わったところか...
if (SENSOR_2 < THRESHOLD) {
turn_leftA;
nOnline2++;
} else {
turn_rightA;
nOnline2=0;
}
Wait(1);
}
Off(OUT_AC);//交差点Qで2秒間停止
Wait(200);
turn_rightB;//進む角度のズレを調整
Wait(50);
go_foward1;
nOnline2=0;
while(nOnline3<nMAX4){//交差点Qから直角カーブまで移動
if (SENSOR_2 < THRESHOLD) {
turn_leftA;
nOnline3=0;
} else {
turn_rightA;
nOnline3++;
}
Wait(1);
}
turn_rightB;//直角カーブを曲がる
Wait(90);
while(nOnline4 < nMAX5){//直角カーブからBまで移動
if (SENSOR_2 < THRESHOLD) {
turn_leftA;
nOnline4=0;
} else {
turn_rightA;
nOnline4++;
}
Wait(1);
}
go_back2;//B地点でゴールの方へ角度を調整
turn_leftB;
armopen;//アームを開き、少し後ろに下がったあと少し前...
Off(OUT_B);
go_back2;
go_foward1;
Off(OUT_AC);//停止して終了
}
**工夫点 [#w910cb33]
・タイヤとタイヤの幅をある程度狭くすることで、小回りが利...
~・光センサーを地面ギリギリに持ってくることで、感知しやす...
~・光センサーを向って正面左側につけることで、ロボットの動...
**感想と反省 [#y550e953]
・割と時間ギリギリまでかかってしまった。予定が合わなかっ...
~・ロボットがもろくなってしまった。走らせる分には問題ない...
~・アームのギア調整がうまくいかず、小さいギアから大きいギ...
~・いろいろと大変なことがあったが、最後は何とか完成させら...
ページ名: