2013b/Member/Naoki/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#contents
*メンバー [#e87b9b8a]
Tomo, Yuki, Naoki, Naoyoshi
*課題 [#q24698c4]
2台のロボットで空き缶を収集し、ゴールに空き缶になるべく高...
&ref(root.png);
フィールドの説明
◦フィールドは課題1で使用した紙を2枚つなぎ合わせる
◦図のように空き缶を配置する(黄色)
*作戦 [#w5b9f4be]
?nxtを2つとも1台に搭載
?缶は3つ積むことが目標
?持ち上げた缶をほかの缶の上において、さらに持ち上げる。...
?光センサー2つで交差点を認識
?缶は音波センサーで感知
?ギア比を利用した高パワー
*ロボット [#tf61ac21]
我々のロボットは最初は2つのロボットで、積むためのロボッ...
そこで、どう積むかを考えたんだが、最初に思い浮かんだの...
なので、中学生のロボコンの映像を見て、今回の機構にした。
**ボディ [#s1b7a2fd]
&ref(0.jpg);&ref(8.jpg);
前にアームの重みがあるためnxtを後ろの方においてバランスを...
L字に取り付けたらメリットが盛りだくさん!!それを紹介し...
?ボディのバランスがよくなった。
?nxtでボディを覆うように固定できたため、ロボットが頑丈に...
?モーターなどとnxtをつなぐときに、接続部分がすべてむき出...
?かっこいい!!
これくらいだろうか。デメリットは...思いつかない。主観的だ...
そうこうしてみると、さすがにnxtを2つ搭載しているだけの...
ロボコンのリハーサルで右のタイヤの回転が悪く不安定だっ...
**アーム [#z33d7489]
アームには様々な工夫が施されている。
?缶の底を支えることができるように作られている。
&ref(3.jpg);
?アーム自体の大きさは缶を3つまでは缶のサイズジャスト持て...
&ref(2.jpg);
?アームの底の高さは缶の高さよりも少し高いくらいにして、缶...
缶の周りピッタリにアームの枠を組み、缶の底も支えること...
?ボディとアームをつなぐのは写真の四角の部分の機構である。...
それによって缶が積めるのだ。
&ref(1.jpg);
だが、缶を持つと、アーム自体の重みと缶の重みで段々前の...
?黄色の輪ゴムで軽く支えることで水平に保った。
&ref(11.JPG);
アームのすべての機構を含めると結構な重さになるので、モー...
?ギアを噛ませてトルクを増大させ、この問題を解消した。
&ref(6.jpg);
**音波センサー [#o81c4458]
&ref(12.JPG);
缶が円柱型になっているので音波センサーを横向きでつけると...
本来はセンサーが回転してソナーのようにしたかったが、夢だ...
**光センサー [#jd90e045]
&ref(5.jpg);
2つ光センサーをつけ、コースのラインをセンサーで挟むことで...
2つのセンサーがともに『黒』の認識だったら交差点だと判断で...
さらに光センサーを2つ付けたらロボットの幅が広がり、ずっし...
*プログラミング [#da142a73]
**定義群 [#nec0531c]
#define RIGHT OUT_B
#define LEFT OUT_C
#define BOTH OUT_BC
#define SPEED1 35
#define SPEED2 SPEED1*2
#define OnRL(speedR,speedL) OnRev(RIGHT,speedR);OnRev(LE...
#define go_forward OnRevSync(BOTH,SPEED2,0); //左右のタ...
#define go_back OnFwdSync(BOTH,SPEED2,0); //後退
#define turn_left1 OnFwdSync(BOTH,SPEED2,100); //時計回...
#define turn_left0 OnRL(SPEED2,0); //左折
#define turn_right0 OnRL(0,SPEED2); //右折
#define turn_right1 OnFwdSync(BOTH,SPEED2,-100); //半時...
#define u_turnCW OnRL(-SPEED1,SPEED1); //時計回りに旋回...
#define u_turnRCW OnRL(SPEED1,-SPEED1); //半時計回りに旋回
#define THRESHOLD 45
#define RANGE1 7 //ライントレース中に缶をつかむ動作に移...
#define RANGE2 19.8 //アームを伸ばした時の缶までの距離
#define RANGE3 23 //回転しながら
#define RANGE4 5 //前方に感知した缶をバンパーのホルダー...
#define STEP 1
#define SR SENSOR_2
#define SL SENSOR_1
#define SS SensorUS(S3)
#define CONN 1
#define arm_down "arm1.rxe" //アームを開き、つかむ準備を...
#define arm_up "arm2.rxe" //アームの降下→握り→上昇の一連...
#define BUILD_RAG 1000 //ゴールの交差点に止まったあと、...
#define DO 523 //音程C、E、Gを指定。hiCはCの二倍で対応
#define MI 659
#define SO 784
#define SIGNALON 11 //Mail受信用
#define SIGNALOFF 12
#define LATIO 3 //走行駆動系のギア比(24:8)。距離の算...
int nFase,angleA,angleB,msg,nCross;
float GetAngle(float r) //引数r[cm]だけ進むのに必要な...
{
const float diameter=5.45;
const float pi=3.1415;
float ang=r/(diameter*pi)*360.0*LATIO;
return ang;
}
**マスター [#q174e056]
***ライントレース [#l69cb404]
黒い線を見つけてそこからライントレースに移るようになっ...
sub find_line() //黒線を見つけるまで前進し、左右両方のセ...
{
until((SL<=THRESHOLD)&&(SR<=THRESHOLD))
{
if((SL>THRESHOLD)&&(SR>THRESHOLD))
{
go_forward;
}
else if((SL>THRESHOLD)&&(SR<=THRESHOLD))
{
turn_right0;
}
else
{
turn_left0;
}
Wait(STEP);
}
}
sub start_traceR() //左右の光センサが先に乗った状態から...
{
until(SL>THRESHOLD)
{
turn_right0;
}
PlaySound(SOUND_CLICK);
Off(BOTH);
}
sub start_traceL() //左右の光センサが先に乗った状態から...
{
until(SR>THRESHOLD)
{
turn_left0;
}
PlaySound(SOUND_CLICK);
Off(BOTH);
}
sub traceR() //右側の光センサを使ってライントレースを行...
{
if(SR<THRESHOLD-4)
{
turn_right1;
}
else if(SR<THRESHOLD)
{
turn_right0;
}
else if(SR<THRESHOLD+4)
{
go_forward;
}
else if(SR<THRESHOLD+7)
{
turn_left0;
}
else
{
turn_left1;
}
}
sub traceL() //左側の光センサを使ってライントレースを行...
{
if(SL<THRESHOLD-4)
{
turn_left1;
}
else if(SL<THRESHOLD)
{
turn_left0;
}
else if(SL<THRESHOLD+4)
{
go_forward;
}
else if(SL<THRESHOLD+7)
{
turn_right0;
}
else
{
turn_right1;
}
}
sub search_crossR(int MAXCross) //右側の光センサを使って...
{
nCross=0;
while(nCross<MAXCross)
{
until((SL<=THRESHOLD)&&(SR<=THRESHOLD))
{
traceR();
Wait(STEP);
}
nCross++;
PlaySound(SOUND_UP);
until((SL>THRESHOLD)&&(SR>THRESHOLD))
{
go_forward;
Wait(STEP);
}
}
}
sub search_crossL(int MAXCross) //同じく左側の光センサに...
{
nCross=0;
while(nCross<MAXCross)
{
until((SL<=THRESHOLD)&&(SR<=THRESHOLD))
{
traceL();
Wait(STEP);
}
nCross++;
PlaySound(SOUND_UP);
until((SL>THRESHOLD)&&(SR>THRESHOLD))
{
go_forward;
Wait(STEP);
}
}
}
***缶をつかむための動作 [#u9dc9d1d]
この部分はスレーブとの連携の部分で、最初はBluetoothでの...
どこで見つけたのか、缶を見つけた時と缶を持つためにアー...
sub catch() //持っている缶を新しい缶の上に載せ、掴み、ま...
{
angleB=GetAngle(RANGE4);
RotateMotor(BOTH,SPEED1,-angleB); //缶をホルダーの中に...
PlayTone(262,400); //ネット上で見つけたメロディー。特に...
Wait(500);
PlayTone(294,400);
Wait(500);
PlayTone(300,400);
Wait(500);
PlayTone(294,400);
Wait(500);
RemoteStartProgram(CONN,arm_down); //スレーブにアームを...
Wait(5000);
ReceiveRemoteNumber(MAILBOX1,true,msg);
if(msg==SIGNALON)
{
PlaySound(SOUND_CLICK);
}
else
{
PlaySound(SOUND_FAST_UP);
}
angleA=GetAngle(RANGE2);
RotateMotor(BOTH,SPEED2,angleA); //アームの伸びに合わせ...
RemoteStartProgram(CONN,arm_up); //スレーブに缶を掴ませる
PlayTone(DO,120);Wait(150); //達成感のあるメロディー。...
PlayTone(MI,120);Wait(150);
PlayTone(SO,120);Wait(150);
PlayTone(DO*2,240);Wait(300);
PlayTone(SO,120);Wait(150);
PlayTone(DO*2,360);Wait(450);
Wait(10000);
if(msg==SIGNALON)
{
PlaySound(SOUND_CLICK);
}
else
{
PlaySound(SOUND_FAST_UP);
}
RotateMotor(BOTH,SPEED2,-angleA+angleB); //つかむ動作の...
}
sub build() //ゴールで缶を載せるだけのプログラム。最後ま...
{
PlayTone(262,400);
Wait(500);
PlayTone(294,400);
Wait(500);
PlayTone(524,400);
Wait(500);
PlayTone(294,400);
Wait(500);
RemoteStartProgram(CONN,arm_down);
Wait(10000);
go_back;
Wait(2000);
Off(BOTH);
nFase++;
}
***メイン [#e0d70ca9]
task main() //スタートからゴールまでの一連の流れを記述し...
{
SetSensorLight(S1);
SetSensorLight(S2);
SetSensorLowspeed(S3);
nFase=0; //第0段階開始(ラインに乗るまで)
msg=SIGNALOFF;
until(BluetoothStatus(CONN)==NO_ERR);
find_line();
start_traceR();
nFase++; //第一段階開始 (一つ目の缶をつかむまで)
while(SS>RANGE1)
{
traceR();
Wait(STEP);
}
Off(BOTH);
catch();
nFase++; //第二段階開始(2つ目の缶をつかむまで)
while(nFase<3)
{
until(SS<RANGE3) //缶を感知するまで回転し続ける
{
u_turnRCW;
Wait(STEP);
}
while(SS>RANGE1) //感知したらホルダーに格納されるまで...
{
go_forward;
Wait(STEP);
}
Off(BOTH);
catch();
nFase++;
}
while(nFase<4) //第三段階開始(3つ目の缶を格納するまで)
{
until(SS<RANGE3+3)
{
u_turnRCW;
Wait(STEP);
}
u_turnCW;
Wait(200);
Off(BOTH);
while(SS>RANGE1)
{
go_forward;
Wait(STEP);
}
Off(BOTH); //3つ目の缶は掴まず、ホルダーで抱えたままゴ...
nFase++; //第四段階開始(缶をゴールに運び、塔を建てる...
}
until((SR<THRESHOLD)||(SL<THRESHOLD)) //反転し、ライン...
{
u_turnRCW;
}
find_line();
start_traceL();
search_crossL(2); //2つ目の交差点を過ぎたところで停止、...
Off(BOTH);
build();
go_back;Wait(3000);
u_turnRCW;Wait(BUILD_RAG);
}
**スレーブ [#x4209159]
スレーブの方は、アームを下げて、開閉するプログラムだけ...
***アームを開く [#q44ba034]
#define SIGNALON 11
#define SIGNALOFF 12
#define CONN 0
task main()
{
until(BluetoothStatus(CONN)==NO_ERR);
RotateMotor(OUT_A,20,-48);
Wait(1000);
PlaySound(SOUND_FAST_UP);
Wait(2000);
SendResponseNumber(MAILBOX1,SIGNALON);
}
***アームを降ろしてからの動作 [#wa53149a]
#define SIGNALON 11
#define SIGNALOFF 12
#define CONN 0
task main()
{
until(BluetoothStatus(CONN)==NO_ERR);
RotateMotorEx(OUT_BC,15,450,0,true,true);
Wait(1000);
RotateMotor(OUT_A,30,48);
Wait(1000);
PlaySound(SOUND_FAST_UP);
Wait(1000);
RotateMotorEx(OUT_BC,40,-450,0,true,true);
Wait(1000);
SendResponseNumber(MAILBOX1,SIGNALON);
}
*反省・感想 [#y7ef0387]
最初はロボットの構想が全く思い浮かばず、なんとなく組み...
構想ができ、同じ仕組みのアームを持ったロボットを何度も...
ちなみに私はアームの製作担当だったのだが、軽量化ができ...
ボディは渡邉がとっくに大体を完成させていた。
私は、案をだし、調節することが主になってしまった。が、...
やはり、与えられた仕事を時間に余裕をもってしっかりこな...
ロボコンでは審判と結果発表楽しかったです!!
終了行:
#contents
*メンバー [#e87b9b8a]
Tomo, Yuki, Naoki, Naoyoshi
*課題 [#q24698c4]
2台のロボットで空き缶を収集し、ゴールに空き缶になるべく高...
&ref(root.png);
フィールドの説明
◦フィールドは課題1で使用した紙を2枚つなぎ合わせる
◦図のように空き缶を配置する(黄色)
*作戦 [#w5b9f4be]
?nxtを2つとも1台に搭載
?缶は3つ積むことが目標
?持ち上げた缶をほかの缶の上において、さらに持ち上げる。...
?光センサー2つで交差点を認識
?缶は音波センサーで感知
?ギア比を利用した高パワー
*ロボット [#tf61ac21]
我々のロボットは最初は2つのロボットで、積むためのロボッ...
そこで、どう積むかを考えたんだが、最初に思い浮かんだの...
なので、中学生のロボコンの映像を見て、今回の機構にした。
**ボディ [#s1b7a2fd]
&ref(0.jpg);&ref(8.jpg);
前にアームの重みがあるためnxtを後ろの方においてバランスを...
L字に取り付けたらメリットが盛りだくさん!!それを紹介し...
?ボディのバランスがよくなった。
?nxtでボディを覆うように固定できたため、ロボットが頑丈に...
?モーターなどとnxtをつなぐときに、接続部分がすべてむき出...
?かっこいい!!
これくらいだろうか。デメリットは...思いつかない。主観的だ...
そうこうしてみると、さすがにnxtを2つ搭載しているだけの...
ロボコンのリハーサルで右のタイヤの回転が悪く不安定だっ...
**アーム [#z33d7489]
アームには様々な工夫が施されている。
?缶の底を支えることができるように作られている。
&ref(3.jpg);
?アーム自体の大きさは缶を3つまでは缶のサイズジャスト持て...
&ref(2.jpg);
?アームの底の高さは缶の高さよりも少し高いくらいにして、缶...
缶の周りピッタリにアームの枠を組み、缶の底も支えること...
?ボディとアームをつなぐのは写真の四角の部分の機構である。...
それによって缶が積めるのだ。
&ref(1.jpg);
だが、缶を持つと、アーム自体の重みと缶の重みで段々前の...
?黄色の輪ゴムで軽く支えることで水平に保った。
&ref(11.JPG);
アームのすべての機構を含めると結構な重さになるので、モー...
?ギアを噛ませてトルクを増大させ、この問題を解消した。
&ref(6.jpg);
**音波センサー [#o81c4458]
&ref(12.JPG);
缶が円柱型になっているので音波センサーを横向きでつけると...
本来はセンサーが回転してソナーのようにしたかったが、夢だ...
**光センサー [#jd90e045]
&ref(5.jpg);
2つ光センサーをつけ、コースのラインをセンサーで挟むことで...
2つのセンサーがともに『黒』の認識だったら交差点だと判断で...
さらに光センサーを2つ付けたらロボットの幅が広がり、ずっし...
*プログラミング [#da142a73]
**定義群 [#nec0531c]
#define RIGHT OUT_B
#define LEFT OUT_C
#define BOTH OUT_BC
#define SPEED1 35
#define SPEED2 SPEED1*2
#define OnRL(speedR,speedL) OnRev(RIGHT,speedR);OnRev(LE...
#define go_forward OnRevSync(BOTH,SPEED2,0); //左右のタ...
#define go_back OnFwdSync(BOTH,SPEED2,0); //後退
#define turn_left1 OnFwdSync(BOTH,SPEED2,100); //時計回...
#define turn_left0 OnRL(SPEED2,0); //左折
#define turn_right0 OnRL(0,SPEED2); //右折
#define turn_right1 OnFwdSync(BOTH,SPEED2,-100); //半時...
#define u_turnCW OnRL(-SPEED1,SPEED1); //時計回りに旋回...
#define u_turnRCW OnRL(SPEED1,-SPEED1); //半時計回りに旋回
#define THRESHOLD 45
#define RANGE1 7 //ライントレース中に缶をつかむ動作に移...
#define RANGE2 19.8 //アームを伸ばした時の缶までの距離
#define RANGE3 23 //回転しながら
#define RANGE4 5 //前方に感知した缶をバンパーのホルダー...
#define STEP 1
#define SR SENSOR_2
#define SL SENSOR_1
#define SS SensorUS(S3)
#define CONN 1
#define arm_down "arm1.rxe" //アームを開き、つかむ準備を...
#define arm_up "arm2.rxe" //アームの降下→握り→上昇の一連...
#define BUILD_RAG 1000 //ゴールの交差点に止まったあと、...
#define DO 523 //音程C、E、Gを指定。hiCはCの二倍で対応
#define MI 659
#define SO 784
#define SIGNALON 11 //Mail受信用
#define SIGNALOFF 12
#define LATIO 3 //走行駆動系のギア比(24:8)。距離の算...
int nFase,angleA,angleB,msg,nCross;
float GetAngle(float r) //引数r[cm]だけ進むのに必要な...
{
const float diameter=5.45;
const float pi=3.1415;
float ang=r/(diameter*pi)*360.0*LATIO;
return ang;
}
**マスター [#q174e056]
***ライントレース [#l69cb404]
黒い線を見つけてそこからライントレースに移るようになっ...
sub find_line() //黒線を見つけるまで前進し、左右両方のセ...
{
until((SL<=THRESHOLD)&&(SR<=THRESHOLD))
{
if((SL>THRESHOLD)&&(SR>THRESHOLD))
{
go_forward;
}
else if((SL>THRESHOLD)&&(SR<=THRESHOLD))
{
turn_right0;
}
else
{
turn_left0;
}
Wait(STEP);
}
}
sub start_traceR() //左右の光センサが先に乗った状態から...
{
until(SL>THRESHOLD)
{
turn_right0;
}
PlaySound(SOUND_CLICK);
Off(BOTH);
}
sub start_traceL() //左右の光センサが先に乗った状態から...
{
until(SR>THRESHOLD)
{
turn_left0;
}
PlaySound(SOUND_CLICK);
Off(BOTH);
}
sub traceR() //右側の光センサを使ってライントレースを行...
{
if(SR<THRESHOLD-4)
{
turn_right1;
}
else if(SR<THRESHOLD)
{
turn_right0;
}
else if(SR<THRESHOLD+4)
{
go_forward;
}
else if(SR<THRESHOLD+7)
{
turn_left0;
}
else
{
turn_left1;
}
}
sub traceL() //左側の光センサを使ってライントレースを行...
{
if(SL<THRESHOLD-4)
{
turn_left1;
}
else if(SL<THRESHOLD)
{
turn_left0;
}
else if(SL<THRESHOLD+4)
{
go_forward;
}
else if(SL<THRESHOLD+7)
{
turn_right0;
}
else
{
turn_right1;
}
}
sub search_crossR(int MAXCross) //右側の光センサを使って...
{
nCross=0;
while(nCross<MAXCross)
{
until((SL<=THRESHOLD)&&(SR<=THRESHOLD))
{
traceR();
Wait(STEP);
}
nCross++;
PlaySound(SOUND_UP);
until((SL>THRESHOLD)&&(SR>THRESHOLD))
{
go_forward;
Wait(STEP);
}
}
}
sub search_crossL(int MAXCross) //同じく左側の光センサに...
{
nCross=0;
while(nCross<MAXCross)
{
until((SL<=THRESHOLD)&&(SR<=THRESHOLD))
{
traceL();
Wait(STEP);
}
nCross++;
PlaySound(SOUND_UP);
until((SL>THRESHOLD)&&(SR>THRESHOLD))
{
go_forward;
Wait(STEP);
}
}
}
***缶をつかむための動作 [#u9dc9d1d]
この部分はスレーブとの連携の部分で、最初はBluetoothでの...
どこで見つけたのか、缶を見つけた時と缶を持つためにアー...
sub catch() //持っている缶を新しい缶の上に載せ、掴み、ま...
{
angleB=GetAngle(RANGE4);
RotateMotor(BOTH,SPEED1,-angleB); //缶をホルダーの中に...
PlayTone(262,400); //ネット上で見つけたメロディー。特に...
Wait(500);
PlayTone(294,400);
Wait(500);
PlayTone(300,400);
Wait(500);
PlayTone(294,400);
Wait(500);
RemoteStartProgram(CONN,arm_down); //スレーブにアームを...
Wait(5000);
ReceiveRemoteNumber(MAILBOX1,true,msg);
if(msg==SIGNALON)
{
PlaySound(SOUND_CLICK);
}
else
{
PlaySound(SOUND_FAST_UP);
}
angleA=GetAngle(RANGE2);
RotateMotor(BOTH,SPEED2,angleA); //アームの伸びに合わせ...
RemoteStartProgram(CONN,arm_up); //スレーブに缶を掴ませる
PlayTone(DO,120);Wait(150); //達成感のあるメロディー。...
PlayTone(MI,120);Wait(150);
PlayTone(SO,120);Wait(150);
PlayTone(DO*2,240);Wait(300);
PlayTone(SO,120);Wait(150);
PlayTone(DO*2,360);Wait(450);
Wait(10000);
if(msg==SIGNALON)
{
PlaySound(SOUND_CLICK);
}
else
{
PlaySound(SOUND_FAST_UP);
}
RotateMotor(BOTH,SPEED2,-angleA+angleB); //つかむ動作の...
}
sub build() //ゴールで缶を載せるだけのプログラム。最後ま...
{
PlayTone(262,400);
Wait(500);
PlayTone(294,400);
Wait(500);
PlayTone(524,400);
Wait(500);
PlayTone(294,400);
Wait(500);
RemoteStartProgram(CONN,arm_down);
Wait(10000);
go_back;
Wait(2000);
Off(BOTH);
nFase++;
}
***メイン [#e0d70ca9]
task main() //スタートからゴールまでの一連の流れを記述し...
{
SetSensorLight(S1);
SetSensorLight(S2);
SetSensorLowspeed(S3);
nFase=0; //第0段階開始(ラインに乗るまで)
msg=SIGNALOFF;
until(BluetoothStatus(CONN)==NO_ERR);
find_line();
start_traceR();
nFase++; //第一段階開始 (一つ目の缶をつかむまで)
while(SS>RANGE1)
{
traceR();
Wait(STEP);
}
Off(BOTH);
catch();
nFase++; //第二段階開始(2つ目の缶をつかむまで)
while(nFase<3)
{
until(SS<RANGE3) //缶を感知するまで回転し続ける
{
u_turnRCW;
Wait(STEP);
}
while(SS>RANGE1) //感知したらホルダーに格納されるまで...
{
go_forward;
Wait(STEP);
}
Off(BOTH);
catch();
nFase++;
}
while(nFase<4) //第三段階開始(3つ目の缶を格納するまで)
{
until(SS<RANGE3+3)
{
u_turnRCW;
Wait(STEP);
}
u_turnCW;
Wait(200);
Off(BOTH);
while(SS>RANGE1)
{
go_forward;
Wait(STEP);
}
Off(BOTH); //3つ目の缶は掴まず、ホルダーで抱えたままゴ...
nFase++; //第四段階開始(缶をゴールに運び、塔を建てる...
}
until((SR<THRESHOLD)||(SL<THRESHOLD)) //反転し、ライン...
{
u_turnRCW;
}
find_line();
start_traceL();
search_crossL(2); //2つ目の交差点を過ぎたところで停止、...
Off(BOTH);
build();
go_back;Wait(3000);
u_turnRCW;Wait(BUILD_RAG);
}
**スレーブ [#x4209159]
スレーブの方は、アームを下げて、開閉するプログラムだけ...
***アームを開く [#q44ba034]
#define SIGNALON 11
#define SIGNALOFF 12
#define CONN 0
task main()
{
until(BluetoothStatus(CONN)==NO_ERR);
RotateMotor(OUT_A,20,-48);
Wait(1000);
PlaySound(SOUND_FAST_UP);
Wait(2000);
SendResponseNumber(MAILBOX1,SIGNALON);
}
***アームを降ろしてからの動作 [#wa53149a]
#define SIGNALON 11
#define SIGNALOFF 12
#define CONN 0
task main()
{
until(BluetoothStatus(CONN)==NO_ERR);
RotateMotorEx(OUT_BC,15,450,0,true,true);
Wait(1000);
RotateMotor(OUT_A,30,48);
Wait(1000);
PlaySound(SOUND_FAST_UP);
Wait(1000);
RotateMotorEx(OUT_BC,40,-450,0,true,true);
Wait(1000);
SendResponseNumber(MAILBOX1,SIGNALON);
}
*反省・感想 [#y7ef0387]
最初はロボットの構想が全く思い浮かばず、なんとなく組み...
構想ができ、同じ仕組みのアームを持ったロボットを何度も...
ちなみに私はアームの製作担当だったのだが、軽量化ができ...
ボディは渡邉がとっくに大体を完成させていた。
私は、案をだし、調節することが主になってしまった。が、...
やはり、与えられた仕事を時間に余裕をもってしっかりこな...
ロボコンでは審判と結果発表楽しかったです!!
ページ名: