SISTEMA DE ACOMPANHAMENTO VISUAL PARA …sbmac.org.br/dincon/2011/files/articles/099.pdf · SISTEMA...

Post on 19-Sep-2018

218 views 0 download

Transcript of SISTEMA DE ACOMPANHAMENTO VISUAL PARA …sbmac.org.br/dincon/2011/files/articles/099.pdf · SISTEMA...

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, rfm61@hotmail.com2IME, Rio de Janeiro,Brasil, leonardo.araujo@gmail.com

3IME, Rio de Janeiro,Brasil, rpaulo@ime.eb.br4IME, Rio de Janeiro,Brasil, pcpellanda@ieee.org

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