sistema de acompanhamento visual para …sbmac.org.br/dincon/2011/files/articles/099.pdf · sistema...

4
SISTEMA DE ACOMPANHAMENTO VISUAL PARA ROBÔS MÓVEIS Ricardo Figueiredo Machado 1 , Leonardo Oliveira de Araújo 2 , Paulo Fernando Ferreira Rosa 3 , Paulo César Pellanda 4 1 IME, Rio de Janeiro,Brasil, [email protected] 2 IME, Rio de Janeiro,Brasil, [email protected] 3 IME, Rio de Janeiro,Brasil, [email protected] 4 IME, Rio de Janeiro,Brasil, [email protected] Resumo: Este trabalho apresenta um Sistema de Acompa- nhamento Visual de Alvo por Robô com rodas (SAVAR) para ambientes 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 ambientes semi-estruturados capaz de controlar dois graus de liberdade do 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, se estende ao campo da visão computacional, sendo parte de um sistema mais complexo. As informações visuais são os sinais de referêrencia para a malha de controle da câmera e da pos- tura do robô (controle servo visual), [1]. Dentre os trabalhos recentes que utilizam o plano da imagem para rastreamento visual, 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ô e do alvo no plano da imagem. O uso da tecnologia WLAN e protocolos TCP/IP possi- bilita enlencar perspectivas futuras [3], além de benefícios considerá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. SISTEMASAVAR Na maioria das atividades industriais automatizadas o robô tem conhecimento exato de sua posição, das coordena- Figura 1 – Sistema SAVAR das dos objetos e obstáculos, operando assim em ambientes estruturados. Por ambiente estruturado se entende um ambi- ente no qual algumas pré-condições podem ser estabelecidas e 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 de semi-estruturado), um certo grau de autonomia deve ser dado ao sistema de controle do robô, para que a execução da tarefa seja realizada com segurança. Também é fundamental que a resposta 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

Upload: vuongkhanh

Post on 19-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEMA DE ACOMPANHAMENTO VISUAL PARA …sbmac.org.br/dincon/2011/files/articles/099.pdf · SISTEMA DE ACOMPANHAMENTO VISUAL PARA ROBÔS MÓVEIS Ricardo Figueiredo Machado1, Leonardo

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

Page 2: SISTEMA DE ACOMPANHAMENTO VISUAL PARA …sbmac.org.br/dincon/2011/files/articles/099.pdf · SISTEMA DE ACOMPANHAMENTO VISUAL PARA ROBÔS MÓVEIS Ricardo Figueiredo Machado1, Leonardo

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

Page 3: SISTEMA DE ACOMPANHAMENTO VISUAL PARA …sbmac.org.br/dincon/2011/files/articles/099.pdf · SISTEMA DE ACOMPANHAMENTO VISUAL PARA ROBÔS MÓVEIS Ricardo Figueiredo Machado1, Leonardo

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

Page 4: SISTEMA DE ACOMPANHAMENTO VISUAL PARA …sbmac.org.br/dincon/2011/files/articles/099.pdf · SISTEMA DE ACOMPANHAMENTO VISUAL PARA ROBÔS MÓVEIS Ricardo Figueiredo Machado1, Leonardo

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