2016a/Member/bambi/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2016a/Member]]
*今回の課題について [#n517a873]
ロボティクス入門ゼミ3つ目の課題は、紙コップを運び、重ねる...
*作成したロボットについて [#x30c4f9f]
#ref(s_IMG_1390.JPG)
#ref(s_IMG_1395.JPG)
これが今回作成したロボットです。光センサー、超音波センサ...
紙コップの運び方について説明します。
#ref(s_IMG_1391.JPG)
まず、超音波センサーで紙コップとの距離を測りながら近づき...
#ref(s_IMG_1392.JPG)
次に、アームを下げ、
#ref(s_IMG_1394.JPG)
アームについているタイヤを回して紙コップを引き上げます。
#ref(s_IMG_1393.JPG)
アームを上げます。
持ち上げた紙コップを他の紙コップの上に下ろし、重ねたもの...
*結果 [#q17b6016]
ここで今回の課題の結果を書き、なぜその結果に至ったのか説...
**1、ロボットの幅が大きいこと [#f21553e9]
この班ではマスター側とスレーブ側の2つを使って1つのロボッ...
**2、車体が重いこと [#m313671f]
課題1,2のロボットに比べて、今回のロボットは圧倒的に重い...
*プログラムについて [#y73b21c3]
ライントレースができないと気付いた時には、ロボットを作り...
**マスター側 [#w759db9b]
Bをスタート地点とし、Cまで直進、紙コップを持ち、ゴール...
#define SPEED 50 //スピード50
#define go_forward OnFwd(OUT_BC,SPEED); //前進
#define CONN 1 //スレーブ...
#define SIGNALON 21 //腕を動か...
#define SIGNALOFF 22 //腕を動か...
#define SIGNALON2 31
#define SIGNALOFF2 32
#define turn_leftC OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED...
#define turn_rightC OnFwd(OUT_C,SPEED);OnRev(OUT_B,SPEED...
task main()
{
int msg ...
SetSensorLowspeed(S1); ...
go_forward; ...
until(SensorUS(S1) <= 9); ...
Off(OUT_BC);
SendRemoteNumber(CONN,MAILBOX1,SIGNALON ); ...
while (true){
ReceiveRemoteNumber(MAILBOX2,true,msg); ...
if (msg == SIGNALOFF ){ ...
turn_leftC;
Wait(1600);
Off(OUT_BC);
go_forward; ...
Wait(1000);
Off(OUT_BC);
SendRemoteNumber(CONN,MAILBOX1,SI...
if (msg == SIGNALOFF2 ){ ...
turn_leftC;
Wait(1000);
Off(OUT_BC);
}else { ...
Off(OUT_BC);
}
}
}
**スレーブ側 [#gac3a247]
#define SIGNALON 21 ...
#define SIGNALOFF 22 ...
#define LIFT_up OnRev(OUT_C,35);Wait(520);Off(OUT_BC); ...
#define LIFT_down OnFwd(OUT_C,20);Wait(550);Off(OUT_BC);...
#define CATCH OnFwd(OUT_B,60);Wait(2000);Off(OUT_B); ...
#define RELEASE OnFwd(OUT_B,50);Wait(1500);Off(OUT_B); ...
#define CONN 0 ...
#define SIGNALON2 31
#define SIGNALOFF2 32
void ude() //サブルーチン
{
LIFT_down;
CATCH;
LIFT_up;
CATCH;
Off(OUT_B);
}
task main ()
{
int msg;
while (true)
{
ReceiveRemoteNumber(MAILBOX1,true,msg); //ms...
if (msg == SIGNALON)
{ //信号を受け取った...
ude();
SendResponseNumber(MAILBOX2,SIGNALOFF); ...
}
if (msg == SIGNALON2)
{ //信号を受け取ったら紙...
RELEASE;
SendResponseNumber(MAILBOX2,SIGNALOFF2); ...
}
else { //...
Off(OUT_BC);
}
}
}
*感想 [#pa5a5cd8]
今回の課題はこれまでの課題より圧倒的に難しく感じました。...
課題2のレポートもできるだけ直しておくので、もし時間に余裕...
終了行:
[[2016a/Member]]
*今回の課題について [#n517a873]
ロボティクス入門ゼミ3つ目の課題は、紙コップを運び、重ねる...
*作成したロボットについて [#x30c4f9f]
#ref(s_IMG_1390.JPG)
#ref(s_IMG_1395.JPG)
これが今回作成したロボットです。光センサー、超音波センサ...
紙コップの運び方について説明します。
#ref(s_IMG_1391.JPG)
まず、超音波センサーで紙コップとの距離を測りながら近づき...
#ref(s_IMG_1392.JPG)
次に、アームを下げ、
#ref(s_IMG_1394.JPG)
アームについているタイヤを回して紙コップを引き上げます。
#ref(s_IMG_1393.JPG)
アームを上げます。
持ち上げた紙コップを他の紙コップの上に下ろし、重ねたもの...
*結果 [#q17b6016]
ここで今回の課題の結果を書き、なぜその結果に至ったのか説...
**1、ロボットの幅が大きいこと [#f21553e9]
この班ではマスター側とスレーブ側の2つを使って1つのロボッ...
**2、車体が重いこと [#m313671f]
課題1,2のロボットに比べて、今回のロボットは圧倒的に重い...
*プログラムについて [#y73b21c3]
ライントレースができないと気付いた時には、ロボットを作り...
**マスター側 [#w759db9b]
Bをスタート地点とし、Cまで直進、紙コップを持ち、ゴール...
#define SPEED 50 //スピード50
#define go_forward OnFwd(OUT_BC,SPEED); //前進
#define CONN 1 //スレーブ...
#define SIGNALON 21 //腕を動か...
#define SIGNALOFF 22 //腕を動か...
#define SIGNALON2 31
#define SIGNALOFF2 32
#define turn_leftC OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED...
#define turn_rightC OnFwd(OUT_C,SPEED);OnRev(OUT_B,SPEED...
task main()
{
int msg ...
SetSensorLowspeed(S1); ...
go_forward; ...
until(SensorUS(S1) <= 9); ...
Off(OUT_BC);
SendRemoteNumber(CONN,MAILBOX1,SIGNALON ); ...
while (true){
ReceiveRemoteNumber(MAILBOX2,true,msg); ...
if (msg == SIGNALOFF ){ ...
turn_leftC;
Wait(1600);
Off(OUT_BC);
go_forward; ...
Wait(1000);
Off(OUT_BC);
SendRemoteNumber(CONN,MAILBOX1,SI...
if (msg == SIGNALOFF2 ){ ...
turn_leftC;
Wait(1000);
Off(OUT_BC);
}else { ...
Off(OUT_BC);
}
}
}
**スレーブ側 [#gac3a247]
#define SIGNALON 21 ...
#define SIGNALOFF 22 ...
#define LIFT_up OnRev(OUT_C,35);Wait(520);Off(OUT_BC); ...
#define LIFT_down OnFwd(OUT_C,20);Wait(550);Off(OUT_BC);...
#define CATCH OnFwd(OUT_B,60);Wait(2000);Off(OUT_B); ...
#define RELEASE OnFwd(OUT_B,50);Wait(1500);Off(OUT_B); ...
#define CONN 0 ...
#define SIGNALON2 31
#define SIGNALOFF2 32
void ude() //サブルーチン
{
LIFT_down;
CATCH;
LIFT_up;
CATCH;
Off(OUT_B);
}
task main ()
{
int msg;
while (true)
{
ReceiveRemoteNumber(MAILBOX1,true,msg); //ms...
if (msg == SIGNALON)
{ //信号を受け取った...
ude();
SendResponseNumber(MAILBOX2,SIGNALOFF); ...
}
if (msg == SIGNALON2)
{ //信号を受け取ったら紙...
RELEASE;
SendResponseNumber(MAILBOX2,SIGNALOFF2); ...
}
else { //...
Off(OUT_BC);
}
}
}
*感想 [#pa5a5cd8]
今回の課題はこれまでの課題より圧倒的に難しく感じました。...
課題2のレポートもできるだけ直しておくので、もし時間に余裕...
ページ名: