2017b/Member/yan/Mission3
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
[[2017b/Member]]
#contents
*²ÝÂê [#v615d870]
¥Ô¥ó¥Ý¥ó¶Ì¡õ»æ¥³¥Ã¥×²ó¼ý¥í¥Ü¥Ã¥È
#ref(2017b/Member/yan/Mission3/1.png,22.0kb)
¥Ô¥ó¥Ý¥ó¶Ì¤È»æ¥³¥Ã¥×¤òÊÌ¡¹¤Ë²ó¼ý¤·¤Æ¥Ô¥ó¥Ý¥ó¶Ì¤ÏXÃÏÅÀ¡¢»æ¥³¥Ã¥×¤ÏYÃÏÅÀ¤Ë±¿¤Ö¡£¥ë¡¼¥ë¤ä¥Õ¥£¡¼¥ë¥É¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¤³¤Á¤é¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
http://yakushi.shinshu-u.ac.jp/robotics/?2017b%2FMission3
*¥ë¡¼¥ÈÀâÌÀ [#pf2c0ee0]
DÅÀ¤«¤é£ÃÅÀ¤Þ¤Çľ¿Ê¤·¤¿¸åº¸ÀÞ¤¹¤ë
CÅÀ¤«¤éFÅÀ¤Þ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¡£
£ÆÅÀ¤Ç¸òº¹ÅÀ¤òǧ¼±¤·¤¿¸åº¸ÀÞ¤¹¤ë
Ķ²»ÇÈ¥»¥ó¥µ¡¼¤¬ºîÆ°¤·¤Æ»æ¥³¥Ã¥×¤ò¸«¤Ä¤±¤ë¡£
¡ÈÖ¹æ¤Î»æ¥³¥Ã¥×¤ò¤Ä¤«¤à
£Ñ£Ó´Ö¤ÎÀþ¤òǧ¼±¤¹¤ë¤Þ¤Ç¸åÂà¡£
£ØÃÏÅÀ¤Þ¤Ç»æ¥³¥Ã¥×¤ò±¿¤Ö
»æ¥³¥Ã¥×¤ò¾å¤²¤Æ¥Ô¥ó¥Ý¥ó¶Ì¤òÏÈÆâ¤Ë¼ý¤á¤ë
¥í¥Ü¥Ã¥È¤ò¤Ë¢ÈÖ¹æ¤Î»æ¥³¥Ã¥×¤ÎÊý¸þ¤Ë¸þ¤±¤ë
¥»¥ó¥µ¡¼¤ò²¼¤í¤·¤¿¤¢¤È¡¢Ä¶²»ÇÈ¥»¥ó¥µ¡¼¤¬ºîÆ°¤·¤Æ¢ÈÖ¹æ¤Î»æ¥³¥Ã¥×¤ò¸«¤Ä¤±¤ë
¢ÈÖ¹æ¤Î»æ¥³¥Ã¥×¤ò¤Ä¤«¤à
£Ñ£Ó´Ö¤ÎÀþ¤òǧ¼±¤¹¤ë¤Þ¤Ç¸åÂà¡£
£ØÃÏÅÀ¤Þ¤Ç»æ¥³¥Ã¥×¤ò±¿¤Ö
£ÙÃÏÅÀ¤Ë»æ¥³¥Ã¥×¤òÃÖ¤¯¡¡
*¥í¥Ü¥Ã¥È¤ÎËÜÂÎÀâÌÀ [#r8f2fc51]
À©ºî¤·¤¿¥í¥Ü¥Ã¥È¤Ï°ìÂΤǡ¢¥³¥Ã¥×¤ò¸«¤Ä¤±¤ë¡¢¤Ä¤«¤à¡¢½Å¤Í¤ë¡¢¥Ô¥ó¥Ý¥ó¶Ì¤ò»ØÄê°ÌÃ֤ޤDZ¿¤ÖÆ°ºî¡¢¤¹¤Ù¤Æ¤ò°ìÂΤǤ³¤Ê¤»¤ë¤è¤¦¤Ê¥í¥Ü¥Ã¥È¤òÀ½ºî¤·¤¿¡£
#ref(2017b/Member/yan/Mission3/20.jpg,102.1kb)
*¥í¥Ü¥Ã¥Èµ¡¹½ [#t7366ffc]
¥³¥Ã¥×¤ò¼è¤ë¥¢¡¼¥à
²¼Êý¤ÎÏӤϥ³¥Ã¥×¤ò¸ÇÄꤷ¤Æ¡¢¾åÊý¤ÎÏÓ¤ò¥â¡¼¥¿¡¼¤ÇÆ°¤«¤¹¤³¤È¤Ç¥³¥Ã¥×¤ò¤Ä¤«¤à¤è¤¦¤Ë¤·¤¿¡£
#ref(2017b/Member/yan/Mission3/21.jpg,102.1kb)
Ķ²»ÇÈ¥»¥ó¥µ¡¼
¥³¥Ã¥×¤ò¸«¤Ä¤±¤ë¥»¥ó¥µ¡¼¤Ï¥í¥Ü¥Ã¥ÈÁ°ÌÌÃæ±û¡¢¤µ¤é¤Ë¥»¥ó¥µ¡¼¤ò½Ä¤Ë¤·¤Æ¤Ä¤«¤¦¤³¤È¤Ç¬Äꤷ¤¿»æ¥³¥Ã¥×¤Þ¤Ç¤Îµ÷Î¥¤ò¤è¤êÀµ³Î¤Ë¬¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¹©Éפ·¤¿¡£
#ref(2017b/Member/yan/Mission3/22.jpg,63.4kb)
¸÷¥»¥ó¥µ¡½
²¼¤Î²èÁü¤Î¤è¤¦¤Ë¥í¥Ü¥Ã¥È¤Îº¸±¦Î¾Êý¤Ë¸÷¥»¥ó¥µ¡¼¤ò¼è¤êÉÕ¤±¡¢¸÷¥»¥ó¥µ¡¼¤ò»È¤¤Ê¬¤±¤ë¤³¤È¤Ç»æ¤ËÉÁ¤«¤ì¤¿Àþ¤ÎÆɤ߼è¤êÊý¤¬Áý¤¨¤¿¡£¤½¤Î·ë²Ì¡¢Ê£»¨¤ÊÆ°¤¤ò¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿
#ref(2017b/Member/yan/Mission3/24.jpg,63.4kb)
*¿Æµ¡¤Î¥³¥ó¥È¥í¡¼¥ëÉôʬ [#z56efc0d]
¡¥í¥Ü¥Ã¥È¤Î°ÜÆ°
¢Ä¶²»ÇÈ¥»¥ó¥µ¡½¤ÎÆ°ºî
£¸÷¥»¥ó¥µ¡¼¤ÎÆ°ºî
*»Òµ¡¤Î¥³¥ó¥È¥í¡¼¥ëÉôʬ [#u9a306ee]
¡¥³¥Ã¥×¤ò¼è¤ë¥¢¡¼¥à
*¥³¥Ã¥×¤ò¥¥ã¥Ã¥Á¤¹¤ë½ç½ø [#f7bcd797]
¡Ä¶²»ÇÈ¥»¥ó¥µ¡¼¤Ç¥³¥Ã¥×¤òõ¤¹
¢¥³¥Ã¥×¤ò¸«¤Ä¤±¤¿¤é¡¢Ä¶²»ÇÈ¥»¥ó¥µ¡¼¤òµó¤²¤ë
£¥í¥Ü¥Ã¥È¤ÏÁ°¤Ë¿Ê¤ó¤Ç¥³¥Ã¥×¤ò¥¥ã¥Ã¥Á
¤£ø¤Î¤È¤³¤í¤Ë°ÜÆ°¤¹¤ë
¥¥¢¡¼¥à¤ò¥¢¥Ã¥×¤·¤Æ¥Ô¥ó¥Ý¥ó¶Ì¤ò²¼¤¹
¦Ä¶²»ÇÈ¥»¥ó¥µ¡¼¤ò²¼¤·¤Æ¡¢¼¡¤Î¥³¥Ã¥×¤òõ¤¹¤Ë¹Ô¤¯
*¥³¥Ã¥×¤ò½Å¤Í¤ëÆ°ºî [#tdae7dc0]
¥³¥Ã¥×¤ò¼è¤ë¥¢¡¼¥à¤ò²¼¤²¤Æ¡¢¸ÇÄꤷ¤¿¥³¥Ã¥×¤È½Å¤Í¤Æ¤«¤é¤¢¤²¤Þ¤¹
#ref(2017b/Member/yan/Mission3/19.jpg,235.7kb)
*¥×¥í¥°¥é¥ß¥ó¥°¤ÎÀâÌÀ [#ya19ac57]
²ÝÂꣳ¤Î¥×¥í¥°¥é¥ß¥ó¥°¤Ï£²µ¡¤ÎNXT´Ö¤ÇBluetouth¤ò²ð¤·¤ÆÄÌ¿®¤ò¹Ô¤¦¥×¥í¥°¥é¥à¤ò»ÈÍѤ·¤Æ¤ª¤ê¡¢Ä¶²»ÇÈ¥»¥ó¥µ¡¼¤òÍѤ¤¤Æ»æ¥³¥Ã¥×¤òǧ¼±¤·¤¿¸å¡¢¿Æµ¡¤«¤é¤Î¿®¹æ¤ò¼õ¿®¤·»Òµ¡¤Î»æ¥³¥Ã¥×¤ò¤Ä¤«¤à¥×¥í¥°¥é¥à¤¬µ¯Æ°¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡£
define¤Ç¼¡¤ÎÆâÍƤòÄêµÁ¤¹¤ë¡£
#define SPEED 100¡¡¡¡¡¡¡¡¡¡
#define SPEED_SLOW 60
#define turn_left1 OnFwd(OUT_A,80 * x); OnRev(OUT_C,35 * x);¡¡º¸¤Ë²ó¤ë
#define turn_left2 OnFwd(OUT_A,100 * x); OnFwd(OUT_C,40 * x);
#define turn_left3 OnFwd(OUT_A,80 * x); OnRev(OUT_C,90 * x);
#define turn_left5 OnFwd(OUT_A,80 * x); OnRev(OUT_C,1 * x);
#define go_forward OnFwd(OUT_A,80 * x); OnFwd(OUT_C,87 * x);
#define go_back OnRev(OUT_A,100 * x); OnRev(OUT_C,85 * x);
#define turn_right1 OnRev(OUT_A,35 * x); OnFwd(OUT_C,80 * x);
#define turn_right2 OnFwd(OUT_A,30 * x); OnFwd(OUT_C,100 * x);
#define turn_right3 OnRev(OUT_A,80 * x); OnFwd(OUT_C,80 * x);
#define AD SendRemoteNumber(1,MAILBOX1,01); //¥¢¡¼¥à¤òÊĤ¸¤ÆÄù¤á¤ë
#define AU SendRemoteNumber(1,MAILBOX1,02); //¥¢¡¼¥à¤ò¾å¤²¤ë
#define TD OnRev(OUT_B,45 * x); Wait(1000);
#define TU OnFwd(OUT_B,45 * x); Wait(1000);
#define CupOff SendRemoteNumber(1,MAILBOX1,03); //¥³¥Ã¥×¤òÎ¥¤¹
#define turn_right4 OnRev(OUT_A,80 * x); OnFwd(OUT_C,60 * x);
#define turn_right5 OnRev(OUT_A,80 * x); OnFwd(OUT_C,1 * x);
#define turn_right6 OnRev(OUT_A,1 * x); OnFwd(OUT_C,80 * x);
#define DO 523
#define x 0.65 //¤«¤±¿ô
#define z 1.0
¡ö¥µ¥Ö¥ë¡¼¥Á¥ó
º£²ó¤Ï¥µ¥Ö¥ë¡¼¥Á¥ó¤È¤·¤Æ¡Ö¥»¥ó¥µ¡¼£²¡Ê¸÷¥»¥ó¥µ¡¼¡Ë¤ò»ÈÍѤ·¤Æ¡Êº¸¡¦±¦¡Ë¤Ë±è¤Ã¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¤¡¢¼¡¤Î¸òº¹ÅÀ¤ËÅþÃ夷¤¿¤éÄä»ß¤·¤Æ²»¤òÌĤ餹¡×¡Ö¥»¥ó¥µ¡¼3¡Ê¸÷¥»¥ó¥µ¡¼¡Ë¤ò»ÈÍѤ·¤Æ¡¢º¸¤Ë±è¤Ã¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¤¡¢¼¡¤Î¸òº¹ÅÀ¤ËÅþÃ夷¤¿¤éÄä»ß¤·¤Æ²»¤òÌĤ餹¡×¤È¤¤¤¦3¤Ä¤Î¤â¤Î¤òºîÀ®¤·¤¿¡£
±¦¤Ë±è¤Ã¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó
sub IKK()¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¸÷¥»¥ó¥µ¡½
{
int BP = 0;
while (BP < 125){
if (SENSOR_2 < 45) {
turn_right1;
BP++;
}else{
if (SENSOR_2 < 49 ) {
turn_right2;
} else if (SENSOR_2 < 56 ) {
go_forward;
} else if (SENSOR_2 < 58) {
turn_left2;
} else {
turn_left1;
}
BP = 0;
}
Wait(1);
}
Off(OUT_AC);
PlayTone(DO,100); Wait(100);
Wait(10);
BP = 0;
}
º¸¤Ë±è¤Ã¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó
sub DKK()
{
int BP = 0;
while (BP < 170){
if (SENSOR_2 < 45) {
turn_left1;
BP++;
}else{
if (SENSOR_2 < 49 ) {
turn_left2;
} else if (SENSOR_2 < 54 ) {
go_forward;
} else if (SENSOR_2 < 55) {
turn_right3;
} else {
turn_right4;
}
BP = 0;
}
Wait(1);
}
Off(OUT_AC);
PlayTone(DO,100); Wait(100);
BP = 0;
}
±¦Â¦¤Î¸÷¥»¥ó¥µ¡¼¤ò»È¤¤º¸¤Ë±è¤Ã¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë
sub DKK2()
{
int BP = 0;
while (BP < 170){
if (SENSOR_3 < 45) {
turn_left1;
BP++;
}else{
if (SENSOR_3 < 49 ) {
turn_left2;
} else if (SENSOR_3 < 54 ) {
go_forward;
} else if (SENSOR_3 < 55) {
turn_right3;
} else {
turn_right4;
}
BP = 0;
}
Wait(1);
}
Off(OUT_AC);
PlayTone(DO,100); Wait(100);
BP = 0;
}
*´Ø¿ô [#d1c0f4fd]
¤½¤·¤Æº£²ó¤Ï¡¢»æ¥³¥Ã¥×¤òõ¤·Á°¿Ê¤¹¤ë¥×¥í¥°¥é¥ß¥ó¥°¤ò´Ø¿ô¤È¤·¤ÆÄêµÁ¤·¤¿¡£
const float diameter = 5.45; //¥¿¥¤¥äľ·Â
const float track = 10.35; //¥¿¥¤¥ä¥È¥ì¥Ã¥ÉÉý
const float pi = 3.1415; //±ß¼þΨ
void fwdDist(float d) //µ÷Î¥¡¡£ä£ã£íÁ°¿Ê
{
long angle = d/(diameter*pi)*360.0; //ɬÍפʥ¿¥¤¥ä¤Î²óž³ÑÅÙ
RotateMotorEx(OUT_AC, SPEED_SLOW, angle, 0, true ,true);
}
void turnAng(long ang) //³ÑÅÙangÅ٤λþ·×²ó¤ê¤ÎÀû²ó
{
long angle = track/diameter * ang;
RotateMotorEx(OUT_AC, SPEED_SLOW, angle, 100, true, true);
}
int searchDirection(long ang) //¸½ºß¤ÎÊý¸þ¤òÃæ¿´¤ËangÅÙ¤ÎÈϰϤÇõ¤·
//¾ã³²Êª¤Þ¤Ç¤Îµ÷Î¥¤òÊÖ¤¹
{
long tacho_min; //ºÇ¤â¶á¤¤µ÷Î¥¤ò¼Â¸½¤¹¤ë¥¿¥¤¥ä¤Î²óž¿ô
int d_min = 300; //ºÇ¤â¶á¤¤µ÷Î¥¤Î²¾¤ÎºÇ¾®Ã͡ʽ½Ê¬Â礤¯¤È¤Ã¤Æ¤ª¤¯¡Ë
long angle = (track/diameter)*ang; //Àû²ó³ÑÅÙ¤«¤é¥¿¥¤¥ä¤Î²óž¤ò·×»»
turnAng(ang/2); //»ØÄꤵ¤ì¤¿³ÑÅÙ¤ÎȾʬ¤òÀû²ó
ResetTachoCount(OUT_AC); //³ÑÅٷ׬¤ò¥ê¥»¥Ã¥È
OnFwdSync(OUT_AC,SPEED_SLOW,-100); //Ⱦ»þ·×²ó¤ê¤ËÀû²ó
while(MotorTachoCount(OUT_A)<=angle) {
if (SensorUS(S1)<d_min){ //¸½ºß¤Îµ÷Î¥¤¬¼Ú¤ê¤ÎºÇ¾®Ãͤè¤ê¾®¤µ¤¤¾ì¹ç
d_min = SensorUS(S1); //²¾¤ÎºÇ¾®Ãͤò¹¹¿·
tacho_min = MotorTachoCount(OUT_A); //¤³¤Î»þ¤Î¥¿¥¤¥ä¤Î²óž¿ô¤òµÏ¿
}
}
OnFwdSyncEx(OUT_AC,SPEED_SLOW,100,RESET_NONE);
until(MotorTachoCount(OUT_A)<=tacho_min || SensorUS(S1)<=d_min);
Wait(14); //ÈùÄ´À°
Off(OUT_AC);Wait(500);
return d_min;
}
task main()
{
SetSensorLowspeed(S1);
SetSensorLight(S2);
SetSensorLight(S3);
go_forward;
Wait(500); //¾¯¤·Á°¿Ê
turn_left3;
Wait(200);
while (SENSOR_2 > 45)
{
turn_left3;
}
turn_right1;
Wait(100);
IKK(); //F¤Þ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹
turn_left3;
Wait(1000); //º¸¸þ¤¯
int d = searchDirection(70);//¥³¥Ã¥×õ¤¹
if (d > 10){
fwdDist(d-10.0);//¥³¥Ã¥×¤Ë¶á¤Å¤¯
}
TU; //Ķ²»ÇÈ¥»¥ó¥µ¡¼¤ò¤¢¤²¤ë
go_forward;
Wait(2900);
AD; //¥³¥Ã¥×¤ò¼è¤ë
Off(OUT_AC);
Wait(3000);
go_back;
Wait(500);
turn_left3;
Wait(700);
while (SENSOR_2 > 45)
{
go_back;
}
go_back;
Wait(250);
Off(OUT_AC);
Wait(200);
while (SENSOR_2 > 45)
{
go_back;
}
go_back;
Wait(450);
Off(OUT_AC);
Wait(450);
while (SENSOR_2 > 45)
{
go_back;
}
go_back;
Wait(250);
Off(OUT_AC);
Wait(200);
turn_right5;
Wait(700);
while (SENSOR_3 > 45)
{
turn_right5;
}
DKK2(); //S¤òº¸ÀÞ
//Q¤ËÅþÃå
turn_right6;
Wait(1100);
while (SENSOR_2 > 45)
{
turn_right6;
}
turn_right3;
Wait(300);
Off(OUT_AC);
Wait(1000);
go_forward; //X¤ËÆþ¤ë
Wait(2500);
AU; //X¤Ç¥³¥Ã¥×¤ò¾å¤²¤ë
Off(OUT_AC);
Wait(3000);
go_back;
Wait(1200);
Off(OUT_AC);
Wait(2000);
while (SENSOR_2 > 45)
{
go_back;
}
go_back;
Wait(500);
while (SENOSR_2 > 45)
{
go_back;
}
Off(OUT_AC);
Wait(1000);
turn_right5;
Wait(500);
while (SENSOR_3 > 45)
{
turn_right5;
}
turn_right5;
Wait(600);
while (SENSOR_3 > 45)
{
turn_right5;
}
Off(OUT_AC);
Wait(1000);
go_forward;
Wait(1000);
while (SENSOR_2 > 45)
{
go_forward;
}
Off(OUT_AC);
Wait(1000);
while (SENSOR_3 > 45)
{
turn_left5;
}
turn_left5;
Wait(300);
go_forward;
Wait(500);
TD; //Ķ²»ÇȲ¼¤²¤ë
Off(OUT_AC);
Wait(2000);
d = searchDirection(120);//¥³¥Ã¥×õ¤¹
if (d > 10){
fwdDist(d-10.0);//¥³¥Ã¥×¤Ë¶á¤Å¤¯
}
TU; //Ķ²»ÇÈ¥»¥ó¥µ¡¼¤ò¤¢¤²¤ë
Off(OUT_AC);
Wait(1000);
go_forward;
Wait(1300);¡¡
Off(OUT_AC);
Wait(1000);
turn_left3;
Wait(1400);
Off(OUT_AC);
Wait(2000);
go_forward;
Wait(2300);
go_back;
Wait(100);
Off(OUT_AC);
Wait(500);
AD; //¥³¥Ã¥×¤ò¼è¤ë¡Ê½Å¤Í¤ë¡Ë
Off(OUT_AC);
Wait(3000);
go_back; //kaiki
Wait(1900);
turn_right3;
Wait(1400);
go_back;
Wait(1300);
while (SENSOR_2 > 45)
{
go_back;
}
turn_left5;
Wait(1200);
while (SENSOR_3 > 45)
{
turn_left5;
}
turn_right5;
Wait(300);
go_forward;
Wait(1000);
while (SENSOR_2 > 45)
{
go_forward; //X¤Þ¤Çľ¿Ê
}
AU; //X¤Ç¥³¥Ã¥×¤ò¾å¤²¤ë
turn_left3;
Wait(200);
go_back;
Wait(300);
CupOff;
while (SENSOR_2 > 45)
{
go_back;
} //¹õ¤¤Àþ¤Þ¤Ç¥Ð¥Ã¥¯¤¹¤ë
turn_right3;
Wait(1000); //±¦ÀÞ¤¹¤ë
go_forward;
Wait(1000); //¾¯¤·Ä¾¿Ê¤¹¤ë
d = searchDirection(120); //¥³¥Ã¥×õ¤¹
if (d > 10){
fwdDist(d-10.0);//¥³¥Ã¥×¤Ë¶á¤Å¤¯
}
TU; //Ķ²»ÇÈ¥»¥ó¥µ¡¼¤ò¤¢¤²¤ë
go_forward;
Wait(1000);
AD; //¥³¥Ã¥×¤ò¼è¤ë
go_back;
Wait(1000); //¥Ð¥Ã¥¯¤·¤Æ¥³¡¼¥¹¤Ë¤â¤É¤ë
DKK(); //B¤Þ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë
turn_left3; //º¸ÀÞ¤¹¤ë
Wait(1000);
DKK(); //P¤ËÅþÃå
turn_right3;
Wait(200);
go_forward;
Wait(1000); //X¤Ë¤Ï¤¤¤ë
AU; //¥³¥Ã¥×¤ò¾å¤²¤ë
go_back;
Wait(1000); //X¤«¤é½Ð¤ë
turn_left3; //º¸¤ò¸þ¤¯
Wait(1000);
DKK(); //P¤«¤éQ¤Þ¤Ç±ß¼þ¾å¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹
turn_left3;
Wait(1000);
DKK(); //S¤ËÅþÃå
turn_right3;
Wait(200);
go_forward; //Y¤ËÆþ¤ë
Wait(1000);
AD; //¥³¥Ã¥×¤òÃÖ¤¯
CupOff; //¥³¥Ã¥×Î¥¤¹
}
*¥×¥í¥°¥é¥ß¥ó¥°¤ÎÆâÍƤϥѡ¼¥È¥Ê¡¼¤¬½ñ¤¤¤¿ÆâÍƤò»²¹Í¤·¤Þ¤·¤¿
URL:http://yakushi.shinshu-u.ac.jp/robotics/?2017b%2FMember%2Fwaitu%2FMission3
*´¶ÁÛ [#j59fc1e0]
£±.¥í¥Ü¥Ã¥ÈÁ´ÂΤΰÂÄêÀ¤Ï¤È¤Æ¤â½ÅÍפǤ¢¤ë¡£2¡¥£±°Ì¥Á¡¼¥à¤Î¥í¥Ü¥Ã¥È¤Ï¤¹¤´¤¤¡£
½ªÎ»¹Ô:
[[2017b/Member]]
#contents
*²ÝÂê [#v615d870]
¥Ô¥ó¥Ý¥ó¶Ì¡õ»æ¥³¥Ã¥×²ó¼ý¥í¥Ü¥Ã¥È
#ref(2017b/Member/yan/Mission3/1.png,22.0kb)
¥Ô¥ó¥Ý¥ó¶Ì¤È»æ¥³¥Ã¥×¤òÊÌ¡¹¤Ë²ó¼ý¤·¤Æ¥Ô¥ó¥Ý¥ó¶Ì¤ÏXÃÏÅÀ¡¢»æ¥³¥Ã¥×¤ÏYÃÏÅÀ¤Ë±¿¤Ö¡£¥ë¡¼¥ë¤ä¥Õ¥£¡¼¥ë¥É¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¤³¤Á¤é¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
http://yakushi.shinshu-u.ac.jp/robotics/?2017b%2FMission3
*¥ë¡¼¥ÈÀâÌÀ [#pf2c0ee0]
DÅÀ¤«¤é£ÃÅÀ¤Þ¤Çľ¿Ê¤·¤¿¸åº¸ÀÞ¤¹¤ë
CÅÀ¤«¤éFÅÀ¤Þ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¡£
£ÆÅÀ¤Ç¸òº¹ÅÀ¤òǧ¼±¤·¤¿¸åº¸ÀÞ¤¹¤ë
Ķ²»ÇÈ¥»¥ó¥µ¡¼¤¬ºîÆ°¤·¤Æ»æ¥³¥Ã¥×¤ò¸«¤Ä¤±¤ë¡£
¡ÈÖ¹æ¤Î»æ¥³¥Ã¥×¤ò¤Ä¤«¤à
£Ñ£Ó´Ö¤ÎÀþ¤òǧ¼±¤¹¤ë¤Þ¤Ç¸åÂà¡£
£ØÃÏÅÀ¤Þ¤Ç»æ¥³¥Ã¥×¤ò±¿¤Ö
»æ¥³¥Ã¥×¤ò¾å¤²¤Æ¥Ô¥ó¥Ý¥ó¶Ì¤òÏÈÆâ¤Ë¼ý¤á¤ë
¥í¥Ü¥Ã¥È¤ò¤Ë¢ÈÖ¹æ¤Î»æ¥³¥Ã¥×¤ÎÊý¸þ¤Ë¸þ¤±¤ë
¥»¥ó¥µ¡¼¤ò²¼¤í¤·¤¿¤¢¤È¡¢Ä¶²»ÇÈ¥»¥ó¥µ¡¼¤¬ºîÆ°¤·¤Æ¢ÈÖ¹æ¤Î»æ¥³¥Ã¥×¤ò¸«¤Ä¤±¤ë
¢ÈÖ¹æ¤Î»æ¥³¥Ã¥×¤ò¤Ä¤«¤à
£Ñ£Ó´Ö¤ÎÀþ¤òǧ¼±¤¹¤ë¤Þ¤Ç¸åÂà¡£
£ØÃÏÅÀ¤Þ¤Ç»æ¥³¥Ã¥×¤ò±¿¤Ö
£ÙÃÏÅÀ¤Ë»æ¥³¥Ã¥×¤òÃÖ¤¯¡¡
*¥í¥Ü¥Ã¥È¤ÎËÜÂÎÀâÌÀ [#r8f2fc51]
À©ºî¤·¤¿¥í¥Ü¥Ã¥È¤Ï°ìÂΤǡ¢¥³¥Ã¥×¤ò¸«¤Ä¤±¤ë¡¢¤Ä¤«¤à¡¢½Å¤Í¤ë¡¢¥Ô¥ó¥Ý¥ó¶Ì¤ò»ØÄê°ÌÃ֤ޤDZ¿¤ÖÆ°ºî¡¢¤¹¤Ù¤Æ¤ò°ìÂΤǤ³¤Ê¤»¤ë¤è¤¦¤Ê¥í¥Ü¥Ã¥È¤òÀ½ºî¤·¤¿¡£
#ref(2017b/Member/yan/Mission3/20.jpg,102.1kb)
*¥í¥Ü¥Ã¥Èµ¡¹½ [#t7366ffc]
¥³¥Ã¥×¤ò¼è¤ë¥¢¡¼¥à
²¼Êý¤ÎÏӤϥ³¥Ã¥×¤ò¸ÇÄꤷ¤Æ¡¢¾åÊý¤ÎÏÓ¤ò¥â¡¼¥¿¡¼¤ÇÆ°¤«¤¹¤³¤È¤Ç¥³¥Ã¥×¤ò¤Ä¤«¤à¤è¤¦¤Ë¤·¤¿¡£
#ref(2017b/Member/yan/Mission3/21.jpg,102.1kb)
Ķ²»ÇÈ¥»¥ó¥µ¡¼
¥³¥Ã¥×¤ò¸«¤Ä¤±¤ë¥»¥ó¥µ¡¼¤Ï¥í¥Ü¥Ã¥ÈÁ°ÌÌÃæ±û¡¢¤µ¤é¤Ë¥»¥ó¥µ¡¼¤ò½Ä¤Ë¤·¤Æ¤Ä¤«¤¦¤³¤È¤Ç¬Äꤷ¤¿»æ¥³¥Ã¥×¤Þ¤Ç¤Îµ÷Î¥¤ò¤è¤êÀµ³Î¤Ë¬¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¹©Éפ·¤¿¡£
#ref(2017b/Member/yan/Mission3/22.jpg,63.4kb)
¸÷¥»¥ó¥µ¡½
²¼¤Î²èÁü¤Î¤è¤¦¤Ë¥í¥Ü¥Ã¥È¤Îº¸±¦Î¾Êý¤Ë¸÷¥»¥ó¥µ¡¼¤ò¼è¤êÉÕ¤±¡¢¸÷¥»¥ó¥µ¡¼¤ò»È¤¤Ê¬¤±¤ë¤³¤È¤Ç»æ¤ËÉÁ¤«¤ì¤¿Àþ¤ÎÆɤ߼è¤êÊý¤¬Áý¤¨¤¿¡£¤½¤Î·ë²Ì¡¢Ê£»¨¤ÊÆ°¤¤ò¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿
#ref(2017b/Member/yan/Mission3/24.jpg,63.4kb)
*¿Æµ¡¤Î¥³¥ó¥È¥í¡¼¥ëÉôʬ [#z56efc0d]
¡¥í¥Ü¥Ã¥È¤Î°ÜÆ°
¢Ä¶²»ÇÈ¥»¥ó¥µ¡½¤ÎÆ°ºî
£¸÷¥»¥ó¥µ¡¼¤ÎÆ°ºî
*»Òµ¡¤Î¥³¥ó¥È¥í¡¼¥ëÉôʬ [#u9a306ee]
¡¥³¥Ã¥×¤ò¼è¤ë¥¢¡¼¥à
*¥³¥Ã¥×¤ò¥¥ã¥Ã¥Á¤¹¤ë½ç½ø [#f7bcd797]
¡Ä¶²»ÇÈ¥»¥ó¥µ¡¼¤Ç¥³¥Ã¥×¤òõ¤¹
¢¥³¥Ã¥×¤ò¸«¤Ä¤±¤¿¤é¡¢Ä¶²»ÇÈ¥»¥ó¥µ¡¼¤òµó¤²¤ë
£¥í¥Ü¥Ã¥È¤ÏÁ°¤Ë¿Ê¤ó¤Ç¥³¥Ã¥×¤ò¥¥ã¥Ã¥Á
¤£ø¤Î¤È¤³¤í¤Ë°ÜÆ°¤¹¤ë
¥¥¢¡¼¥à¤ò¥¢¥Ã¥×¤·¤Æ¥Ô¥ó¥Ý¥ó¶Ì¤ò²¼¤¹
¦Ä¶²»ÇÈ¥»¥ó¥µ¡¼¤ò²¼¤·¤Æ¡¢¼¡¤Î¥³¥Ã¥×¤òõ¤¹¤Ë¹Ô¤¯
*¥³¥Ã¥×¤ò½Å¤Í¤ëÆ°ºî [#tdae7dc0]
¥³¥Ã¥×¤ò¼è¤ë¥¢¡¼¥à¤ò²¼¤²¤Æ¡¢¸ÇÄꤷ¤¿¥³¥Ã¥×¤È½Å¤Í¤Æ¤«¤é¤¢¤²¤Þ¤¹
#ref(2017b/Member/yan/Mission3/19.jpg,235.7kb)
*¥×¥í¥°¥é¥ß¥ó¥°¤ÎÀâÌÀ [#ya19ac57]
²ÝÂꣳ¤Î¥×¥í¥°¥é¥ß¥ó¥°¤Ï£²µ¡¤ÎNXT´Ö¤ÇBluetouth¤ò²ð¤·¤ÆÄÌ¿®¤ò¹Ô¤¦¥×¥í¥°¥é¥à¤ò»ÈÍѤ·¤Æ¤ª¤ê¡¢Ä¶²»ÇÈ¥»¥ó¥µ¡¼¤òÍѤ¤¤Æ»æ¥³¥Ã¥×¤òǧ¼±¤·¤¿¸å¡¢¿Æµ¡¤«¤é¤Î¿®¹æ¤ò¼õ¿®¤·»Òµ¡¤Î»æ¥³¥Ã¥×¤ò¤Ä¤«¤à¥×¥í¥°¥é¥à¤¬µ¯Æ°¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡£
define¤Ç¼¡¤ÎÆâÍƤòÄêµÁ¤¹¤ë¡£
#define SPEED 100¡¡¡¡¡¡¡¡¡¡
#define SPEED_SLOW 60
#define turn_left1 OnFwd(OUT_A,80 * x); OnRev(OUT_C,35 * x);¡¡º¸¤Ë²ó¤ë
#define turn_left2 OnFwd(OUT_A,100 * x); OnFwd(OUT_C,40 * x);
#define turn_left3 OnFwd(OUT_A,80 * x); OnRev(OUT_C,90 * x);
#define turn_left5 OnFwd(OUT_A,80 * x); OnRev(OUT_C,1 * x);
#define go_forward OnFwd(OUT_A,80 * x); OnFwd(OUT_C,87 * x);
#define go_back OnRev(OUT_A,100 * x); OnRev(OUT_C,85 * x);
#define turn_right1 OnRev(OUT_A,35 * x); OnFwd(OUT_C,80 * x);
#define turn_right2 OnFwd(OUT_A,30 * x); OnFwd(OUT_C,100 * x);
#define turn_right3 OnRev(OUT_A,80 * x); OnFwd(OUT_C,80 * x);
#define AD SendRemoteNumber(1,MAILBOX1,01); //¥¢¡¼¥à¤òÊĤ¸¤ÆÄù¤á¤ë
#define AU SendRemoteNumber(1,MAILBOX1,02); //¥¢¡¼¥à¤ò¾å¤²¤ë
#define TD OnRev(OUT_B,45 * x); Wait(1000);
#define TU OnFwd(OUT_B,45 * x); Wait(1000);
#define CupOff SendRemoteNumber(1,MAILBOX1,03); //¥³¥Ã¥×¤òÎ¥¤¹
#define turn_right4 OnRev(OUT_A,80 * x); OnFwd(OUT_C,60 * x);
#define turn_right5 OnRev(OUT_A,80 * x); OnFwd(OUT_C,1 * x);
#define turn_right6 OnRev(OUT_A,1 * x); OnFwd(OUT_C,80 * x);
#define DO 523
#define x 0.65 //¤«¤±¿ô
#define z 1.0
¡ö¥µ¥Ö¥ë¡¼¥Á¥ó
º£²ó¤Ï¥µ¥Ö¥ë¡¼¥Á¥ó¤È¤·¤Æ¡Ö¥»¥ó¥µ¡¼£²¡Ê¸÷¥»¥ó¥µ¡¼¡Ë¤ò»ÈÍѤ·¤Æ¡Êº¸¡¦±¦¡Ë¤Ë±è¤Ã¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¤¡¢¼¡¤Î¸òº¹ÅÀ¤ËÅþÃ夷¤¿¤éÄä»ß¤·¤Æ²»¤òÌĤ餹¡×¡Ö¥»¥ó¥µ¡¼3¡Ê¸÷¥»¥ó¥µ¡¼¡Ë¤ò»ÈÍѤ·¤Æ¡¢º¸¤Ë±è¤Ã¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¤¡¢¼¡¤Î¸òº¹ÅÀ¤ËÅþÃ夷¤¿¤éÄä»ß¤·¤Æ²»¤òÌĤ餹¡×¤È¤¤¤¦3¤Ä¤Î¤â¤Î¤òºîÀ®¤·¤¿¡£
±¦¤Ë±è¤Ã¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó
sub IKK()¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¸÷¥»¥ó¥µ¡½
{
int BP = 0;
while (BP < 125){
if (SENSOR_2 < 45) {
turn_right1;
BP++;
}else{
if (SENSOR_2 < 49 ) {
turn_right2;
} else if (SENSOR_2 < 56 ) {
go_forward;
} else if (SENSOR_2 < 58) {
turn_left2;
} else {
turn_left1;
}
BP = 0;
}
Wait(1);
}
Off(OUT_AC);
PlayTone(DO,100); Wait(100);
Wait(10);
BP = 0;
}
º¸¤Ë±è¤Ã¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó
sub DKK()
{
int BP = 0;
while (BP < 170){
if (SENSOR_2 < 45) {
turn_left1;
BP++;
}else{
if (SENSOR_2 < 49 ) {
turn_left2;
} else if (SENSOR_2 < 54 ) {
go_forward;
} else if (SENSOR_2 < 55) {
turn_right3;
} else {
turn_right4;
}
BP = 0;
}
Wait(1);
}
Off(OUT_AC);
PlayTone(DO,100); Wait(100);
BP = 0;
}
±¦Â¦¤Î¸÷¥»¥ó¥µ¡¼¤ò»È¤¤º¸¤Ë±è¤Ã¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë
sub DKK2()
{
int BP = 0;
while (BP < 170){
if (SENSOR_3 < 45) {
turn_left1;
BP++;
}else{
if (SENSOR_3 < 49 ) {
turn_left2;
} else if (SENSOR_3 < 54 ) {
go_forward;
} else if (SENSOR_3 < 55) {
turn_right3;
} else {
turn_right4;
}
BP = 0;
}
Wait(1);
}
Off(OUT_AC);
PlayTone(DO,100); Wait(100);
BP = 0;
}
*´Ø¿ô [#d1c0f4fd]
¤½¤·¤Æº£²ó¤Ï¡¢»æ¥³¥Ã¥×¤òõ¤·Á°¿Ê¤¹¤ë¥×¥í¥°¥é¥ß¥ó¥°¤ò´Ø¿ô¤È¤·¤ÆÄêµÁ¤·¤¿¡£
const float diameter = 5.45; //¥¿¥¤¥äľ·Â
const float track = 10.35; //¥¿¥¤¥ä¥È¥ì¥Ã¥ÉÉý
const float pi = 3.1415; //±ß¼þΨ
void fwdDist(float d) //µ÷Î¥¡¡£ä£ã£íÁ°¿Ê
{
long angle = d/(diameter*pi)*360.0; //ɬÍפʥ¿¥¤¥ä¤Î²óž³ÑÅÙ
RotateMotorEx(OUT_AC, SPEED_SLOW, angle, 0, true ,true);
}
void turnAng(long ang) //³ÑÅÙangÅ٤λþ·×²ó¤ê¤ÎÀû²ó
{
long angle = track/diameter * ang;
RotateMotorEx(OUT_AC, SPEED_SLOW, angle, 100, true, true);
}
int searchDirection(long ang) //¸½ºß¤ÎÊý¸þ¤òÃæ¿´¤ËangÅÙ¤ÎÈϰϤÇõ¤·
//¾ã³²Êª¤Þ¤Ç¤Îµ÷Î¥¤òÊÖ¤¹
{
long tacho_min; //ºÇ¤â¶á¤¤µ÷Î¥¤ò¼Â¸½¤¹¤ë¥¿¥¤¥ä¤Î²óž¿ô
int d_min = 300; //ºÇ¤â¶á¤¤µ÷Î¥¤Î²¾¤ÎºÇ¾®Ã͡ʽ½Ê¬Â礤¯¤È¤Ã¤Æ¤ª¤¯¡Ë
long angle = (track/diameter)*ang; //Àû²ó³ÑÅÙ¤«¤é¥¿¥¤¥ä¤Î²óž¤ò·×»»
turnAng(ang/2); //»ØÄꤵ¤ì¤¿³ÑÅÙ¤ÎȾʬ¤òÀû²ó
ResetTachoCount(OUT_AC); //³ÑÅٷ׬¤ò¥ê¥»¥Ã¥È
OnFwdSync(OUT_AC,SPEED_SLOW,-100); //Ⱦ»þ·×²ó¤ê¤ËÀû²ó
while(MotorTachoCount(OUT_A)<=angle) {
if (SensorUS(S1)<d_min){ //¸½ºß¤Îµ÷Î¥¤¬¼Ú¤ê¤ÎºÇ¾®Ãͤè¤ê¾®¤µ¤¤¾ì¹ç
d_min = SensorUS(S1); //²¾¤ÎºÇ¾®Ãͤò¹¹¿·
tacho_min = MotorTachoCount(OUT_A); //¤³¤Î»þ¤Î¥¿¥¤¥ä¤Î²óž¿ô¤òµÏ¿
}
}
OnFwdSyncEx(OUT_AC,SPEED_SLOW,100,RESET_NONE);
until(MotorTachoCount(OUT_A)<=tacho_min || SensorUS(S1)<=d_min);
Wait(14); //ÈùÄ´À°
Off(OUT_AC);Wait(500);
return d_min;
}
task main()
{
SetSensorLowspeed(S1);
SetSensorLight(S2);
SetSensorLight(S3);
go_forward;
Wait(500); //¾¯¤·Á°¿Ê
turn_left3;
Wait(200);
while (SENSOR_2 > 45)
{
turn_left3;
}
turn_right1;
Wait(100);
IKK(); //F¤Þ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹
turn_left3;
Wait(1000); //º¸¸þ¤¯
int d = searchDirection(70);//¥³¥Ã¥×õ¤¹
if (d > 10){
fwdDist(d-10.0);//¥³¥Ã¥×¤Ë¶á¤Å¤¯
}
TU; //Ķ²»ÇÈ¥»¥ó¥µ¡¼¤ò¤¢¤²¤ë
go_forward;
Wait(2900);
AD; //¥³¥Ã¥×¤ò¼è¤ë
Off(OUT_AC);
Wait(3000);
go_back;
Wait(500);
turn_left3;
Wait(700);
while (SENSOR_2 > 45)
{
go_back;
}
go_back;
Wait(250);
Off(OUT_AC);
Wait(200);
while (SENSOR_2 > 45)
{
go_back;
}
go_back;
Wait(450);
Off(OUT_AC);
Wait(450);
while (SENSOR_2 > 45)
{
go_back;
}
go_back;
Wait(250);
Off(OUT_AC);
Wait(200);
turn_right5;
Wait(700);
while (SENSOR_3 > 45)
{
turn_right5;
}
DKK2(); //S¤òº¸ÀÞ
//Q¤ËÅþÃå
turn_right6;
Wait(1100);
while (SENSOR_2 > 45)
{
turn_right6;
}
turn_right3;
Wait(300);
Off(OUT_AC);
Wait(1000);
go_forward; //X¤ËÆþ¤ë
Wait(2500);
AU; //X¤Ç¥³¥Ã¥×¤ò¾å¤²¤ë
Off(OUT_AC);
Wait(3000);
go_back;
Wait(1200);
Off(OUT_AC);
Wait(2000);
while (SENSOR_2 > 45)
{
go_back;
}
go_back;
Wait(500);
while (SENOSR_2 > 45)
{
go_back;
}
Off(OUT_AC);
Wait(1000);
turn_right5;
Wait(500);
while (SENSOR_3 > 45)
{
turn_right5;
}
turn_right5;
Wait(600);
while (SENSOR_3 > 45)
{
turn_right5;
}
Off(OUT_AC);
Wait(1000);
go_forward;
Wait(1000);
while (SENSOR_2 > 45)
{
go_forward;
}
Off(OUT_AC);
Wait(1000);
while (SENSOR_3 > 45)
{
turn_left5;
}
turn_left5;
Wait(300);
go_forward;
Wait(500);
TD; //Ķ²»ÇȲ¼¤²¤ë
Off(OUT_AC);
Wait(2000);
d = searchDirection(120);//¥³¥Ã¥×õ¤¹
if (d > 10){
fwdDist(d-10.0);//¥³¥Ã¥×¤Ë¶á¤Å¤¯
}
TU; //Ķ²»ÇÈ¥»¥ó¥µ¡¼¤ò¤¢¤²¤ë
Off(OUT_AC);
Wait(1000);
go_forward;
Wait(1300);¡¡
Off(OUT_AC);
Wait(1000);
turn_left3;
Wait(1400);
Off(OUT_AC);
Wait(2000);
go_forward;
Wait(2300);
go_back;
Wait(100);
Off(OUT_AC);
Wait(500);
AD; //¥³¥Ã¥×¤ò¼è¤ë¡Ê½Å¤Í¤ë¡Ë
Off(OUT_AC);
Wait(3000);
go_back; //kaiki
Wait(1900);
turn_right3;
Wait(1400);
go_back;
Wait(1300);
while (SENSOR_2 > 45)
{
go_back;
}
turn_left5;
Wait(1200);
while (SENSOR_3 > 45)
{
turn_left5;
}
turn_right5;
Wait(300);
go_forward;
Wait(1000);
while (SENSOR_2 > 45)
{
go_forward; //X¤Þ¤Çľ¿Ê
}
AU; //X¤Ç¥³¥Ã¥×¤ò¾å¤²¤ë
turn_left3;
Wait(200);
go_back;
Wait(300);
CupOff;
while (SENSOR_2 > 45)
{
go_back;
} //¹õ¤¤Àþ¤Þ¤Ç¥Ð¥Ã¥¯¤¹¤ë
turn_right3;
Wait(1000); //±¦ÀÞ¤¹¤ë
go_forward;
Wait(1000); //¾¯¤·Ä¾¿Ê¤¹¤ë
d = searchDirection(120); //¥³¥Ã¥×õ¤¹
if (d > 10){
fwdDist(d-10.0);//¥³¥Ã¥×¤Ë¶á¤Å¤¯
}
TU; //Ķ²»ÇÈ¥»¥ó¥µ¡¼¤ò¤¢¤²¤ë
go_forward;
Wait(1000);
AD; //¥³¥Ã¥×¤ò¼è¤ë
go_back;
Wait(1000); //¥Ð¥Ã¥¯¤·¤Æ¥³¡¼¥¹¤Ë¤â¤É¤ë
DKK(); //B¤Þ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë
turn_left3; //º¸ÀÞ¤¹¤ë
Wait(1000);
DKK(); //P¤ËÅþÃå
turn_right3;
Wait(200);
go_forward;
Wait(1000); //X¤Ë¤Ï¤¤¤ë
AU; //¥³¥Ã¥×¤ò¾å¤²¤ë
go_back;
Wait(1000); //X¤«¤é½Ð¤ë
turn_left3; //º¸¤ò¸þ¤¯
Wait(1000);
DKK(); //P¤«¤éQ¤Þ¤Ç±ß¼þ¾å¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹
turn_left3;
Wait(1000);
DKK(); //S¤ËÅþÃå
turn_right3;
Wait(200);
go_forward; //Y¤ËÆþ¤ë
Wait(1000);
AD; //¥³¥Ã¥×¤òÃÖ¤¯
CupOff; //¥³¥Ã¥×Î¥¤¹
}
*¥×¥í¥°¥é¥ß¥ó¥°¤ÎÆâÍƤϥѡ¼¥È¥Ê¡¼¤¬½ñ¤¤¤¿ÆâÍƤò»²¹Í¤·¤Þ¤·¤¿
URL:http://yakushi.shinshu-u.ac.jp/robotics/?2017b%2FMember%2Fwaitu%2FMission3
*´¶ÁÛ [#j59fc1e0]
£±.¥í¥Ü¥Ã¥ÈÁ´ÂΤΰÂÄêÀ¤Ï¤È¤Æ¤â½ÅÍפǤ¢¤ë¡£2¡¥£±°Ì¥Á¡¼¥à¤Î¥í¥Ü¥Ã¥È¤Ï¤¹¤´¤¤¡£
¥Ú¡¼¥¸Ì¾: