Vous êtes sur la page 1sur 10

Courrier du Savoir N09, Mars 2009, pp.

71-80

PLANIFICATEUR DE TRAJECTOIRE AVEC EVITEMENT DOBSTACLE BASE SUR LA METHODE DES CONTRAINTES POUR ROBOT MOBILE
GUESBAYA TAHAR1, BENMAHAMMED.KHIER2 & BENALI.ABDERRAOUF3
2

Laboratoire MSE, Universit de Biskra - Algrie Dpartement dlectronique, Universit de setif - Algrie 3 Laboratoire LVR, ENSIB, Bourges - France

RESUME Dans ce travail nous apportant une contribution la planification locale de trajectoires pour les robots mobiles non-holonomes avec vitement dobstacles qui est bas sur la mthode des contraintes et certaines rgles heuristiques. La mthode pose des contraintes sur les vitesses permises au robot mobile lobligeons sloigner des obstacles. Le robot mobile est dot de capteurs ultrason pour mesurer la distance minimale aux obstacles. La modlisation des obstacles et des capteurs par des formes polygonales convexes facilite lutilisation de procdures de calcul de distance minimales. Les rsultats de simulation ont montr la souplesse avec laquelle le robot mobile atteint la cible en traversant des parcours difficiles.

Mots cls : Robot mobile, non holonome, mthode des contraintes, rgles heuristiques.

INTRODUCTION

Vu le nombre de tches limites quun bras manipulateur peut raliser cest apparu lintrt croissant, dans ces dernires dcennies, aux plates formes mobiles. Les intrts ports la robotique mobile concernent la planification de trajectoires dans des milieux libres ou contenants des obstacles, la modlisation cinmatique et dynamique, les interactions dynamiques entre plate-forme et manipulateurs. Des recherches concernent aussi les diffrentes techniques de commande, la planification de trajectoires locales ou globales. Dans ce travail la planification de trajectoire est locale, elle est ralise pour un robot mobile diffrentiel o les deux roues arrire sont commandes indpendamment et leur diffrence de vitesse agit sur lorientation. Le modle utilis est le modle cinmatique avec considration de la non-holonomie. La gnration de trajectoire dans le cas de parcours libres dobstacles est base sur une loi de commande qui optimise le parcours du robot mobile en ligne droite. Dans le cas de prsence dobstacles la mthode des contraintes [5] est applique. Elle limite lensemble des vitesses que peut prendre le robot empchant la collision avec des obstacles. Si un blocage derrire un obstacle survient, un ensemble de rgles heuristiques est appliqu pour contourner lobstacle en se basant toujours sur la mthode des contraintes. Les obstacles et les capteurs sont

modliss gomtriquement comme des polygones convexes [8], [10], [3], [13] et le calcul de la distance minimale entre eux devient plus facile. 2 MODLISATION CINMATIQUE

Le robot mobile diffrentiel est une plate forme avec deux roues arrire motorises, montes sur le mme axe et commandes indpendamment lune de lautre possdant en plus une roue avant libre. La configuration du robot mobile est indique ci-dessous (figure.1).

Yr

ur Vgauche

Xr

y
2b

.
R

ur Vdroite

2r O x X

Figure 1 : Reprsentation cinmatique du robot mobile

Universit Mohamed Khider Biskra, Algrie, 2009

T. Guesbaya & al. Les hypothses simplificatrices considres pour la modlisation sont : Le contact roue sol est un contact ponctuel. Le roulement de chaque roue seffectue sans glissement. Le systme volue sur un sol horizontal. La configuration du robot mobile est dcrite par cinq coordonns gnraliss : 3

cos( ) & ] = sin( ) &y & [x 0


T

T 0 [v ] 1

(II-8)

MODLISATION DES CAPTEURS

q=[x y g d ].

Le robot mobile est quip de huit capteurs ultrason installs comme indiqus en figure 2.

d : Langle de rotation de la roue droite. g : Langle de rotation de la roue gauche.


Nous pouvons crire pour les deux roues arrires les quations de vitesses suivantes [6],[12]:

r r &) x & cos( ) + y & sin( ) b V gauche = ( x r r & & + ( x sin( ) + y cos( )) yr

(II-1)

r r &) x & cos( ) + y & sin( ) + b V droite = ( x r r & & + ( x sin( ) + y cos( )) yr

(II-2)
Figure 2 : Positionnement des capteurs

Il est vident que les roues ne se dplacent pas selon laxe Yr, donc la composante correspondante pour V gauche et
V droite est nulle.

Alors :
& sin( ) + y & cos( ) = 0 x

La plus part des capteurs ultrason possdent un angle douverture de 26 et un champs de mesure entre 16cm et 10 mtres. Le capteur est dfini par lensemble des paramtres suivants (figure 3): P : Reprsente les coordonnes de la position du capteur en repre li au robot.

(II-3)

Les composantes selon Xr pour V gauche et V droite sont gales respectivement :


& = r &d & cos( ) + y & sin( ) + b x

(II-4) (II-5)

: est langle dmission du capteur par rapport laxe Xr.

& = r &g & cos( ) + y & sin( ) b x

: est langle douverture du capteur.

Ces contraintes cinmatiques peuvent tres rcrite selon la forme matricielle standard suivante :

sin( ) - cos( ) 0 0 0 T & = 0 ; A( q ) = cos( ) sin( ) b - r 0 (II-6) A( q ) .q cos( ) sin( ) - b 0 - r


Dans ce travail on sintresse la forme ordinaire suivante [8] :

Yr

& = S (q )V (t ) et V (t ) = [v (t ) (t )] q
o q = [ x y ]
T

(II-7)

R
Robot

Xr X

O v est la vitesse linaire et la vitesse angulaire du robot mobile autour du point R (origine du repre) alors :

O
Figure 3 : Paramtres du capteur

72

Planificateur de trajectoire avec vitement dobstacle bas sur la mthode des contraintes pour robot mobile En simulation chaque capteur est modlis dune manire gomtrique par deux contraintes linaires du type ( y < ai x + bi ) reprsentant lensemble des points entre les deux droites cest dire appartenant au cne dmission. Donc : Pour i=1,2 ; ( y < ai x + bi ) ou ( ai x + y < bi ) Sous forme matriciel :

Aob X Bob
avec :

(IV-1)

X = [ x y]

Asens X Bsens
avec :

(III-1) 5

-a1ob 1 -a 2 1 Aob = ob , -a 3ob 1 -a 4 ob 1

b1ob b 2 ob Bob = b3ob b 4 ob

(IV-2)

X = [ x y]

CALCULE DE DISTANCE MINIMALE

-a1sens 1 b1sens , , Bsens = Asens = -a 2 sens 1 b 2 sens


4 MODLISATION DES OBSTACLES

(III-2)

Le capteur dtecte la prsence dun obstacle revient dire quil existe au moins un point appartenant son cne dmission de mme appartient au polygone reprsentant lobstacle. Le point le plus proche du capteur cest dire du robot se trouve logiquement sur le contour de lobstacle. La distance entre le point dmission du capteur P( x p ,yp ) et un point quelconque Obs(x, y ) de lobstacle est :

Chaque obstacle est considr ayant une forme gomtrique polygonale convexe. Lobstacle est donc lensemble des points appartenant au polygone modlis par un ensemble de contraintes linaires de type ( y < ai x + bi ) .

d = [( x - xp ) 2 + ( y - yp ) 2 ]1/ 2
Le point le plus proche Obs( x
min

(V-1)

,y

min

) qui donne la

distance minimale d min est obtenu par la minimisation de

d sous les contraintes de lobstacle et du capteur

AX < B.

y = a1 x + b1
y = a 2 x + b2 y = a 3 x + b3 y = a 4 x + b4

avec :

Aob Bob T ,B = , X = [ x y] A= Asens Bsens


Par suite :

(V-2)

d min = [( x min- xp ) 2 + ( y min- yp ) 2 ]1/ 2

(V-3)

O
gomtriques ( y

X
< ai x + bi )

Donc le calcule de distance minimale devient un problme doptimisation dun critre quadratique avec les contraintes gomtriques de lobstacle et du capteur. Loptimisation du critre quadratique dduit de d (formule V-1) est :

Figure 4 : Modlisation de lobstacle par des contraintes

(1/ 2X T GX + F T X )
Un obstacle dans notre cas est de quatre arrtes reprsent par quatre contraintes. Alors chaque obstacle on a : Pour i=1,4 :

(V-4)

2 T X = [ x y] , G = 0

0 , F = [2 xp 2 yp ] 2

( y < ai x + bi ) ou ( ai x + y < bi )
ou sa forme matricielle : 73

Linstruction 'quadprog' de Matlab permet la rsolution du problme de minimisation sous contraintes du type AX B . Ce qui permet de trouver le point minimal x d min ,y dmin ' .

T. Guesbaya & al. 6 LOI DE CONTRLE POUR PARCOURS LIBRE

Si le parcourt devant le robot mobile est considr libre, il doit donc optimiser son chemin pour aller on ligne droite vers la cible, et dune faon stable. Soit qf = [ xf , yf , 0] la position de la cible atteindre
T

et q = [ x , y , ] la position courante du robot mobile.


T

ye = yf y ; et parce que les variables de contrle sont au nombre de deux (v, ) , on


Soit xe = xf x et doit dfinir pour le robot les coordonnes polaires suivants : a et . avec : (a)

a = [ xe2 + ye2 ]1/ 2

1 = atan2( ye, xe)

, - < 1 <

(VI-1)

Y yf Yr a

P( x f , y f )

y R

Xr

(b)

xf

Figure 5 : Reprsentation cinmatique en coordonnes polaires

Les variables de contrle (v, ) doivent assurer la rorientation du robot vers la cible par et sont rapprochement de la cible par v . La loi de contrle suivante [7], [11] est propose :

(c)
Figure 6 : (a),(b),(c):Robot mobile le long de parcourt libre dobstacle

v = k1.a.cos(1)

MTHODE DES CONTRAINTES

= k .1 + k .sin(1) cos( 1)
2 1

(VI-1)

avec

k1 , k 2 sont des constantes .

La mthode est une alternative la mthode de champs de potentiel pour la navigation sans collision de robots manipulateurs dans des environnements encombrs dobstacles [5], [9], [4]. La mthode est adapte aux robots mobiles de sorte que les obstacles exercent dans le plan des vitesses, des contraintes cinmatiques sur le robot. Ces contraintes cinmatiques obligent le robot de rester loign des obstacles pour viter leur collision.

Cette loi de contrle est applique tant quon ne dtecte pas dobstacle, et mne le robot en ligne droite vers la cible.

74

Planificateur de trajectoire avec vitement dobstacle bas sur la mthode des contraintes pour robot mobile Les contraintes entrent en action lorsque le robot sapproche suffisamment des obstacles. Soit : Figure 7 : Polygone des vitesses permises (PVP)

d : distance minimale entre obstacle et robot mobile.


di : distance dinfluence partir de laquelle la contrainte devient active . ds : distance de scurit reprsentant la distance minimale permise entre le robot et lobstacle.
: coefficient dajustement de la vitesse de convergence de d vers ds . La condition danticollision entre le robot et un obstacle est tel que :

REPRSENTATION DES CONTRAINTES DANS LE PLAN DES VITESSES

La contrainte porte sur les vitesses de contrle linaire v et de rotation du robot mobile.

& (d ds ) /(di ds ) d
o t = t0 d = d 0 > ds

(VII-1)

& , lvolution de d est : Par intgration de d


d (t ) ds + (d 0 ds ) exp( (t t0 ) /( di ds)) (VII2) Du fait que

d (t ) > ds pour t > t0 donc lobstacle et le

Figure 8 : Reprsentation des contraintes dans le plan

v,

robot nentrent pas en collision. Lorsque le robot dtecte par ses capteurs un ensembles dobstacles, alors en associe chaque obstacle une contrainte cinma- tique danticollision: Contrainte k :

Daprs le schma indiqu sur la figure 8 on peut crire :

& (d ds ) /(di ds ) d
o

& ( d ds )/ ( di ds ) d k k k k k k

Vp.n < + (d ds ) /(di ds )


(VII-3) Vp : vecteur vitesse du point P. n : vecteur unitaire le long de PQ.

(VIII-1)

En plus on a des contraintes concernant les limitations physiques sur les vitesses :

( v < v max, < max)

: angle que fait PQ avec Xr.


z : vecteur unitaire le long de laxe Zr. avec

(VII-4)

Cet ensemble de contraintes construit un polygone convexe des vitesses permises (PVP) assurant la non collision. Le (PVP) est valu chaque cycle de contrle.

Vp = v.m + .z RP
Soit :

(VIII-2)

(m.n).v + ( RP n).z) < (d ds) /(di ds) (VIII-3)


Les coordonnes des vecteurs n,m,RP par rapport au repre (R, Xr,Yr,Zr) li au robot sont :

n = [ cos( ) sin( ) 0]T m = [1 0 0]T RP = [ xp yp 0]T


alors (VIII-3) scrit:

75

T. Guesbaya & al.

(cos( ).v ) + (xp sin( ) yp cos( )) <

(d ds )
(di ds )
(VIII-4)

Soient: A = cos( )

B = xp sin( ) yp cos( ) C = (d ds ) /(di ds )


Finalement la contrainte (VIII-4) peut tre crite comme suit:

v Av + B < C ou aussi : [ A B] < C


Si on considre n contraintes actives pour n obstacles on aura lquation suivante:

Figure 9: Calcule de u* =dis-min(u,PVP)

AppvV < Cppv


avec :
A1 B1 C 1 v . . . V = ; Appv = . . et Cppv = . . . . An Bn Cn

(VIII-5)

n : nombre des contraintes actives. (a) 9 EVITEMENT DOBSTACLES

Dans le cas o le robot mobile dtecte par ses capteurs la prsence dobstacles, lalgorithme de contrle calcule le couple de valeurs (v*, *) qui permet dviter ces obstacles comme montr en figure 9.

u* = (v*, *) est le point le plus proche de la commande u = (v, ) (cas de parcourt


Ce couple de commande libre, calcul par la formule (VI-1)) et appartenant aussi au polygone des vitesses permises PVP dfinie ce moment par les contraintes en vitesse imposes par les obstacles (formule VIII-5). Le point le plus proche (v*, *) donnant la distance minimale est calcul en utilisant les procdures de Matlab associes la contrainte gnrale AppvV < Cppv .

(b)
Figure 10 : (a),(b) Evitement dun obstacle

Lapplication de u* est valable pour lvitement dobstacles, sauf si ce couple (v*, *) est nul, ce qui provoque le blocage du robot sa position.

76

Planificateur de trajectoire avec vitement dobstacle bas sur la mthode des contraintes pour robot mobile Cet algorithme adopt, est bas sur le polygone des vitesses permises (PVP) et sur des rgles heuristiques. Lalgorithme doit assurer le contournement de lobstacle, droite ou gauche, et dcide de la situation de fin de contournement. Il doit aussi identifier lobstacle contourner par le biais de sa contrainte (passe par lorigine) parmi dautres qui constituent le PVP. A chaque itration de calcule, la contrainte doit tre retrouve pour continuer le contournement de se mme obstacle.

Figure 11 : Evitement de deux obstacles

On montre le long du parcours indiqu en figure 10(a),(b) et la figure 11 que lvitement est ralis par le calcule, chaque itration de commande, de u* permettant de sloigner des obstacles et se dirigeons vers la cible en ligne droite.

Figure 13 : Blocage du robot ( une contrainte) cause de u*=0

Le vecteur u recherch appliquer pour le contournement est lun des sommets udroite ou ugauche de la contrainte suivre ; cela permet de suivre le contour de lobstacle par la gauche ou par la droite [14]. Si lobstacle bloquant se trouve gauche le contournement se fait droite et sil se trouve droite le contournement se fait gauche. Le sens de contournement est gard jusqu' la dcision de fin de contournement.

Figure 12 : Cas o u*=0

Lapplication de la commande u* nest pas valable si elle est nulle, cela provoque le blocage du robot sa position.

10 SITUATION DE BLOCAGE ET RGLES HEURISTIQUES POUR LE CONTOURNEMENT DE LOBSTACLE Le fait que le vecteur de contrle u * sannule dans certaines situations, sans que cela signifie que le robot est en position finale ; cela veut dire que le robot est en situation de blocage, ce qui exige de rsoudre ce problme par un autre algorithme plus appropri que celui appliqu prcdemment.

Figure 14 : Illustration du contournement par la gauche et par la droite

77

T. Guesbaya & al. Si au cours du contournement dun obstacle par la gauche ou par la droite la valeur de la commande devient nulle (u* = O : v* = 0, * = 0) cela indique la prsence dun autre obstacle, donc on bascule vers sa contrainte en gardant toujours le mme sens de contournement droite ou gauche pour avoir un suivi de contour.

(a)

Figure 17 : Illustration du changement dobstacle contourner

(b)
Figure 15 : Contournement dun obstacle par la droite

(a)

(a)

(b)
Figure 18 : (a,b) Contournement de plusieurs obstacles par la droite

(b)
Figure 16 : (a,b) Contournement dun obstacle par la gauche.

78

Planificateur de trajectoire avec vitement dobstacle bas sur la mthode des contraintes pour robot mobile

12 LE ROBOT EN LABYRINTHE Le type des obstacles comme vu prcdemment sont des polygones convexes de quatre arrtes gnrs dune faon volontaire ou alatoire. Un labyrinthe est une succession dobstacles polygonaux convexes juxtaposs. Le labyrinthe donne un bon exemple pour confirmer lefficacit du planificateur.

(a)

Figure 21 : Illustration de la navigation du robot mobile en labyrinthe

(b)
Figure 19 : (a,b) Contournement de plusieurs obstacles par la gauche

La figure 22 et la figure 23 montrent les rsultats de simulation concernant la recherche dune cible via un labyrinthe.

11 DECISION DE FIN DE CONTOURNEMENT La fin de contournement dun obstacle est dtect lorsque le robot mobile se dirige vers la cible avec un angle 0.3rd et pas dobstacles proches ni en face (dtecter par capteur1) ni sur le cot gauche (dtecter par capteur2) ni sur le cot droite (dtecter par capteur3).

Figure 22 : Le robot lextrieur joint la cible l intrieur du labyrinthe

Figure 20 : Dcision de fin de contournement

Figure 23 : Le robot lintrieur joint la cible lextrieur du labyrinthe

79

T. Guesbaya & al. 13 CAS DE CIBLE MOBILE Le mouvement de la cible est identifi par le changement de ses coordonns. Lexigence dans ce cas est que la vitesse de la cible soit plus faible que celle du robot mobile. Les rsultats obtenus par simulation sont montrs en figure 24 et en figure 25. Le robot mobile peut rattraper une cible mobile si sa vitesse est relativement faible. Lensemble des rsultats de simulation montrent que se planificateur local permet de franchir des scnes libres dobstacles, des scnes contenant des obstacles et des labyrinthes.

BIBLIOGRAPHIE
[1] Ching-Long.S and Jane-Yu.L,Computing the Minimum Directed Distances Between Convex polyhedra,Journal of information on science and engineering vol15,pp353-373, 1999. Ellepola.R and Kovesi.P, mobile robot navigation using recursive motion control,IEEE ,pp168-174, 1997. Elmer.G.G, W.Johnson.D and Keerthi.S.S ,A fast procedure for computing the distance between complexes objects in three-dimensional space, IEEE, journal of robotics and automation ,vol.4, no.02,pp193-203, April,1988. Faverjon.B, Hierchical object models for efficientanticollision algorithms, IEEE, pp333-340, 1989. Faverjon.B and Tournassoud.P, 1987, A local based approache for path planning of manipulators with a high number of degrees of freedom ,IEEE , 1987. Paulo.C and Urbano.N, April,Path-following control of mobile robot in presence of uncertainties, IEEE, Transactions on robotics, vol21 .no2,pp252-261,2005. Ramirez.G and Zeghloul.S, A New local path planner for nonholonomic mobile robot navigation in cluttered environments, IEEE, ICRA, san Francisco pp2058-2063, April 2000. Shirong.L, Simon.X.Y and Huidi.Z, Adaptive neurons Based control system design for mobile robot, proceedings of 2004 IEEE/RSJ, ICIRS, sendal Japan, pp2636-2641, September 28- Octobre02, 2004. Tournassoud.P and Jehl.O, Motion planning for a mobile robot with a kinematics constraint, IEEE, pp1785-1790, 1988.

[2] [3]

Figure 24 : Poursuite de cible mobile en environnement libre dobstacles

[4] [5]

[6]

[7]

[8]
Figure 25 : Poursuite de cible mobile en environnement encombr dobstacles

[9]

14 CONCLUSION Dans cet article le planificateur intervient sous trois formes ; le cas o il ny pas des obstacles on utilise une commande qui optimise le parcours pour aller en ligne droite. Dans le cas o il ya des obstacles on utilise la mthode des contraintes pour construire le PVP et on calcul la commande sur un point du PVP qui assure une distance minimale par rapport au point de commande dans le cas de parcours libre. Dans le cas o il ya un blocage du robot derrire un obstacle cause de la valeur nulle de la commande, on utilise le PVP et un ensemble de rgles heuristiques qui permettent de contourner lobstacle en suivi de mur. Le planificateur dcide de la fin du contournement de lobstacle si une condition relative lorientation du robot envers la cible et la non prsence dobstacles proches est vrifie.

[10] Patrick G. X, Fast Swept-Volume distance for Robust Collision Detection, Proceeding of the 1997 IEEE, ICRA, Albuquerque, New Mexico, April 1997. [11] Zhihua Qu, Jing Wang and Clinton.E A New Analytical Solution to Mobile Robot trajectory Generation in the Presence of Moving Obstacles IEEE Transaction on Robotics Vol.20 No.6. Decembr 2004. [12] Yasutaka Umeda and Takahiro Yakoh Configuration and Readhesion Control for Mobile Robot With External Sensors IEEE Transaction on Idustrial Electronics, Vol.49.No.1, February 2002. [13] Ji Yeong Lee and Howie Choset Sensor-Based Exploration for Convex Bodies: A New Raodamp for a convex-Shaped Robot IEEE Transactions on Robotics Vol.21 .No2 April.2005. [14] Maaref.H and Barret.C Sensor-Based Navigation of a Mobile Robot in an Indoor Environment Elsevier, Robotics and Autonomous Systems 38 (2002) 1-8.

80