• Nenhum resultado encontrado

Controlo da direc¸ c˜ ao de navega¸ c˜ ao, φ

3.2 Controlo de Robˆ os Aut´ onomos

3.2.1 Controlo da direc¸ c˜ ao de navega¸ c˜ ao, φ

O controlo da direc¸c˜ao de navega¸c˜ao do robˆo ´e feito atrav´es de uma s´erie temporal de valores da direc¸c˜ao de navega¸c˜ao, φ(t), gerados pelo seguinte sistema dinˆamico

dt = f (φ) = fobs(φ) + falvo(φ) (3.6) A fun¸c˜ao f (φ(t), parˆametros) define um campo vectorial, i.e., a cada estado ´e atribu´ıdo um vector f (φ) (Bicho e Sch¨oner, 1997). Este campo vectorial ´e constru´ıdo atrav´es de um determinado n´umero de for¸cas aditivas, onde cada uma especifica um valor para a direc¸c˜ao de navega¸c˜ao podendo ser desejado ou indesejado. Cada uma destas for¸cas ´e caracterizada pelo valor que ´e especificado para a direc¸c˜ao de navega¸c˜ao, pela intensidade de atrac¸c˜ao ou repuls˜ao, e pela gama de valores da direc¸c˜ao de navega¸c˜ao sobre os quais a for¸ca exerce o seu efeito.

Para atrair o sistema para o valor desejado, que corresponde `a direc¸c˜ao em que se encontra o alvo, ψalvo, ´e atribu´ıda uma for¸ca atractiva, falvo, enquanto que para evitar

que o sistema tome um valor indesejado, que corresponde `a direc¸c˜ao em que se situa o obst´aculo, ψobs, ´e utilizada uma for¸ca repulsiva, fobs. Da sobreposi¸c˜ao destas for¸cas ´e

obtido um atractor na dinˆamica resultante. Na figura 3.4 podemos observar a dinˆamica resultante (em baixo) da adi¸c˜ao de uma for¸ca atractiva (em cima) e de uma for¸ca repulsiva (no meio). A for¸ca atractiva especifica um atractor na direc¸c˜ao ψalvo, enquanto

que a for¸ca repulsiva especifica um repulsor em ψobs. Da adi¸c˜ao destas duas for¸cas 2Para mais informa¸oes sobre o tipo de bifurca¸oes que podem ocorrer consultar, por exemplo,

ψalvo π/2 π 3π/2 2π dφ/dt φ Atractor ψobs π/2 π 3π/2 2π dφ/dt φ Repulsor π/2 π 3π/2 2π π/2 π 3π/2 2π dφ/dt φ Atractor Resultante

Figura 3.4: Dinˆamica obtida na situa¸c˜ao apresentada na figura 3.1. A for¸ca atractiva especifica um atractor na direc¸c˜ao ψalvo(em cima) e a for¸ca repulsiva especifica um repulsor na direc¸c˜ao ψobs(no meio). A dinˆamica resultante (em baixo) da sobreposi¸c˜ao destas for¸cas especifica um atractor.

3.2. CONTROLO DE ROB ˆOS AUT ´ONOMOS 47 emerge um atractor. No entanto, dependendo da contribui¸c˜ao das for¸cas repulsiva e atractiva, podem surgir mais do que um atractor. Nestes casos cada atractor especifica uma direc¸c˜ao desejada/poss´ıvel para o robˆo. A decis˜ao sobre qual das direc¸c˜oes a tomar depende da bacia de atrac¸c˜ao onde se encontra a direc¸c˜ao de navega¸c˜ao. Estas situa¸c˜oes ser˜ao vista em pormenor no Cap´ıtulo 6.

Evitar colis˜ao com obst´aculos

Considere-se um robˆo dotado de n sensores de distˆancia3, montados num anel centrado no eixo de rota¸c˜ao do robˆo, numa direc¸c˜ao fixa θi, relativamente `a direc¸c˜ao frontal

do robˆo, φ. Desta forma, no referencial externo fixo, cada sensor aponta na direc¸c˜ao4 ψi = φ + θi, sendo φ a direc¸c˜ao de navega¸c˜ao nesse referencial externo (Figura 3.5).

θ1θ2 θ3 θ4 θ5 ψ5 θ6 ψ6 θ7 φ Obstáculo Sensores

Figura 3.5: Robˆo dotado de 7 sensores de distˆancia onde cada um deles est´a montado numa direc¸c˜ao, θi (i = 1, . . . , 7), relativamente `a direc¸c˜ao frontal do robˆo, φ. Cada sensor especifica um obst´aculo virtual, na direc¸c˜ao ψi= φ + θi, no referencial externo.

Assuma-se que cada sensor i (i = 1, . . . , n) especifica um obst´aculo virtual, localizado na direc¸c˜ao ψi, se ´e detectada uma obstru¸c˜ao nessa direc¸c˜ao. A for¸ca repulsiva devida

a cada obst´aculo aponta na direc¸c˜ao em que o sensor aponta, e ´e dada por

fobs,i(φ) = λi(φ − ψi) exp  −(φ − ψi) 2 2σ2 i  (3.7)

3Neste trabalho ´e considerado um robˆo dotado de 7 sensores (Cap´ıtulo 5). 4Para simplifica¸ao de nota¸ao, ψ

idenota ψobs,i, que designa a direc¸c˜ao, no referencial externo, na qual aponta o sensor i, com (i = 1, . . . , 7).

Visto que a direc¸c˜ao φ − ψi = −θi ´e fixa e conhecida, ´e irrelevante a calibra¸c˜ao do

sistema em rela¸c˜ao ao referencial externo. A magnitude desta for¸ca de repuls˜ao, λi,

exercida pelo obst´aculo virtual na direc¸c˜ao ψi ´e

λi= β1exp  −di β2  (3.8)

onde β1 controla a magnitude m´axima de repuls˜ao, β2 a sua taxa de decaimento com

o aumento da distˆancia, e di, a distˆancia medida pelo sensor i. A figura 3.6 ilustra

a influˆencia de β1, β2 e di na magnitude de repuls˜ao λi. Note-se que a magnitude

de repuls˜ao decresce com o aumento da distˆancia. Quando nenhum obst´aculo estiver dentro do raio de detec¸c˜ao dos sensores, a for¸ca de repuls˜ao por ele exercida ´e nula e n˜ao contribui para a dinˆamica.

β1=20 di λi β2=10 β2=20 β2=20 di λi β1=10 β1=20

Figura 3.6: Influˆencia de β1, β2 e dina magnitude de repuls˜ao λi. A magnitude m´axima de repuls˜ao ´e controlada por β1(`a direita) e β2controla a taxa de decaimento com o aumento da distˆancia, di(`a esquerda).

A gama angular sobre a qual a for¸ca repulsiva exerce o seu efeito ´e controlada por σi, que depende do ˆangulo de sensibilidade dos sensores, ∆θ = fixo, e da distˆancia di.

Assim, σi = arctan  tan ∆θ 2  + Rrobo Rrobo+ di  (3.9) onde Rrobo designa o raio do robˆo. Deste modo, a gama angular sobre a qual a for¸ca

3.2. CONTROLO DE ROB ˆOS AUT ´ONOMOS 49

di

σi

Figura 3.7: Varia¸c˜ao de σicom o aumento da distˆancia, di. A gama angular, σi, sobre a qual a for¸ca repulsiva actua diminui com o aumento da distˆancia, di.

Somadas as contribui¸c˜oes de todos os sensores ´e obtida a dinˆamica comportamental fobs(φ) =

n

X

i=1

fobs,i(φ) (3.10)

Vejamos o que acontece na situa¸c˜ao apresentada na figura 3.5. Nesta podemos observar que dois dos sensores detectam o obst´aculo, criando dois obst´aculos virtuais. As duas for¸cas repulsivas criam um repulsor na direc¸c˜ao em que apontam cada um dos sensores (Figura 3.8), ou seja, em ψ5 e ψ6. Da adi¸c˜ao das contribui¸c˜oes de ambos os sensores,

emerge um repulsor na direc¸c˜ao φ = ψ5+ψ6

2 , pois a distˆancia ´e em ambos os casos igual.

Movimento na direc¸c˜ao do alvo

Assuma-se que as coordenadas do alvo (xalvo, yalvo) s˜ao conhecidas. A direc¸c˜ao, ψalvo,

relativamente ao eixo-x do referencial externo fixo, na qual se situa o alvo em rela¸c˜ao `

a posi¸c˜ao actual do robˆo, ´e dada por

ψalvo= arctan

 yalvo− yrobo

xalvo− xrobo



(3.11)

Como se pretende que a for¸ca atractiva se exer¸ca qualquer que seja a orienta¸c˜ao do robˆo, a gama de valores sobre os quais exerce o seu efeito atractivo ´e o c´ırculo completo. Esta

ψ5π/2 ψ6 π 3π/2 2π dφ/dt

φ

Repulsor Resultante

Figura 3.8: Situa¸c˜ao ilustrada na figura 3.5, onde s˜ao detectadas obstru¸c˜oes nas direc¸c˜oes ψ5 = 5π/12 e ψ6 = 7π/12 a uma distˆancia de 20 cm, onde φ = π/4. As for¸cas repulsivas devidas `a obstru¸c˜ao nas direc¸c˜oes ψ5 e ψ6 (vermelho e verde, respectivamente), resultam numa dinˆamica (azul) cujo repulsor se encontra em π/2.

for¸ca atractiva ´e dada por

falvo(φ) = −λalvosin(φ − ψalvo) (3.12)

onde λalvo especifica a intensidade.

Na figura 3.9 podemos observar uma situa¸c˜ao em que nenhum dos sensores detecta obstru¸c˜oes e na direc¸c˜ao ψalvo = π/3 existe um alvo a 45 cm. Nesta situa¸c˜ao, a

dinˆamica apresenta um atractor (estado assimptoticamente est´avel) na direc¸c˜ao em que o alvo ´e visto em rela¸c˜ao ao referencial externo (Figura 3.10).

Integra¸c˜ao dos dois comportamentos

Atrav´es da soma das contribui¸c˜oes dos obst´aculos e do alvo para o campo vectorial da dinˆamica da direc¸c˜ao de navega¸c˜ao, ´e poss´ıvel integrar os comportamentos movi- mento na direc¸c˜ao do alvo e evitar colis˜ao com obst´aculos. Assim, o sistema dinˆamico resultante ´e dφ dt = n X i=1 fobs,i(φ) + falvo(φ) (3.13)

3.2. CONTROLO DE ROB ˆOS AUT ´ONOMOS 51 θ1 θ2 θ3 θ4 θ5 θ6 θ7 φ ψalvo Alvo

Figura 3.9: Robˆo com direc¸c˜ao de navega¸c˜ao φ = π/4 e alvo na direc¸c˜ao ψalvo = π/3 a uma distˆancia de 45 cm.

ψalvo π/2 π 3π/2 2π

dφ/dt

φ

Atractor

Figura 3.10: Dinˆamica resultante da situa¸c˜ao apresentada na figura 3.9, onde o robˆo tem direc¸c˜ao de navega¸c˜ao φ = π/4 e existe um alvo na direc¸c˜ao ψalvo= π/3 a uma distˆancia de 45 cm.

O sistema obtido ´e n˜ao-linear podendo ter m´ultiplos atractores (estados est´aveis) e repulsores (estados inst´aveis).

Para garantir a prioridade do comportamento evitar colis˜ao com obst´aculos sobre o comportamento movimento na direc¸c˜ao do alvo, h´a que garantir que a magnitude das contribui¸c˜oes dos obst´aculos seja maior que a da contribui¸c˜ao do alvo.

Quando o n´umero e a estabilidade dos pontos fixos da dinˆamica da direc¸c˜ao de navega¸c˜ao se alteram, surgem mudan¸cas qualitativas no comportamento do robˆo. Estas mudan¸cas correspondem a bifurca¸c˜oes do campo vectorial induzidas por varia¸c˜oes na informa¸c˜ao

sensorial `a medida que o robˆo se desloca ou que o ambiente se altera. Para garantir a fuga aos repulsores dentro de um tempo limite, ´e adicionado ao campo vectorial da dinˆamica da direc¸c˜ao de navega¸c˜ao uma for¸ca estoc´astica

fstoch =

p

Qξn (3.14)

Esta for¸ca consiste num ru´ıdo branco Gaussiano, ξn, de varia¸c˜ao unit´aria, pelo que Q

´e a variˆancia efectiva da for¸ca estoc´astica.

Assim, a dinˆamica da direc¸c˜ao de navega¸c˜ao vem

dφ dt =

n

X

i=1

fobs,i(φ) + falvo(φ) + fstoch (3.15)

Na figura 3.11 ´e apresentada uma situa¸c˜ao em que o robˆo, com uma direc¸c˜ao de navega¸c˜ao φ = π/4, detecta o obst´aculo, atrav´es da detec¸c˜ao de obstru¸c˜oes na direc¸c˜ao em que apontam 2 dos seus 7 sensores, mais concretamente, nas direc¸c˜oes ψ5= 5π/12 e

ψ6 = 7π/12, a uma distˆancia de 20 cm. Temos ainda um alvo na direc¸c˜ao ψalvo = π/3.

A dinˆamica resultante consiste na soma das contribui¸c˜oes do obst´aculo (que sendo detectado por 2 sensores consiste em 2 obst´aculos virtuais) e do alvo.

θ1θ2 θ3 θ4 θ5 ψ5 θ6 ψ6 θ7 φ Obstáculo ψalvo Alvo

Figura 3.11: Robˆo dotado de 7 sensores com direc¸c˜ao de navega¸c˜ao φ = π/4, em que s˜ao detectadas obstru¸c˜oes nas direc¸c˜oes ψ5 = 5π/12 e ψ6 = 7π/12 a uma distˆancia de 20 cm e com um alvo na direc¸c˜ao ψalvo= π/3.

Na figura 3.12 podemos observar, a azul, a contribui¸c˜ao devida ao obst´aculo (que consiste na soma das contribui¸c˜oes de cada um dos obst´aculos virtuais), a vermelho,

3.2. CONTROLO DE ROB ˆOS AUT ´ONOMOS 53 a respeitante ao alvo, e a preto, a dinˆamica resultante. Nesta dinˆamica emergem 2 atractores. O sistema ir´a relaxar para o atractor respeitante `a bacia de atrac¸c˜ao em que se situa a direc¸c˜ao de navega¸c˜ao actual. Nesta situa¸c˜ao, o sistema relaxar´a para o atractor `a esquerda na figura, pois φ = π/4.

π/2 π 3π/2 2π

dφ/dt

φ

Atractores Resultantes

Figura 3.12: Dinˆamica resultante da situa¸c˜ao apresentada na figura 3.11. Com uma direc¸c˜ao de navega¸c˜ao φ = π/4, ´e detectado o obst´aculo (detec¸c˜ao de obstru¸c˜oes nas direc¸c˜oes ψ5 = 5π/12 e ψ6= 7π/12) e um alvo na direc¸c˜ao ψalvo= π/3. A azul tem-se a contribui¸c˜ao devida ao obst´aculo (que consiste na soma das contribui¸c˜oes de cada um dos obst´aculos virtuais), a vermelho a contribui¸c˜ao respeitante ao alvo, e a preto, a dinˆamica resultante.