2016a/Member/CharlieBrown/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2016a/Member]]
目次
#contents
*課題 [#l274bcd8]
http://yakushi.shinshu-u.ac.jp/robotics/?plugin=attach&re...
図のA,B地点からスタートしC,D地点にある紙コップを円の中に...
評価するポイントは紙コップを運び入れるまでのは速さ、円の...
詳細は[[こちら:http://yakushi.shinshu-u.ac.jp/robotics/?2...
*ロボットの説明 [#ta36f524]
紙コップを円まで運ぶために紙コップをひっかけるためのアー...
円まで紙コップを運んだところでアームを180°回転させ紙コッ...
*戦略 [#q28d933b]
ロボット前方のアームで紙コップをひっかけ、その状態で円ま...
*プログラムの説明 [#y7aae23b]
**基本となる定義 [#eb124638]
#define TURN_TIME 5
#define BLACK 42
#define WHITE 50
#define RIGHT_H OnFwd(OUT_A); OnRev(OUT_C); Wait(TURN_TI...
#define RIGHT_L OnFwd(OUT_A); Off(OUT_C); Wait(TURN_TIME...
#define LEFT_H OnFwd(OUT_C); OnRev(OUT_A); Wait(TURN_TIM...
#define LEFT_L OnFwd(OUT_C); Off(OUT_A); Wait(TURN_TIME)...
#define GO_FORWARD(t) OnFwd(OUT_AC); Wait(t); Off(OUT_AC);
#define STEP 1
#define ARM OnFwd(OUT_B);Wait(TURN_TIME);//アーム回転
**サブルーチン [#p4661624]
黒い線上をたどるプログラムになっており、交差点で一時停止...
交差点の判断にはタイマーで、黒が0.35秒以上続いたときに判...
線上をたどるうえで、線の右側をたどるようになっている。黒...
sub LINE()
{
ClearTimer(0);
while(FastTimer(0) < 35) {
if (SENSOR_2 < BLACK) {
RIGHT_L;
} else
if (SENSOR_2 < BLACK+2){
RIGHT_H;
}
else if (SENSOR_2 > WHITE-2) {
LEFT_L;
ClearTimer(0);
} else if (SENSOR_2 >= WHITE) {
LEFT_H;
ClearTimer(0);
} else {
GO_FORWARD(50);
ClearTimer(0);
}
Wait(STEP);
}
Off(OUT_AC);
ClearTimer(0);
PlaySound(SOUND_UP);
Wait(100);
}
以下二つのサブルーチンは、交差点で傾いた機体を正しい向き...
sub CROSS_RIGHT()
{
while(FastTimer(0) < 100) {
RIGHT_L;
}
ClearTimer(0);
}
sub CROSS_LEFT()
{
while(FastTimer(0) < 160) {
LEFT_L;
}
ClearTimer(0);
}
下のサブルーチンは半円のような急な曲がり角を曲がるための...
sub WHOLE()
{
while(FastTimer(0) < 36) {
if(SENSOR_2 < BLACK+2){
RIGHT_L;
} else
if (SENSOR_2 > WHITE-2){
LEFT_L;
ClearTimer(0);
} else if (SENSOR_2 >= WHITE) {
LEFT_H;
ClearTimer(0);
} else {
GO_FORWARD(50);
ClearTimer(0);
}
Wait(STEP);
}
Off(OUT_AC);
ClearTimer(0);
}
**メインプログラム [#ad7f2dbb]
task main()
{
SetSensor(SENSOR_2, SENSOR_LIGHT);
GO_FORWARD(120);
LINE();
WHOLE();
LINE();
CROSS_LEFT();
LINE();
CROSS_LEFT();
GO_FORWARD(80);
LEFT_(50);
GO_FORWARD(90);
LINE();
CROSS_RIGHT();
LINE();
CROSS_RIGHT();
LINE();
ARM(45);
}
*反省 [#q73f6d22]
グループで集まる時間がとれず、納得のいくものにできなかっ...
*まとめ [#m4e4f2aa]
同じ班の中で役割分担がうまくできず、一部の人がほとんどの...
終了行:
[[2016a/Member]]
目次
#contents
*課題 [#l274bcd8]
http://yakushi.shinshu-u.ac.jp/robotics/?plugin=attach&re...
図のA,B地点からスタートしC,D地点にある紙コップを円の中に...
評価するポイントは紙コップを運び入れるまでのは速さ、円の...
詳細は[[こちら:http://yakushi.shinshu-u.ac.jp/robotics/?2...
*ロボットの説明 [#ta36f524]
紙コップを円まで運ぶために紙コップをひっかけるためのアー...
円まで紙コップを運んだところでアームを180°回転させ紙コッ...
*戦略 [#q28d933b]
ロボット前方のアームで紙コップをひっかけ、その状態で円ま...
*プログラムの説明 [#y7aae23b]
**基本となる定義 [#eb124638]
#define TURN_TIME 5
#define BLACK 42
#define WHITE 50
#define RIGHT_H OnFwd(OUT_A); OnRev(OUT_C); Wait(TURN_TI...
#define RIGHT_L OnFwd(OUT_A); Off(OUT_C); Wait(TURN_TIME...
#define LEFT_H OnFwd(OUT_C); OnRev(OUT_A); Wait(TURN_TIM...
#define LEFT_L OnFwd(OUT_C); Off(OUT_A); Wait(TURN_TIME)...
#define GO_FORWARD(t) OnFwd(OUT_AC); Wait(t); Off(OUT_AC);
#define STEP 1
#define ARM OnFwd(OUT_B);Wait(TURN_TIME);//アーム回転
**サブルーチン [#p4661624]
黒い線上をたどるプログラムになっており、交差点で一時停止...
交差点の判断にはタイマーで、黒が0.35秒以上続いたときに判...
線上をたどるうえで、線の右側をたどるようになっている。黒...
sub LINE()
{
ClearTimer(0);
while(FastTimer(0) < 35) {
if (SENSOR_2 < BLACK) {
RIGHT_L;
} else
if (SENSOR_2 < BLACK+2){
RIGHT_H;
}
else if (SENSOR_2 > WHITE-2) {
LEFT_L;
ClearTimer(0);
} else if (SENSOR_2 >= WHITE) {
LEFT_H;
ClearTimer(0);
} else {
GO_FORWARD(50);
ClearTimer(0);
}
Wait(STEP);
}
Off(OUT_AC);
ClearTimer(0);
PlaySound(SOUND_UP);
Wait(100);
}
以下二つのサブルーチンは、交差点で傾いた機体を正しい向き...
sub CROSS_RIGHT()
{
while(FastTimer(0) < 100) {
RIGHT_L;
}
ClearTimer(0);
}
sub CROSS_LEFT()
{
while(FastTimer(0) < 160) {
LEFT_L;
}
ClearTimer(0);
}
下のサブルーチンは半円のような急な曲がり角を曲がるための...
sub WHOLE()
{
while(FastTimer(0) < 36) {
if(SENSOR_2 < BLACK+2){
RIGHT_L;
} else
if (SENSOR_2 > WHITE-2){
LEFT_L;
ClearTimer(0);
} else if (SENSOR_2 >= WHITE) {
LEFT_H;
ClearTimer(0);
} else {
GO_FORWARD(50);
ClearTimer(0);
}
Wait(STEP);
}
Off(OUT_AC);
ClearTimer(0);
}
**メインプログラム [#ad7f2dbb]
task main()
{
SetSensor(SENSOR_2, SENSOR_LIGHT);
GO_FORWARD(120);
LINE();
WHOLE();
LINE();
CROSS_LEFT();
LINE();
CROSS_LEFT();
GO_FORWARD(80);
LEFT_(50);
GO_FORWARD(90);
LINE();
CROSS_RIGHT();
LINE();
CROSS_RIGHT();
LINE();
ARM(45);
}
*反省 [#q73f6d22]
グループで集まる時間がとれず、納得のいくものにできなかっ...
*まとめ [#m4e4f2aa]
同じ班の中で役割分担がうまくできず、一部の人がほとんどの...
ページ名: