Вы находитесь на странице: 1из 7

vitement d'obstacles

Godefroy BURLOT - Dominique FLORINS - Aurlien PASCAL


Introduction
Lobjectif de ce projet est dajouter, un algorithme de SLAM dj implment sur un robot, un dispositif dvitement dobstacles. La mthode utilise est celle dcrite dans larticle The vector field histogram - fast obstacle avoidance for mobile robots de J. Borenstein and Y. Koren [1]. Le robot utilis est un Pioneer 3DX quip dune camra, utilise pour lalgorithme de SLAM, et de 16 tlmtres ultrasons, que nous utiliserons pour notre dtection dobstacles. Ce robot comporte deux roues motrices et une roue folle larrire, ce qui permet un dplacement trs simple et comporte une bonne odomtrie.

L'algorithme d'vitement
Le principe de lalgorithme dvitement dobstacles que nous allons implmenter est trs simple. Il sagit de construire une grille de coefficients autour du robot. chaque dtection dun obstacle par un des sonars, le coefficient correspondant est incrment. Lensemble de la grille permet ensuite de construire un histogramme circulaire autour du robot, reprsentant la densit dobstacles par direction. La direction libre la plus proche de la cible est alors slectionne.

Nous avons plac notre implmentation C++ de cet algorithme linterface entre lalgorithme de SLAM et le contrle moteur, laide du langage Urbi dvelopp par Gostai : every|(0.5s) { ... visionav.computeLocalPath(predictPosition.position); path=visionav.getLocalPath(); correctedPath=obstacleAvoidan.targetAvoidingObstacle(path,Teleop.position,Teleop.sonarVal); posServo.setNewPath(correctedPath); };

Simulation

Nous avons test et valid notre implmentation laide dune simulation que nous avons mise en place. Cette simulation nous a aid recrer des paramtres semblables aux paramtres rels (odomtrie, mesures des tlmtres), et nous a permis de visualiser les paramtres internes lalgorithme, comme la grille ou lhistogramme polaire.

Les paramtres de lalgorithme ont bien entendu d tre adapts lors de limplmentation sur le robot.

Difficults et pistes d'amlioration


Un des inconvnients majeurs de cet algorithme provient du fait quil ne gre pas les obstacles dynamiques. Si un obstacle, comme une personne par exemple, est prsent pendant un court instant dans le voisinage du robot, il sera ajout dans la grille et il y restera, mme si le chemin est ensuite libr. Il est donc ncessaire dajouter un mcanisme doubli la grille.

Nous avons choisi, pour cela, de multiplier lensemble des coefficients de la grille par une constante lgrement infrieure 1, chaque mise jour des sonars. De cette manire, les obstacles qui ne sont plus prsents dans lespace finissent par disparatre de la grille. Nous avons galement rencontr un problme de stabilit dans cet algorithme. En effet, en cas de dilemme entre deux directions possibles, aucun mcanisme ne permet au robot de choisir entre les deux et de conserver ce choix. Lalgorithme a donc tendance osciller entre les deux directions, ce qui nous conduit une situation de blocage. Pour y remdier, nous avons ajout un mcanisme qui impose au robot, lorsquune direction est fixe, de sy tenir sur au minimum 5 cm. Cette procdure napporte aucune garantie, mais elle permet en pratique dviter la plupart des blocages. Le dernier point sur lequel nous avons travaill concerne la non-ponctualit du robot. En effet, dans larticle qui a inspir notre projet, le robot est suppos ponctuel. Cest une approximation assez grossire, surtout pour un systme dvitement dobstacles qui peut tre amen diriger le robot proximit dautres objets. Pour corriger cette approximation, nous proposons dappliquer la grille dobstacles une dilatation morphologique, avec un lment structurant de taille quivalente celle du robot, avant le calcul de lhistogramme polaire. De cette manire, la grille dobstacles inclut automatiquement une marge de scurit autour des obstacles, pour viter les collisions et permettre des manuvres plus fines.

Rsultats
Nous avons test notre implmentation sur le robot rel dans diverses conditions, avec plusieurs natures dobstacles. Le comportement obtenu est assez satisfaisant, puisque, pendant toute la dure des tests, le robot nest entr en collision avec aucun obstacle. Dans les cas simples (un unique obstacle de taille assez rduite et autres possibilits de directions dgages), il a russi contourner lobstacle et reprendre sa trajectoire initiale. Lorsque la situation est plus complique, on obtient un blocage, car notre algorithme na quune vision trs locale du but atteindre, contrairement la mthode de SLAM qui a une vision plus globale. Il faudrait donc crer une interface plus complexe avec le SLAM, de manire pouvoir planifier une nouvelle trajectoire en cas de blocage total.

Conclusion
Ce projet illustre bien la complexit de larchitecture qui doit tre mise en place pour llaboration dun robot, avec des comportements de haut niveau, comme le SLAM ou la planification, qui demandent une vue globale du problme, des comportements de bas niveau, comme lvitement dobstacles, qui, pour des raisons de scurit, doivent directement interfacer les capteurs avec les commandes, et des besoins dinterfaces entre les diffrents niveaux.

[1] J. Borenstein and Y. Koren. The vector field histogram - fast obstacle avoidance for mobile robots. IEEE Journal of Robotics and Automation, 7 :278288, 1991.

Вам также может понравиться