2016a/Member/zawati/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2016a/Member]]
#contents
*はじめに [#xfef67aa]
今回の課題は、紙コップを運ぶロボットの作成し、課題2のコ...
運び、運んだ紙コップを重ねるタイムレースを行いました。
ロボットを1台で行う班が多くいましたが、私たちは2台のロ...
*ロボットの説明 [#o419d2af]
**スレーブ [#y3beb55c]
1台(スレーブ)は、ライントレースをしてCに紙コップを取りに...
アームを小さくし、一回で何個も運ぶのではなく確実に一個ず...
#ref(robot.png)
**マスター [#oce7f76c]
もう1台(マスター)は、別のロボットが運んできた紙コップをQ...
重ねる役目。こちらのロボットは、片方のロボットと比べてア...
動いてるのを見ていると、親が初めて子供を一人で買い物に出...
気持ちにさせられました。
#ref(robot55.png)
**アームの動作の説明 [#ofb64afb]
#ref(無題.png)
アームは矢印の方向に動き、オレンジで塗りつぶしたところで...
#ref(robot66.png)
上で行った動作のあと、丸で囲んだギアが動き紙コップを持ち...
ここの微調整が一番大変でした。
*プログラム [#s59d4904]
***注意 [#b27b0212]
スレーブのプログラムについては、「Ari」、「Etu」、「Tea」...
**float関数 [#s78b8727]
float GetAngle(float d) /* dには進みたい距離が入る */
{
const float diameter=5.45; //タイヤの直径(?)
const float pi=3.1415; //円周率(π)
float ang =d/(diameter*pi)*360.0; //角度を計算する
return ang; //角度を返す
}
**定義 [#z8217648]
アームを動かす定義。上が紙コップを掴むときのプログラムで...
#define Tozire RotateMotor(OUT_A,50,800);//右旋回(モータ...
#define Hirake RotateMotor(OUT_A,-25,800);//左旋回(モー...
90度回転させる定義。
#define Ninety GetAngle(8.25)
上がlcm前進(モータBとCを25%のスピードで同期させてlcm分前...
#define Turn_r RotateMotorEx(OUT_BC,35,Ninety,-100,true,...
#define Turn_l RotateMotorEx(OUT_BC,35,Ninety,100,true,f...
lcm分回転させるプログラム。
#define Rotary(l) GetAngle(l)
上が右旋回(モータBとCを35%のスピードで同期させず90度前転)...
#define Go_F(l) RotateMotorEx(OUT_BC,25,Rotary(l),0,true...
#define Go_B(l) RotateMotorEx(OUT_BC,-25,Rotary(l),0,tru...
**サブルーチン [#k59d0a91]
これは、紙コップを認識し持ち合上げ、所定の位置に持ってい...
sub Papercop()
{
SetSensorLowspeed(S1);
int n=0;//紙コップを認識した回数
while(n<1){
if (SensorUS(S1)<=10){//紙コップとの距離が10cm以内なら
Go_F(5);//紙コップを取りに行く
Tozire;
Turn_r;
OnRev(OUT_B,50);
Wait(100);//サークルまで直進できるよう調節
Go_F(10);//サークルに向かう
Hirake;
Go_B(10);//地点に戻る
OnRev(OUT_C,50);
Wait(200);//P地点まで直進できるよう調節
Turn_l;
OnFwd(OUT_B,50);
Wait(100);
Off(OUT_B);//P地点まで直進できるよう調節
Go_B(5);//スレーブが置いた紙コップにぶつからないように...
n++;//認識回数を増やす
Off(OUT_BC);//待機
}else{
OnFwd(OUT_BC,50);
}
}
n=0;
}
#define CONN 1
#define Boot 11
**Main関数 [#qc2c8b7d]
task main()
{
Go_F(25);//R地点まで進む
Turn_r;//R地点右旋回
OnFwd(OUT_C,50);
Wait(100);
Off(OUT_C);//線に沿って進めるよう調節
Go_F(15);
OnRev(OUT_C,50);
Wait(100);
Off(OUT_C);
Turn_l;
Off(OUT_BC);
OnFwd(OUT_B,50);
Wait(100);
Off(OUT_B);
Go_B(8);
Off(OUT_BC);
int x=0;//メッセージが送られてきた回数
while(x<6){//紙コップは6個あるため6回繰り返す
int msg;//受け取った値を格納する変数
ReceiveRemoteNumber(MAILBOX1,true,msg)//MAILBOX1の値を...
//trueを指定す...
if(msg == Boot){//もしメッセージが送られてきたら
Wait(1000);//スレーブとぶつからないように待機して
Papercop();
x++;//メッセージが送られてきた回数を増やす
}else{
Off(OUT_BC);//送られてこない限りは待機
}
}
}
*結果 [#l6f3d894]
私たちの班は紙コップを一つも運ぶことが出来きませんでした。
一回目はスレーブ側のライントレースのトラブルで紙コップを...
二回目はマスター側のアームのトラブルで紙コップを運ぶこと...
ロボコンの順位は全体で3位でした。
正直、ここまでいい結果が取れると思っていなかったので
嬉しかったです。でも、一つも運べなかったことが悔しすぎて
終わった直後は嬉しさを感じることが出来ませんでした。
しかし、技術点では一位、ロボコンでは三位を取れました。
*考察 [#a7316079]
私たちが紙コップを運べなかった一番の理由は、全員で集まっ...
時間がほとんどなかったことだと思います。テスト期間という...
もう少し時間を取って合わせる時間を作れば良かったと思いま...
*課題3の感想・全体を通しての感想 [#ue036a63]
本番では一つも運ぶことが出来ませんでしたが、リハーサルの...
時はものすごく嬉しかったです。あの瞬間は今まで頑張ってき...
瞬間でした。やっている時は苦しくて途中で何回も諦めたいと...
やって本当によかったです。
すべての課題を終えて、何回も言っていますが苦しいことがた...
私たちの班は課題1の時に1人受講をやめてしまい、ずっと二人...
二人でやっている時、「もう一人いれば作業が楽になるのに」...
しかし、大変でしたが二人で最後までやり切れて本当によかっ...
この講義で改めて協力することの大切さを学ぶことが出来まし...
終了行:
[[2016a/Member]]
#contents
*はじめに [#xfef67aa]
今回の課題は、紙コップを運ぶロボットの作成し、課題2のコ...
運び、運んだ紙コップを重ねるタイムレースを行いました。
ロボットを1台で行う班が多くいましたが、私たちは2台のロ...
*ロボットの説明 [#o419d2af]
**スレーブ [#y3beb55c]
1台(スレーブ)は、ライントレースをしてCに紙コップを取りに...
アームを小さくし、一回で何個も運ぶのではなく確実に一個ず...
#ref(robot.png)
**マスター [#oce7f76c]
もう1台(マスター)は、別のロボットが運んできた紙コップをQ...
重ねる役目。こちらのロボットは、片方のロボットと比べてア...
動いてるのを見ていると、親が初めて子供を一人で買い物に出...
気持ちにさせられました。
#ref(robot55.png)
**アームの動作の説明 [#ofb64afb]
#ref(無題.png)
アームは矢印の方向に動き、オレンジで塗りつぶしたところで...
#ref(robot66.png)
上で行った動作のあと、丸で囲んだギアが動き紙コップを持ち...
ここの微調整が一番大変でした。
*プログラム [#s59d4904]
***注意 [#b27b0212]
スレーブのプログラムについては、「Ari」、「Etu」、「Tea」...
**float関数 [#s78b8727]
float GetAngle(float d) /* dには進みたい距離が入る */
{
const float diameter=5.45; //タイヤの直径(?)
const float pi=3.1415; //円周率(π)
float ang =d/(diameter*pi)*360.0; //角度を計算する
return ang; //角度を返す
}
**定義 [#z8217648]
アームを動かす定義。上が紙コップを掴むときのプログラムで...
#define Tozire RotateMotor(OUT_A,50,800);//右旋回(モータ...
#define Hirake RotateMotor(OUT_A,-25,800);//左旋回(モー...
90度回転させる定義。
#define Ninety GetAngle(8.25)
上がlcm前進(モータBとCを25%のスピードで同期させてlcm分前...
#define Turn_r RotateMotorEx(OUT_BC,35,Ninety,-100,true,...
#define Turn_l RotateMotorEx(OUT_BC,35,Ninety,100,true,f...
lcm分回転させるプログラム。
#define Rotary(l) GetAngle(l)
上が右旋回(モータBとCを35%のスピードで同期させず90度前転)...
#define Go_F(l) RotateMotorEx(OUT_BC,25,Rotary(l),0,true...
#define Go_B(l) RotateMotorEx(OUT_BC,-25,Rotary(l),0,tru...
**サブルーチン [#k59d0a91]
これは、紙コップを認識し持ち合上げ、所定の位置に持ってい...
sub Papercop()
{
SetSensorLowspeed(S1);
int n=0;//紙コップを認識した回数
while(n<1){
if (SensorUS(S1)<=10){//紙コップとの距離が10cm以内なら
Go_F(5);//紙コップを取りに行く
Tozire;
Turn_r;
OnRev(OUT_B,50);
Wait(100);//サークルまで直進できるよう調節
Go_F(10);//サークルに向かう
Hirake;
Go_B(10);//地点に戻る
OnRev(OUT_C,50);
Wait(200);//P地点まで直進できるよう調節
Turn_l;
OnFwd(OUT_B,50);
Wait(100);
Off(OUT_B);//P地点まで直進できるよう調節
Go_B(5);//スレーブが置いた紙コップにぶつからないように...
n++;//認識回数を増やす
Off(OUT_BC);//待機
}else{
OnFwd(OUT_BC,50);
}
}
n=0;
}
#define CONN 1
#define Boot 11
**Main関数 [#qc2c8b7d]
task main()
{
Go_F(25);//R地点まで進む
Turn_r;//R地点右旋回
OnFwd(OUT_C,50);
Wait(100);
Off(OUT_C);//線に沿って進めるよう調節
Go_F(15);
OnRev(OUT_C,50);
Wait(100);
Off(OUT_C);
Turn_l;
Off(OUT_BC);
OnFwd(OUT_B,50);
Wait(100);
Off(OUT_B);
Go_B(8);
Off(OUT_BC);
int x=0;//メッセージが送られてきた回数
while(x<6){//紙コップは6個あるため6回繰り返す
int msg;//受け取った値を格納する変数
ReceiveRemoteNumber(MAILBOX1,true,msg)//MAILBOX1の値を...
//trueを指定す...
if(msg == Boot){//もしメッセージが送られてきたら
Wait(1000);//スレーブとぶつからないように待機して
Papercop();
x++;//メッセージが送られてきた回数を増やす
}else{
Off(OUT_BC);//送られてこない限りは待機
}
}
}
*結果 [#l6f3d894]
私たちの班は紙コップを一つも運ぶことが出来きませんでした。
一回目はスレーブ側のライントレースのトラブルで紙コップを...
二回目はマスター側のアームのトラブルで紙コップを運ぶこと...
ロボコンの順位は全体で3位でした。
正直、ここまでいい結果が取れると思っていなかったので
嬉しかったです。でも、一つも運べなかったことが悔しすぎて
終わった直後は嬉しさを感じることが出来ませんでした。
しかし、技術点では一位、ロボコンでは三位を取れました。
*考察 [#a7316079]
私たちが紙コップを運べなかった一番の理由は、全員で集まっ...
時間がほとんどなかったことだと思います。テスト期間という...
もう少し時間を取って合わせる時間を作れば良かったと思いま...
*課題3の感想・全体を通しての感想 [#ue036a63]
本番では一つも運ぶことが出来ませんでしたが、リハーサルの...
時はものすごく嬉しかったです。あの瞬間は今まで頑張ってき...
瞬間でした。やっている時は苦しくて途中で何回も諦めたいと...
やって本当によかったです。
すべての課題を終えて、何回も言っていますが苦しいことがた...
私たちの班は課題1の時に1人受講をやめてしまい、ずっと二人...
二人でやっている時、「もう一人いれば作業が楽になるのに」...
しかし、大変でしたが二人で最後までやり切れて本当によかっ...
この講義で改めて協力することの大切さを学ぶことが出来まし...
ページ名: