1991). Pode-se ainda reduzir a magnitude do campo repulsivo, no entanto, isto pode levar a que o robˆo colida com os obst´aculos.
2.10.3 Oscila¸c˜oes na presen¸ca de obst´aculos
Koren e Borenstein (1991) consideram que uma das maiores limita¸c˜oes dos m´etodos de campos de potencial ´e a sua tendˆencia para causar um movimento oscilat´orio na presen¸ca de obst´aculos. O ajuste das magnitudes das for¸cas atractivas e repulsivas podem ser uma solu¸c˜ao, que no entanto, se avizinha dif´ıcil.
2.10.4 Oscila¸c˜oes em passagens estreitas
Esta limita¸c˜ao ´e semelhante `a anterior mas, no entanto, ´e mais grave (Koren e Bo- renstein, 1991). Quando o robˆo percorre um corredor estreito, no qual ´e sujeito a for¸cas de lados simultaneamente opostos, apresenta um movimento bastante oscilat´orio. Para tentar minimizar este comportamento oscilat´orio ser˜ao impostas fortes restri¸c˜oes `
as velocidades e acelera¸c˜oes, de modo semelhante ao que foi feito em (Khatib, 1996). Assim,
dv = min(| ˙v|, amax) sign(dv)
dω = min(| ˙ω|, γmax) sign(dω)
v = min(|v(t − dt) + dv|, vmax) sign(v)
ω = min(|ω(t − dt) + dω|, ωmax) sign(ω)
onde amax, γmax, vmaxe ωmaxs˜ao as magnitudes m´aximas das acelera¸c˜oes e velocidades,
lineares e angulares.
2.11
Conclus˜ao
Neste cap´ıtulo foi feita a descri¸c˜ao do m´etodo de campos de potencial introduzido em (Khatib, 1986). Foram ainda analisadas as propostas de altera¸c˜ao ao m´etodo de cam-
pos de potencial para ultrapassar a mais conhecida limita¸c˜ao deste m´etodo: existˆencia de m´ınimo local. Foram ainda vistas outras limita¸c˜oes dos campos de potencial apon- tadas em (Koren e Borenstein, 1991), nomeadamente, a n˜ao passagem entre obst´aculos pr´oximos (mas cuja passagem permite a passagem do robˆo), oscila¸c˜oes na presen¸ca de obst´aculos e em passagens estreitas, e analisadas algumas solu¸c˜oes para as ultrapassar ou minimizar.
Cap´ıtulo 3
Abordagem Baseada em
Atractores M´oveis de Sistemas
Dinˆamicos N˜ao-lineares
Neste cap´ıtulo ser´a descrita a abordagem baseada em atractores m´oveis de sistemas dinˆamicos n˜ao lineares (ou abordagem dinˆamica) para o controlo de robˆos m´oveis. Esta abordagem foi desenvolvida inicialmente como um m´etodo de planeamento (path planning) dentro das representa¸c˜oes do espa¸co de navega¸c˜ao. Em (Sch¨oner e Dose, 1992) e (Engels e Sch¨oner, 1995), ´e referido que as implementa¸c˜oes requeriam extensos c´alculos computacionais nem sempre em ciclo fechado com a aquisi¸c˜ao de informa¸c˜ao sensorial.
Mais tarde, em (Bicho e Sch¨oner, 1997), (Bicho et al., 2000) e (Bicho, 2000), foi mos- trado como esta abordagem pode ser utilizada quando apenas se disp˜oe de informa¸c˜ao local e sem grandes recursos computacionais.
Na primeira sec¸c˜ao do presente cap´ıtulo ser˜ao vistos os princ´ıpios b´asicos desta abor- dagem. Em seguida, ser´a discutido como esta pode ser aplicada ao controlo de robˆos m´oveis utilizando apenas a informa¸c˜ao local por eles recolhida.
3.1
Princ´ıpios B´asicos
As ideias base para o uso de sistemas dinˆamicos para o controlo de um robˆo aut´onomo s˜ao (e.g. (Sch¨oner et al., 1995), (Bicho e Sch¨oner, 1997), (Steinhage, 1998)):
1. o comportamento ´e gerado atribuindo valores, ao longo do tempo, a vari´aveis comportamentais. Estas descrevem, quantificam e representam internamente o estado do sistema. A direc¸c˜ao de navega¸c˜ao, φ (0 ≤ φ ≤ 2π), relativamente a um referencial externo fixo, para a navega¸c˜ao de um robˆo no plano, ´e uma vari´avel comportamental adequada para os comportamentos evitar obst´aculos e movimento na direc¸c˜ao do alvo. A direc¸c˜ao, ψalvo, na qual se situa o alvo relati-
vamente `a posi¸c˜ao actual do robˆo, especifica um valor desejado para a direc¸c˜ao de navega¸c˜ao (Figura 3.1). Por outro lado, as direc¸c˜oes, ψobs,i, onde se situam os
obst´aculos, especificam valores que a direc¸c˜ao de navega¸c˜ao deve evitar. Repare- se que ψalvo e ψobs,i s˜ao independentes entre si, e tamb´em n˜ao s˜ao dependentes
da orienta¸c˜ao de navega¸c˜ao do robˆo, i.e., da orienta¸c˜ao do robˆo.
2. o comportamento ´e gerado atrav´es da atribui¸c˜ao cont´ınua de valores `as vari´aveis comportamentais, valores esses que controlam o movimento do robˆo e s˜ao solu¸c˜oes do sistema dinˆamico.
ψobs
φ Obstáculo
ψalvo
Alvo
Figura 3.1: A direc¸c˜ao de navega¸c˜ao, φ, em rela¸c˜ao a um referencial externo fixo, ´e uma vari´avel comportamental adequada quando se pretende que o robˆo se mova na direc¸c˜ao do alvo evitando obst´aculos.
3.1. PRINC´IPIOS B ´ASICOS 41 A direc¸c˜ao de navega¸c˜ao, φ(t), ´e governada por um sistema dinˆamico cont´ınuo (time- continuous dynamical system), que define a taxa de varia¸c˜ao temporal da direc¸c˜ao de navega¸c˜ao em fun¸c˜ao do seu valor actual,
dφ(t)
dt = f (φ(t), parˆametros) (3.1)
A fun¸c˜ao f (.) define um campo vectorial, i.e., em cada ponto no espa¸co de estados atribui um vector f (φ). Estamos particularmente interessados nos pontos fixos ou solu¸c˜oes de equil´ıbrio de (3.1), i.e, nos pontos onde
dφ(t) dt
φ=φponto fixo = f (φponto fixo) = 0 (3.2)
Portanto, os pontos fixos s˜ao solu¸c˜oes constantes do sistema dinˆamico, ou seja, o sistema n˜ao muda de estado no tempo. No entanto, se o sistema est´a num ponto fixo, tal n˜ao significa que este seja est´avel (Scheinerman, 1996).
Para o caso de um sistema unidimensional, o declive de dφ(t)/dt indica a natureza do ponto fixo. Se o declive ´e positivo, o ponto fixo ´e um repulsor (i.e., estado inst´avel), se ´e negativo, o ponto fixo ´e um atractor (i.e., estado assimptoticamente est´avel).
Nas figuras 3.2 e 3.3 podemos observar a estabilidade dos pontos fixos, nos casos de um sistema dinˆamico linear e n˜ao linear, respectivamente. Em cada uma destas figuras podemos ainda observar (`a esquerda) um sistema dinˆamico cujo declive no ponto fixo ´e negativo, portanto, estamos perante um ponto fixo assimptoticamente est´avel. Dado que o sistema atrai a vari´avel comportamental para valores especificados pelo ponto fixo, este ´e chamado um atractor. Assim sendo, quando se pretende que o robˆo tenha um comportamento movimento na direc¸c˜ao do alvo, onde a direc¸c˜ao segundo a qual o alvo ´e visto especifica uma direc¸c˜ao desejada para a direc¸c˜ao de navega¸c˜ao do robˆo, fazemos essa direc¸c˜ao um atractor utilizando uma for¸ca atractiva com um zero nessa direc¸c˜ao e cujo declive seja negativo. A regi˜ao no espa¸co de estados, na qual todas as condi¸c˜oes iniciais convergem para o atractor, chamada bacia de atrac¸c˜ao, pode ser limitada (Figura 3.3 (`a esquerda)) ou ilimitada (Figura 3.2 (`a esquerda)).
Nas figuras 3.2 e 3.3 podemos ainda observar (`a direita) um sistema dinˆamico cujo declive no ponto fixo ´e positivo. Neste caso, o ponto fixo ´e inst´avel e ´e chamado
dφ/dt φ Atractor φpf dφ/dt φ Repulsor φpf
Figura 3.2: Representa¸c˜ao gr´afica de sistemas dinˆamicos lineares unidimensionais com um ponto fixo, φpf. `A esquerda temos um atractor, pois o declive em φpf ´e negativo, e `a direita temos um repulsor, pois o declive em φpf ´e positivo.
um repulsor, pois repele o sistema deste valor. Para o valor do ponto fixo a taxa de varia¸c˜ao ´e nula mas para uma perturba¸c˜ao arbitrariamente pequena, o sistema diverge deste estado inst´avel definido pelo repulsor. Para o comportamento evitar obst´aculos podemos modelar os obst´aculos construindo for¸cas repulsivas nas direc¸c˜oes segundo as quais os obst´aculos s˜ao vistos, prevenindo assim que a direc¸c˜ao de navega¸c˜ao tome estes valores. Tal como no caso dos pontos fixos est´aveis, a regi˜ao na qual a for¸ca repulsiva ´e exercida pode ser limitada (Figura 3.3 (`a direita)) ou ilimitada (Figura 3.2 (`a direita)).
dφ/dt φ φpf Atractor dφ/dt φ Repulsor φpf
Figura 3.3: Representa¸c˜ao gr´afica de sistemas dinˆamicos n˜ao lineares com um ponto fixo φpf. `A esquerda observamos um atractor e `a direita um repulsor.
Relativamente a um sistema dinˆamico linear (Figura 3.2) o declive determina a intensi- dade do atractor ou repulsor. No caso do ponto fixo ser um atractor, quanto maior ´e o declive, mais rapidamente o sistema relaxa para o atractor ap´os perturba¸c˜ao. Quanto
3.1. PRINC´IPIOS B ´ASICOS 43 ao repulsor, quanto maior ´e o declive, mais rapidamente o sistema relaxa para longe do repulsor ap´os perturba¸c˜ao. Assim sendo, o declive fornece-nos informa¸c˜ao acerca da estabilidade do sistema nos pontos fixos e a sua intensidade.
Para um sistema linear uni-dimensional φ0(t) = aφ(t) + b, onde a, b ∈ R, a solu¸c˜ao ´e φ(t) = −b a+ e at φ0+ b a onde φ0 = φ(0).
Designando por φpf o ponto fixo do sistema linear, tem-se
φ(t) = φpf + (φ0− φpf) eat
Donde a relaxa¸c˜ao ´e exponencial, podendo ser caracterizada por uma escala de tempo. Supondo que o sistema se encontra num dado instante no ponto φ0, ent˜ao o sistema
evolui no tempo de acordo com a solu¸c˜ao
φ(t) = φpf + (φ0− φpf) e−t/τ
onde τ representa o tempo de relaxa¸c˜ao com que o sistema se aproxima ou afasta do ponto fixo. A relaxa¸c˜ao ser´a mais r´apida quanto menor for τ . Assim sendo, τ pode ser utilizado para caracterizar a estabilidade do sistema nos pontos fixos, podendo ser obtido da seguinte forma
τ = − df (φ) dφ φ=φponto fixo −1 (3.3) Assim,
• se τ > 0, o ponto fixo ´e um atractor; • se τ < 0, o ponto fixo ´e um repulsor;
• se τ = 0, o ponto fixo ´e marginalmente est´avel.
No caso de sistemas dinˆamicos n˜ao lineares uni-dimensionais, quando se pretende de- terminar a estabilidade de pontos fixos hip´erbolicos, i.e., pontos fixos tais que nenhum dos valores pr´oprios n˜ao tem parte real zero (para mais detalhes ver (Perko, 2001)),
podemos recorrer `a lineariza¸c˜ao do sistema numa vizinhan¸ca do ponto fixo1. Assim dado um sistema n˜ao linear
dφ
dt = f (φ) (3.4)
com f n˜ao linear, o estudo da estabilidade dos pontos fixos deste sistema pode ser feita recorrendo ao estudo dos pontos fixos do sistema linear seguinte
dφ dt ≈ dφ dt φ=φpf (φ − φpf) (3.5)
que ´e apenas a expans˜ao em s´erie de Taylor de ordem 1 em torno do ponto fixo. Como ser´a visto na pr´oxima sec¸c˜ao, a dinˆamica comportamental ser´a constru´ıda pela adi¸c˜ao de contribui¸c˜oes individuais, i.e., for¸cas. Cada uma destas for¸cas representa uma restri¸c˜ao no comportamento e modela um comportamento elementar. O sistema resultante ser´a n˜ao linear, j´a que a amplitude destas for¸cas ´e limitada. Tal como j´a foi referido anteriormente, pretendemos que o sistema esteja sempre num, ou muito perto de um, atractor para que desta forma o comportamento seja gerado por solu¸c˜oes atractoras do sistema dinˆamico. Deste modo, podemos utilizar a teoria qualitativa de sistemas dinˆamicos. Como cada for¸ca individual modela um comportamento elementar, a escala temporal de cada comportamento determina a intensidade da sua contribui¸c˜ao para o campo vectorial. Portanto, as hierarquias de escalas de tempo tamb´em determi- nam as hierarquias dos comportamentos. Dado que cada comportamento ´e mais forte quanto menor for o tempo de relaxa¸c˜ao, comportamentos priorit´arios devem ter escalas de tempo menores.
Manter o sistema num atractor, ou muito perto de um, ´e tarefa f´acil quando os atracto- res permanecem est´aticos no tempo. No entanto, quando o robˆo se move no ambiente que o rodeia, os valores desejados ou indesejados para a vari´avel comportamental, as- sim como a sua intensidade, variam. Desta forma, os atractores da dinˆamica resultante variam. Na sec¸c˜ao seguinte ser´a visto como se pode proceder para que o sistema conti- nue a permanecer num ou muito perto de uma solu¸c˜ao atractora do sistema dinˆamico resultante `a medida que esta varia.
1
A estabilidade de pontos fixos n˜ao hiperb´olicos ´e um problema mais dif´ıcil. Um m´etodo que permite determinar a estabilidade de tais pontos ´e o chamado m´etodo de Liapunov . A ideia base deste m´etodo consiste na utiliza¸c˜ao de fun¸c˜oes (chamadas de Liapunov) que se comportam como energia. Para mais detalhes ver (Perko, 2001) ou (Scheinerman, 1996).
3.2. CONTROLO DE ROB ˆOS AUT ´ONOMOS 45 O sistema dinˆamico resultante depende dos parˆametros, deste modo, mudan¸cas nos parˆametros levam a bifurca¸c˜oes na dinˆamica comportamental2. Estas bifurca¸c˜oes cor- respondem a mudan¸cas no n´umero, natureza e estabilidade dos pontos fixos. A teoria de bifurca¸c˜ao pode ajudar-nos a tomar decis˜oes em pontos em que o sistema tenha de mudar de comportamento.