#contents
*²ÝÂêÆâÍÆ [#g6c199ec]
º£²ó¤Î²ÝÂê¤Ï¼«Î©·¿¥í¥Ü¥Ã¥È¤òÍѤ¤¤ÆÆ󤫽ê¤Î»æ¥³¥Ã¥×¤ÎÃæ¤Ë¤¢¤ëÆó¤Ä¤Î¥Ü¡¼¥ë¤Î°ÌÃÖ¤òÆþ¤ìÂؤ¨¤ë¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡£¤³¤ÎºÝ¡¢Æó¤Ä¤¢¤ë¶õ¤Î»æ¥³¥Ã¥×¤òÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
*¥í¥Ü¥Ã¥ÈËÜÂÎ [#b5cdd40c]
**¥³¥ó¥»¥×¥È [#m059c531]
¥Ü¡¼¥ë¤Î°ÜÆ°¤¹¤ë¤È¤­¤Ë¡¢¶õ¤Î»æ¥³¥Ã¥×¤ò»È¤ï¤Ê¤¤¤ÇºÑ¤à¤è¤¦¤Ë¡¢¥í¥Ü¥Ã¥ÈËÜÂΤˣ´¤Ä¥Ü¡¼¥ë¤ò³ÊǼ¤Ç¤­¤ë¤è¤¦¤Ë¤·¡¢½ç¼¡Æó¤Ä¤º¤Ä¹ß¤í¤¹¤³¤È¤ÇÆþ¤ìÂؤ¨¤é¤ì¤ë¤è¤¦¤Ë¤¹¤ë¡£

**´°À®ÉÊ [#rbb6f1d7]
¥³¥ó¥»¥×¥ÈÄ̤ê¤Îµ¡¹½¤òºî¤ë¤³¤È¤¬¤Ç¤­¤¿¡£¤³¤Îµ¡¹½¤Î¤ª¤«¤²¤Ç¡¢°ÌÃÖ¤µ¤¨¹ç¤¨¤Ð¥Ü¡¼¥ë¤òÆó¤Ä³Î¼Â¤ËÆþ¤ì¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£

&ref(./1423658987925.jpg,100%);&ref(./1423658989038.jpg,100%);&ref(./1423658977120.jpg,100%);

&ref(./1423658982987.jpg,100%);&ref(./1423658981273.jpg,100%);

¥¢¡¼¥àÉô¤ÏÄϤàÉôʬ¤òŤ¯¤¹¤ë¤³¤È¤Ç¡¢¥¢¡¼¥à¤ò¤½¤Î¤Þ¤Þ»ý¤Á¾å¤²¤ë¤³¤È¤Ç¹â¤¤°ÌÃ֤˳ÊǼ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£

#ref(./1423658995152.jpg,100%)

*¥×¥í¥°¥é¥à [#j4a127c7]
**¥³¥ó¥»¥×¥È [#ze362640]
µ¡¹½¤ÎÆÃÀ­¾å¡¢°ÜÆ°¤¹¤ë²ó¿ô¤Ï¾¯¤Ê¤¤¤Î¤Ç¡¢¤¢¤ëÄøÅ٤ε÷Î¥¤Þ¤Çľ¿Ê¿®¹æ¤Ç¶á¤Å¤­¡¢Ä¶²»ÇÈ¥»¥ó¥µ¤Ç°ÌÃÖ¤ò³ÎÄꤷ¡¢¶á¤Å¤­¡¢¼è¤ë¡¦¹ß¤í¤¹Æ°ºî¤ò¤¹¤ë¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ë¤¹¤ë¡£
**´°À®ÉÊ [#s31247f3]
À½ºîÅÓÃæ¤Þ¤Ç¤ÏÎɤ«¤Ã¤¿¤Î¤À¤¬¡¢¥í¥Ü¥Ã¥È¤¬´°À®¤·¤¿¤¢¤È¡¢Ä¶²»ÇÈ¥»¥ó¥µ¤ÎÃͤ¬°ÂÄꤷ¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£¤½¤Î¤¿¤á¥³¥ó¥»¥×¥È¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤º¡¢¿Í¤Î¼ê¤ÎÈùÄ´À°¤¬É¬Í×¤Ê¥Ý¥í¥°¥é¥à¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿
À½ºîÅÓÃæ¤Þ¤Ç¤ÏÎɤ«¤Ã¤¿¤Î¤À¤¬¡¢¥í¥Ü¥Ã¥È¤¬´°À®¤·¤¿¤¢¤È¡¢Ä¶²»ÇÈ¥»¥ó¥µ¤ÎÃͤ¬°ÂÄꤷ¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£¤½¤Î¤¿¤á¥³¥ó¥»¥×¥È¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤º¡¢¿Í¤Î¼ê¤ÎÈùÄ´À°¤¬É¬Í×¤Ê¥×¥í¥°¥é¥à¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£
**¥×¥í¥°¥é¥àÆâÍÆ¡Ê¥Þ¥¹¥¿¡¼Â¦¡Ë [#s7550c86]
-´Ø¿ô¤ä¥µ¥Ö¥ë¡¼¥Á¥ó¤òÍѤ¤¤Æ¡¢µ÷Î¥¡¦³ÑÅÙ¤ò°ú¿ô¤È¤¹¤ë¥×¥í¥°¥é¥à¤Ë¤·¤Æ¡¢Ê¬¤«¤ê¤ä¤¹¤¯¤Ê¤ë¤è¤¦¤Ë¤·¤¿¡£
-¥µ¡¼¥Ü¥â¡¼¥¿¡¼¤Îµ¡Ç½¤ò»È¤¦¤³¤È¤Ç¡¢ÅÅÃÓ»ÄÎ̤αƶÁ¤ò¼õ¤±¤Ê¤¤¤è¤¦¤Ë¤·¤¿¡£

ËÜÂΦ¤ÎNXT¤Ç¤Ï¥¿¥¤¥ä¤È¥Ü¡¼¥ë¤ò¹ß¤í¤¹µ¡¹½¤Î¥â¡¼¥¿¤òÀ©¸æ¤¹¤ë¡£

 #define CONN 1
 #define SIGNALON 1

 #define OPEN_SPEED 15
 #define OPEN OnFwd(OUT_A,OPEN_SPEED);Wait(800);Off(OUT_A);
 #define CLOSE OnRev(OUT_A,OPEN_SPEED);Wait(1300);Off(OUT_A);

 #define SPEED_H 70
 #define SPEED_L 50
 const float diameter = 5.6;   //¥¿¥¤¥ä¤Îľ·Â¡Ê­Ñ¡Ë
 const float track = 10.5;   //¥¿¥¤¥ä¤Î¥È¥ì¥Ã¥ÉÉý¡Ê­Ñ¡Ë
 const float pi = 3.1415;   //±ß¼þΨ

 float GetAngle_turn(float a)   //µá¤á¤ëËÜÂΤβóž³Ñ¤«¤é¥¿¥¤¥ä¤Î²óž³Ñ¤òµá¤á¤ë´Ø¿ô          
 {
 	float ang = (a*track)/diameter;
 	return ang;
 }

 float GetAngle_go(float a)   //µá¤á¤ë°ÜÆ°µ÷Î¥¤«¤é¥¿¥¤¥ä¤Î²óž³Ñ¤òµá¤á¤ë´Ø¿ô
 {
	float ang = a/(diameter*pi)*360.0;
	return ang;
 }

 sub angle_turn_L(float t)   //º¸¤ËtÅÙ²óž
 {
	int angle_turn_L = GetAngle_turn(t);
	RotateMotorEx(OUT_BC,SPEED_H,angle_turn_L,-100,true,true);//P37
	Off(OUT_BC);
 }

 sub angle_turn_R(float t)   //±¦¤ËtÅÙ²óž
 {
	int angle_turn_R = GetAngle_turn(t);
	RotateMotorEx(OUT_BC,SPEED_H,angle_turn_R,100,true,true);//P37
	Off(OUT_BC);
 }

 sub dist_go_F(float t)   //Á°¤Ët¥»¥ó¥Á¿Ê¤à
 {
	int angle_go_F = GetAngle_go(t);
	RotateMotorEx(OUT_BC,SPEED_H,angle_go_F,0,true,true);
	Off(OUT_BC);
 }

 sub dist_go_R(float t)   //¸å¤í¤Ët¥»¥ó¥Á¿Ê¤à
 {
	int angle_go_R = GetAngle_go(t);
	RotateMotorEx(OUT_BC,-SPEED_H,angle_go_R,0,true,true);
	Off(OUT_BC);
 }


 task main()
 {

 dist_go_F(57.0);

 //¥³¥Ã¥×¤ò¼è¤ë¥Ü¡¼¥ëÅëºÜ¤Î¿®¹æ¤òÁ÷¤ë
 SendRemoteNumber(CONN, MAILBOX1, SIGNALON);
 Wait(9000);

 angle_turn_R(150.0);

 dist_go_F(40.0);

 //¥³¥Ã¥×¤ò¼è¤ë¥Ü¡¼¥ëÅëºÜ¤Î¿®¹æ¤òÁ÷¤ë
 SendRemoteNumber(CONN, MAILBOX1, SIGNALON);
 Wait(9000);

 //ȿž¤·¤Æ
 dist_go_R(5.0);
 angle_turn_R(190.0);

 dist_go_R(20.0);

 //¥Ü¡¼¥ë¤òÃÖ¤¯
 OPEN;
 Wait(1000);
 CLOSE;

 dist_go_F(50.0);

 //ȿž¤·¤Æ
 dist_go_R(20.0);
 angle_turn_R(220.0);

 //¥³¥Ã¥×¤Þ¤Ç¶á¤Å¤¯
 dist_go_R(33.0);

 //¥Ü¡¼¥ë¤òÃÖ¤¯¿®¹æ¤òÁ÷¤ë
 OPEN;
 Wait(1000);
 CLOSE;

 //Î¥¤ì¤ë
 dist_go_F(20.0);

 }
**¥×¥í¥°¥é¥àÆâÍÆ¡Ê¥¹¥ì¡¼¥Ö¦¡Ë [#y89872fa]
¥¹¥ì¡¼¥Ö¦¤ÎNXT¤Ç¤Ï¥¢¡¼¥à¤Î³«ÊĤ侺¹ß¤òÀ©¸æ¤¹¤ë
 #define SIGNALON 1

 #define ARM_TIME1 1000¡¡ //¥¢¡¼¥à¤Î³«ÊÄ»þ´Ö£±
 #define ARM_TIME2 2000   //¥¢¡¼¥à¤Î³«ÊÄ»þ´Ö£²
 #define ARM_SPEED1 10    //¥¢¡¼¥à¤Î³«ÊÄ¥¹¥Ô¡¼¥É£±
 #define ARM_SPEED2 50    //¥¢¡¼¥à¤Î³«ÊÄ¥¹¥Ô¡¼¥É£²
 #define UP_TIME 2000     //¥¢¡¼¥à¤ò¾å¤²¤ë»þ´Ö
 #define UP_SPEED 50      //¥¢¡¼¥à¤ò¾å¤²¤ë¥¹¥Ô¡¼¥É
 #define DOWN_TIME 1800   //¥¢¡¼¥à¤ò²¼¤²¤ë»þ´Ö
 #define DOWN_SPEED 20    //¥¢¡¼¥à¤ò²¼¤²¤ë¥¹¥Ô¡¼¥É

 task main()
 {
 int msg;     //¼õ¤±¼è¤Ã¤¿Ãͤò³ÊǼ¤¹¤ëÊÑ¿ô
 while(true){
  ReceiveRemoteNumber(MAILBOX1, true, msg);     //MAILBOX1¤ÎÃͤò¼õ¤±¼è¤êmsg¤Ë³ÊǼ
  if(msg==SIGNALON){
  OnFwd(OUT_C,DOWN_SPEED);Wait(DOWN_TIME);Off(OUT_C);     //¥¢¡¼¥à¤ò²¼¤²¤ë
  OnRev(OUT_B,ARM_SPEED2);Wait(ARM_TIME2);Off(OUT_B);     //¥¢¡¼¥à¤òÊĤ¸¤ë
  OnRev(OUT_C,UP_SPEED);OnRev(OUT_B,ARM_SPEED2);Wait(UP_TIME);Off(OUT_C);Off(OUT_B);              //¥¢¡¼¥à¤ò¾å¤²¤ë
 OnFwd(OUT_C,DOWN_SPEED);Wait(DOWN_TIME);Off(OUT_C);     //¥¢¡¼¥à¤ò²¼¤²¤ë
 OnFwd(OUT_B,ARM_SPEED1);Wait(ARM_TIME1);Off(OUT_B);     //¥¢¡¼¥à¤ò³«¤¯
 ARM_UP2 OnRev(OUT_C,UP_SPEED);Wait(450);Off(OUT_C);     //¥¢¡¼¥à¤òÄê°ÌÃÖ¤ËÌ᤹

  }else{
   Off(OUT_BC);
  }
 }
 }

*È¿¾Ê¡¦¹Í»¡ [#k4163363]
#ref(./1423658973030.jpg,100%)
Îɤ¤µ¡¹½¤òºî¤ë¤³¤È¤¬¤Ç¤­¤¿¡£¤·¤«¤·¡¢ÁȾå¤ê¤Ï¾¯¤·ÌµÍý¤¬¤«¤µ¤ó¤Ç¤¤¤ë¤è¤¦¤Ë»×¤¨¤¿¡£

Ķ²»ÇÈ¥»¥ó¥µ¤Î¿ôÃͤ¬°ÂÄꤷ¤Ê¤¤Íýͳ¤ò²òÌÀ¤·¡¢²þÁ±¤¹¤ë¤Þ¤Ç¤Ë»ê¤ë»ö¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¡£

¥»¥ó¥µ¤Î¼è¤êÉÕ¤±°ÌÃ֤䡢¥»¥ó¥µ¤ÎÁ°¤Þ¤ÇÈô¤Ó½Ð¤¿µ¡¹½¤¬¡¢°ÂÄꤷ¤¿¿ôÃͤò¼è¤ì¤Ê¤«¤Ã¤¿¸¶°ø¤Ç¤Ï¤Ê¤¤¤«¤È¹Í¤¨¤é¤ì¤ë
¥»¥ó¥µ¤Î¼è¤êÉÕ¤±°ÌÃ֤䡢¥»¥ó¥µ¤ÎÁ°¤Þ¤ÇÈô¤Ó½Ð¤¿µ¡¹½¤¬¡¢°ÂÄꤷ¤¿¿ôÃͤò¼è¤ì¤Ê¤«¤Ã¤¿¸¶°ø¤Ç¤Ï¤Ê¤¤¤«¤È¹Í¤¨¤é¤ì¤ë¡£

Ķ²»ÇÈ¥»¥ó¥µ¤òÍѤ¤¤¿¾ì¹ç¡¢°Ê²¼¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤òÁȤ߹þ¤ó¤Ç¤¤¤¿¤¬¡¢³°¤µ¤¶¤ë¤òÆÀ¤Ê¤¯¤Ê¤Ã¤¿
Ķ²»ÇÈ¥»¥ó¥µ¤òÍѤ¤¤¿¾ì¹ç¡¢°Ê²¼¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤òÁȤ߹þ¤ó¤Ç¤¤¤¿¤¬¡¢³°¤µ¤¶¤ë¤òÆÀ¤Ê¤¯¤Ê¤Ã¤¿¡£
 const float arm = 21.0;   //¥¢¡¼¥àµ÷Î¥
 int catch_searchDirection(long ang)   //¸½ºß¤ÎÊý¸þ¤òÃæ¿´¤ËangÅÙ¤ÎÈϰϤÇõ¤·¾ã³²Êª¤Þ¤Ç¤Îµ÷Î¥¤òÊÖ¤¹
 {
	long angle, tacho_min=0, tacho_corr;
	int d_min;
	d_min = 300;   //²¾¤ÎºÇ¾®ÃÍ
	angle = (track/diameter)*ang;   //Àû²ó³ÑÅÙ¤«¤é¥¿¥¤¥ä¤Î²óž¤ò·×»»
	angle_turn_R(ang/2);   //»ØÄꤵ¤ì¤¿³ÑÅÙ¤ÎȾʬ¤òÀû²ó
	ResetTachoCount(OUT_BC);   //³ÑÅٷ׬¤ò¥ê¥»¥Ã¥È
	
	OnFwdSync(OUT_BC, SPEED_L, -100);   //Ⱦ»þ·×²ó¤ê¤ËÀû²ó
	while(MotorTachoCount(OUT_B) <= angle){
		if(SensorUS(S4) < d_min){
			d_min = SensorUS(S4);   //²¾¤ÎºÇ¾®Ãͤò¹¹¿·
			tacho_min  =  MotorTachoCount(OUT_B);
		}
	}
	OnFwdSyncEx(OUT_BC, SPEED_L, 100, RESET_NONE);
	until(MotorTachoCount(OUT_B)<=tacho_min||SensorUS(S4)<=d_min);
	
	Off(OUT_BC);
	Wait(500);
	return d_min;
 }
 task main()
 {
  SetSensorLowspeed(S2);
  SetSensorLowspeed(S4);
  int d;   //¥»¥ó¥µ¤È¤Îµ÷Î¥ÊÑ¿ô
 //Êý¸þ¤òõ¤·¤¿¤¢¤È¡¢ÏӤ΍µÁ°¤ÇÄä»ß
 d = catch_searchDirection(120.0);
 dist_go_R(arm-d);
 }

¥È¥Ã¥×   ÊÔ½¸ º¹Ê¬ ÍúÎò źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS