sistema de acompanhamento visual para …sbmac.org.br/dincon/2011/files/articles/099.pdf · sistema...
TRANSCRIPT
SISTEMA DE ACOMPANHAMENTO VISUAL PARA ROBÔS MÓVEIS
Ricardo Figueiredo Machado1, Leonardo Oliveira de Araújo2, Paulo Fernando Ferreira Rosa3, Paulo César Pellanda4
1IME, Rio de Janeiro,Brasil, [email protected], Rio de Janeiro,Brasil, [email protected]
3IME, Rio de Janeiro,Brasil, [email protected], Rio de Janeiro,Brasil, [email protected]
Resumo: Este trabalho apresenta um Sistema de Acompa-nhamento Visual de Alvo por Robô com rodas (SAVAR) paraambientes semi-estruturados, onde dois controladores distin-tos são usados. A configuração do sistema em malha fechadaé realizada sob uma WLAN (Wireless Local Area Network).
Palavras-chave: Aplicações de Engenharia, Robôs móveis,Sistemas embarcados.
1. INTRODUÇÃO
Neste trabalho é proposto um Sistema de Acompanha-mento de Alvo móvel por Robô (SAVAR) para ambientessemi-estruturados capaz de controlar dois graus de liberdadedo robô e de uma câmera de rede embarcada. Como o sis-tema é composto por dois subsistemas com finalidades dis-tintas (figura 1), isto conduz ao uso de dois controladores:um para a plataforma robótica e outro para uma câmera.
A visão do robô, para o cumprimento de suas tarefas, seestende ao campo da visão computacional, sendo parte de umsistema mais complexo. As informações visuais são os sinaisde referêrencia para a malha de controle da câmera e da pos-tura do robô (controle servo visual), [1]. Dentre os trabalhosrecentes que utilizam o plano da imagem para rastreamentovisual, cita-se [2], em que foram aplicadas técnicas de con-trole robusto e um novo conceito, chamado pelo autor de "ja-cobiana dual", para acoplar o controle do modelo do robô edo alvo no plano da imagem.
O uso da tecnologia WLAN e protocolos TCP/IP possi-bilita enlencar perspectivas futuras [3], além de benefíciosconsideráveis ao sistema, tal como a possibilidade de tele-operação e reutilização do sistema, com pouca (ou nenhuma)alteração no hardware do robô e no software embarcado.
2. SISTEMA SAVAR
Na maioria das atividades industriais automatizadas orobô tem conhecimento exato de sua posição, das coordena-
Figura 1 – Sistema SAVAR
das dos objetos e obstáculos, operando assim em ambientesestruturados. Por ambiente estruturado se entende um ambi-ente no qual algumas pré-condições podem ser estabelecidase garantidas, como o piso adequado à sua anatomia e a exis-tência de marcos confiáveis à navegação.
Aonde essas condições iniciais não podem ser total-mente garantidas e respeitadas(ambiente denominado desemi-estruturado), um certo grau de autonomia deve ser dadoao sistema de controle do robô, para que a execução da tarefaseja realizada com segurança. Também é fundamental que aresposta do sistema robótico seja adequada à dinâmica não-linear do meio e à sua interação em tempo real.
387
http://dx.doi.org/10.5540/DINCON.2011.001.1.0099
2.1. Controle da câmera
O objetivo do controlador é alinhar no espaço 3D o eixoótico com o centro do objeto (ξx,y), onde o movimento doobjeto é encarado como uma referência com dinâmica des-conhecida. A estratégia de unir dois paradigmas de controle,o servo controle e o método baseado em aparência, melhorao processo de acompanhamento.
Ao associar as entradas e saídas do sistema com a in-formação visual, relega-se para um plano secundário osaspectos mecânicos e cinemáticos do sistema. Por estasrazões, este trabalho usa o paradigma de regulação paramodelar o sistema de acompanhamento visual do SAVAR,onde o vetor de estado do modelo cinemático da câmera é:s(t) =
[PAN(t) TILT (t) ZOOM(t)
]T, cuja evolução
discreta (τ suficientemente pequeno) é dada por:
s(t0 + τ) ∼= s(t0) + τ s(t0). (1)
Considerando o objetivo do controlador, temos que os ân-gulos PAN (ϕ) → 0 e TILT (ψ) → 0, assim adotamosu(t) = KP ∗ err(t), onde KP é o ganho do controladore err(t) o erro de estado.
A não introdução de um termo integral no controle podetornar o sistema oscilante e na prática sua inserção faz, paraum movimento contínuo do alvo, a planta-câmera responderde forma lenta. Assim, uma realimentação negativa e umtruncamento (via um limiar λ) são introduzidos, evitando-sea oscilação e conseguindo uma resposta rápida, [4]:
δ(err(t), λ) =
{x, se err(t) ≥ λ0, se err(t) < λ
, λ > 0.
Tem-se que para um tamanho S apropriado do alvo, com oeixo ótico de coordenadas Cx e Cy:
S(t) =
K1δ
(‖ξx − Cx‖
f, λ1
)K2δ
(‖ξy − Cy‖
f, λ2
)K3δ
((S
S0− 1
), λ3
)
(2)
O envio de constantes sequências de comandos para acâmera de rede incrementa a taxa de comunicação e oca-siona perda de comandos (fila queue). A solução adotadapara este problema foi estabelecer uma estratégia de time-sharing, agrupando comandos, por exemplo: POST/(PANTILT SPEED) e GET/(PAN TILT SPEED).
2.2. Rastreador Visual
O rastreamento visual visa estabelecer um método de con-trole servo visual da câmera num alvo1 de interesse. Essasinformações também são usadas pelo controlador do robô.
A formulação dessa estratégia é, em parte, baseada em[5]. Considerando ξ = [ξx ξy]
T o vetor de coordenadas docentróide do alvo no plano da imagem e f a distância focal,
1Nos testes de tracking, as coordenadas do centróide, são obtidas pelorastreamento de sua cor (filtros RGB) e de sua Transformada de Hough.Entretanto, outros algorítmos podem ser utilizados.
Figura 2 – Dependencia de ξ do PAN
por uma simples análise do modelo geométrico e do ânguloϕ (veja figura 2), temos que a posição do alvo no plano daimagem é obtida a partir dessas variáveis. As equações se-guintes evidenciam esta relação:
ξx = f tanh(γ − ϕ) (3)
ξx =f(γ − ϕ)
cos2(γ − ϕ). (4)
Assim, o controle apropriado de ϕ, em malha fechada,
ϕ = γ +Kϕξx, para Kϕ > 0, (5)
garante a convergência exponencial de ξx para zero.O termo exógeno γ (feedforward), que surge na relação,
é dependente do movimento relativo instantâneo do alvo erobô. Esse termo, de certo modo, incrementa uma compen-sação para o movimento relativo câmera-robô, estabelece umnível de separação de suas dinâmicas e pode ser numerica-mente calculado por:
γ = ϕ+ arctan(ξxf
) (6)
A partir das grandezas ψ, b e h, apresentadas na figura3(a), a convergência exponencial de ξy para zero pode serobtida de forma análoga à ξx. A distância relativa do alvo éestimada por:
b =h
tanh(ψ)(7)
Pela figura 3(b), temos o erro de apontamento do SAVAR(θerro = θSAV AR + α), onde:
‖ε‖2 = b2 + d2 − 2bd cos(π − ϕ), (8)
e ainda onde, pelo teorema de Carnot, temos que:
α = arcsinb sin(π − ϕ)
‖ε‖(9)
Considerando o deslocamento do alvo (−−−→P1P2) e do robô
(−−−→S1S2), a cada quadro de imagem (figura 4), por uma apro-
ximação backward, a velocidade do alvo em t = t2 é esti-mada por valvo ≈
−−−→P1P2T e para o SAVAR, por Runge-Kutta
de segunda ordem ∆S ≈ v1T cosω1T , ∆y ≈ v1T sinω1T e∆θ ≈ ωT , onde v e ω são, respectivamente sua velocidadelinear e angular.
388
Figura 3 – Posição relativa do alvo - (a) vista lateral e (b) vistasuperior
Figura 4 – Estimativa da velocidade do alvo
2.3. Modelagem do deslocamento do alvo
Definida a posição inicial do robô e após a primeira cap-tura da imagem do alvo e o cálculo de ξ, um observador dis-creto2 prediz a posição absoluta do alvo após um instante τ .A síntese desse observador preditor é realizada supondo queo alvo, no plano da imagem, possui uma aceleração cons-tante. Assim, a transição de estado xk é determinada por:
ξ(k + 1) = ξ(k) + ξ(k)τ +1
2ξ(k)τ2
ξ(k + 1) = ξ(k) + ξ(k)τ
ξ(k + 1) = ξ(k),
que pode ser sintetizada na forma matricial como:
ξx(k + 1)ξy(k + 1)
ξx(k + 1)
ξy(k + 1)
ξx(k + 1)
ξy(k + 1)
=
1 0 τ 0 0, 5τ2 00 1 0 τ 0 0, 5τ2
0 0 1 0 τ 00 0 0 1 0 τ0 0 0 0 1 00 0 0 0 0 1
ξx(k)ξy(k)
ξx(k)
ξy(k)
ξx(k)
ξy(k)
(10)
2O valor do período de amostragem é definido como kτ , representadosimplesmente por k, que deve ser ajustado em aplicações em tempo real.
Note que o vetor de estado consiste de posições, velocidadese acelerações bidimensionais. De forma sintética, tem-se:x(k + 1) = Φx(k). A equação de medida é definida comoz(k) = Hx(k) + v(k), onde Φ representa a matriz de transi-ção de estado, que determina a relação entre o estado atual eo anterior. O ruido v(k) é Guassiano de média nula. A matrizH descreve a relação entre o vetor de medidas z(k) e o vetorde estado, x(k), como segue:
H =
(1 0 0 0 0 00 1 0 0 0 0
)(11)
Dada as incertezas dos dados de entrada (informações deimagem) e o estado de transição de um objeto em movi-mento, a estratégia de utilizar um filtro de Kalman no obser-vador de estado, estimado sobre o plano da imagem, é aquiaplicada.
2.4. Síntese do controlador do robô
Para o cálculo do controlador, que possibilita ao SAVARinterceptar o alvo, consideraram-se as premissas: (a) as velo-cidades e acelerações máximas (lineares e angulares) do robôsão maiores do que a do objeto perseguido e (b) o intervalo detempo T mínimo entre dois comandos é suficientemente pe-queno. Assim, o controle3 do SAVAR é realizado com basena posição e na velocidade do alvo em relação ao robô, [6].
Como os motores que movimentam o robô admitem comoentrada velocidades ou acelerações, optou-se por uma mode-lagem cinemática definida pelas velocidades das rodas direitavR(t) e esquerda vL(t) dadas por:
∆x,y(t) =vR(t) + vL(t)
2(12)
∆θ(t) =vR(t)− vL(t)
L(13)
em que ∆x,y(t) e ∆θ(t) são os valores escalares dos des-locamentos linear e angular do SAVAR e L é a distân-cia entre as rodas. Dessa forma, para o vetor de estadox(t) =
(∆x,y(t) ∆θ(t)
)Te para o sinal de entrada de-
finido pelas velocidades, u(t) =(vR(t) vL(t)
)T, tem-
se a equação de espaço de estado: x(t) = Bu(t) em que:
B =
(0, 5 0, 51/L −1/L
)e ∃B−1.
O objetivo é fazer o SAVAR percorrer a distância definidapor ‖ε‖, figura 3 (b), e simultaneamente se redirecionar parao alvo, segundo o ângulo α. Isso permite estabelecer ‖ε‖como referência - em linha reta - a ser percorrida e α comoo ângulo que o SAVAR deve girar para interceptar o alvo, deforma que o valor do deslocamento linear absoluto só leve orobô ao equilíbrio quando a distância ‖ε‖ = 0.
A partir de um deslocamento inicial ∆x,y(t0), busca-se∆x,y(tf ) = ∆x,y(t0) + ‖ε‖, para algum tf > t0. Por analo-gia, conclui-se que ∆θ(tf ) = ∆θ(t0) + α.
Desta forma, define-se o vetor de referência im-posto ao sistema em malha fechada como: r(t) =(‖ε(t)‖+ x1(t) + e(t) α(t) + x2(t)
)T, em que e(t) é
3Foram adotados os princípios de [5] com uma modelagem simplificada.
389
uma distância acrescida à ‖ε(t)‖, devido ao giro do SAVARocorrer em deslocamento4.
Como os estados são medidos, define-se a lei de controlecomo um ganho de realimentação (negativa), que possibilitaescrever a seguinte equação em malha fechada:
x(t) = B{[
∆x,y(t) + ‖ε‖+ e(t) ∆θ(t) + α(t)]T
−K[∆x,y(t) ∆θ(t)
]T }}⇐⇒x(t) = B(I−K)x(t) + B
[‖ε‖+ e(t) α(t)
]T(14)
alocando os polos em malha fechada segundo um desempe-nho requerido.
Pelas premissas adotadas, conclui-se que a relaçãoα(kT ) > α(kT + T ) é assegurada. Assim sendo, quandoK → ∞, α → 0 e e(t) → 0, podendo-se assim desprezare(t), para k suficientemente grande.
Para valores menores de k, a supressão desta correção im-plica que o robô andaria uma distância menor do que a ideal.Contudo, segundo a premissa (b), se não houver intercepta-ção do alvo devido ao erro de deslocamento linear, a novadistância de referência será ‖ε‖ 6= 0 ⇒ ∆x,y(t) 6= 0 (nadireção corrigida por α). Assim sendo, a variável e(t) temrelevância desprezível na interceptação de trajetória reque-rida. Do exposto, o modelo adotado para descrever o deslo-camento do robô em malha fechada é simples e linear, dadopor:
x(t) = B(I−K)x(t) + B[‖ε‖ α(t)
]TNo caso de d ser suficientemente pequeno, figura 3, pode-seadotar a simplificação (figura 4):
x(t) = B(I−K)x(t) + B[b(t) α(t)
]T3. RESULTADOS EXPERIMENTAIS
A simulação de acompanhamento do alvo foi realizada noMatLab e um software foi desenvolvido em C#. Experimen-tos práticos preliminares com ambos, robô e câmera, validamas modelagens. Os deslocamentos ilustrados na figura 5 sãoparte de algumas dezenas de testes de sucesso observados.Os dados de odometria, tensão da bateria e corrente são ob-tidos em tempo real. Para simulação, o alvo e o robô são po-sicionados, por sorteio, com velocidades máximas limitadas,executando o alvo um movimento com variação na acelera-ção. Os polos do sistema em malha fechada foram alocadosem[−0.8 −8
].
4. CONCLUSÃO
Os resultados obtidos na simulação demonstram que amodelagem, as premissas e as simplificações adotadas sãoadequadas como solução ao problema. O filtro de Kalman
4A trajetória real não é uma reta, mas sim levemente curva, o que implicanuma distância, a ser percorrida, maior do que ‖ε‖.
Figura 5 – Software preliminar do SAVAR
foi capaz de processar corretamente um rastreamento apre-sentando um bom desempenho. O SAVAR foi capaz de ras-trear o alvo teste, realizando uma trajetória de interceptaçãocom um desempenho satisfatório. A rede WLAN se mostrouadequada à realimentação das malhas de controle, em temporeal, considerando os requistos5 envolvidos nesta pesquisa.
AGRADECIMENTOS
Os autores agradecem a Gilberto Figueiredo Machado, daITEG, pela usinagem das partes mecânicas do robô.
Referências
[1]DOI N. Papanikolopoulos and Pradeep Khosla, TakeoKanade, Visual Tracking of a Moving Target by a Ca-mera Mounted on a Robot: A Combination of Controland Vision, IEEE Transactions on Robotics and Auto-mation,page 14-35,February,1993.
[2]DOI Tsai, Chi-Yi and Song, Kai-Ta, Dutoit, Xavier andVan Brussel, Hendrik and Nuttin, Marnix, Robust vi-sual tracking control system of a mobile robot basedon a dual-Jacobian visual interaction model, Robot.Auton. Syst., 2009.
[3]DOI Felser, M., Real-Time Ethernet - Industry Pros- pective, Proceedings of the IEEE,2005.
[4]DOI Dinh, T., Qian Yu and Medioni, G., Real time trac-king using an active pan-tilt-zoom network camera, In-telligent Robots and Systems, IROS 2009-IEEE/RSJInternational Conference on, 2009.
[5]DOI Freda, L., Oriolo, G. . Vision-based interceptionof a moving target with a nonholonomic mobile robot,Robot. Auton. Syst., 55(6): 419-432, 2007.
[6] Figueiredo, R.M. ; ROSA, Paulo F. F. ; CARRILHO,A. ; Felix, D. A. . Um Sistema de AcompanhamentoVisual para Robôs Móveis Semi-autônomos em Am-bientes Semi-estruturados. VI Simpósio Brasileiro deEngenharia Inercial, 2010, Rio de Janeiro.
5Taxa de 15-20 FPS e T=1/25 s.
390