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
dφ
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¸c˜oes sobre o tipo de bifurca¸c˜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¸c˜ao de nota¸c˜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.