ESTRATÉGIAS PARA NAVEGAÇÃO CAUTELOSA DE CADEIRAS DE RODAS
ROBÓTICAS
Wanderley Cardoso Celeste, Teodiano Freire Bastos Filho, Mário Sarcinelli Filho e Ricardo Carelli*
Departamento de Engenharia Elétrica, Universidade Federal do Espı́rito Santo
Av. Fernando Ferrari, 514, 29075-910, Vitória-ES, BRASIL
*Instituto de Automática, Universidade Nacional de San Juan
Av. San Martı́n Oeste 1109, San Juan, ARGENTINA
Emails: {wanderley, teodiano, mario.sarcinelli}@ele.ufes.br, *[email protected]
Abstract— Strategies for cautious navigation of robotic wheelchairs are presented. They are based on known
navigating environments, which allow to generate paths with low risk of collision. A proposed path-following
algorithm maintains the mobile vehicle near the reference route, minimizing the risk of collision. Although
navigating environments are known, they are not necessarily static. Possible changes can create obstacles to the
vehicle motion. So, an obstacle avoidance method is considered, and a convergence method, also proposed, allow
the mobile vehicle to come back to the reference path after escaping of an obstacle. A supervisory system for
managing the several modules is presented, resulting in a harmonic structure. Simulations and experiments are
also presented, whose results validate the proposed system.
Keywords—
Robotic Wheelchair, Cautious Navigation, Path-Following Control, Obstacle Avoidance.
Resumo— São apresentadas estratégias para navegação cautelosa de cadeiras de rodas robóticas. Os ambientes
de navegação são conhecidos, o que permite a geração de caminhos com baixo risco de colisão. Um algoritmo de
seguimento de caminho é proposto, de modo que o veı́culo é mantido próximo à rota de referência, minimizando
a chance de colisão. Os ambientes, embora conhecidos, não são necessariamente estáticos. Possı́veis variações
podem criar obstáculos à movimentação do veı́culo, de modo que um método para desvio de obstáculos é também
considerado. Uma vez livre do obstáculo, o sistema promove o retorno do veı́culo para o caminho de referência.
Os vários módulos que compõem o sistema de navegação são coordenados por um sistema supervisório também
proposto. Resultados experimentais e de simulação mostram o bom desempenho do sistema.
Keywords— Cadeira de Rodas Robótica, Navegação Cautelosa, Controle de Seguimento de Caminho, Desvio
de Obstáculos.
1
Introdução
Pesquisas recentes realizadas pela OMS (Organização Mundial de Saúde) têm revelado um acelerado aumento do número de pessoas com deficiência em todo o mundo. Com isso, muito temse falado sobre a chamada tecnologia assistiva,
a qual trabalha no sentido de aumentar, ou até
mesmo restaurar a função humana perdida, o que,
em muitos casos, representa um grande desafio do
ponto de vista tecnológico. É o caso, por exemplo, quando se busca devolver a capacidade de ir
e vir a pessoas com deficiência motora severa, as
quais possuem enormes limitações com relação à
realização de atos voluntários, embora gozem de
plena atividade cognitiva.
Pessoas com deficiência motora severa estavam, até alguns anos atrás, fadadas a passar o resto de suas vidas completamente dependentes da ajuda de terceiros. Porém, com o
avanço em técnicas de aquisição e processamento
de sinais biológicos (Eletro-MioGramas, EletroEncefaloGramas, Eletro-OculoGramas, etc.) e o
empenho de grandes centros de pesquisas aplicadas à robótica, tem-se criado uma grande expectativa por soluções que venham a servi-las.
Já são muitos os trabalhos visando o desenvolvimento de Interfaces Homem-Máquina
(Ferreira et al., 2007; Millán et al., 2004) capazes
de permitir que o indivı́duo com deficiência use
Figura 1: Cadeira de rodas para assistência a pessoas com deficiência motora severa.
sua mı́nima capacidade muscular ou sua plena
capacidade cognitiva para comunicar-se com sistemas artificiais inteligentes, tais como cadeiras de
rodas robóticas (Becker, 2000; Mazo et al., 2002).
Em (Ferreira et al., 2007) é apresentado um
sistema composto por uma Interface HomemMáquina (IHM) e por uma cadeira de rodas
robótica (Fig. 1). Com tal sistema, foi possı́vel mostrar que mesmo no pior caso de deficiência motora (quando a pessoa não é capaz de
mover nenhum músculo do corpo e nem mesmo
tem controle sobre o movimento do globo ocular),
é possı́vel permitir que a pessoa com deficiência
movimente-se com o auxı́lio de uma cadeira de rodas robótica, comandada a partir de seus sinais
cerebrais voluntariamente gerados.
Tais avanços serviram de motivação para a realização deste trabalho, cujo objetivo é elaborar e
implementar estratégias de navegação de cadeiras
de rodas robóticas em ambientes semiestruturados, preservando a segurança da pessoa a bordo
que, em geral, possui uma grande limitação em
gerar comandos para tais veı́culos, de modo que
as intervenções de usuário são minimizadas em
troca de um sistema com um nı́vel de autonomia
maior do que o observado em trabalhos relacionados presentes na literatura (Becker, 2000; Mazo
et al., 2002).
Neste contexto, a Seção 2 apresenta uma visão
geral do sistema de navegação proposto, enquanto
que a Seção 3 detalha tal sistema. Resultados que
mostram o bom funcionamento do sistema proposto estão presentes na Seção 4. Por fim, na
Seção 5 são feitas as considerações finais.
2
Visão Geral
O sistema proposto é basicamente constituı́do por
uma parte fı́sica e uma parte lógica, sendo que
a primeira reúne a cadeira de rodas robótica, o
usuário e uma IHM capaz de permitir a interação entre ambos, enquanto que a parte lógica, de
acordo com o próprio nome, contém toda a lógica
necessária para a navegação autônoma do veı́culo.
A Fig. 2 ilustra tal divisão, onde percebe-se
que o sistema de navegação é formado por um sistema de controle e um supervisório. O sistema
de controle pode ser composto por distintos controladores, sendo que cada controlador pode ser
acionado pelo supervisório em um dado momento,
a fim de cumprir uma tarefa.
Entende-se por tarefa como sendo um desejo
do usuário de alcançar uma determinada postura
no ambiente de navegação. Para isto, o usuário
com deficiência motora severa conta com a IHM
mostrada em (Ferreira et al., 2007).
O sistema de navegação, mais especificamente
o supervisório, entende o desejo do usuário como
sendo um comando, o qual é transformado em objetivos de controle para a camada mais baixa do
sistema de navegação, isto é, a camada de controle. Esta, por sua vez, recebe ainda informações
sensoriais que estabelecem a postura do veı́culo no
tempo, sua velocidade e a distância em que se encontram os objetos do ambiente com relação ao
Figura 2: Diagrama de blocos do sistema.
veı́culo móvel. Com base em tais informações e
nos objetivos de controle, o sistema de controle
gera as ações de comando para a cadeira de rodas. Tais ações de comando são baseadas nos estados controlados, os quais são monitorados pela
camada mais alta do sistema de navegação, isto
é, o supervisório, servindo de parâmetros (juntamente com o comando do usuário) para um perfeito chaveamento de controladores.
3
Navegação Cautelosa
Define-se como navegação cautelosa a capacidade
de o veı́culo deslocar-se em um ambiente, correndo o mı́nimo risco de colisão possı́vel. Logo,
são apresentadas estratégias que venham a permitir uma navegação autônoma cautelosa de cadeiras
de rodas robóticas em ambientes conhecidos. Vale
ressaltar que, embora conhecido, o ambiente é não
estático. Isto significa que podem haver variações,
as quais são também consideradas pelo sistema
apresentado nesta seção.
3.1
Ambientes de Navegação
A geração de um caminho cauteloso é baseada em
três informações: o mapa do ambiente de navegação, a posição atual do veı́culo, e um ponto de
destino em tal ambiente. Define-se como mapa de
um ambiente a distinção entre zonas livres e zonas
com obstáculos. A Fig. 3 apresenta o mapa de um
ambiente hipotético descrito em Mapper (Celeste
et al., 2008a), onde os espaços em negro são zonas
ocupadas. Trata-se de uma ferramenta gráfica,
cujo objetivo é permitir uma fácil descrição do ambiente, gerando versões discretizadas em forma de
mapas métricos, que são finalmente armazenados
em arquivo texto.
Na sequência, o mapa passa a ser utilizado
pelo sistema de navegação, onde zonas ocupadas
são dilatadas conforme mostrado na Fig. 4.
Figura 3: Ambiente gerado em Mapper.
Parede repulsiva
Zonas ocupadas
5.0
Origem
Obstáculos
4.0
Y [m]
Zona livre
3.0
Figura 5: Mapeamento de células livres para navegação em uma estrutura de grafos.
2.0
Destino
1.0
Caminho
Dilatação
1.0
2.0
3.0
4.0
X [m}
Figura 4: Mapa discretizado.
Definição 1 Seja M o conjunto das células de
um mapa métrico discretizado, as quais são distribuı́das em CN , CO e CR , que são os subconjuntos formados por células navegáveis, ocupadas
e repulsivas, respectivamente, de tal forma que
CN ∪ CO = M , CN ∩ CO = ∅ e CO ∩ CR = CR .
De acordo com a Definição 1, as zonas ocupadas são formadas pela união entre as zonas com
obstáculo e as zonas dilatadas, enquanto que as
células repulsivas são aquelas que formam a parede
repulsiva (Fig. 4). Assim, o risco de colisão é
definido como segue:
Definição 2

µ
¶
K
1 P

−Ko dist(ni ,rk )
c (ni ) =
e
× 100%
,
K rk =1

c (oj ) = 100%
onde ni ∈ CN , oj ∈ CO , rk ∈ CR , K é o número
de células repulsivas, Ko é uma constante positiva,
e c (·) é o risco de colisão estabelecido para cada
célula do ambiente de navegação.
3.2
Caminhos Cautelosos
A Definição 2 estabelece uma quantização do risco
de colisão para cada pequena região de um ambiente de navegação, permitindo a obtenção de caminhos com menores riscos de colisão. Para isto,
desprezam-se as células oj (cujo risco de colisão
é de 100%), enquanto que as células ni são mapeadas em uma estrutura de grafo, como ilustra
a Fig. 5, sendo c (n) o risco de o veı́culo móvel
colidir, estando ele na n-ésima célula navegável.
Logo, dada duas células ni distintas, as quais
representam um ponto origem e um ponto destino
em um ambiente de navegação, e considerando a
representação de tal ambiente em forma de grafo,
aplica-se o algoritmo de Dijkstra (Tanenbaum,
2003) para obtenção de um caminho que conecta
os dois pontos (Fig. 4). Tal caminho é ótimo no
sentido de que nele o risco de colisão e a distância
percorrida são minimizados.
Os centros geométricos das células que
formam o caminho obtido são interpolados,
utilizando-se o método Spline Cúbica (Knott,
1999). Além disso, trechos não-lineares do caminho interpolado são substituı́dos por curvas de
Bezier (Shao e Zhou, 1996). Por fim, o caminho
é gravado em arquivo e disponibilizado ao sistema
de controle da cadeira de rodas robótica.
3.3
Seguimento de Caminho
Dado um caminho de referência com menor risco
de colisão, deve-se garantir que o veı́culo móvel
permaneça o mais próximo possı́vel dele, a fim
de alcançar o destino através de uma navegação
cautelosa. Logo, o sistema deve contar com um
módulo de controle de seguimento de caminho.
Algumas soluções ao problema são verificadas
na literatura. Aqui propõe-se o que segue (Celeste
et al., 2008b):
Lema 1 Seja o modelo da cinemática de movimento de um veı́culo móvel uniciclo dado por
x̃˙ = c (s) ỹ ṡ − ṡ + v cos ψ̃
ỹ˙ = −c (s) x̃ṡ + vsenψ̃
,
˙
ψ̃ = ω − c (s) ṡ
(1)
onde x̃, ỹ e ψ̃ são os estados do sistema, v e ω são
as velocidades linear e angular do veı́culo móvel,
e c (s) é a curvatura do caminho de referência,
sendo s a abscissa curvilı́nea do caminho. Então,
µ
¶

kx̃


x̃
 ṡ = vcosψ̃ + X̃max tanh
X̃max
³
´ (2)
senψ̃ − senβ

˙

 ψ̃ = β̇ − γ ỹv
− kψ̃ ψ̃ − β
ψ̃ − β
são as leis de controle que estabilizam assintoticamente o sistema, sendo v 6= 0, X̃max ∈ <+ uma
constante de saturação, kx̃ ∈ < e kψ̃ ∈ < ganhos
positivos, e
Γmax
(3)
γ≡
1 + |ỹ|
um ganho variável estritamente positivo, sendo
Γmax ∈ <+ uma constante de saturação.
O Lema 1 (cuja prova é mostrada em detalhes
em (Celeste et al., 2008b)) estabelece que ωref =
˙
ψ̃ + cṡ, enquanto que vref (t) 6= 0 ∀ t.
Figura 7: Desvio Tangencial Modificado.
Figura 6: Ajuste da velocidade linear.
Uma restrição ainda maior é imposta na sequência, a fim de tornar a manobra de seguimento
de caminho ainda mais cautelosa. Consiste em
fazer vref (t) > 0 ∀ t, ou seja, o veı́culo deve sempre andar para frente.
Ao mesmo tempo que o Lema 1 impõe restrições para assegurar a estabilidade do sistema, ele
também dá a liberdade de ajuste automático da
velocidade linear. Assim, propõe-se a lei de ajuste
tanh (Ldist dobst )
´ + Vmin ,
³
cosh Lψ̃ ψ̃
(4)
onde ψ̃ é o erro de orientação, dobst é a distância
entre veı́culo e obstáculo, Vmax ∈ <+ e Vmin ∈
<+ são os limites máximo e mı́nimo da velocidade
linear, e Lψ̃ ∈ <+ e Ldist ∈ <+ são constantes.
A Fig. 6 mostra a velocidade ajustada em
função do erro de orientação e da distância do obstáculo, com Ldist = 1, Lψ̃ = 2, Vmin = 0, 05m/s,
Vmax = 0, 3m/s, dmin = 0m e dmax = 10m.
de modo a fazer com que o veı́culo móvel passe a
seguir o alvo virtual 1 em vez do alvo real obstruı́do, mantendo-se em uma rota tangente ao obstáculo e a uma distância igual a Ly do mesmo. Por
outro lado, quando o veı́culo móvel entra na região
crı́tica (dmin < Ly e d90 < Lx ), o alvo real sofre
uma rotação igual a ϕ − sign (β) π/2, fazendo com
que o veı́culo autônomo siga o alvo virtual 2, tangenciando o obstáculo a uma distância Lx , o que
aumenta a chance de o veı́culo escapar de obstáculos em forma de U (Brandão, 2008).
vref = (Vmax − Vmin )
3.4
Desvio de Obstáculo
Mesmo mantendo-se próximo da rota com menor
risco de colisão, é possı́vel que o veı́culo se depare com um obstáculo não previsto no mapa.
Neste caso, a estratégia de seguir caminho deve
dar lugar a uma estratégia de fuga. Mais uma
vez, verificam-se inúmeras propostas ao problema
na literatura e, novamente, opta-se pela simplicidade e eficiência apresentados pelo método de
Desvio Tangencial Modificado (DTM) apresentado em (Brandão, 2008).
A Fig. 7 ilustra o método, onde Ly define uma
distância crı́tica, enquanto que Lx e Ly definem
uma região crı́tica. A distância dmin representa
a distância mı́nima entre veı́culo móvel e obstáculo, enquanto que d90 é a distância observada
pelo sensor posicionado a 90◦ daquele que detecta
dmin . Assim, quando dmin < Ly , rotaciona-se o
alvo real de um ângulo ϕ, dado por
ϕ = β − α − sign (β)
π
,
2
(5)
3.5
Arcos Convergentes
Ao escapar do obstáculo, o veı́culo móvel deve
iniciar uma manobra de retorno ao caminho de
referência. A Fig. 8 ilustra três estratégias possı́veis, a saber: seguir a reta que leva ao ponto mais
próximo do caminho; seguir a reta que converge
em um ponto predeterminado; seguir um arco que
converge em um ponto predeterminado. Percebese, na figura, que as duas primeiras estratégias
podem conduzir o veı́culo a um local anterior ao
obstáculo, entrando em um ciclo indesejável. Em
contrapartida, tal problema não se verifica no caso
de arcos convergentes, sendo esta a estratégia adotada.
Considera-se a Fig. 9 para estabelecer um
mecanismo de geração de arcos convergentes. O
ponto Probo é a posição do veı́culo móvel no momento em que ele se vê livre do obstáculo, enquanto que Pcam é um ponto do caminho de re-
Figura 8: Retorno ao caminho de referência.
Figura 9: Geração de arcos convergentes.
Figura 10: Sistema supervisório.
ferência que está além do ponto objetivo no momento em que se detecta um obstáculo (o critério
utilizado foi definir pontos a uma distância fixa do
veı́culo robótico). Assim,
Pc1 = (Probo + Pcam ) /2
(6)
r = kProbo − Pcam k/2
(7)
e
são o centro (Pc1 ≡ [x0 , y0 ]) e o raio da circunferência C1.
Observa-se que é necessário gerar apenas um
arco (no caso, uma semicircunferência), cujo sentido de rotação está intimamente ligado ao sentido
em que o veı́culo móvel contorna o obstáculo.
A circunferência C2 (Fig. 9) consiste de uma
extensão ao método anterior. Ela também passa
por Probo e Pcam , porém, seu raio é dado por
r
,
(8)
cos α
onde α ∈ [0, π/2) é uma variável ajustada de
forma empı́rica, com base nas dimensões do
veı́culo e dos obstáculos tı́picos encontrados.
As coordenadas do centro de C2 são
½
X0 = x0 + s (cosγ)
,
(9)
Y0 = y0 + s (senγ)
R=
sendo s = rtanα e γ = β ± π/2 (da Fig. 9).
Sejam z = [r, x0 , y0 ] e Z = [R, X0 , Y0 ] vetores com as caracterı́sticas que definem C1 e C2,
respectivamente. Então, lim Z (α) = z. Além
α→0
disso, a curvatura de C2 é definida como κ2 ≡
1/R. Logo, lim κ2 (α) = 0 (uma reta), conα→π/2
cluindo que é possı́vel gerar circunferências com
curvaturas suaves, independente da distância entre Probo e Pcam .
3.6
Supervisório
O sistema supervisório para coordenação dos módulos de controle consiste de uma máquina composta de oito estados, como mostra a Fig. 10. Os
estados Inı́cio, Seguir caminho e Parar formam
a sequência verificada em uma navegação sem a
presença de obstáculos. Entretanto, na presença
de um, o supervisório entra no estado Esperar,
onde ocorre uma espera cronometrada (alguns segundos). Trata-se de um mecanismo para evitar
fugas devido a obstáculos dinâmicos, tais como
pessoas transitando nas proximidades do veı́culo,
sem criar qualquer impedimento à sua navegação. Neste caso, o supervisório retorna ao estado
Seguir caminho. Caso contrário, ele vai para o estado Aguardar decisão do usuário, onde as opções
de comando desviar pela direita, desviar pela esquerda e ajuda-me! são exibidas ao usuário, sendo
as duas primeiras associadas a uma confirmação
de desvio, enquanto que a última exprime uma
impossibilidade de desvio.
A decisão do usuário leva o supervisório ao
estado Aguardar ajuda ou Escapar de obstáculo.
No primeiro, um sinal sonoro é acionado, servindo
como alerta ou pedido de auxı́lio. A remoção do
obstáculo faz com que o supervisório retorne ao estado Seguir caminho. No estado Escapar de obstáculo, inicia-se a manobra de fuga, passando para
o estado Seguir arco convergente quando o obstáculo é vencido, onde é gerado um arco curvilı́neo que conecta o veı́culo móvel ao caminho de
referência, o qual serve de referência para uma
manobra de seguimento do caminho. Durante tal
manobra, duas coisas podem acontecer: o veı́culo
alcança o caminho de referência original, o que faz
com que o supervisório passe para o estado Seguir
caminho, ou então o veı́culo volta a detectar o obstáculo, o que faz com que o supervisório retorne
ao estado Escapar de obstáculo.
4
Resultados
Os experimentos foram realizados em uma cadeira
de rodas robótica (veja a Fig. 1) e em um am-
Agradecimentos
6
Parede
5
Os autores agradecem à Fundação de Apoio à
Ciência e Tecnologia do Espı́rito Santo (FAPES)
e ao CNPq pelo apoio financeiro, o qual proporcionou a execução deste trabalho.
Fuga
Início
4
Zona de risco
Y [m]
Robô
Obstáculo
3
2
Arcos
convergentes
Convergência
1
Caminho
Referências
Destino
0
0
1
2
X [m]
3
4
5
Figura 11: Navegação cautelosa.
Brandão, A. S. (2008). Controle descentralizado
com desvio de obstáculos para uma formação
lı́der-seguidor de robôs móveis, Dissertação
de mestrado, Universidade Federal do Espı́rito Santo, Vitória, ES, Brasil.
dobst [m]
Retornar
Desviar
Esperar
SC
Parar
Inicio
2 Zona de risco
1
0
[rad/s]
[m/s]
vref
0.2
0.1
0
0.5
0
−0.5
0
v
ωref
ω
1.0
2.0
Tempo [s]
3.0
4.0
Figura 12: Dados de telemetria.
biente tal como o representado na Fig. 11. Uma
caixa retangular foi posicionada muito próxima ao
caminho de referência, tornando-se um obstáculo
para o robô. Os sensores de ultrassom foram calibrados para detectar um obstáculo antes que o
veı́culo alcance a zona de risco. Foi observado que
o veı́culo contorna o obstáculo, mantendo uma distância segura, e, por fim, retorna ao caminho de
referência, seguindo-o até o destino.
A Fig. 12 mostra os estados assumidos pelo
supervisório (SC significa Seguir Caminho e Retornar significa Seguir arco convergente), a distância mı́nima entre veı́culo e objetos do ambiente
dobst , e os comandos de velocidade linear vref e angular ωref , com as respectivas respostas do veı́culo
móvel, isto é, v e ω.
5
Becker, M. (2000). Aplicação de tecnologias assistivas e técnicas de controle em cadeiras de
rodas inteligentes, Master’s thesis, Universidade Estadual de Campinas, Faculdade de
Engenharia Mecância, Departamento de Projeto Mecânico.
Conclusão
Foi proposto e implementado um sistema de navegação, o qual baseia-se em ambientes conhecidos,
permitindo a geração de rotas com baixo risco de
colisão. O sistema conta também com um módulo responsável por escapar de objetos ou pessoas próximos ao caminho, além de um módulo
capaz de permitir o retorno ao caminho de referência. O sistema foi experimentado com sucesso
em uma cadeira de rodas robótica.
Celeste, W. C., Arantes, I. B., Bastos, T. F.,
Sarcinelli, M. e Carelli, R. (2008a). Chaveamento de controladores dinâmicos para navegação de cadeira de rodas robótica em ambientes conhecidos, Anais do XVII Congresso
Brasileiro de Automática 1.
Celeste, W. C., Bastos, T. F., Sarcinelli, M. e
Carelli, R. (2008b). Controle de seguimento
de caminho com sinais de comando limitados
aplicado a robôs móveis uniciclos, Anais do
XVII Congresso Brasileiro de Automática 1.
Ferreira, A., Silva, R. L., Celeste, W. C., BastosFilho, T. F. e Sarcinelli-Filho, M. (2007).
Human-machine interface based on emg and
eeg signals applied to a robotic wheelchair,
Journal of Physics: Conference Series 1.
Knott, G. D. (1999). Interpolating Cubic Splines:
Progress in Computer Science and Applied
Logic, Vol. 1, 1 edn, Birkhäuser Boston, USA.
Mazo, M., Garcia, J. C., Rodriguez, F. J., Lazaro,
J. L. e Espinosa, F. (2002). Experiences in
assisted mobility: the siamo project, Proceedings of the 2002 International Conference
on Control Applications 2: 766–771.
Millán, J., Renkens, F., Mouriño, J. e Gerstner,
W. (2004). Non-invasive brain-actuated control of a mobile robot by human eeg, IEEE
Trans. on Biomedical Engineering 51: 27.
Shao, L. e Zhou, H. (1996). Curve fitting with
bezier cubics, Graphical Models and Image
Processing 58: 223–232.
Tanenbaum, A. S. (2003). Computer Networks,
Vol. 1, 4 edn, Prentice Hall, USA.
Download

estratégias para navegação cautelosa de cadeiras de rodas