{"id":2100,"date":"2018-01-22T13:41:41","date_gmt":"2018-01-22T12:41:41","guid":{"rendered":"https:\/\/www.macerobotics.com\/?p=2100"},"modified":"2018-01-22T14:03:38","modified_gmt":"2018-01-22T13:03:38","slug":"mrpiz-obstacle-avoidance","status":"publish","type":"post","link":"http:\/\/www.macerobotics.com\/?p=2100","title":{"rendered":"MRPiZ obstacle avoidance"},"content":{"rendered":"<p>Exemple de gestion des obstacles avec le robot MRPiZ et 5 capteurs de distance ToF:<\/p>\n<div class=\"ttfmake-embed-wrapper aligncenter\" style=\"max-width: 960px;\"><iframe loading=\"lazy\" title=\"MRPiZ - raspberry pi robot - obstacle avoidance\" width=\"960\" height=\"540\" src=\"https:\/\/www.youtube.com\/embed\/PCXMifioG2Y?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/div>\n<pre>\r\n\r\n<strong>#!\/usr\/bin\/python<\/strong>\r\n\r\n<strong># Mace Robotics (www.macerobotics.com)<\/strong>\r\n<strong> # Author : Mace Robotics<\/strong>\r\n<strong> # Exemple : alarm<\/strong>\r\n<strong> # Date : 30\/12\/2015<\/strong>\r\n<strong> # Version : 0.1<\/strong>\r\n\r\n<strong>from mrpiZ_lib import *<\/strong>\r\n<strong> import time, sys<\/strong>\r\n<strong> import random<\/strong>\r\n\r\n<strong>#main program<\/strong>\r\n<strong> print \"Exemple : Obstacle avoidance\"<\/strong>\r\n\r\n<strong>limit = 20<\/strong>\r\n<strong> speed = 45<\/strong>\r\n<strong> speedSlow = 30<\/strong>\r\n\r\n<strong>try:<\/strong>\r\n<strong> while 1:<\/strong>\r\n<strong> p1 = proxSensor(1)<\/strong>\r\n<strong> p2 = proxSensor(2)<\/strong>\r\n<strong> p3 = proxSensor(3)<\/strong>\r\n<strong> p4 = proxSensor(4)<\/strong>\r\n<strong> p5 = proxSensor(5)<\/strong>\r\n<strong> #-----------------<\/strong>\r\n<strong> if((p1 &lt; limit)or(p2 &lt; limit)) and (p4 &gt; limit):<\/strong>\r\n<strong> turnRight(speed)<\/strong>\r\n<strong> time.sleep(0.5)<\/strong>\r\n<strong> r = random.randint(0,2)<\/strong>\r\n<strong> if (r == 0):<\/strong>\r\n<strong> back(speedSlow)<\/strong>\r\n<strong> elif ((p4 &lt; limit)or(p5 &lt; limit)) and (p2 &gt; limit):<\/strong>\r\n<strong> turnLeft(speed)<\/strong>\r\n<strong> time.sleep(0.5)<\/strong>\r\n<strong> r = random.randint(0,2)<\/strong>\r\n<strong> if (r == 1):<\/strong>\r\n<strong> back(speedSlow)<\/strong>\r\n<strong> elif (p3 &lt; limit):<\/strong>\r\n<strong> r = random.randint(0,3)<\/strong>\r\n<strong> if (r == 0):<\/strong>\r\n<strong> back(speedSlow)<\/strong>\r\n<strong> time.sleep(0.6)<\/strong>\r\n<strong> elif (r == 1):<\/strong>\r\n<strong> back(speedSlow)<\/strong>\r\n<strong> time.sleep(0.9)<\/strong>\r\n<strong> turnRight(35)<\/strong>\r\n<strong> time.sleep(0.5)<\/strong>\r\n<strong> elif (r == 2):<\/strong>\r\n<strong> back(speedSlow)<\/strong>\r\n<strong> time.sleep(0.7)<\/strong>\r\n<strong> turnLeft(35)<\/strong>\r\n<strong> time.sleep(0.5)<\/strong>\r\n<strong> elif (r == 3):<\/strong>\r\n<strong> back(speedSlow)<\/strong>\r\n<strong> elif (p2 &lt; limit) and (p4 &lt; limit):<\/strong>\r\n<strong> turnLeft(35)<\/strong>\r\n<strong> time.sleep(1)<\/strong>\r\n<strong> else:<\/strong>\r\n<strong> forward(speed)<\/strong>\r\n<strong> except:<\/strong>\r\n<strong> print \"Fin programme\"<\/strong>\r\n<strong> stop()<\/strong>\r\n<strong> print \"stop\"<\/strong>\r\n<strong> exit()<\/strong>\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Exemple de gestion des obstacles avec le robot MRPiZ et 5 capteurs de distance ToF: #!\/usr\/bin\/python # Mace Robotics (www.macerobotics.com) # Author : Mace Robotics # Exemple : alarm # Date : 30\/12\/2015 # Version : 0.1 from mrpiZ_lib import * import time, sys import random #main program print &#8220;Exemple : Obstacle avoidance&#8221; limit = &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2100","post","type-post","status-publish","format-standard","hentry","category-non-classe"],"_links":{"self":[{"href":"http:\/\/www.macerobotics.com\/index.php?rest_route=\/wp\/v2\/posts\/2100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.macerobotics.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.macerobotics.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.macerobotics.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.macerobotics.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2100"}],"version-history":[{"count":7,"href":"http:\/\/www.macerobotics.com\/index.php?rest_route=\/wp\/v2\/posts\/2100\/revisions"}],"predecessor-version":[{"id":2107,"href":"http:\/\/www.macerobotics.com\/index.php?rest_route=\/wp\/v2\/posts\/2100\/revisions\/2107"}],"wp:attachment":[{"href":"http:\/\/www.macerobotics.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.macerobotics.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2100"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.macerobotics.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}