[[2019a/Member]] #contents *²ÝÂê3 [#a54866d5] ²ÝÂê3¤Ï¡Ö¥Ô¥ó¥Ý¥ó¶Ì¤Þ¤¿¤ÏÀĤÈÀ֤Υܡ¼¥ë¤ò±¿È¤·¤Æ¡¢½êÄê¤ÎÍÆ´ï¤ÎÃæ¤ËÆþ¤ì¤ë¡£¡×¤È¤¤¤¦²ÝÂê¤À¤Ã¤¿¡£~ &ref(Map.png); *Àïά [#y4817a1e] ²ÝÂê3¤Ï¥Æ¥¹¥È¤Î»þ´ü¤È½Å¤Ê¤ë¤¿¤á½½Ê¬¤Ê»þ´Ö¤ò¤«¤±¤Æ¤Î»î¹Ôºø¸í¤Ïº¤Æñ¤Ç¤¢¤ë¤ÈͽÁÛ¤µ¤ì¤¿¡£¤³¤Î²ÝÂê¤Ï½êÄê¤ÎÍÆ´ï¤ËÆþ¤ì¤é¤ì¤¿¥Ô¥ó¥Ý¥ó¶Ì¤Ë±þ¤¸¤Æ¥Ý¥¤¥ó¥È¤¬²ÃÅÀ¤µ¤ì¤ë¤¬ -¥×¥éÍÆ´ïÆâ¤Î¥Ô¥ó¥Ý¥ó¶Ì --1¸Ä±¿¤Ù¤Ð8ÅÀ --2¤Ä¤È¤â±¿¤Ù¤Ð20ÅÀ -LÃÏÅÀ¤ÈL'ÃÏÅÀ(¤¤¤º¤ì¤â¥×¥éÍÆ´ï³°)¤Î¥Ô¥ó¥Ý¥ó¶Ì --1¸Ä±¿¤Ù¤Ð4ÅÀ --2¤Ä¤È¤â±¿¤Ù¤Ð12ÅÀ ¤È²ÃÅÀ¤µ¤ì¤ë¥Ý¥¤¥ó¥È¤Ï¥×¥éÈ¢Æâ¤Î¥Ô¥ó¥Ý¥ó¶Ì¤ò±¿¤ó¤À¤Û¤¦¤¬Â¿¤¤¡£¤½¤³¤Çº£²ó¤Ï¥×¥éÈ¢³°¤Î¥Ô¥ó¥Ý¥ó¶Ì¤Ï̵»ë¤·¤Æ¥×¥éÈ¢Æâ¤Î¥Ô¥ó¥Ý¥ó¶Ì¤Î¤ß¤ò±¿¤Ö¥í¥Ü¥Ã¥È¤òºî¤ë¤³¤È¤Ë¤·¤¿¡£ *ºîÀ®¤·¤¿¥í¥Ü¥Ã¥È [#aa84c996] &ref(Robot.png);~ º£²ó¤Ï¾å¤Î¤è¤¦¤Ê¥í¥Ü¥Ã¥È¤òºî¤Ã¤¿¡£¹©Éפ·¤¿ÅÀ¤Ï°Ê²¼¤Î4¤Ä¤Ç¤¢¤ë¡£ **¥×¥éÈ¢¤ò·¹¤±¤ëÉôʬ [#d047d11e] &ref(Arm.png);~ ¿Þ¤Î¤è¤¦¤Ë¥×¥éÈ¢¤ò·¹¤±¤ë¤¿¤á¤Ë¤Ï¤«¤Ê¤êŤ¤ÏÓ¤¬É¬ÍפÀ¤Ã¤¿¡£~ &ref(TipOfTheArm.png);~ ¤Þ¤¿ÏÓ¤ÎÀèü¤ÎËÀ¤Ï¥×¥éÈ¢¤ò·¹¤±¤¿¤È¤¤Ë¥×¥éÈ¢¤ò°ÂÄꤵ¤»¤ë¤È¤¤¤¦Ìò³ä¤¬¤¢¤ë¡£ **¥Ô¥ó¥Ý¥ó¶Ì¤ò²ó¼ý¤¹¤ëÉôʬ [#j5fb030d] &ref(Hand.png);~ ¥Ô¥ó¥Ý¥ó¶Ì¤ò²ó¼ý¤¹¤ëÉôʬ¤Ï¾å¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¥×¥éÍÆ´ïÆâ¤Î¥Ô¥ó¥Ý¥ó¶Ì2¤Ä¤·¤«²ó¼ý¤·¤Ê¤¤¤Î¤Ç¤³¤³¤Ë¤Ï¥Ô¥ó¥Ý¥ó¶Ì2¤Äʬ¤Î¥¹¥Ú¡¼¥¹¤·¤«¤Ê¤¤¤¬¡¢¤½¤Îʬ¥Ô¥ó¥Ý¥ó¶Ì¤ò²ó¼ý¤¹¤ëÉôʬ¤ò¥³¥ó¥Ñ¥¯¥È¤Ë¤·¡¢½Å¿´¤ò¸å¤í¤Ë²¼¤²¤ë¤³¤È¤¬½ÐÍ褿¡£ **¥»¥ó¥µ¡¼Éôʬ [#e5e797cc] º£²ó¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ë¥«¥é¡¼¥»¥ó¥µ¡¼¤ò2¤Ä»È¤¤¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÎÀºÅÙ¤ò¹â¤á¤¿¡£~ &ref(ColorSensors.png); **½Å¿´ [#c75a0d3f] &ref(Tires.png);~ º£²ó¤Î¥í¥Ü¥Ã¥È¤Ç¤Ï¥â¡¼¥¿¡¼¤ò¿¤¯»È¤Ã¤¿¤¿¤á½Å¿´¤¬Á°¤Ë·¹¤¤¤Æ¤·¤Þ¤Ã¤¿¤¬¥¿¥¤¥ä¤ò4¤Ä»È¤¤°ÂÄꤷ¤¿Æ°¤¤¬¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿¡£ *¥×¥í¥°¥é¥à¤Î½àÈ÷ [#c02c839e] **¥â¥¸¥å¡¼¥ë¤Î¥¤¥ó¥Ý¡¼¥È [#lf266af4] #!/usr/bin/env python3 from ev3dev.ev3 import * from time import sleep **¥¤¥ó¥¹¥¿¥ó¥¹¤ÎºîÀ® [#c5d85089] mR = LargeMotor('outC') mL = LargeMotor('outA') csR = ColorSensor('in1') csL = ColorSensor('in2') arm = LargeMotor('outD') hand = MediumMotor('outB') ¤½¤ì¤¾¤ì°Ê²¼¤Î¥â¡¼¥¿¡¼¤ä¥»¥ó¥µ¡¼¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤¢¤ë¡£ &ref(Instances.png); **´Ø¿ô¤ÎÄêµÁ [#ed41d6e9] º£²ó¤Ï°Ê²¼¤Î´Ø¿ô¤òÄêµÁ¤·¤¿¡£ -¥í¥Ü¥Ã¥È¤ò±¦/º¸¤Ë²óž¤µ¤»¤ë´Ø¿ô -¥í¥Ü¥Ã¥È¤òÁ°¿Ê/¸åÂव¤»¤ë´Ø¿ô -¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë´Ø¿ô ***¥í¥Ü¥Ã¥È¤ò±¦¤Ë²óž¤µ¤»¤ë´Ø¿ô [#tc9c52bc] &ref(Right.png);~ ¥í¥Ü¥Ã¥È¤ò±¦¤Ë²óž¤µ¤»¤ë´Ø¿ô¤Ï²óž¤ÎÃæ¿´¤Î°ã¤¦2¤Ä¤Î´Ø¿ô¤òÄêµÁ¤·¤¿¡£ def right(time_sp): sleep(1) mR.run_timed(time_sp=time_sp, speed_sp=100, stop_action="brake") def clockwise(time_sp): mR.run_timed(time_sp=time_sp, speed_sp=-100, stop_action="brake") mL.run_timed(time_sp=time_sp, speed_sp=100, stop_action="brake") ***¥í¥Ü¥Ã¥È¤òº¸¤Ë²óž¤µ¤»¤ë´Ø¿ô [#x2874212] &ref(Left.png);~ ¥í¥Ü¥Ã¥È¤òº¸¤Ë²óž¤µ¤»¤ë´Ø¿ô¤Ï²óž¤ÎÃæ¿´¤Î°ã¤¦2¤Ä¤Î´Ø¿ô¤òÄêµÁ¤·¤¿¡£ def left(time_sp): sleep(1) mL.run_timed(time_sp=time_sp, speed_sp=100, stop_action="brake") def counter_clockwise(time_sp): mR.run_timed(time_sp=time_sp, speed_sp=100, stop_action="brake") mL.run_timed(time_sp=time_sp, speed_sp=-100, stop_action="brake") ***¥í¥Ü¥Ã¥È¤òÁ°¿Ê¤µ¤»¤ë´Ø¿ô [#h63327b5] ¥í¥Ü¥Ã¥È¤òÁ°¿Ê¤µ¤»¤ë´Ø¿ô¤Ï -»þ´Ö¤ò»ØÄꤷ¤ÆÁ°¿Ê¤µ¤»¤ëforward´Ø¿ô -Ää»ß¤ÎÌ¿Îá¤ò¤·¤Ê¤¤¸Â¤êÆ°¤Â³¤±¤ëforward_forever´Ø¿ô ¤ÎÆó¼ïÎà¤òÄêµÁ¤·¤¿¡£ def forward(time_sp): mR.run_timed(time_sp=time_sp, speed_sp=100, stop_action="brake") mL.run_timed(time_sp=time_sp, speed_sp=100, stop_action="brake") sleep(1) def forward_forever(speed_sp): mR.run_forever(speed_sp=100, stop_action="brake") mL.run_forever(speed_sp=100, stop_action="brake") ***¥í¥Ü¥Ã¥È¤ò¸åÂव¤»¤ë´Ø¿ô [#q0385c76] Á°¿Ê¤Î¤È¤¤È¤Ï°ã¤¤¡¢¥í¥Ü¥Ã¥È¤ò¸åÂव¤»¤ë´Ø¿ô¤Ï1¼ïÎà¤Î¤ß¤òÄêµÁ¤·¤¿¡£ def backward(time_sp): mR.run_timed(time_sp=time_sp, speed_sp=-100, stop_action="brake") mL.run_timed(time_sp=time_sp, speed_sp=-100, stop_action="brake") ***¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë´Ø¿ô [#n43c9cfd] &ref(LineTrace_1.png);~ &ref(LineTrace_2.png);~ ¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¤¿¤á¤Î´Ø¿ô¡£¤·¤«¤·¤³¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î°Ù¤Ç¤Ê¤¯¡¢²¼¤Î¤è¤¦¤Ë¡Ö¥í¥Ü¥Ã¥È¤ËÂФ·¤Æľ³Ñ¤Ê¹õÀþ¤¬¤¢¤Ã¤¿¤é¥í¥Ü¥Ã¥È¤ò»ß¤á¤ë¡×¤È¤¤¤Ã¤¿´¶¤¸¤Ë¤Ä¤«¤ï¤ì¤¿¡£~ &ref(LineTrace_3.png); def line_trace(): black_line_reflection = 15 if csR.value() >= black_line_reflection and csL.value() >= black_line_reflection: forward_forever(100) sleep(0.1) elif csR.value() >= black_line_reflection and csL.value() < black_line_reflection: counter_clockwise(100) sleep(0.1) elif csR.value() < black_line_reflection and csL.value() >= black_line_reflection: clockwise(100) sleep(0.1) else: mR.stop() mL.stop() sleep(0.1) break *¥×¥í¥°¥é¥à [#ceaff269] **¥Ö¥í¥Ã¥¯Ê¬¤± [#b0ade627] ¼¡¤Î¤è¤¦¤Ë¥Ö¥í¥Ã¥¯¤òʬ¤±¤Æ¥×¥í¥°¥é¥à¤ò¹Í¤¨¤¿¡£~ &ref(Blocks.png); **¥í¥Ü¥Ã¥È¤òÆ°¤«¤¹ [#i4ef33ba] ºÇ½é¥í¥Ü¥Ã¥È¤ÏÀÖ¤¤¢¢¤Î°ÌÃÖ¤ËM¤Î¤Û¤¦¤òƬ¤Ë¤·¤Æ¤ª¤¤¤¿¡£ ***¡ ¥×¥éÍÆ´ï¤È½Ä¼´¤ò¹ç¤ï¤»¤ë [#lb9cc2c4] &ref(FirstStep.png); # Á°¿Ê¤·¤Æ¥×¥éÍÆ´ï¤È½Ä¼´¤ò¹ç¤ï¤»¤ë¡£ line_trace() sleep(0.1) forward_forever() sleep(4) mL.stop() mR.stop() # ¥í¥Ü¥Ã¥È¤ò²óž¤µ¤»¤Æ¥×¥éÍÆ´ï¤Î¤Û¤¦¤ò¸þ¤«¤»¤ë¡£ counter_clockwise(1900) sleep(2.1) ***¢ ¥×¥éÍÆ´ï¤Þ¤ÇÀ᤹ܶ¤ë [#f2614a97] &ref(SecondStep.png); # line_trace´Ø¿ô¤Ç¥í¥Ü¥Ã¥È¤È¥×¥éÍÆ´ï¤Î´Ö¤Ë¤¢¤ë¹õÀþ¤Þ¤Ç¥í¥Ü¥Ã¥È¤òÁ°¿Ê¤µ¤»¤ë¡£ line_trace() sleep(0.1) # ¥×¥éÍÆ´ï¤ò·¹¤±¤ä¤¹¤¤¤è¤¦µ÷Î¥¤òµÍ¤á¤ë¤¿¤á¤Ë¾¯¤·Á°¤Ë¤º¤é¤¹¡£ forward_forever(100) sleep(0.3) mL.stop() mR.stop() ***£ ¥×¥éÍƴ狼¤é¥Ô¥ó¥Ý¥ó¶Ì¤ò¼è¤ë [#z278381a] # ¥×¥éÍƴ狼¤é³Î¼Â¤Ë¥Ô¥ó¥Ý¥ó¶Ì¤ò½Ð¤¹¤¿¤á¤Ë¥×¥éÍÆ´ï¤ò2²ó·¹¤±¤ë¡£ # ¥×¥éÍÆ´ï·¹¤±1²óÌÜ # ¥¢¡¼¥à¤ò¤µ¤²¤ë arm.reset() sleep(0.1) arm.run_to_rel_pos(position_sp=160, speed_sp=250, stop_action="brake") sleep(3) # ¥×¥éÍÆ´ï·¹¤±2²óÌÜ # ¥¢¡¼¥à¤ò¾å¤²¤ë arm.reset() arm.run_to_rel_pos(position_sp=-160, speed_sp=250, stop_action="brake") hand.reset() sleep(2) # ¥¢¡¼¥à¤ò²¼¤²¤ë arm.reset() arm.run_to_rel_pos(position_sp=160, speed_sp=250, stop_action="brake") sleep(2) # ¥Ü¡¼¥ë¤ò²ó¼ý¤¹¤ë hand.run_to_rel_pos(position_sp=80, speed_sp=300, stop_action="brake") sleep(1) # ¥¢¡¼¥à¤ò¾å¤²¤ë arm.reset() arm.run_to_rel_pos(position_sp=-160, speed_sp=100, stop_action="brake") sleep(3) ***¤ ¥´¡¼¥ë¤Þ¤Ç°ÜÆ°¤¹¤ë [#y4940b63] &ref(ForthStep.png); counter_clockwise(2000) sleep(3) # ľÀþB'C'¤Þ¤ÇÆ°¤«¤·¤¿¤¤¤¬ÅÓÃ椢¤ëľÀþBC¤Î¤»¤¤¤Çline_trace´Ø¿ô1²ó¤Ç¤ÏľÀþB'C'¤ËÆϤ«¤Ê¤¤¡£ # ¤Ê¤Î¤ÇľÀþBC¤òĶ¤¨¤¿¸å¤Ëline_trace´Ø¿ô¤ò»È¤¦¡£ # ľÀþBC¤òĶ¤¨¤µ¤»¤ë forward_forever(100) sleep(3) mR.stop() mL.stop() sleep(1) # ľÀþB'C'¤Þ¤Ç¥í¥Ü¥Ã¥È¤òÆ°¤«¤¹¡£ line_trace() sleep(1) # ¥×¥éÍÆ´ï¤ò·¹¤±¤ä¤¹¤¤¤è¤¦µ÷Î¥¤ò¤È¤ë¤¿¤á¤Ë¾¯¤·¸å¤í¤Ë¤º¤é¤¹¡£ backward(800) sleep(1) backward(800) sleep(1) ***¥ ¥Ü¡¼¥ë¤ò¥·¥å¡¼¥È¤¹¤ë [#oa0bb0f3] # ¥¢¡¼¥à¤ò²¼¤²¤Æ¥×¥éÍÆ´ï¤ò·¹¤±¤ë arm.reset() arm.run_to_rel_pos(position_sp=160, speed_sp=120, stop_action="brake") sleep(2) # ¥Ï¥ó¥É¤ò²óž¤µ¤»¤Æ¥Ô¥ó¥Ý¥ó¶Ì¤ò¥·¥å¡¼¥È¤¹¤ë¡£ # ¥Ô¥ó¥Ý¥ó¶Ì³Î¼Â¤Ë¥·¥å¡¼¥È¤¹¤ë¤¿¤á¤Ë¥Ï¥ó¥É¤Ï²¿²ó¤â¤Þ¤ï¤¹¡£ # ¥Ï¥ó¥É¤ò²¿²ó¤â¤Þ¤ï¤¹¤¿¤á¤Ëposition_sp¤Ë¤ÏÂ礤¤¿ô»ú¤òÆþ¤ì¤ë¡£ hand.reset() hand.run_to_rel_pos(position_sp=-2000, speed_sp=1000, stop_action="brake") sleep(5) # ¥¢¡¼¥à¤ò¾å¤²¤ë arm.reset() arm.run_to_rel_pos(position_sp=-160, speed_sp=120, stop_action="brake") *·ë²Ì [#m086aca8] 2²ó¥Á¥ã¥ó¥¹¤¬Í¿¤¨¤é¤ì¤¿¤¬¡¢2²ó¤È¤â¥Ü¡¼¥ë¤ò¤È¤ë¤³¤È¤¬½ÐÍè¤Ê¤«¤Ã¤¿¡£ *È¿¾Ê¤È´¶ÁÛ [#k0da089b] º£²ó¼ºÇÔ¤·¤¿Íýͳ¤È¤·¤Æ¤¢¤²¤é¤ì¤ë¤Î¤Ï¥Æ¥¹¥ÈÁ°¤Ç»þ´Ö¤¬¤Ê¤µ²á¤®¤¿¤³¤È¤Ç¤¢¤ë¡£¤½¤ì¤Ëȼ¤Ã¤Æ¥×¥í¥°¥é¥à¤¬¤«¤Ê¤ê¹Ó¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£¥Ö¥í¥Ã¥¯¡¤Îsleep(2.1)¤Ê¤É¼êÆ°¤ÇÃͤò·è¤á¤ë¤³¤È¤¬Â¿¤¹¤®¤Æ¤½¤ì¤¬¥Ü¡¼¥ë¤ò¼è¤ëÆ°ºî¤ÎÀºÅÙ¤ÎÄã²¼¤ò¾·¤¤¤¿¤È»×¤¦¡£¤Þ¤¿Î㤨¤Ð forward(4000) ¤È½ñ¤¯¤È¤³¤í¤ò forward_forever(100) sleep(4) mL.stop() mR.stop() ¤È½ñ¤¤¤Æ¤¤¤ë¾ì½ê¤¬Â¿¤¯¸«¤é¤ì¤¿¡£¤³¤Î¤è¤¦¤Ê¸«¤Å¤é¤¤¥×¥í¥°¥é¥à¤â¥í¥Ü¥Ã¥È¤ÎÀºÅÙ¤ÎÄã²¼¤ò¾·¤¤¤¿¤È»×¤¦¡£ ~ ~ ~ ºòÆü¤ÎˬÌä¼Ô¿ô: &counter(yesterday);¿Í~ º£Æü¤ÎˬÌä¼Ô¿ô: &counter(today);¿Í~ ¹ç·×ˬÌä¼Ô¿ô: &counter(all);¿Í