Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | Prochaine révision Les deux révisions suivantes | ||
robotique:r_cerda:programmation [21/02/2015 17:09] sky99 |
robotique:r_cerda:programmation [21/02/2015 17:15] sky99 |
||
---|---|---|---|
Ligne 95: | Ligne 95: | ||
{{ youtube>tiKDK-l2gis?large |Algorithme basique d'évitement d'obstacle avec gestion des collisions (r2.py)}} | {{ youtube>tiKDK-l2gis?large |Algorithme basique d'évitement d'obstacle avec gestion des collisions (r2.py)}} | ||
+ | ===== Algorithme basique d'évitement d'obstacles avec gestion des collisions et changement de sens de rotation : r3.py ===== | ||
+ | [[https://github.com/sarinkhan/R.Cerda/blob/master/r3.py|La troisième version de ce code, r3.py]] permet au robot de changer de sens de rotation plutôt que de tourner toujours à gauche. En effet, dans les précédentes version, le robot évite systématiquement les obstacles par la gauche, ce qui entraîne qu'il finit par tourner en rond. Ici, lorsque le robot à tourné un certain nombre de fois du même côté, il décide d'éviter les obstacles en tournant dans l'autre sens. Nous considérons ici que tourner d'un coté inclut toute la série d'instructions entre le moment ou le robot commence à tourner pour éviter un obstacle et le moment ou il a complètement terminé sa rotation, reprenant sa route. On s'assure ainsi que le robot ne fasse pas des allers retours de gauche à droite : quand il commence à tourner, il continue jusqu'à avoir trouvé un chemin dégagé. | ||
+ | |||
+ | {{ youtube>2Qf3TnlQzeo?large |Algorithme basique d'évitement d'obstacle avec gestion des collisions et changement de sens d'évitement d'obstacles (r3.py)}} | ||
+ | |||
+ | |||
+ | On peut voir le comportement du robot exécutant cet algorithme dans la vidéo ci dessous : | ||
+ | {{ youtube>tiKDK-l2gis?large |Algorithme basique d'évitement d'obstacle avec gestion des collisions (r2.py)}} |