X SBAI – Simpósio Brasileiro de Automação Inteligente
18 a 21 de setembro de 2011
São João del-Rei - MG - Brasil
CONTROLE DE POSIÇÃO APLICADO A UM ROBÔ GUIA COM SISTEMA DE
VISÃO OMNIDIRECIONAL
Milton César Paes Santos∗, Flávio Garcia Pereira†, Raquel Frizera Vassallo∗
∗
†
Universidade Federal do Espı́rito Santo
Vitória – Brasil
Centro Universitário Norte do Espı́rito Santo
São Mateus – Brasil
Emails: [email protected], [email protected], [email protected]
Abstract— This paper presents a nonlinear position controller, applied to a mobile robot, capable of guiding
a person to a certain destination spot. The robot is equipped with an omnidirectional vision system, which is
used for classify and determining the location of objects in the environment. Thus, robots can identify people
who wish to be guided and obtain considerable features such as distance from the robot, the intensity of the pixel
in the images of people and the area occupied by them, to accomplish the desired task of guiding. The method
presented in this paper uses the technique of background subtraction to identify objects in the environment, the
apparent motion of the image to perform visual tracking, and based on polynomials that relate points in the
the image with points in the world, recoverers the three dimensional coordinates of the person. Thus, according
to these coordinates, the robot can make adjustments in the position controller in order to adapt its linear
and angular velocity according to the person’s ability to walk. In order to validate the proposed method, some
experiments were performed and are shown in this paper.
Keywords—
tion
Nonlinear controller guidance, Omnidirectional Vision, Mobile Robots, Robot-Human Interac-
Resumo— Este trabalho apresenta um controlador de posição não linear, aplicado a um robô móvel, capaz
de realizar a condução de uma pessoa a um determinado ponto de destino. O robô é dotado de um sistema de
visão omnidirecional, o qual é utilizado para classificação e determinação da localização dos objetos no ambiente.
Dessa forma, os robôs podem identificar pessoas que desejam ser conduzidas e obter dados relevantes, tais como
distância do robô, intensidade dos pixel das pessoas nas imagens e, também, área ocupada por estas, para
realizar a tarefa de condução desejada. O método apresentado neste trabalho utiliza a técnica de subtração de
fundo para identificar os objetos no ambiente, o movimento aparente da imagem para realizar o rastreamento
visual e, baseado em polinômios que relacionam os pontos na imagem e no mundo, recuperar as coordenadas
tridimensionais da pessoa. Assim, de acordo com essas coordenadas, é possı́vel realizar ajustes no controlador de
posição, a fim de adaptar sua velocidade linear e angular de acordo com a capacidade de locomoção da pessoa.
Para validar o método proposto, foram realizados alguns experimentos que serão mostrados neste artigo.
Keywords—
Controlador de Condução, Visão Omnidirecional, Robôs Móveis, Interação Homem-Robô
1
Introdução
Apesar do crescimento do uso de robôs nas
residências, a maioria dos robôs existentes está
na indústria, cujas principais tarefas são o deslocamento em um ambiente (locomoção) e a movimentação de objetos ao seu redor (manipulação).
Essa distinção por tarefas pode dividir os robôs
em duas categorias: robôs móveis e robôs manipuladores, ainda que exista robôs que executem ambas as funções.
Um robô, independente da categoria, possui
conexões de realimentação (feedback) entre seus
sensores, atuadores e o ambiente, dispensando a
ação do controle humano direto para realizar determinadas tarefas (Takubo et al., 2002). Podendo, também, haver robôs parcial ou totalmente
em cooperação com pessoas (Pereira et al., 2010).
O grau de automatização de um robô pode atingir o nı́vel de aprendizado automático e adaptarse aos problemas momentâneos que podem surgir
durante a execução do seu trabalho.
Em contrapartida, a capacidade de realizar
tarefas e desenvolver novas maneiras para solu-
ISSN: 2175-8905 - Vol. X
cionar eventuais problemas que surgem no decorrer dessas, é uma das habilidades mais fascinantes
do ser humano. Com o avanço da tecnologia nos
últimos anos, o ser humano tem buscado, cada vez
mais, construir sistemas e máquinas capazes de realizar e cooperar em suas tarefas diárias (Pereira
et al., 2009). Os robôs móveis autônomos devem
possuir essa capacidade e, assim, devem ser capazes de analisar o ambiente ao seu redor, analisar as mudanças observadas e, com isso, tomar
decisões ou agir a fim de cumprir seus objetivos
(Júnior, 2002).
Recentemente, as pesquisas em robótica
direcionam-se para aplicações relacionadas ao cotidiano das pessoas, onde é necessário a cooperação dos robôs, com uma ou mais pessoas, com o
propósito de executar tarefas, tais como, conduzir
uma pessoa com dificuldades de se locomover a
um determinado lugar e na indicação de um caminho para recém chegados no ambiente de trabalho. Para que seja possı́vel realizar tais tarefas,
é importante obter a maior quantidade possı́vel
de informação do ambiente no qual o robô está
inserido, a fim de aumentar o número de obser-
432
X SBAI – Simpósio Brasileiro de Automação Inteligente
18 a 21 de setembro de 2011
São João del-Rei - MG - Brasil
vações e análises realizadas pelo mesmo e, assim,
aperfeiçoar sua base de dados para tomada de decisões e um controle autônomo (Júnior, 2001). É
possı́vel obter essas informações por meio de fusão
de dados de diferentes tipos de sensores. Outra
maneira é através da utilização de um único sensor como um sistema de visão computacional, capaz de obter uma imagem com a maior quantidade possı́vel de informação do ambiente. O uso
de um sistema computacional com campo de visão
de 360◦ pode ser selecionado para esse propósito.
Esses sistemas são denominados de visão omnidirecional e são úteis, por exemplo, quando a
tarefa a ser executada pelo robô necessita constantemente de informações visuais da posição de
uma pessoa ou objetos localizados em diferentes
direções.
2
Controlador de Condução
Considerando que na tarefa cooperativa de condução o robô guiará uma pessoa a um determinado
ponto de destino, o objetivo proposto é adaptar
e ajustar as velocidades linear e angular do robô
de acordo com as caracterı́sticas de locomoção da
pessoa, a fim de manter sua velocidade e posição
proporcional à da pessoa seguidora e continuar
navegando até atingir o ponto final desejado. Contudo, vale evidenciar que para realizar os ajustes
nas velocidades é necessário estimar a posição relativa da pessoa ao robô, obtidas pelo processamento das imagens omindirecionais, a posição e a
orientação do robô ao ponto de destino. A Figura
1 demonstra o robô navegando para alcançar o
ponto destino e uma pessoa o seguindo.
Figura 1: O robô navega até o ponto de destino e
uma pessoa o segue.
O modelo cinemático apresentado na Equação
1 descreve, em coordenadas cartesianas, o movimento de um robô móvel, do tipo monociclo, em
seu espaço de trabalho.


 ẋ = v.cos(ϕ)
(1)
ẏ = v.sen(ϕ)


ϕ̇ = ω.
Porém, para desenvolver o controlador de condução final, convém representar a posição do robô
ISSN: 2175-8905 - Vol. X
por meio das coordenadas polares (Secchi, 1998).
Para isso, consideram-se ρ e α, respectivamente,
o erro de posição do veı́culo e o erro de orientação
do mesmo em relação ao referencial inercial <g>.
Isto permite escrever as equações cinemáticas em
coordenadas polares, conforme pode ser visto na
Equação 2.

ρ̇ = −v cos (α)



sen (α)

α̇ = −ω + v
,
(2)
ρ


sen
(α)

 θ̇ = v
ρ
onde v e ω são respectivamente, a velocidade linear e velocidade angular realizada pelo robô durante o trajeto, α expressa o ângulo entre o eixo de
movimento do robô e o vetor de erro de posição ρ,
isto é, o erro angular entre a orientação do robô e a
direção do ponto que se deseja alcançar. Com base
neste sistema, as ações de controle necessárias
para a navegação a um determinado ponto de destino podem ser representadas conforme as ações de
controle expressas pela Equação 3.

 v = kv tanh(ρ) cos(α)
, (3)

sen (α) cos (α)
ω = kω α + kv tanh(ρ)
ρ
com kv > 0 e kw > 0, onde os coeficientes kv
e kω representam, respectivamente, o valor máximo, em módulo, (kv = |vmax |) da máxima velocidade linear que poderá ser aplicada ao robô
e, uma constante de ajuste para a velocidade angular máxima. Os resultados apresentados neste
artigo foram obtidos com uma velocidade linear
máxima de 350 mm/s e uma velocidade angular
máxima de 90 graus/s. Para isso, fez-se kv = 0.35
e kw = 0.45
De acordo com a Figura 1 e com controlador
apresentado pela Equação 3, será proposto um
controlador de condução que de acordo com a
distância d do robô a pessoa guiada assume as
seguintes ações de controle (Santos, 2010)

 v = δ(d)kv tanh(ρ) cos(α)
,

ω = kω α + δ(d)kv tanh(ρ)
sen
(α)
cos
(α)
ρ
(4)
com kv > 0 e kw > 0, e δ(d) é uma função que atua
no controlador de posição, como um saturador da
velocidade. Esta apresenta-se em função da distância do robô da pessoa guiada. Dessa forma,
δ(d) é representada por
δ(d) =
1 − tanh(λ(d − dm))
≥0
2
(5)
onde dm é a distância média que a pessoa se encontra e λ é uma constante que influencia na saturação da tangente hiperbólica. A Figura 2 mostra
a curva de δ(d) para determinados valores de λ.
433
X SBAI – Simpósio Brasileiro de Automação Inteligente
18 a 21 de setembro de 2011
São João del-Rei - MG - Brasil
(a)
Figura 2: Curvas das equações de δ
2.1
Análise de Estabilidade
Para o controlador não linear proposto, a seguinte
função candidata de Lyapunov é considerada
V (ρ, α) =
1 2 1 2
ρ + α ,
2
2
(6)
a qual é definida positiva e possui derivada temporal dada por
V̇ (ρ, α) = ρρ̇ + αα̇.
(7)
Substituindo os valores de ρ̇ e α̇ de 2 em 7, tem-se
que
sen (α)
.
V̇ (ρ, α) = −ρv cos (α) + α −ω + v
ρ
(8)
Agora, substituindo as velocidades linear e angular apresentadas em 3 na Equação 8, a derivada
temporal da função candidata de Lyapunov pode
ser reescrita como
como objetivo apresentar, de forma resumida, as
técnicas de processamento de imagens utilizadas
para efetuar tal detecção, além de apresentar o
algoritmo de rastreamento utilizado.
A detecção da pessoa é realizada por meio do
método de subtração de fundo (Lampert et al.,
2005). Dessa forma, utiliza-se as imagens omnidirecionais para a construção do modelo de fundo
e, com isso, a imagem resultante obtida por este
método é processada de forma a gerar uma imagem binária que contenha os contornos dos blobs
das regiões que não pertencem ao modelo de
fundo. Estas regiões provavelmente pertencem à
pessoas que desejam ser conduzidas.
A próxima etapa para a identificação da pessoa é a escolha do blob que melhor corresponde a
um ser humano. Neste trabalho explora-se uma
caracterı́stica importante das imagens omnidirecionais para detectar a pessoa e sua distância do
robô: deformação de um objeto na forma radial,
ou melhor, o objeto que se encontra na vertical
no mundo real aparece de forma radial na imagem (Vassallo, 2004). Portanto, quando a pessoa
encontra-se na imagem, seus pés estão perto do
centro da mesma e, consequentemente, do robô.
Por essa razão, escolheu-se o blob que está mais
próximo do centro da imagem e possui área entre as mı́nimas e máximas determinadas para uma
perna humana. Estes valores de área foram obtidos experimentalmente por forma de medições em
diferentes condições. A Figura 3 apresenta um exemplo de detecção de um humano.
V̇ (ρ, α) = −δ(d)kv ρ tanh ρ cos2 (α) − kω α2 . (9)
Assim, a função derivada temporal da candidata de Lyapunov apresentada na Equação 7 possui derivada definida negativa, o que indica que os
erros do sistema, isto é, ρ̇ e α̇ → 0 quando t → ∞,
comprova, dessa maneira, a estabilidade do controlador proposto. Para o controle de posição final, é necessário escolher os valores máximos das
velocidades linear e angular calculadas pelo controlador.
3
Sistema de Visão e Detecção de
Pessoas
O controlador de condução apresentado na Seção
2 possui 3 variáveis que determinam suas ações de
controle. Uma destas é a distância que a pessoa
se encontra do robô; a qual será obtida a partir do
processamento das imagens fornecidas por um sistema de visão omnidirecional, as quais fornecem
um campo de visão de 360◦ na horizontal, montado sobre o robô. Nesse contexto, esta seção tem
ISSN: 2175-8905 - Vol. X
Figura 3: Detecção de um humano em uma imagem omnidirecional.
Ainda vale ressaltar que, se essas caracterı́sticas coincidem com as de um ser humano, o robô
aguarda, por 3 segundos, o blob permanecer na
mesma posição. Ao concretizar este passo, ele inicia o movimento ao ponto de destino e suas velocidades são estimadas de acordo com o controlador
apresentado na Seção 2. É válido informar que
a pessoa encontra-se na parte inferior da imagem
adquirida pelo sistema de visão, sendo, a princı́pio, desnecessário o processamento da região superior da imagem para aquisição de informações a
respeito dela. Assim, aplica-se uma máscara nas
imagens para evidenciar a área de interesse. A
434
X SBAI – Simpósio Brasileiro de Automação Inteligente
18 a 21 de setembro de 2011
São João del-Rei - MG - Brasil
Figura 4 apresenta a imagem original (a) e o resultado da aplicação da máscara (b).
(a)
torna-se ineficiente em situações em que há mudanças no modelo de fundo. De posse desta
posição, e baseado nos polinômios que relacionam
os pontos na imagem e no mundo, as coordenadas
tridimensionais da pessoa são recuperadas e, juntamente, com as informações obtidas pelos encoders do robô é possı́vel traçar o caminho feito
pela pessoa durante a condução.
4
(b)
Figura 4: Imagem original (a) e o resultado de
aplicação da máscara (b).
Realizada a detecção da pessoa com a subtração de fundo é necessário converter a distância
entre o robô e a pessoa no espaço da imagem para
o mundo real. Com o intuito de aprimorar essa
conversão, a região de interesse da imagem foi divida em 5 setores de 36◦ e, para cada um, foi estimado uma função polinomial (Gava, 2007) para
a conversão de pixel para metros, como determinado. A Figura 5 demonstra os setores divididos e
a Figura 6 representa um exemplo dos erros obtidos na conversão dos dados do Setor 2.
Resultados Experimentais
De acordo com a teoria apresentada na Seção 2, os
experimentos a seguir têm como principal objetivo
demonstrar a convergência das variáveis de estado
e assegurar a funcionalidade dos controladores implementados. O robô móvel utilizado nos experimentos foi Pioneer 2-DX, dotado de um sistema
de visão omnidirecional para calcular a distância
da pessoa.
4.1
Experimento 1
Neste experimento, o robô foi posto para detectar
uma pessoa e guiá-la ao destino de 6 m à sua
frente e 4 m à sua esquerda. Dessa forma, podese visualizar os resultados obtidos nesta tarefa nas
seguintes Figuras 7 e 8.
Figura 5: Exemplo de conversão da função polinomial.
(a)
(b)
(c)
Figura 7: Posição no mundo real (a), deslocamento em x (b) e deslocamento em y (c).
(a)
Figura 6: Erros obtidos na conversão no Setor 2.
Durante o trajeto do robô, a posição da pessoa na imagem é estimada utilizando o algoritmo
de rastreamento visual proposto por (Lucas and
Kanade, 1981). Já que a subtração de fundo
ISSN: 2175-8905 - Vol. X
Na Figura 7 (a) observa-se que o trajeto executado pela pessoa é diferente do caminho executado pelo robô. Isso ocorre devido ao fato do
robô orientar a pessoa sem uma formação prédefinida, semelhante ao comportamento humano
quando deseja-se conduzir alguém a um determinado lugar.
435
X SBAI – Simpósio Brasileiro de Automação Inteligente
18 a 21 de setembro de 2011
São João del-Rei - MG - Brasil
(a)
(b)
(a)
(c)
(d)
Figura 8: Distância entre o robô e a pessoa (a),
velocidade angular (b), velocidade linear do robô
(c) e distância do destino (d).
De acordo com as Figuras 8 (a) e (c), nota-se
que a medida que há o distanciamento do robô, a
velocidade linear do robô diminui e, consequentemente, não há alteração significativa no erro de
posição do robô, conforme mostrado na Figura 8
(d). Em vista disso, é possı́vel interpretar que o
robô “aguarda” a aproximação da pessoa para continuar o trajeto. Outro fato interessante que deve
ser extraı́do da Figura 8 (d) é o erro de posição
tendendo a zero, demonstrando que o robô atinge
o ponto de destino.
4.2
Experimento 2
Neste experimento o robô deve guiar uma pessoa
até o destino de 5 m à sua frente, cuja representação é dada por (5 m, 0 m). A trajetória descrita é apresentada pela Figura 9 (a). O robô
atinge, então, a posição final de (4.95 m, 0.0025
m). Sendo assim, pode-se visualizar os resultados
obtidos nesta tarefa nas seguintes Figuras 9 e 10.
Na Figura 9 (a) observa-se que o trajeto executado pela pessoa é semelhante ao caminho percorrido pelo robô. As Figuras 9 (b) e (c) mostram
o comportamento do deslocamento em cada eixo.
As velocidades linear e angular adquirida pelo
robô durante o trajeto são demonstradas, respectivamente, nas Figuras 10 (a) e (b). Da mesma
forma que foi evidenciado no experimento 1, notase neste experimento, que a medida que há afastamento do robô, a velocidade linear do mesmo
decresce. Neste experimento, a velocidade angular do robô, representado na Figura 10 (b), permanece em zero pelo fato do ponto de destino estar
posicionado a direita do robô, de modo que o erro
angular já inicia sendo mı́nimo.
ISSN: 2175-8905 - Vol. X
(b)
(c)
Figura 9: Posição no mundo real (a), deslocamento em x (b) e deslocamento em y (c).
O erro de posição neste experimento é demonstrado na Figura 10 (d), onde é notória deste erro
tendendo a zero no decorrer do tempo, o que significa que a tarefa de condução foi executada.
5
Conclusões e Trabalhos Futuros
Neste trabalho foi abordado uma estratégia de
controle para realizar a tarefa de condução de
uma pessoa, utilizando um robô com sistema de
visão omnidirecional. Foi implementado um controlador não linear para navegação em busca de
um ponto objetivo e, também, para realizar a
condução. Com a aquisição de informações do
ambiente e, principalmente, da pessoa conduzida
através das imagens obtidas do sistema omnidirecional instalado no robô móvel, foi possı́vel guiar a
pessoa durante todo o trajeto, uma vez que a distância entre a pessoa guiada e o robô era fornecida
ao controlador.
O sucesso do controlador implementado pode
ser verificado por meio dos experimentos realizados, nos quais o robô atingiu o objetivo de controle
(navegar em direção a um ponto destino e realizar
a condução até esse ponto).
Para trabalhos futuros pode-se evidenciar alguns exemplos de projetos; realizar um aprendizado do ambiente para que seja possı́vel a condução de pessoas a lugares de interesse, como
a porta de saı́da de um escritório; integrar o
controlador de condução a uma estratégia de
desvio de obstáculos utilizando um sensor laser
(Pereira, 2006) ou sistema de visão omnidirecional
(Franca, 2005); adicionar uma interface de comunicação para proporcionar uma interação en-
436
X SBAI – Simpósio Brasileiro de Automação Inteligente
18 a 21 de setembro de 2011
São João del-Rei - MG - Brasil
First Int’l. Workshop on Camera-Based Document Analysis and Recognition, pp. 79–86.
(a)
(b)
Lucas, B. D. and Kanade, T. (1981). An iterative
image registration technique with an application to stereo vision (ijcai), Proceedings of the
7th International Joint Conference on Artificial Intelligence (IJCAI ’81), pp. 674–679.
Pereira, F. G. (2006). Navegação e desvio de
obstáculos usando um robô móvel dotado de
sensor de varredura laser, Master’s thesis,
Universidade Federal do Espı́rito Santo.
(c)
(d)
Figura 10: Distância entre o robô e a pessoa (a),
velocidade angular (b), velocidade linear do robô
(c) e distância do destino (d).
tre a pessoa e o robô antes que a tarefa de condução inicie, ou seja, após a detecção da pessoa, o
robô pode ”começar” um diálogo, com isso a pessoa pode definir o lugar que deseja ir.
Agradecimentos
Os autores gostariam de agradecer à UFES
(Universidade Federal do Espı́rito Santo) pelos equipamentos fornecidos para a execução do
projeto, à FAPES (projeto 45443211/2009) e
CAPES/MinCyt (projeto 181/10) pelo suporte financeiro.
Referências
Franca, A. S. (2005). Detecção de obstáculos
através de um fluxo óptico padrão obtido
a partir de imagens omnidirecionais, André
Stanzani Franca, Raquel Frizera Vassallo e
Hans Jörg Andreas Schneebeli.
Gava, C. C. (2007). Controle de formacão de
robôs móveis baseado em visão omnidirecional, Master’s thesis, Universidade Federal
do Espı́rito Santo.
Pereira, F. G., de Sá, F. B., Ferreira, D. B. and
Vassallo, R. F. (2010). Cooperação entre
homem e um robô móvel para transporte de
cargas, XVIII Congresso Brasileiro de Automática - CBA 2010.
Pereira, F. G., Schmitz, N., Vassallo, R. F. and
Berns, K. (2009). Cooperação entre homens e
robôs baseada em reconhecimento de gestos,
IX Simpósio Brasileiro de Automação Inteligente - SBAI 2009.
Santos, M. C. P. (2010). Controle de posição aplicado a um robô guia com sistema de visão
omnidirecional, Universidade Federal do Espı́rito Santo, Projeto de Graduação.
Secchi, H. A. (1998). Control de vehı́culos autoguiados con realimentación sensorial, Master’s
thesis, Facultad de Inginerı́a de la Universidad Nacional de San Juan, San Juan - Argentina.
Takubo, T., Arai, H., Hayashibara, Y. and
Tanie, K. (2002). Human-Robot Cooperative Manipulation Using a Virtual Nonholonomic Constraint, The International Journal
of Robotics Research 21(5-6): 541–553.
Vassallo, R. F. (2004). Uso de Mapeamento
Visuomotores com imagens omnidirecionais
para aprendizagem por imitação em Robótica,
PhD thesis, Universidade Federal do Espı́rito
Santo.
Júnior, V. G. (2001). Desenvolvimento de um
sistema de visão omnidirecional, XVI Congresso Brasileiro de Engenharia Mecânica
16th Brazilian Congress of Mechanical Engineering.
Júnior, V. G. (2002). Sistema de visão omnidirecional aplicado no controle de robôs móveis,
Master’s thesis, Escola Politécnica - USP.
Lampert, C. H., Braun, T., Ulges, A., Keysers, D.
and Breuel, T. M. (2005). Oblivious document capture and real-time retrieval, In Proc.
ISSN: 2175-8905 - Vol. X
437
Download

CONTROLE DE POSI¸C˜AO APLICADO A UM ROBˆO GUIA COM