Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
MINISTÉRIO DA DEFESAEXÉRCITO BRASILEIRO
DEPARTAMENTO DE CIÊNCIA E TECNOLOGIAINSTITUTO MILITAR DE ENGENHARIA
CURSO DE MESTRADO EM ENGENHARIA DE DEFESA
RICARDO FIGUEIREDO MACHADO
UM SISTEMA DE ACOMPANHAMENTO VISUAL PARAROBÔS MÓVEIS SEMI-AUTÔNOMOS EM AMBIENTES
SEMI-ESTRUTURADOS
Rio de Janeiro29 de julho de 2011
INSTITUTO MILITAR DE ENGENHARIA
RICARDO FIGUEIREDO MACHADO
UM SISTEMA DE ACOMPANHAMENTO VISUAL PARAROBÔS MÓVEIS SEMI-AUTÔNOMOS EM AMBIENTES
SEMI-ESTRUTURADOS
Dissertação de Mestrado apresentada ao Curso deMestrado em Engenharia de Defesa do Instituto Militarde Engenharia, como requisito parcial para obtenção dotítulo de Mestre em em Engenharia de Defesa.
Orientador: Prof. Paulo Fernando Ferreira Rosa -Ph.D.
Rio de Janeiro29 de julho de 2011
c29 de julho de 2011
INSTITUTO MILITAR DE ENGENHARIAPraça General Tibúrcio, 80-Praia VermelhaRio de Janeiro-RJ CEP 22290-270
Este exemplar é de propriedade do Instituto Militar de Engenharia, quepoderá incluí-lo em base de dados, armazenar em computador, microfilmarou adotar qualquer forma de arquivamento.
É permitida a menção, reprodução parcial ou integral e a transmissãoentre bibliotecas deste trabalho, sem modificação de seu texto, em qualquermeio que esteja ou venha a ser fixado, para pesquisa acadêmica, comentáriose citações, desde que sem finalidade comercial e que seja feita a referênciabibliográfica completa.
Os conceitos expressos neste trabalho são de responsabilidade do autor edo orientador.
2
XXXXXMachado, R. F.Um sistema de acompanhamento visual para
robôs móveis semi-autônomos em ambientes semi-estruturados/ Ricardo Figueiredo Machado.– Rio de Janeiro: Instituto Militar de Engenharia, 29 dejulho de 2011.
xxx p.: il., tab.
Dissertação (mestrado) – Instituto Militar de Engen-haria – Rio de Janeiro, 29 de julho de 2011.
1. Robôs móveis. 2. Visão computacional. 3. Sistemasembarcados I. Título. II. Instituto Militar de Engen-haria.
CDD 629.892
3
INSTITUTO MILITAR DE ENGENHARIA
RICARDO FIGUEIREDO MACHADO
UM SISTEMA DE ACOMPANHAMENTO VISUAL PARAROBÔS MÓVEIS SEMI-AUTÔNOMOS EM AMBIENTES
SEMI-ESTRUTURADOS
Dissertação de Mestrado apresentada ao Curso de Mestrado em Engen-haria de Defesa do Instituto Militar de Engenharia, como requisito parcialpara obtenção do título de Mestre em em Engenharia de Defesa.
Orientador: Prof. Paulo Fernando Ferreira Rosa - Ph.D.
Aprovada em 29 de Julho de 2011 pela seguinte Banca Examinadora:
Prof. Paulo Fernando Ferreira Rosa - Ph.D. do IME - Presidente
Prof. Paulo César Pellanda - Docteur ENSAE, do IME
Prof. Vitor Ferreira Romano - Dott. Ric., da Universidade Federal do Rio de Janeiro
Rio de Janeiro29 de julho de 2011
4
Dedico esta dissertação à minha minha falecida mãe eao meu pai, sem os quais jamais teria alcançado meusobjetivos de vida.
5
AGRADECIMENTOS
Agradeço a todas as pessoas que contribuíram com o desenvolvimento
desta dissertação de mestrado, tenha sido por meio de críticas, ideias, apoio,
incentivo ou qualquer outra forma de auxílio. Em especial a minha querida
esposa e filhos pela compreensão das centenas de horas de ausência em vir-
tude da dedicação a este trabalho. Ao Prof. Paulo Rosa, meu Orientador,
pelo espaço proporcionado ao desenvolvimento de todo o trabalho e incen-
tivos. Agradeço a Gilberto Figueiredo Machado, meu irmão, pela usinagem
das partes mecânicas do robô, o que tornou possível a sua construção e a
experimentação da presente dissertação. Desejo agradecer, ainda às pessoas
citadas a seguir.
Ao Maj Leonardo, pelo incentivo a realização do mestrado e pela amizade,
ao TC Jorge, velho amigo de ala, por ter aberto portas quando estas se mos-
travam fechadas, ao Cel Cabral, pelo incentivo e motivação transmitidas,
e ao FC João(SE-3) pela amizade e auxílio na montagem eletrônica. Por
fim, a todos os professores e funcionários do Departamento de Engenharia
de Sistemas (SE/8) do Instituto Militar de Engenharia.
Ricardo Figueiredo Machado
6
Por fim... o que se leva são as amizadesconquistadas.
AUTOR
7
SUMÁRIO
LISTA DE ILUSTRAÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
LISTA DE ABREVIATURAS E SÍMBOLOS . . . . . . . . . . . . . . . . . . . . . . 14
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.1 Apresentação do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.2 Justificativa e Contribuição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3 Estrutura da Dissertação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2 REVISÃO BIBLIOGRÁFICA E FUNDAMENTAÇÃO
TEÓRICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1 Robótica Móvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Visão Computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3 Controle Servo Visual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4 Trabalhos Recentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3 CONCEITOS BÁSICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1 Modelagem de um robô móvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2 Processamento visual de imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.3 Determinação de características . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.4 Métodos determinísticos e Otimização . . . . . . . . . . . . . . . . . . . . . . . 56
4 SISTEMA PROPOSTO - VISÃO GERAL . . . . . . . . . . . . . 62
5 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.1 Modelagem e Construção do Robô Móvel . . . . . . . . . . . . . . . . . . . . 67
5.2 Formulação cinemática e dinâmica . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.3 Formulação da dinâmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
8
5.4 Controlador dos motores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.5 Sistemas eletrônicos embarcados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.6 Subsistema de Acompanhamento Visual . . . . . . . . . . . . . . . . . . . . . 79
5.7 Detecção e Rastreamento do Alvo . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.8 Estimador Visual - Lei de controle I . . . . . . . . . . . . . . . . . . . . . . . . 86
5.9 Otimização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.10 Rastreador Visual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.11 Síntese do controlador - Lei de controle II . . . . . . . . . . . . . . . . . . . 105
6 RESULTADOS - EXPERIMENTOS REALIZADOS . . . 109
6.0.1 Rastreamento visual - Resultados Experimentais . . . . . . . . . . . . . 109
6.0.2 Controle baseado na Visão - Resultados experimentais . . . . . . . . 111
6.1 Avaliação geral do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7 CONSIDERAÇÕES FINAIS . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7.1 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7.2 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
8 REFERÊNCIAS BIBLIOGRÁFICAS . . . . . . . . . . . . . . . . 120
9
LISTA DE ILUSTRAÇÕES
FIG.2.1 Representações:(a) Centroide, (b) múltiplos pontos,
(c) patch retangulares, (d) patch elíptica, (e) vários
patches, (f) esqueleto, (g)contorno, (h) silhueta, (i)
pontos de controle (YILMAZ, 2006). . . . . . . . . . . . . . . . . . . . 25
FIG.2.2 Resultados de algorítimos de modelos
do background - Imagens extraídas de
http://sites.google.com/site/thierrybouwmans/recherche—
background-subtraction—survey/mog-survey . . . . . . . . . . . . 28
FIG.2.3 Taxonomia dos métodos de rastreamento. . . . . . . . . . . . . . . . 30
FIG.3.1 Definição da Postura de um WMR. . . . . . . . . . . . . . . . . . . . . . 40
FIG.3.2 Classes básicas de rodas: (a)
fonte:http://www.robot-electronics.co.uk e (b)
fonte: http://www.andymark.biz . . . . . . . . . . . . . . . . . . . . . 40
FIG.3.3 Descrição de uma roda Convencional fixa. . . . . . . . . . . . . . . . 41
FIG.3.4 Descrição de uma roda Convencional orientável cen-
trada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
FIG.3.5 Descrição de uma roda Convencional orientável não
centrada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
FIG.3.6 Descrição das rodas convencionais. . . . . . . . . . . . . . . . . . . . . . 42
FIG.3.7 Descrição das rodas Suecas. . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
FIG.3.8 Centro de Rotação Instantânea - CRI. . . . . . . . . . . . . . . . . . . 46
FIG.3.9 Os cinco tipos de configurações com três rodas (ex-
traída de SIEGWART (2004) . . . . . . . . . . . . . . . . . . . . . . . . . 48
FIG.3.10 Diagrama em blocos de um sistema de processamento
visual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
FIG.3.11 SNR em imagens digitais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
FIG.3.12 Estágios do processo de detecção de padrões por
10
Hough. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
FIG.3.13 Aplicação das técnicas da Transformada de Hough. . . . . . . . 54
FIG.3.14 Fluxo Ótico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
FIG.4.1 Visão geral - Subsistema robô-câmera. . . . . . . . . . . . . . . . . . . 63
FIG.4.2 Visão geral - Subsistema de acompanhamento visual. . . . . . 64
FIG.4.3 Vistas ilustrativas do robô e os sistemas de coorde-
nadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
FIG.5.1 Vista conceitual - Robô SAVAR. . . . . . . . . . . . . . . . . . . . . . . . 67
FIG.5.2 Rodas do robô SAVAR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
FIG.5.3 Diagrama vetorial - Cinemática e Dinâmica do SAVAR . . . . 71
FIG.5.4 Diagrama em blocos do controlador dos motores . . . . . . . . . . 75
FIG.5.5 Subsistemas eletrônicos embarcados e câmera de rede. . . . . 79
FIG.5.6 KLT piramidal - 500 pontos. . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
FIG.5.7 Processo de rastreamento baseado na cor - Fluxo-
grama. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
FIG.5.8 Processo de rastreamento baseado na cor: (a) quadro
capturado, (b) subtração da cor de interesse , (c) es-
cala de cinza , (d) subtração da escala de cinza, (e)
Filtro de média, (f) Binarização e Limiarização, re-
moção de pixeis(g) e rotulação(h). . . . . . . . . . . . . . . . . . . . . . 85
FIG.5.9 Binarização do alvo de interesse e morfologia. . . . . . . . . . . . . 86
FIG.5.10 Rastreamento de um alvo colorido. . . . . . . . . . . . . . . . . . . . . . 86
FIG.5.11 Objetivos do rastreador visual . . . . . . . . . . . . . . . . . . . . . . . . . 88
FIG.5.12 Caso 1: Alvo na ROI, Casos 2 e 3: Alvo fora da ROI. . . . . . 90
FIG.5.13 Controle PTZ - Realimentação. . . . . . . . . . . . . . . . . . . . . . . . . 93
FIG.5.14 Controlador da câmera - Lei de controle I. . . . . . . . . . . . . . . . 96
FIG.5.15 Fluxograma do rastreamento com Filtro de Kalman. . . . . . . 97
FIG.5.16 Vista conceitual - SAVAR e Alvo . . . . . . . . . . . . . . . . . . . . . . . 102
FIG.5.17 Dependência de ξ do PAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
11
FIG.5.18 Posição relativa do alvo - (a) vista lateral e (b) vista
superior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
FIG.5.19 Estimativa da velocidade do alvo . . . . . . . . . . . . . . . . . . . . . . . 105
FIG.5.20 Simulação Simulink - MatLab . . . . . . . . . . . . . . . . . . . . . . . . . . 108
FIG.6.1 Robô SAVAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
FIG.6.2 Experimento em tempo real nr I - movimento horizon-
tal com oclusão total e momentânea do alvo . . . . . . . . . . . . 112
FIG.6.3 Experimento em tempo real nr II - movimento
aleatório do alvo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
FIG.6.4 Experimento em tempo real nr III - movimento circular
do alvo com velocidade constante. . . . . . . . . . . . . . . . . . . . . . 113
FIG.6.5 Experimento em tempo real nr IV - movimento circular
do alvo com velocidade variável. . . . . . . . . . . . . . . . . . . . . . . . 113
FIG.6.6 Software preliminar do SAVAR - I . . . . . . . . . . . . . . . . . . . . . . 114
FIG.6.7 Software versão Final do SAVAR - II . . . . . . . . . . . . . . . . . . . 114
FIG.6.8 Simulação acompanhamento II - deslocamento . . . . . . . . . . . 115
FIG.6.9 Simulação acompanhamento II - velocidade das rodas . . . . . 115
12
LISTA DE TABELAS
TAB.3.1 As constantes características do WMR Tipo (2,0) . . . . . . . . 49
TAB.3.2 Equações Cinemáticas genéricas da postura de um
robô móvel com rodas - extraído de CAMPION (1996) . . . . 49
TAB.5.1 Valores nominais do motor. . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
TAB.5.2 Custo computacional-KLT piramidal. . . . . . . . . . . . . . . . . . . . 82
TAB.5.3 Custo computacional - Subtração de quadros. . . . . . . . . . . . . 86
13
LISTA DE ABREVIATURAS E SÍMBOLOS
ABREVIATURAS
SAVAR - Sistema de Acompanhamento de Alvos por Robô
WLAN - Wireless Local Network
PBCT - Plano Básico de Ciência e Tecnologia
PTZ - Pan, Tilt e ZOOM
WMR - Wheel Mobile Robot
SIFT - Scale Invariant Feature Transform
MOG - Mixture Of Gaussians
KLT - Algoritmo de Kanede-Lucas-Tomasi
2D,3D - Dimensões espaciais
PI - Proporcional Integral
PID - Proporcional, Integral e Diferencial
LQR - Linear Quadratic Regulator
LQG - Linear Quadratic Gasussian
RISC - Reduced Instruction Set Computing
DC,dc - Direct Current
QoS - Quality of Service
CRI - Centro de Rotação Instantanea
SNR - Signal to Noise Ratio
TH - Transformada de Hough
RGB - Red, Green and Blue
FW - Features Windows
SSD - Sum of Squared Differences
Pixel - Picture element
AGWN - Additive Gaussian White Noise
HTTP - Hypertext Transfer Protocol
TCP/IP - Transmission Control Protocol/ Internet Protocol
14
CAD - Computer-Aided Design
PIC - Peripheral Controller
IEC - International Electrotechnical Commission
RTE - Real-Time Ethernet
WPA-PSK - WiFi Protected Access - Pre-Shared Key
TK-IP - Temporal Key - Integrity Protocol
MAC - Media Access Control
ROI - Region of Interest
FPS,fps - Frames per Second
FIFO - First in, First out
MUV - Movimento Uniformemente Variado
IP - Internet Protocol
15
RESUMO
Este trabalho apresenta um Sistema de Acompanhamento Visual de Alvopor Robô com rodas (SAVAR) para ambientes semi-estruturados, capaz decontrolar dois graus de liberdade do robô e de uma câmera de rede embar-cada. Dois controladores são usados, um para a plataforma robótica e outropara a câmera, com o objetivo de permitir a independência de movimentos dacâmera e do robô na execução da tarefa de acompanhamento de alvos.A con-figuração do sistema em malha fechada é realizada sob uma WLAN(WirelessLocal Area Network) com tecnologia padrão 802.11b/g. Nesta abordagem omaior custo computacional é realizado por um computador (host) e algorit-mos de baixo custo computacional embarcados no hardware do robô.
16
ABSTRACT
This paper presents a visual tracking system with a wheeled mobilerobots on a semi-structured environments(Sistema de Acompanhamento Vi-sual de Alvos por Robô - SAVAR), capable of controlling a two degrees offreedom robot and a network camera loaded. Two controllers are used, onefor the robotic platform and another for the camera, in order to allow theindependence of movements for the camera and the robot in performing thetask of tracking. The configuration in the closed loop system is performed un-der a WLAN(Wireless Local Area Network) technology standard 802.11b/g.In this approach, the major computational cost is achieved by a computer(host) and high computability algorithms are embedded in the hardware ofthe robot.
17
1 INTRODUÇÃO
Para muitas espécies vivas a percepção visual desempenha um papel fun-
damental em seu comportamento. A capacidade de coordenação do tipo
mão-olho nos dá a flexibilidade, a destreza e robustez de movimento que
uma máquina ainda não pode executar.
Localizar e identificar objetos estáticos ou em movimento, bem como com-
preender e determinar a forma de lidar com estes, muitas vezes depende
fortemente do nosso sentido visual.
Uma destas importantes capacidades é a de rastrear os objetos, ou seja,
manter um objeto no campo de visão por um período de tempo, utilizando
o nosso sistema oculomotor, como os movimentos da cabeça e do corpo. Os
seres humanos são capazes de fazer isso de forma rápida e confiável, sem
muito esforço.
O ser humano ao rastrear um alvo móvel concentra boa parte da atenção no
objeto de interesse, mas mantém relativa percepção do entorno para detecção
dos objetos móveis e estáticos, quando na sua condução em direção ao alvo.
Além disso, os seres humanos são capazes de aplicar métodos distintos para
rastrear um objeto, navegar e evitar colisões. Assim, é natural esperar que
um sistema artificial cognitivo seja desenvolvido para, até certo ponto, ser
capaz de demonstrar capacidades semelhantes.
Em se tratando de robôs, os aspectos relacionados à visão se referem à sua
capacidade de perceber visualmente o ambiente e com ele interagir.
As tarefas típicas em robótica móvel são as de: navegar em direção a um
determinado local de destino evitando obstáculos; encontrar uma pessoa e
reagir aos seus comandos; detectar; reconhecer; compreender e manipular
objetos. A visão do robô para o cumprimento de suas tarefas se estende ao
campo da visão computacional.
18
Uma diferença fundamental entre a visão computacional e a visão do robô
deve ser observada. A visão computacional tem como finalidade o entendi-
mento de uma cena, podendo ser definida como um conjunto de métodos
e técnicas através dos quais sistemas computacionais podem ser capazes de
interpretar imagens.
Os métodos são então adaptados para aplicações específicas e as pesquisas
focadas nos problemas individuais e nos seus algoritmos. Por outro lado, a
visão do robô foca a perspectiva ao nível do sistema, onde a visão é um dos
vários componentes sensoriais que trabalham de forma conjunta para cumprir
uma tarefa específica.
O objetivo da visão do robô é explorar o poder de detecção visual para
observar e perceber o ambiente e com ele interagir adequadamente, a exemplo
dos seres humanos.
O processamento visual não é uma entidade isolada, mas parte de um sistema
mais complexo. Para uma segura interação com o mundo, os robôs precisam
perceber o ambiente e interpretar o seu contexto para agir apropriadamente.
Com a velocidade crescente do poder de processamento dos computadores e
o progresso dos métodos de visão computacional, capacitar os robôs a ver,
tornou-se uma das principais tendências na área de pesquisa robótica.
Assim, as informações visuais foram incluídas na malha de realimentação
das formulações de controle da postura do robô. Esta estratégia de controle
é atualmente conhecida como controle servo visual (HUTCHINSON, 1996)
(PAPANIKOLOPOULOS, 1993).
Visão tem sido utilizada, por mais de três décadas, em robótica móvel para
navegação em diferentes ambientes e execução de diversas tarefas. Portanto,
a elaboração de sistemas de acompanhamento visual por robôs móveis que
possa lidar com objetos móveis ou estáticos no seu ambiente de trabalho,
assume uma relevante importância para aplicações robóticas civis e militares.
19
1.1 APRESENTAÇÃO DO PROBLEMA
Na maioria das atividades industriais automatizadas o robô tem conheci-
mento exato de sua posição, da posição dos objetos e obstáculos, operando
assim em ambientes completamente estruturados, a exemplo dos robôs in-
dustriais utilizados em linha de montagem.
Por ambiente estruturado entende-se, um ambiente no qual algumas pré-
condições podem ser estabelecidas e garantidas, como o tipo de solo para
navegação, que seja adequado à anatomia do robô e a existência de marcos
confiáveis à navegação entre outros. A aplicação de robôs nesses ambientes
é um problema amplamente estudado na comunidade científica e diversas
soluções foram implementadas com sucesso.
Em ambientes onde estas condições iniciais não podem ser totalmente garan-
tidas e respeitadas i.e, 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 nesses ambientes é fundamental que a resposta do sistema robótico
seja adequada à dinâmica não-linear do meio e à sua interação em tempo real.
Assim se faz necessário um aumento da quantidade de sensores para interação
com o meio, o que acarreta um aumento dos custos e maior complexidade do
sistema robótico.
No cenário semi-estruturado, resolveremos o problema de acom-
panhamento visual de um alvo por um robô móvel terrestre dotado
apenas de uma câmera como seu único sistema sensorial extero-
ceptivo.
1.2 JUSTIFICATIVA E CONTRIBUIÇÃO
A presente dissertação trata de temas que envolvem as subáreas de
Engenharia Elétrica, Ciência da Computação e Engenharia Mecânica,
caracterizando o conhecimento multidisciplinar e concorrente, em especial
20
os sistemas robóticos.
Na eletrônica, envolvendo a utilização de técnicas de controle avançado e
de sistemas dinâmicos, circuitos digitais e analógicos. Em computação a
otimização e visão computacional e na mecânica a cinemática e a dinâmica
dos corpos rígidos.
Como base teórica para os problemas de interpolação e a solução da
cinemática e dinâmica, a álgebra linear e métodos numéricos são utilizados.
Outro aspecto relevante é a característica dual deste trabalho (PELLANDA,
2007), que está em conformidade com os interesses previstos no PBCT (Pro-
grama Básico de Ciência e Tecnologia) e poderá também atender a interesses
de outras áreas como: pesquisa de navegação autônoma, inspeção robótica,
segurança pública entre outras.
O PBCT é o documento que, a partir de um diagnóstico realista do Exército
no campo da Ciência e da Tecnologia, tem por finalidade sintetizar as ações
a serem efetivadas em diferentes prazos, prevendo o emprego simultâneo dos
recursos humanos, financeiros, gerenciais e patrimoniais do Exército, em prol
da eficácia, eficiência e modernização do Sistema de Ciência e Tecnologia
(C&T) do Exército Brasileiro.
O emprego de técnicas de controle moderno, aliados aos benefícios da utiliza-
ção de uma câmera de rede com capacidades de movimento de PTZ (PAN,
TILT e ZOOM), proporciona graus de liberdade para o robô e seu sistema
visual, permitindo uma maior flexibilidade na execução de tarefas num am-
biente semi-estruturado.
Se os robôs nesses ambientes, nesses ambientes, puderem fazer uso de algo-
ritmos computacionalmente eficientes, maiores serão as possibilidades de seu
amplo emprego, devido ao reduzido custo operacional para a execução de
tarefas. Um sistema de acompanhamento visual e controle de robô baseado
exclusivamente na visão é um passo importante nessa direção.
21
1.3 ESTRUTURA DA DISSERTAÇÃO
A dissertação está estruturada em sete capítulos, além desta introdução: No
capítulo 2, apresenta-se a revisão da literatura e os fundamentos teórica sobre
o assunto; o capítulo 3 apresenta conceitos básicos envolvidos na realização
do trabalho; no capítulo 4, a visão geral do sistema proposto para a solução
do problema é discutida; o capítulo 5 apresenta a metodologia empregada,
subsistemas robô-câmera, sua formulação matemática, seu funcionamento
e método de controle empregado, além do subsistema de acompanhamento
visual e seus módulos, a técnica de controle servo visual e o controlador
empregado; no capítulo 6 são apresentados os resultados obtidos com a inte-
gração dos subsistemas e testes; no capítulo 7, a conclusão e sugestões para
trabalhos futuros são apresentados.
22
2 REVISÃO BIBLIOGRÁFICA E FUNDAMENTAÇÃO
TEÓRICA
Quando a solução de um desafio tecnológico requer um sistema complexo
que seja composto por vários subsistemas e quando estes subsistemas devem
trabalhar harmoniosamente na busca de um objetivo comum primordial, a
eficiência do conjunto e não a do particular é imposta.
Com essa visão sistêmica a revisão foi conduzida, partindo dos conceitos
de base sobre robótica móvel, suas propriedades estruturais, seu controle
(cinemático e dinâmico) e restrições.
Foram revistos também, bibliografias sobre controle servo-visual e os méto-
dos de rastreamento visual (tracking), sua classificação em diferentes cate-
gorias e identificação das novas tendências, centrada nas metodologias para
monitoramento de objetos em geral e não em rastreadores adaptados para
objetos específicos, como por exemplo, rastreamento de pessoas. A revisão
culmina com o estudo dos recentes trabalhos científicos na busca da solução
do problema proposto.
2.1 ROBÓTICA MÓVEL
A metodologia dos modelos cinemáticos do manipulador robótico (PAUL,
1982) não pode ser aplicada diretamente sobre robôs móveis com rodas. Em
primeiro lugar, são mecanismos de cadeia múltipla, enquanto robôs manipu-
ladores são mecanismos de cadeia aberta. Em segundo lugar os robôs móveis
possuem um par de articulações rotacionais, entre cada roda e acima do chão,
enquanto robôs manipuladores possuem um único par de articulações na base
(juntas de revolução ou prismáticas). Em outras palavras, o corpo princi-
pal de um robô móvel está ligado a mais de um elo em paralelo, portanto a
23
notação Denavit-Hartenberg conduz a ambíguas atribuições de sistemas de
coordenadas. Assim, os modelos são derivados das formulações de Newton-
Euler ou Lagrange (DEWIT, 1996).
Os robôs móveis sobre rodas, WMR (Wheel Mobile Robot), pertencem a
uma classe de sistemas mecânicos que tem como característica restrições
cinemáticas não integráveis nas equações do modelo, que não podem ser
eliminadas. Cinco tipos possíveis de configurações, de ordem prática, são
mostrados em (DEWIT, 1996) (CAMPION, 1996).
Outro aspecto importante encontrado no estudo, são suas restrições do movi-
mento cinemático classificadas em restrições holonômicas e restrições não-
holonômicas.
Por restrições holonômicas entende-se por aquelas que restringem o espaço
das configurações possíveis, diminuindo assim os graus de liberdade do sis-
tema. Enquanto, as não-holonômicas não diminuem o espaço de configu-
rações possíveis, mas sim o espaço de trajetórias realizáveis pelo robô entre
duas configurações (NEHMZOW, 2003).
Normalmente os robôs sobre rodas apresentam o fenômeno de deslizamento
como restrições não-holonômicas . O que torna o problema de controle de
sistemas um desafio ainda maior.
Quando a tarefa de controle de sistemas envolve uma ampla faixa de movi-
mentos ou altas velocidades, efeitos não-lineares tornam-se significantes para
a dinâmica do problema e a utilização de técnicas de controle não-linear pode
ser necessária.
Neste trabalho, não serão considerados estes efeitos não-lineares, resultantes
da geometria e das limitações de velocidades do sistema, por entender-se
que o assunto é amplo e que buscar compreender os mecanismos físicos que
causam erros e tratá-los adequadamente para realização da tarefa de acom-
panhamento visual, fogem ao escopo da proposta e também devido às baixas
velocidades geradas pelo sistema.
24
2.2 VISÃO COMPUTACIONAL
Como boa fonte de referência sobre os principais trabalhos encontrados na
literatura cita-se (YILMAZ, 2006), que foi o ponto de partida para a revisão
que se segue.
Quando se pretende construir um sistema de acompanhamento visual, a
primeira questão a ser definida é a representação adequada dos objetos, que
podem ser representados por suas formas e aparências, FIG. 2.1. Por isso,
num cenário de rastreamento, um objeto pode ser definido como uma estru-
tura que seja do interesse para uma posterior análise.
FIG. 2.1: Representações:(a) Centroide, (b) múltiplos pontos, (c) patchretangulares, (d) patch elíptica, (e) vários patches, (f) esqueleto,(g)contorno, (h) silhueta, (i) pontos de controle (YILMAZ, 2006).
Conforme figura acima, a representação da forma de um objeto por um
ponto (VEENMAN, 2001), ou por um conjunto de pontos (SERBY, 2004),
são usadas para rastrear os objetos que ocupam pequenas regiões em uma
imagem.
As formas geométricas primitivas, como um retângulo, elipse (COMANICIU,
2003), entre outras, são usadas para a representação de objetos rígidos sim-
25
ples. Nestas representações, o movimento de objetos é normalmente realizado
por uma transformação projetiva (homografia) ou por uma função afim.
O contorno de um objeto define o seu limite numa imagem, sendo a região
interior deste contorno chamada de silhueta. Formas complexas não rígidas
podem ser rastreadas visualmente pelo seu contorno (YILMAZ, 2004).
Alguns modelos podem ainda possuir uma forma articulada. Um exemplo é
o corpo humano com tronco e membros ligados por articulações. A relação
entre estas partes pode ser governada por modelos de movimento cinemático,
à semelhança da modelagem de robôs manipuladores. Suas representações
podem ser constituídas por cilindros ou elipses.
Por vezes um modelo é realizado com base na representação de seu esqueleto,
extraído através da transformação do eixo médio de sua silhueta. Em (ALI,
2001), temos estes modelos usados para reconhecimento de objetos. Assim,
percebe-se que a representação por esqueleto também pode ser utilizada para
modelar objetos articulados e rígidos.
Na representação da aparência dos objetos, diversas técnicas são encontradas
na literatura. Um exemplo é a estimativa da densidade de probabilidades
paramétricas utilizadas por (CUTLER, 2000) e (PARAGIOS, 2002).
Outras metodologias utilizam modelos ativos obtidos pela modelagem si-
multânea de forma e aparência. Em geral, uma fase de treinamento é
necessária, onde é usado um conjunto de amostras contendo a forma e a
aparência.
A seleção correta das características de um objeto é um ponto crítico no
rastreamento visual. Esta seleção está intimamente relacionada com a repre-
sentação do objeto. A propriedade da singularidade de um objeto é o recurso
visual mais desejável para sua correta distinção no espaço de busca.
Alguns algoritmos utilizam a cor como única referencia para rastreamento de
objetos (NUMMIARO, 2003) (PUZICHA, 1999) (PASCHOS, 2001).
Outra característica utilizada é a do fluxo ótico, que consiste na distribuição
das velocidades aparentes dos padrões de brilho numa imagem, ou seja, é um
26
campo de vetores de velocidade associado a uma sequência de imagens.
Em visão computacional as arestas (Edges) de um objeto são detectadas em
áreas da imagem onde o nível de intensidade varia acentuadamente, de forma
que quanto mais rápida a mudança de intensidade mais acentuada é a borda.
Os limites podem ser diferenciados entre as regiões de texturas diferentes,
embora a detecção de tais limites seja muito dependente da escala da imagem
e do mecanismo de detecção. O uso de detectores de arestas tem sido um
dos mais ativos campos utilizados em visão de máquina (HORN, 1986).
Sabe-se que os algoritmos tradicionais de detecção de arestas são sensíveis ao
ruído e ineficientes na detecção de arestas complexas. A imagem do corredor
de um edifício tem uma baixa relação sinal-ruído e arestas complexas. Por
vezes os contrastes são muito suaves para serem corretamente detectados.
Para resolver estes problemas algoritmos baseados na morfologia matemática
foram propostos (FAN, 2009) (JIANG, 2007).
A literatura chama de detecção ao processo de identificação de um objeto
em uma imagem estática. Cada processo exige um método para detectar
um objeto em cada quadro ou do primeiro objeto que aparece no vídeo.
Alguns métodos de detecção de objetos fazem uso da informação temporal
calculada a partir de uma sequência de quadros para reduzir o número de
falsas detecções.
Essa informação temporal é geralmente sob a forma de diferenciação de
quadros, o que evidencia a mudança das regiões de busca em quadros con-
secutivos. A detecção de objetos requer uma pesquisa particular do objeto
de interesse. Os métodos mais utilizados neste contexto, devido a precisão,
são os detectores pontuais.
Uma qualidade desejável de um ponto de interesse é a sua invariância a
mudanças na iluminação, do ponto de vista da câmera. Na literatura, os de-
tectores de ponto de interesse mais usados incluem: o detector Harris (HAR-
RIS, 1988); o detector KLT (SHI, 1994) e o detector SIFT (Scale Invariant
Feature Transform) (LOWE, 2004). Eles são usados para localizar pontos de
27
interesse em imagens que têm uma expressiva característica em suas respecti-
vas localidades. Mikolajczyk e Schmid (MIKOLAJCZYK, 2005) apresentam
uma avaliação empírica desses métodos.
Outra abordagem muito comum é executar a subtração de um modelo de
fundo do quadro da imagem observada, a partir da imagem que difere signi-
ficativamente do modelo de fundo, representando deste modo os objetos em
movimento.
Diversos métodos são empregados, dos puramente recursivos, como a difer-
enciação de quadros, filtro de predição linear, filtro de mediana, modelo não-
paramétricos até os métodos recursivos como filtro de mediana de aproxi-
mada, filtro de Kalman e Mistura de Gaussianas (MOG) (BOUWMANS,
2008). Na FIG. 2.2 temos sintetizados os métodos mais comuns de subtração
de um modelo de fundo.
FIG. 2.2: Resultados de algorítimos de modelos do background - Imagensextraídas de http://sites.google.com/site/thierrybouwmans/recherche—
background-subtraction—survey/mog-survey
Resultados experimentais mostram que as técnicas mais simples, como a
filtragem mediana adaptativa, podem produzir bons resultados com uma
28
menor complexidade computacional (CHEUNG, 2005).
A busca de um objeto realizada numa sequência de imagens de vídeo (stream
de vídeo) é comumente chamada de rastreamento visual. Numa stream de
vídeo esta busca tem uma relação temporal com os pontos de referência do
objeto a ser monitorado (ANDREW, 1999).
O rastreamento é executado com base nas informações obtidas das imagens.
Basicamente, quatro componentes são comumente encontrados nesses sis-
temas: (a) a representação ou modelo do alvo; (b) o modelo de observação
para rastreamento; (c) o modelo de movimento do alvo dentro do campo de
visão do sensor visual e; (d) o algoritmo de rastreamento.
Pelo fato de existirem diversas abordagens, as quais variam de acordo com o
objetivo da aplicação, evita-se buscar classificar os tipos encontrados. Para
os casos livres de modelo, em geral, são empregadas técnicas de similaridade
ou histogramas. Entretanto, ficou claro que duas abordagens podem ser
consideradas: a livre de modelo e a baseada no modelo. Na primeira, as
informações sobre o modelo ou inexistem ou são parcialmente conhecidas.
Na segunda, os objetos de interesse são conhecidos com exatidão.
De modo geral, as abordagens baseadas no modelo usam uma metodologia
que envolve predição, observação e filtragem. Esta metodologia possui uma
intrínseca relação com os filtros de Kalman (WELCH, 1995) e o algoritmo
de condensação (ISARD, 1998), sendo estes os mais representativos nessas
abordagens. As técnicas probabilísticas nesses casos conferem uma maior
robustez contra falsas detecções (ANDREW, 1999).
O objetivo de um rastreamento visual de objetos é gerar a trajetória deste
ao longo do tempo, localizando sua posição em cada quadro do vídeo. As
tarefas de detecção e rastreamento de um alvo em quadros de um stream de
vídeo podem ser realizadas separadamente ou em conjunto.
Primeiramente, o alvo ou as suas regiões de interesse são obtidos por meio
de um algoritmo de detecção (em todos os quadros) e por último a sua cor-
respondência nos quadros seguintes é estimada interativamente (obtidas a
29
partir de quadros anteriores). Qualquer que seja a abordagem de rastrea-
mento, estes alvos são representados usando a sua forma e/ou modelos de
sua aparência.
O modelo selecionado para representar a forma de um alvo limita o tipo de
movimento ou deformação que este pode sofrer, como por exemplo, se for
representado como um ponto, advém que apenas uma translação no modelo
é admissível.
Estão disponíveis na literatura, de uma forma geral, três grandes catego-
rias nessa linha de pesquisa: o rastreamento pela Silhueta, por Kernel e por
Pontos. Em sua grande maioria todos tem alta complexidade e baixa com-
putabilidade, o que de certa forma nos permite concluir que ainda não existe
um método definitivo. Na FIG. 2.3, pode-se visualizar essas categorias e
alguns trabalhos relevantes (YILMAZ, 2006).
FIG. 2.3: Taxonomia dos métodos de rastreamento.
Os métodos baseados no Kernel se referem à forma do objeto e aparên-
cia, como por exemplo: o kernel pode ser um modelo retangular ou uma
forma elíptica com um histograma associado. Objetos também são rastrea-
30
dos por cálculo do movimento do kernel em quadros(frames) consecutivos.
Este movimento é geralmente caracterizado sob a forma de transformações
paramétrica, tais como translação, rotação e afins. Um exemplo típico é a
aplicação do algoritmo de KLT, que utiliza pontos de boas características
num quadro e as procura no quadro seguinte, com base no seu fluxo óptico.
No rastreamento por silhueta, é realizada uma estimativa do objeto em cada
região do quadro. Métodos de rastreamento por silhueta usam a informação
codificada dentro do objeto de interesse. Esta informação pode ser na forma
de densidade paramétrica de aparência e modelos, que são geralmente na
forma de mapas de borda. Dado o modelo do objeto, as silhuetas são ras-
treadas por qualquer forma de correspondência ou evolução de contorno.
Ambos métodos anteriores podem ser essencialmente considerados como seg-
mentação de objetos aplicados no domínio temporal, onde as informações são
geradas a partir dos quadros anteriores.
Objetos detectados em quadros consecutivos são representados por pontos e
a associação dos pontos é baseada no estado anterior do objeto, que pode in-
cluir sua posição e seus movimentos. Essa abordagem requer um mecanismo
externo para detectar os objetos em cada quadro.
Este método, por sua vez, pode ser formulado como a correspondência dos
objetos detectados tomando por base sua referência representada por pontos
em todos os quadros.
Achar sua respectiva correspondência nos quadros seguintes é um problema
complicado, especialmente na presença de oclusões, falsos positivos, outras
entradas e saídas de objetos da cena.
2.3 CONTROLE SERVO VISUAL
O conceito de controle servo visual foi introduzido por (HILL, 1979) e tem
como objetivo corrigir eventuais erros provenientes dos sistemas de posiciona-
mento de robôs manipuladores. Neste conceito, a informação visual prove-
31
niente da câmera é utilizada para realimentação do controlador da planta
robô.
A formulação do problema baseado no controle servo visual consiste em usar
a informação proveniente da imagem para controlar a postura do robô em
relação a um objeto alvo presente na cena, ou a um conjunto de características
visuais extraídas da imagem.
O controle baseado na posição e o controle baseado na imagem são duas
metodologias que se destacam atualmente no campo do controle servo vi-
sual. O primeiro, trata basicamente da extensão natural das soluções do tipo
look-and-move (ver e mover), onde a visão é também utilizada para estimar
a postura do alvo em relação à câmera. Esta informação é diretamente uti-
lizada no laço de controle, permitindo controlar e corrigir a pose da câmera
e, consequentemente, do robô a cada instante. Uma característica desse tipo
de controle é que o processo de estimação está desacoplado do cálculo do
sinal de realimentação. Esta abordagem é também conhecida como controle
servo visual no espaço cartesiano 3D. O segundo, também conhecido como
controle servo visual 2D, caracteriza-se pelo fato de que o sinal (ou o erro)
realimentado na malha de controle está definido diretamente sobre coorde-
nadas cartesianas na imagem, ao contrário do controle baseado na posição,
onde o erro é definido no espaço cartesiano.
Outras abordagens combinam tanto o controle visual baseado na posição,
quanto o baseado na imagem. Um estudo completo sobre as metodologias
anteriores pode ser encontrado em (ESPIAU, 1993), (HUTCHINSON, 1996).
Um modelo alternativo para um sistema de posicionamento com realimen-
tação visual é apresentado por Corke (HUTCHINSON, 1996), onde nesse
modelo as saídas do sistema estão associadas à informação visual extraída
das imagens.
Se a perturbação afeta a posição e/ou velocidade do alvo na imagem, o sis-
tema tem de reagir de forma a compensar esse efeito, onde o desempenho do
sistema pode ser considerado pela sua capacidade de rejeição à perturbação.
32
A seleção do controlador é baseada nas técnicas de visão computacional, que
utilizam o cálculo do vetor deslocamento do alvo (PAPANIKOLOPOULOS,
1993) (BARRETO, 2000).
As técnicas empregadas por esses autores, no acompanhamento visual 2D de
um objeto em movimento 3D, podem ser facilmente utilizadas para o acom-
panhamento visual das características de um único ponto em movimento.
Os controladores como o PI (Proporcional Integral) são atraentes devido à
sua simplicidade, enquanto outros como o LQG ( gaussiano quadrático linear)
e alocação de polos são mais gerais e não compensam o ruído que é aparente
nas medições reais (PAPANIKOLOPOULOS, 1993).
O posicionamento dos polos tem desempenho comparável com o LQG, mas
a seleção em malha fechada deve levar em consideração as características
especiais do algoritmo de visão (ruído, modelo da câmera e outros), que
podem levar ao controle impreciso.
Para o acompanhamento visual, uma seleção adequada da estratégia de con-
trole pode maximizar as melhorias que são obtidas pela utilização conjunta
com os algoritmos de visão.
O trabalho de (PAPANIKOLOPOULOS, 1993) conclui que os algoritmos de
visão rigorosamente precisos, podem usar controladores simples (PI) para o
acompanhamento visual com sucesso, entretanto, estes algoritmos de visão
são computacionalmente caros e atrasos computacionais são introduzidos.
O autor sugere, como alternativa, os controladores estocásticos (LQG), que
podem ser utilizados para compensar erros nas medições sem aumentar sig-
nificativamente a complexidade de todo o sistema.
Apesar do método de controle LQG ser uma técnica mais complexa, a mesma
nos permite ainda modelar as perturbações determinísticas como variável no
tempo, enquanto um modelo PI não satisfaria este caso. Assim esta técnica
poderia lidar, de forma mais eficiente, com um maior conjunto de possíveis
trajetórias dos objetos em movimento.
Na presença de ruído em simulações, o controlador LQG teve um melhor de-
33
sempenho. Isso tornou-se mais evidente quando reduzido o número de janelas
utilizadas no rastreamento (PAPANIKOLOPOULOS, 1993). A seleção dos
polos de malha fechada, sem levar em consideração as características especiais
(e.g.,ruído, modelo da câmera) do algoritmo de visão pode levar à localização
imprecisa. Uma discussão mais ampla de diferentes esquemas de controle,
que descreve as condições em que estes regimes devem ser utilizados num
acompanhamento visual podem ser vistas em seu trabalho.
Os projetos de tais sistemas são bem compreendidos e um número de sistemas
tem sido demonstrado com sucesso ao longo da última década. Muito em-
bora diversas técnicas de controle servo visual tenham sido implementadas
de forma satisfatória, um grande problema na visão tem sido a robustez
(CRÉTUAL, 2001) e (JIA, 2008).
Na maioria dos casos, o acompanhamento é limitado a alvos em movimento
lento, sendo que os atrasos computacionais no processamento da imagem são
citados como um fator limitante.
Atualmente processadores de baixo custo, mas com alto desempenho, com
core de 32 Bits e de arquitetura RISC (Reduced Instruction Set Computing)
estão disponíveis, entretanto as melhorias na detecção de alvos em movimento
rápido são, ainda, insatisfatórias.
Um algoritmo para, em tempo real, estimar o movimento e prever a
localização do alvo, gerando um controle de entrada, de forma a manter
o alvo estacionário no centro da imagem, foi apresentado em 2001 por (YAU,
2001). A técnica proposta é diferente das anteriores, pois é capaz de de-
sacoplar a estimativa de movimento do alvo da estimativa de movimento da
estrutura.
A maior contribuição deste trabalho é a simplicidade, baixo custo computa-
cional, resposta independente e estabilidade numérica de movimentos em 3D.
O sistema de monitoramento visual pode atingir uma taxa de 30 hertz e a ro-
bustez do sistema visual de monitoramento foi validada experimentalmente.
O desempenho e robustez, no controle visual do movimento, depende tanto
34
dos algoritmos de visão como da estrutura de controle. Atrasos e latên-
cias do sistema podem substancialmente afetar o desempenho dos sistemas
visualmente guiados.
Alguns modelos com estratégias de controle preditivo, para compensar a
latência mecânica de controle visual de movimento são propostos por (PA-
PANIKOLOPOULOS, 1993), (OH, 2002), (BARRETO, 2000) e (OH, 2002).
Neste último, a coordenação visual e regulagem podem ser realizadas com a
função custo e o projeto de controle LQR, utilizando um manipulador de 3
GDL.
2.4 TRABALHOS RECENTES
Um sistema de detecção e rastreamento visual de faces humanas em tempo
real, para um robô humanoide, foi proposto por (YOON, 2006), usando um
computador embarcado. O autor utilizou o método baseado em gradientes
de intensidade e histogramas de cores. As imagens são transmitidas por sinal
de rádio para um computador, que processa o algoritmo de visão, gerencia
e executa o rastreamento visual, transmitindo em seguida os comandos ao
computador embarcado no robô. O desempenho do sistema consumiu 112ms
para processamento da imagem a taxas de 9, 8 quadros/segundo e 0, 21 se-
gundo/imagem para rastrear.
Trabalhos recentes como (TSAI, 2005a) e (TSAI, 2005b) utilizam o plano da
imagem para rastreamento visual, baseados na estimativa de erro estimação e
controle de robôs móveis. Este trabalho apresenta uma lei de controle robusto
baseado em método direto de Lyapunov. Assim, devido à quantização do erro
nos comandos da velocidade do robô, a estabilidade global assintótica em
malha fechada do sistema de monitoramento visual é assegurada. O sistema
visual e robô possuíam um grau de liberdade.
Um sistema de rastreamento visual, também baseado no plano da imagem
foi apresentado por (TSAI, 2009), utilizando uma jacobiana dual, de forma
35
a acoplar o controle do modelo do robô e do alvo, em relação ao plano da
imagem. Essa dual-jacobiana traduz em outras palavras, que a velocidade
da imagem, no plano da imagem, é causada pela combinação da velocidade
da imagem do alvo e velocidade da imagem do robô em relação ao plano da
imagem. Como estimador foi utilizado um filtro de Kalman auto ajustável.
O modelo é robusto em relação às leis de controle, entretanto apresenta
restrições, devido às características intrínsecas do filtro de Kalman usado
para o controle visual, tais como a distribuição Gaussiana incerta e taxa de
amostragem uniforme. O sistema visual é dotado de um grau de liberdade.
A indústria começa a se desenvolver e adotar soluções Real-Time Ethernet
(RTE), e atualmente já são conhecidas mais de dez propostas de soluções e
as normas IEC (International Electrotechnical Commission) estão buscando
estabelecer uma orientação e critérios de seleção reconhecidos com base em
indicadores para o usuário (FELSER, 2005).
Um rastreador usando uma câmera de rede PTZ em tempo real é apresentado
por (DINH, 2009), onde são utilizados filtros de partículas em duas fases em
multi-escala (LI, 2007), juntamente com o algoritmo de KLT. Um mecanismo
de multi-threading é utilizado no recebimento, processamento e controle da
câmera para superar os problemas no controle PTZ, de modo a dar garantias
da qualidade do serviço (QoS). Com isso um controle robusto em tempo real
foi alcançado, apesar da latência de transferência de dados sobre uma rede
ethernet.
O controle de um motor DC brushless em tempo real foi realizado sobre uma
rede ethernet, com dois controladores distintos (SAMARANAYAKE, 2003).
O controle de velocidade e de ganho foi realizado em um computador remoto,
enquanto o controlador de velocidade operava num microcontrolador local.
A malha de realimentação foi fechada sob a rede e supervisionada por um
outro computador também remoto.
Estes dois últimos trabalhos evidenciam a possibilidade do potencial uso
de uma arquitetura cliente-servidor no controle e gerenciamento de tarefas
36
robóticas complexas por robôs com hardware mais simples. Assim uma gama
de serviços poderá ser realizada por um ou mais robôs, sob o o controle de
uma máquina servidora.
Desta forma, uma rede Ethernet poderá em poucos anos ser comumente em-
pregada em tempo real, numa ampla gama de tarefas. Com isso as aplicações
com robôs de serviço tendem a crescer, e inversamente proporcional serão os
custos finais de seu desenvolvimento, pela menor complexidade de seu hard-
ware.
Com base na revisão, nos resultados de trabalhos recentes, no fato de não
existir, no Laboratório de Robótica e Inteligência Computacional do IME,
um sistema para acompanhamento visual de alvos e principalmente face
ao grande interesse do Ministério da Defesa (Exército), que recentemente
adquiriu torres (dotadas de câmeras e canhão) para sua nova família de car-
ros de combate com rastreamento automático de alvos, surgiu a inspiração
para a presente dissertação.
Os resultados parciais desta pesquisa estão apresentados em (MACHADO,
2010), (MACHADO, 2011a) e (MACHADO, 2011b).
37
3 CONCEITOS BÁSICOS
Neste capítulo são analisadas as propriedades estruturais para o controle
de um WMR genérico, apresentada sua formulação e discutidos os aspectos
relativos às restrições intrínsecas do modelo. Aborda-se, ainda, o mecanismo
básico usado em processamento visual de imagens e discute-se técnicas de
rastreamento visual baseadas na determinação de características. Por fim é
apresentada a formulação de um otimizador de dados visuais, cujo emprego
consideramos de grande relevância em se tratando de algoritmos de baixa
complexidade ou de dados ruidosos.
3.1 MODELAGEM DE UM ROBÔ MÓVEL
Em um WMR, duas partes merecem distinção, uma cinemática e outra
dinâmica. A primeira representa as características do movimento e suas
restrições, bem como a resposta temporal aos sinais de controle externos.
A segunda considera as forcas dinâmicas que atuam sobre a estrutura do
WRM, seu momento de inércia, a dinâmica dos atuadores usados e as forcas
de atrito envolvidas
Para a sua formulação são assumidas as seguintes considerações (DEWIT,
1996):
a) Um WMR é um corpo rígido com rodas indeformáveis que se move
sobre uma superfície plana e horizontal;
b) Durante o movimento, o plano de cada roda permanece vertical ao piso
e a roda gira sobre seu eixo horizontal, podendo a sua orientação em
relação ao quadro do WMR ser fixa ou variável;
c) O ponto de contato entre a roda e o piso fica reduzido a um único
38
ponto;
d) Nenhum movimento ocorre ortogonal à direção de rolagem e
e) O movimento da roda sobre o piso é puramente rotacional, não ocor-
rendo nenhum deslizamento translacional.
Na descrição da sua posição, toma-se por base o plano do seu movimento.
Nele é fixado uma base inercial ortonormal arbitrária 0,−→X i,−→Z i. Define-se
um ponto arbitrário P sobre o seu quadro numa base arbitrária 0,−→Xm,
−→Z m,
aplicada ao quadro robô.
A posição do robô é completamente definida por três variáveis x, y e θ, onde
x e y são as coordenadas do ponto de referência P na base inercial e θ é
o ângulo de orientação da base 0,−→Xm,
−→Z m em relação à 0,
−→X i,−→Z i. A
postura do robô é então definida por:
ξ ,
x
z
θ
(3.1)
A matriz de rotação ortogonal que expressa a orientação do sistema de coor-
denadas 0,−→Xm,
−→Z m em relação ao sistema inercial é expressa por:
R(θ) ,
cos θ sin θ 0
− sin θ cos θ 0
0 0 1
(3.2)
A posição de um WMR no plano é mostrada na FIG.3.1.
Duas classes básicas de rodas idealizáveis são encontradas na literatura: as
Convencionais e as Suecas ou Mecanun, FIG.3.2.
Para uma roda convencional, entende-se que a velocidade no ponto de contato
é igual zero e, como consequência, os componentes dessa velocidade paralela
e ortogonal ao plano da roda são também iguais a zero (DEWIT, 1996).
39
FIG. 3.1: Definição da Postura de um WMR.
(a) Convencional (b) Suecas ou Mecanun
FIG. 3.2: Classes básicas de rodas: (a)fonte:http://www.robot-electronics.co.uk e (b) fonte:
http://www.andymark.biz
As rodas Convencionais podem ser do tipo fixas, orientáveis centradas ou
orientáveis não centradas, estas últimas são também conhecidas como Caster.
A descrição de uma roda convencional é feita tomando-se por base o sistema
Xm, Zm e um ponto A no centro da roda, cuja a posição em coordenadas
polares é dado pela distância PA = l e o ângulo α.
A constante β representa a orientação do plano da roda em relação a PA, ϕ
é o ângulo de rotação da roda em torno do seu próprio eixo (horizontal) e r
o raio da roda.
A posição de uma roda é então caracterizada pelas constantes α, l, r, do
40
ângulo variável no tempo ϕ(t) e o ângulo c, constante para as rodas fixas e
variável no tempo para as rodas orientáveis, β(t). As FIG.3.3 - 3.5 ilustram
a descrição.
FIG. 3.3: Descrição de uma roda Convencional fixa.
FIG. 3.4: Descrição de uma roda Convencional orientável centrada.
FIG. 3.5: Descrição de uma roda Convencional orientável não centrada.
Com esta descrição, as componentes da velocidade no ponto de contato são
facilmente calculadas, FIG. 3.6.
As duas restrições impostas para a roda de um WMR (considerações iniciais)
podem ser deduzidas para as rodas convencionais fixas e orientáveis centradas
da seguinte forma:
41
FIG. 3.6: Descrição das rodas convencionais.
a) A restrição de rolamento que impõe que todo o movimento na direção
do planos das rodas deva ser acompanhado por um quantidade apropri-
ada de rotação das rodas, de modo que haja puro rolamento no ponto
de contato:
[− sin(α + β) cos(α + β)l cos β]R(θ)ξ + rϕ = 0 (3.3)
b) A restrição de que nenhum movimento ocorre ortogonal à direção de
rolagem, donde se conclui que a componente do movimento da roda
ortogonal ao seu plano deve ser zero:
[cos(α + β) sin(α + β)l sin β]R(θ)ξ = 0 (3.4)
Para as rodas convencionais orientáveis não centradas (Caster) é acrescentada
42
à equação a constante d, sendo assim descritas por quatro constantes α, l, r, d,
dos ângulos variáveis no tempo ϕ(t) e β(t). Com esta notação obtém-se as
seguintes forma:
[− sin(α + β) cos(α + β)l cos β]R(θ)ξ + rϕ = 0 (3.5)
[cos(α + β) sin(α + β)d+ l sin β]R(θ)ξ + dβ = 0 (3.6)
Nas rodas Suecas a posição, em relação ao quadro do WMR, é descrita
como uma roda fixa, exceto que um parâmetro adicional é inserido para a
caracterização da direção com relação ao plano da roda, FIG.3.7. A restrição
do movimento é expressa por:
[− sin(α + β + γ) cos(α + β + γ)l cos(β + γ)]R(θ)ξ + rϕ = 0 (3.7)
FIG. 3.7: Descrição das rodas Suecas.
A ideia fundamental é que cada roda impõe zero ou mais restrições sobre o
movimento do robô, assim o processo de cálculo é simplesmente uma com-
binação adequada de todas as restrições cinemáticas decorrentes de todas as
rodas, com base na colocação dessas rodas no chassis do robô (SIEGWART,
2004).
Temos que configuração temporal de um WMR é completamente descrita
43
pelos vetores de coordenadas:
• da postura ξ(t)T ,[x(t) z(t) θ(t)
],
• da orientação das rodas βc(t) ou βnc(t) e
• da rotação das rodas ϕ(t)T ,[ϕf (t) ϕ(t)c ϕ(t)nc ϕ(t)sw
].
O conjunto de posturas, de coordenadas de orientação e rotação (ξ,β e θ) é
denominado como conjunto de configurações em sequência.
Assim, fica evidente que para um WMR dotado de N rodas dos quatro tipos
caracterizados na seção anterior, temos N = Nf +2Nc+2Nnc+Nsw+3 como
o total de configurações de coordenadas possíveis, onde Nf , Nc e Nnc são os
números de rodas Convencionais tipo fixa, orientáveis centrada, orientáveis
não centrada e Nsw é o número de rodas Suecas.
Usando-se o subscrito f , c, nc e sw, como referência para os tipos de rodas
fixas, orientável centrada, orientável não centrada e Suecas, respectivamente,
as Equação 3.3 e 3.4 podem ser reescritas sob uma forma matricial geral
(SIEGWART, 2004), (DEWIT, 1996) e (CAMPION, 1996):
J1(βc, βnc)R(θ)ξ + J2ϕ = 0 (3.8)
C1(βc, βnc)R(θ)ξ + C2˙βnc = 0 (3.9)
com a seguinte definição:
a) J1c(βc, βnc) ,
J1f
J1c(βc)
J1nc(βnc)
J1sw
onde:
• βc e βnc são os ângulos das rodas fixas orientáveis;
44
• J1f , J1c(βc), J1nc(βnc) e J1sw, são matrizes de dimensão Nfx3,
Ncx3, Nncx3 e Nswx3 respectivamente e suas formas são derivadas
diretamente das restrições de mobilidade das rodas Equação3.3,
3.4 e 3.5.
b) J2 é uma matriz diagonal NxN , onde os elementos radii são os raios
das N rodas, com exceção das Suecas, que necessitam ser multiplicada
por cos γ (ângulo do ponto de contato).
c) C1c(βc, βnc) ,
C1f
C1c(βc)
C1nc(βnc)
e C2 ,
0
0
C2nc
,
Onde:
• C1f , C1c(βc) e C1nc(βnc) são matrizes de dimensões Nfx3, Ncx3,
Nncx3 respectivamente, cuja formas (linhas) são derivadas direta-
mente das restrições de mobilidade das rodas Equação3.4,3.6;
• C1f é uma constante enquanto C1c e C1nc são variáveis no tempo;
• C2nc é uma matriz diagonal NxN , onde os elementos radii são os
parâmetros d das Nnc rodas (Caster).
Para a dirigibilidade de um WMR somente as Nf e as Nc têm impacto sobre
a cinemática do seu chassis, (SIEGWART, 2004).
Considerando-se o cálculo das restrições cinemáticas de um WMR, onde N =
Nf +Nc, temos explicitamente as restrições da Equação 3.9 como:
C1f (βc)R(θ)ξ = 0 (3.10)
C1c(βc)R(θ)ξ = 0 (3.11)
As Equações 3.10 e 3.11 implicam que o vetor R(θ)ξ pertence ao espaço nulo
45
da matriz da C∗1(βc):
C∗1(βc) =
(C1f
C1c(βc)
)(3.12)
Portanto a mobilidade de um WMR fica restrita no sentido de que, para
qualquer trajetória admissível ξ(t), a velocidade ξ(t) é obrigada a pertencer ao
espaço de distribuição bidimensional gerado pelos vetores RT (θ)s1 e RT (θ)s2,
onde s1 e s2 são dois vetores unitários span de N(C1f ).
As restrições cinemáticas, EQ. 3.10 e 3.11, também podem ser interpretadas
geometricamente, utilizando-se o conceito de um centro de rotação instan-
tânea do robô (CRI), (SIEGWART, 2004), (DEWIT, 1996) e (CAMPION,
1996). Para isso, considera-se uma única roda Convencional e supõe-se uma
linha traçada através do seu eixo horizontal (perpendicular ao plano roda),
FIG. 3.8.
FIG. 3.8: Centro de Rotação Instantânea - CRI.
Como estabelecido anteriormente, a roda é forçada a não possuir movimento
ortogonal à direção do seu movimento (restrição de deslizamento lateral).
Assim, em um dado instante, a componente do movimento da roda ao longo
desta linha deve ser zero, ou seja, a roda move-se instantaneamente ao longo
de algum círculo de raio R, de tal forma que o centro desse círculo esteja
localizado numa linha ortogonal ao seu plano de movimento zero.
Este ponto central de giro é chamado de CRI, podendo estar em qualquer
lugar ao longo da linha de movimento zero. Considerando-se CRI no infinito,
46
a roda se move em linha reta.
Como as restrições cinemáticas devem ser respeitadas, então o movimento
do robô deve sempre estar sempre dentro do N(C1f ).
Em geral, as limitações da mobilidade de um WMR estão relacionadas ao
posto(C∗1) (menor número de linhas ou colunas independentes), que varia de
acordo com o projeto do robô, com isso quanto maior for o posto(C1(βf )),
maiores sãos as restrições de mobilidade impostas pelas rodas.
A EQ. 3.10 representa todas as restrições impostas pelas rodas deslizantes
do WMR.
A roda tem uma posição especificada por meio dos parâmetros α, β e `, em
relação a 0,−→Xm,
−→Z m (referência local no chassi do robô), onde C1(βc) é
formada por C1(βf ) e C1(βc), EQ. 3.9.
Considerando-se umWMR dotado apenas de rodas convencionais, ondeNf =
1 e Nc = Nnc = 0, temos C1(βc, βnc) = (C1f ) e o posto(C1f ) = 1, este
WMR tem uma única e independente restrição sobre a mobilidade dada por
[cos(α + β) sin(α + β)l sin β]. Este tipo de robô é conhecido como monociclo.
No caso deste WMR ter o posto (C1f ) = 2, implica que tem pelo menos duas
rodas fixas.
Sem perda da generalidade das equações, podemos colocar o seu ponto P
no ponto médio entre os centros das duas rodas, o que faz com que os eixos
horizontais das rodas sejam concorrentes para o CRI. Assim, temos que `1 =
`2, β1 = β2 = 0 e α1 = α2, o que resulta em realizar unicamente o movimento
de rotação em torno deste. Como essa limitação não é aceitável em termos
práticos, define-se o posto (C1f ) 5 1.
Ao considerarmos o acréscimo de uma terceira roda, teremos o posto igual a
3 (o máximo valor possível), caracteriza-se a sua total imobilidade, uma vez
que todas dimensões possuem restrições ao movimento.
Por isso, posto(C1(βf )) é o número de restrições independentes e quanto
maior for, maiores sãos as restrições de mobilidade do WMR, impostas pelas
rodas.
47
Um WMR tem sua configuração inalterada, (CAMPION, 1996), se :
a) posto (C1f ) 5 1, que implica que para Nf > 1, as rodas estão todas
sobre um eixo comum e
b) posto (C∗1(βc)) = posto (C1f ) + posto (C1c(βc)) ≤ 2
Assim, formalmente na literatura, (SIEGWART, 2004), (DEWIT, 1996) e
(CAMPION, 1996), o grau de mobilidade δm é definido por:
δm = dimN [C∗1(βc)] = 3− posto (C∗1(βc)) (3.13)
Existem somente cinco estruturas não singulares de WMR que são de in-
teresse prático segundo SIEGWART (2004), (DEWIT, 1996) e (CAMPION,
1996).
Cada estrutura é designada por uma notação da forma "Robô tipo (δm, δd)",
onde δm corresponde ao grau de mobilidade e δs e de dirigibilidade das rodas.
Na TAB. 3.1, temos as constantes características para um WMR tipo (2, 0)
e a FIG. 3.9 ilustra os tipos possíveis.
FIG. 3.9: Os cinco tipos de configurações com três rodas (extraída deSIEGWART (2004)
.
Na Tab. 3.2 temos as categorias descritas por CAMPION (1996) e as
equações cinemáticas de forma genérica.
48
Rodas α β `1f (roda tipo fixa - direita) 0 0 L
2f (roda tipo fixa - esquerda) π 0 L3c(roda tipo centrada (esférica) - traseira) 3π
2- L
TAB. 3.1: As constantes características do WMR Tipo (2,0)
Tipo z Σ(βc) ou Σ Modelo cinemático z = B(z)u
(3,0)
xyθ
Matriz I
cos θ − sin θ 0sin θ cos θ 00 0 1
η1η2η3
(2,0)
xyθ
0 01 00 1
− sin θ 0cos θ 00 1
(η1η2
)
(2,1)
xyθβc1
− sin βc1 0
cos βc1 00 1
− sin(θ + βc1) 0 0cos(θ + βc1) 0 0
0 1 00 0 1
η1η2ζ1
(1,1)
xyθβc3
0L sin βc3cos βc3
−L sin θ sin βc3 0L cos θ sin βc3 0
cos βc3 10 0
(η1ζ1)
(1,2)
xyθβc1βc2
−2L sin βc1 sin βc2L sin(βc1 + βc2)sin(βc1 + βc2
−L(sin βc1 sin(θ + βc2) + sin βc2 sin(θ + βc1)) 0 0L(cos βc1 cos(θ + βc2) + cos βc2 cos(θ + βc1)) 0 0
sin(βc1 − βc1) 0 00 1 00 0 1
η1η2ζ1
TAB. 3.2: Equações Cinemáticas genéricas da postura de um robô móvelcom rodas - extraído de CAMPION (1996)
3.2 PROCESSAMENTO VISUAL DE IMAGENS
Os processos de visão computacional, muitas vezes, necessitam de uma etapa
de pré-processamento envolvendo o processamento de imagens. As imagens
de onde queremos extrair alguma informação, em alguns casos, precisam
ser convertidas para um determinado formato ou tamanho e precisam ainda
ser filtradas para remover ruídos provenientes do processo de aquisição da
imagem.
O primeiro passo no processo é a aquisição de uma imagem digital1. As
etapas dos passos seguintes são abaixo descritas e a FIG. 3.10 apresenta um
diagrama em blocos do processo:
a) pré-processar a imagem para realçar contrastes, remover ruídos e isolar1Caso essas imagens sejam analógicas, um conversor analógico-digital deve ser utilizado.
49
as regiões de probabilidade de existência de informação;
b) segmentar uma imagem de entrada em partes ou objetos constituintes;
c) validar a segmentação para representar os dados como limiar ou como
pertencendo a uma região completa;
d) reconhecer o processo que atribui um rótulo a um objeto, baseado na
informação fornecida pelo seu descritor e
e) interpretar a atribuição dando significado ao conjunto de objetos re-
conhecidos (entidades rotuladas).
FIG. 3.10: Diagrama em blocos de um sistema de processamento visual.
O "ruído" para as imagens digitais, aparece como manchas aleatórias em uma
superfície originalmente suave e pode degradar a qualidade da imagem sig-
nificativamente, comprometendo por vezes todo o processo de segmentação,
entretanto, ele pode ser desejável, uma vez que um pouco de ruído também
pode aumentar a nitidez da imagem.
O ruído aumenta proporcionalmente com a sensibilidade escolhida, duração
da exposição do sensor e temperatura e depende fortemente da câmera uti-
lizada.
50
A razão entre o sinal e o ruído (SNR, do inglês ’signal to noise ratio’) é
uma maneira útil e universal de comparar as quantidades relativas de sinal e
ruído para qualquer sistema eletrônico; razões altas terão pouco ruído visível
enquanto o oposto vale para baixas razões.
A FIG. 3.11 mostra uma imagem produzida por uma câmera digital com
muito ruído, contra um fundo suave, ao lado de sua representação 3D, onde
se pode ver o sinal sobre o ruído de fundo produzido.
FIG. 3.11: SNR em imagens digitais.
Em geral as câmeras digitais produzem três tipos mais comuns de ruídos, ou
seja, os ruídos:
aleatórios: caracterizado por flutuações de intensidade e tom de cor em
relação à imagem real.
de padrão fixo: aqui se inclui o que se costuma chamar de ’hot pixels’ (do
inglês: ’pixels quentes’), são chamados assim quando a intensidade de
um pixel ultrapassa muito a das flutuações de ruído aleatório.
em banda: este depende muito da câmera utilizada e é introduzido pela
própria câmera quando a mesma lê dados provenientes do sensor digital.
O ruído aleatório é muito mais complicado de ser removido sem que a imagem
seja danificada. Os algoritmos criados para isso ainda lutam para conseguir
51
discernir entre o ruído e texturas reais como as que ocorrem na terra ou
folhas, assim tentativas de remover o ruído acabam removendo essas texturas
também.
3.3 DETERMINAÇÃO DE CARACTERÍSTICAS
Como abordado no Capítulo 2, diversos métodos podem se utilizados para
aumento da robustez do sistema de identificação de objetos, a transformada
de Hough(TH) é um deles devido à sua simplicidade de implementação e
eficiência, na última década, tornou-se uma ferramenta de uso comum na
visão artificial para o reconhecimento de objetos com características circular
ou reta. É um método padrão para detecção de formas que são facilmente
parametrizadas em imagens computacionais.
O conceito principal da TH consiste em mapear o espaço de imagem e o
espaço de parâmetros, onde cada borda de uma imagem é transformada pelo
mapeamento para determinar células no espaço de parâmetros.
Estas células são indicadas por primitivas, definidas através do ponto
analisado, onde são incrementadas. No final do processo, através da máxima
local do acumulador, indicam quais os parâmetros são correspondentes à
forma especificada.
Há várias parametrizações possíveis; uma delas definida por y = a.x + b
(equação declive-intercepte) foi usada por Hough como uma representação
paramétrica.
Seu algoritmo requer um acumulador cuja dimensão seja igual ao número de
parâmetros desconhecidos na equação da família de curvas buscadas. Por
exemplo, no caso de segmentos de linhas usando a equação y = ax+ b requer
achar dois parâmetros para cada segmento: a e b.
As duas dimensões da matriz acumuladora para esta família correspondem
aos valores quantizados para a e b. Assim, usando uma matriz acumuladora
A, o algoritmo examina cada pixel e calcula os parâmetros da equação (curva)
52
especificada que passa pelo pixel.
Após calculados os parâmetros de um determinado pixel, eles são quantizados
para um valor correspondente aos parâmetros a e b, e o acumulador A (a, b)
é incrementado. Após o processamento de todos píxeis, os maiores valores
do acumulador A indicam os parâmetros de prováveis linhas na imagem.
A transformação apresenta a desvantagem de ser computacionalmente lim-
itada e exigir uma grande quantidade de memória. O processamento com-
putacional aumenta com o acréscimo no tamanho do vetor de acumulação e
com a exatidão com que os parâmetros são determinados, onde a resolução
do vetor de acumulação determina essa exatidão.
As estratégias de detecção simplificadas são algoritmos computacionalmente
eficientes, sendo apropriadas para implementação em sistemas de processador
único.
Um passo necessário no processo de aplicação da TH é a detecção de bordas
e a limiarização (sugere-se o uso do método de Canny (CANNY, 1987)) de
forma que, partindo-se de uma imagem original, esta é lida e se pertencer ao
domínio do espaço de cores RGB (24 bits), deve ser convertida para tons de
cinza (8 bits).
As detecções de outras formas utilizando a transformada de Hough usam o
mesmo princípio, há somente alteração no número de parâmetros da equação
que será empregada, e em consequência na dimensão do acumulador. A FIG.
3.12 apresenta um diagrama em blocos dos estágios.
FIG. 3.12: Estágios do processo de detecção de padrões por Hough.
Na FIG. 3.13 temos a aplicação da transformada de Hough para retas e
círculos, onde a pesquisa é realizada na imagem aplicando ambos algoritmos
padrão e probabilístico, de forma a aumentar a robustez da pesquisa.
53
FIG. 3.13: Aplicação das técnicas da Transformada de Hough.
Uma outra estratégia no uso de características associadas a um objeto é a
utilização do fluxo ótico para sua detecção, nesta categoria o algoritmo de
KLT é frequentemente utilizado com o objetivo principal de extrair recursos
no primeiro quadro de uma sequência de imagens e acompanhá-os no próximo
quadro.
As melhores características para controlar são as bordas e cantos, que podem
ser determinadas através da análise de várias áreas de pixel chamadas de
"janela de características" (FW-Features Windows) de tamanho XxY , nas
proximidades de uma borda.
O deslocamento d = [δy, δx]T destes FW é aproximado com a translação. O
algoritmo KLT tenta então encontrar iterativamente d, tal que a soma das
diferenças ao quadrado (SSD), sobre a janela do recurso no segundo quadro
seja minimizado.
Como a Soma dos Quadrados das Diferenças(SSD) é amplamente considerada
em rastreadores diferenciais como o KLT Piramidal, assim em particular,
várias janelas dão medições precisas e, portanto, um simples controlador seria
adequado. Por outro lado, um pequeno número de janelas fornece medições
imprecisas e controladores estocásticos devem ser usados.
Na figura 3.14, vemos o resultado de um experimento realizado para detecção
dessa característica, onde são representados graficamente vetores de fluxo
nesses pontos. A câmera está fixa e a criança em deslocamento.
Dadas as exigências de alta computabilidade para cálculo do fluxo óptico,
54
uma técnica mais simples baseada na diferença entre imagens é comumente
usada para detectar alvos móveis. Entre duas imagens, a diferença de cor
para cada pixel é uma distância métrica da seguinte forma:
(∆PR + ∆P
G + ∆PB)
1P
onde ∆PR, ∆P
G e ∆PB são as magnitudes da diferença entre a imagem presente
e o pixel componentes R, G, B da imagem de referência e P é um expoente
inteiro maior que zero.
Para P = 1 temos a distância retilínea (rectlinear Manhattan), para P = 2 a
distância euclidiana e para P = 3 torna-se o máximo valor de R, G, B. Cada
uma destas três métricas tem sido testadas e os resultados na detecção de
objetos tem sido satisfatório.
O quadrado da distância euclidiana (P = 2) fornece uma boa imunidade a
ruídos e ainda é rápida para se calcular (não necessita da raiz quadrada). A
segmentação por diferença de cor fornece significativamente melhor resultado
do que a diferença em escala de cinza.
Para extrair os pixeis alvo, o quadrado da distância euclidiana entre os valores
dos pixel nas duas primeiras imagens é determinado. Os locais de pixel
FIG. 3.14: Fluxo Ótico
55
com uma distância acima de um limite são desenhadas na terceira imagem.
Embora o alvo inclua muitos pixeis da mesma intensidade que o fundo, a sua
informação cromática permite que eles sejam separados.
A fim de reduzir o efeito das mudanças de fundo, como variações de ilumi-
nação e movimento de móveis, deve-se manter a imagem de referência ao
longo do tempo. Isto pode ser conseguido através da atualização da imagem
de referência em cada quadro segundo a equação:
Iref (k + 1) = Iref (k) +Bk [Ic(k)− Iref (k)]
onde Iref é a imagem de referência (incluindo todos os três componentes
RGB), Ic é a imagem atual capturada da câmera e B é um vetor contendo
um valor de ganho separado para cada pixel.
Cabe ressaltar que ao se transformar os valores RGB para outro espaço de
cor com base em cromaticidade, pode-se pesar o cálculo da diferença para se
concentrar na diferença de matiz e minimizar o efeito da diferença de inten-
sidade. Isso proporcionaria rejeição superior de ruído causado pela variação
de iluminação e sombras.
3.4 MÉTODOS DETERMINÍSTICOS E OTIMIZAÇÃO
Para que um sistema de rastreamento possa ser executado corretamente, uma
estimativa do local de destino mais provável deve ser utilizada para atualizar
estimador de estado do alvo. Este procedimento é conhecido na literatura
como um problema de associação de dados.
A probabilidade desta medida ser um dado correto é uma função da distância
entre o estado previsto do alvo e do estado medido, não se limitando a uma
posição, podendo ser constituído por uma série de características como por
exemplo a cor, o que de certo modo é importante, principalmente porque os
alvos podem estar próximos ou se cruzarem.
Algoritmos mais populares por associação, para um único alvo, baseiam-se
56
nas seguintes propostas:
Nearest Neighbor : este algoritmo sempre atualiza o filtro de monitora-
mento com a medida mais próxima do estado previsto.
Multi-Hypothesis Track Splitting : este esquema cria um novo conjunto
de hipóteses para cada medição ( dentro da região de validação), supri-
mindo os conjuntos improváveis usando uma razão de verossimilhança.
Probabilistic Data Association: cada medição afeta o filtro de rastrea-
mento num grau baseado na probabilidade de que este é correto, dado
o estado do previsto.
Optimal Bayesian Filter : este é uma variação Probabilistic Data Asso-
ciation dividido em vários conjuntos de hipótese, como o algoritmo
Multi-Hypothesis Track Splitting, eliminando os improváveis.
As aplicações em que vários sensores e/ou múltiplos alvos estão em uso tor-
nam o problema muito mais complexo. Os algoritmos comuns nesses casos
são:
Joint Likelihood : uma variação do algoritmoMulti-Hypothesis Track Split-
ting, que se estende a múltiplos alvos.
Joint Probabilistic Data Association: atualiza o algoritmo do filtro
para cada alvo com base em uma probabilidade conjunta de associ-
ação entre o último conjunto de medidas e cada alvo.
Multiple Hypothesis Joint Probabilistic: uma variação do filtro
Bayesian Optimal, que usa probabilidades conjuntas entre as associ-
ações de múltiplos conjuntos para várias hipóteses 2.
A escolha de um algoritmo de acompanhamento é um processo com-
plexo e pode envolver tentativa e erro, tendo em conta a estrutura do2É o algoritmo computacionalmente mais complexo de todos.
57
problema em questão, ou seja, linear ou não linear, solução pelos mínimos
quadrados, pelo quadrado, tipo de derivados na função objetivo, todas as
restrições necessárias e se essas restrições são analiticamente tratáveis ou
não (K.S. KAAWAASE, 2011).
Da análise dos artigos relativos a rastreamento, foi encontrada uma vasta
gama de alternativas relativas a este tipo de modelos. A maioria das técnicas
é potencialmente robusta e sua utilização resulta num alto custo computa-
cional, no entanto o foco desta dissertação não está na construção de um
modelo, mas num modelo descritor robusto e adaptável a variadas situações.
O filtro de Kalman é um método recursivo de dois estágios, que combina
medições ruidosas e previsões do estado de um sistema, gerando uma esti-
mativa futura de seu estado atual, sendo assim útil para rastreamento de
diferentes tipos de objetos em movimento, podendo ser aplicado a diferentes
tipos de sistemas dinâmicos lineares, sendo o "estado" um conjunto mínimo
de variáveis que definem o seu comportamento dinâmico.
A etapa de predição prevê a localização atual do alvo em movimento com base
em observações anteriores. Por exemplo, se um objeto está se movendo com
aceleração constante, podemos prever a sua localização atual, x(k + 1), com
base em sua localização anterior, x(k), usando as equações de movimento.
A etapa de atualização leva a medição da posição atual do objeto (se
disponível), z(k), e os combina com o local previsto atual, x(k), para obter
uma estimativa a posteriori da localização atual do objeto, x(k).
As equações gerais que governam o filtro de Kalman, considerando um
sistema dinâmico linear em tempo discreto por um vetor da equação das
diferenças, com adição de ruído Guassiano branco de média nula são dadas
abaixo. O assunto é abordado em BAR-SHALOM (2002)3:
Etapa de Predição:
a) estado predito: x(k + 1) = F(k)x(k) + B(k)u(k)
3Este livro está disponível gratuitamente para leitura em http://books.google.com
58
b) Covariância estimativa prevista (a priori): P(k+1) = F(k)P(k)F(k)T+
Q(k)
Etapa de atualização:
a) Inovação ou medida residual: y(k) = z(k)−H(k)x(k + 1)
b) Inovação da covariância (ou residual): S(k) = H(k)P(k + 1)H(k)T +
R(k)
c) Ganho de Kalman: K(k) = P(k + 1)H(k)TS(k)−1
d) Atualização do estado estimado: x(k) = x(k + 1) + K(k)y(k)
e) Atualização da covariância estimada: P(k) = (I −K(k)H(k))P(k+ 1)
onde:
• x(k) é o vetor de estado atual no tempo k.
• z(k) é o vetor de medida tomada no tempo k.
• P(k) mede a precisão estimada de x(k) no tempo k.
• F descreve como o sistema se move (de forma ideal) de um estado para
o outro, ou seja, como um vetor de estado é projetado para o outro,
assumindo que não há ruído (por exemplo, sem aceleração)
• H é o mapeamento do vetor de estado, x(k), para o vetor de medição,
z(k).
• Q e R definem o processo de Gauss e de medição de ruído, respectiva-
mente.
• B e u são os parâmetros de entrada que são usados apenas em sistemas
que têm uma entrada.
59
Em um sistema simples, o estado atual x(k) e a medição z(k) contém o
mesmo conjunto de variáveis e H será uma matriz de identidade, entretanto,
muitos sistemas do mundo real incluirão variáveis que não são diretamente
medidas.
Na fase de previsão, o estado do sistema e sua covariância de erro são
alterados usando a matriz de transição F, que pode ser implementada em
MatLab como se segue:
function[x, P ] =kalman_ predict(x, P, F,Q)x = F ∗ x;% estado preditoP = F ∗ P ∗ F ′ +Q;% covariância da estimativa previstaend
Na fase de atualização, primeiramente segue-se o cálculo da diferença entre
estados preditos e medidos. Em seguida, a matriz de ganho de Kalman, K,
é calculada com base em uma proporção do erro de predição P(k) e do ruído
de medição S(k).
Finalmente, o vetor de estado e sua covariância de erro são atualizados com
o estado medido. Ele pode ser implementado em MATLAB como:
function[x, P ] = kalman_ update(x, P, F, z,H,R)y = z −H ∗ x; % erro de medição-inovaçãoS = H ∗ P ∗H ′ +R; % erro de medição-covariância da inovaçãoK = P ∗H ′ ∗ inv(S); % ganho de Kalman (ótimo)x = x+K ∗ y; % atualização do estado estimadoP = (eye(size(x, 1))−K ∗H) ∗ P ; % covariância da estimativa atualizadaend
Ambos os estágios atualizam as duas variáveis: x(k), variável de estado, e
P(k), previsão variável covariância de erro.
As duas fases do filtro são comumente usadas para modelos de sistemas
dinâmicos lineares. A primeira fase resolve a equação de processo:
x(k + 1) = Fx(k) + w(k)
60
O ruído processo w(k) é aditivo Gaussiano ruído branco (AGWN-Additive
Gaussian White Noise) com média nula e covariância definida por:
E[w(k)w(k)T
]= Q
A segunda é a equação de medida:
z(k) = Hx(k) + v(k)
O ruído de medição v(k) também é AGWN com média zero e covariância
definida por:
E[v(k)v(k)T
]= R
O modelo para o filtro de Kalman assume que o estado real no tempo (k) é
obtido através do estado no tempo (k+1) de acordo com
x(k) = F(k)x(k − 1) + B(k)u(k) + w(k)
onde
P(k) = P(k − 1)−K(k)H(k)P(k − 1) = (I −K(k)H(k))P(k)
Esta fórmula é computacionalmente menos custosa e quase sempre utilizada
na prática, mas só é válida para o ganho ótimo. Se a precisão matemática
for muito baixa causando problemas de estabilidade numérica, ou se um
ganho não-ótimo for utilizado, esta simplificação não se aplica. A equação
completa para a estimativa a posteriori da covariância do erro como derivada
anteriormente deve ser utilizada.
61
4 SISTEMA PROPOSTO - VISÃO GERAL
Neste trabalho, apresentamos um sistema de rastreamento visual e
acompanhamento de um alvo móvel por robô em ambientes semi-
estruturados, capaz de controlar dois graus de liberdade do robô e de uma
câmera embarcada.
O sistema é composto por dois subsistemas com finalidades distintas, o que
conduz ao uso de dois controladores: um para a plataforma robótica e outro
para a câmera.
Além disso, a utilização de dois controladores se deve à existência de
diferentes tempos de discretização nos processos de rastreamento visual e
controle do robô, como também para permitir a independência de movimen-
tos da câmera e do robô, possibilitando por exemplo a execução da tarefa
de acompanhamento com desvio de obstáculos, usando a câmera como único
sensor embarcado.
Na configuração do sistema é utilizada uma rede Ethernet sem fio e uma
câmera de rede. Com esta abordagem o maior custo computacional é
realizado por um computador (host) e algoritmos de baixo custo computa-
cional embarcados no hardware do robô.
O uso da Tecnologia WLAN (Wireless Local Area Network) e IP ( Internet
Protocol) traz benefícios consideráveis ao sistema pela possibilidade de tele-
operação de robôs e reutilização do sistema com pouca ou nenhuma alteração
no hardware do robô e no software embarcado.
Estes incluem ainda reduções substanciais no projeto e no esforço futuros
para desenvolvimento de novos controladores, através da utilização de com-
ponentes padronizados de hardware e de software. Potencialmente amplas
vantagens operacionais surgem, em especial a possibilidade de operação re-
mota de qualquer local com ligação à Internet.
62
A utilização de uma câmera de rede tem como principal diferença e vantagem
o fato de que ela fornece a saída de vídeo em formato digital, podendo ser
conectada diretamente a um switch Ethernet ou roteador e acessada através
de uma rede IP. Além disto todos os parâmetros de configuração da imagem
podem ser facilmente controlados por métodos HTTP do tipo POST/GET.
Para isto, as câmeras IP incorporam um pequeno computador de bordo, que
geralmente rodam um sistema operacional Linux embarcado. A câmera pode
se mover tanto nas direções vertical (TILT) como horizontal (PAN), tornando
mais fácil ajustar o ângulo de visão.
A câmera empregada possui o recurso de zoom, que é muito útil para se
obter informações detalhadas do alvo. Essa informação detalhada é uma das
questões-chave, pois proporciona um melhor resultado no processamento da
imagem pelo detector de características, entretanto, numa primeira imple-
mentação esse recurso não foi utilizado.
A FIG. 4.1 apresenta o diagrama em blocos do subsistema robô-câmera e a
FIG. 4.2 o subsistema de acompanhamento visual.
FIG. 4.1: Visão geral - Subsistema robô-câmera.
63
FIG. 4.2: Visão geral - Subsistema de acompanhamento visual.
A cada quadro Fk(t) ou conjunto de quadros de imagem capturada, é
realizado um pré-processamento da imagem, sua segmentação e fraciona-
mento em zonas distintas.
Após a aplicação dos algoritmos de detecção de características, são utilizados
estimadores de rastreamento visual do alvo e de caminhos ao deslocamento
do robô. Com base nessas estimativas é realizado o rastreamento visual.
Parte da informação do estimador visual é utilizada na atualização do esti-
mador de caminho. Segue-se a aplicação de leis de controle específicas à cada
processo. Por fim, as diretivas de comandos são sincronizadas e enviadas aos
controladores de movimentos da câmera e do robô. Para cada novo quadro
capturado ou conjunto de quadros, este processo será repetido.
A realimentação do sistema é realizada pela rede com base nas informações
enviadas pelo sensor de imagem e do controlador do robô (velocidade e
odometria), onde as coordenadas do alvo no mundo real (3D) são trans-
formadas para o plano da imagem (2D).
Um parâmetro de erro fixo (λ) é introduzido no estimador visual, por não
ser possível obter a realimentação diretamente do controlador da câmera
64
(arquitetura proprietária).
Além disso, necessitamos manter o alvo numa região rastreável, com previsão
de possíveis erros do algoritmo de rastreamento. Todos os processos serão
referenciados ao plano da imagem.
É suposta a necessidade de paralelismo no processamento computacional
(multithread) para minimizar o tempo gasto na execução dos algoritmos,
que em geral são sequenciais, melhorando as aplicações em tempo real.
Na figura 4.3 temos os sistemas de coordenadas 1,2,3,4 e 5, respectivamente,
do plano do movimento, da câmera, do sistema inercial do robô móvel, da
imagem e do objeto de acompanhamento. Nas subseções seguintes, os princí-
pios adotados são apresentados e os blocos do processo são descritos.
FIG. 4.3: Vistas ilustrativas do robô e os sistemas de coordenadas.
65
5 METODOLOGIA
Atualmente, já existem vários robôs móveis voltados à pesquisa acadêmica
disponíveis no mercado, entretanto cabe ressaltar que, em em sua maioria
são de arquitetura fechada e os custos de aquisição e expansão são muito
elevados. O robô Pioneer da MobileRobots Inc. é um exemplar líder no
segmento acadêmico
No início desta dissertação o IME não dispunha de nenhum, por isso os
trabalhos para a realização desta dissertação seguiram os seguintes passos:
Passo 1 - Modelagem do robô.
• Desenvolvimento das formulações para o robô escolhido;
• Desenvolvimento da formulação do controlador dos motores.
Passo 2 - Construção do robô móvel.
• Projeto do robô em CAD;
• Construção e Montagem;
• Desenvolvimento e implementação do hardware e softwares.
Passo 3 - Simulação e controle do robô.
• Desenvolvimento de um software para simulação e controle do modelo;
• Realização de experimentos e avaliação dos resultados.
Passo 4 - Desenvolvimento de um modelo de rastreamento visual.
• Desenvolvimento das formulações;
• Implementação;
66
• Avaliação do desempenho.
Passo 5 -Integração do Sistema e avaliação do seu desempenho
• Integração dos diversos subsistemas;
• Análise dos resultados obtidos.
Neste capítulo são apresentadas as formulações matemáticas do desenvolvi-
mento do sistema SAVAR (Sistema de Acompanhamento Visual de Alvos
por Robô), seus componentes e sua eletrônica embarcada.
5.1 MODELAGEM E CONSTRUÇÃO DO ROBÔ MÓVEL
Para o robô SAVAR foi escolhido um modelo do tipo (2.0), conforme
apresentado no Capítulo 3 (Seção 3.1), por possuir uma estrutura mecânica
simples e comumente utilizada em pesquisa de navegação robótica, devido à
facilidade de construção, manutenção entre outras. Uma vista conceitual do
modelo escolhido é mostrada na FIG. 5.1.
FIG. 5.1: Vista conceitual - Robô SAVAR.
Deste ponto em diante o termo WMR será usado como referência genérica e
o termo SAVAR para referência ao subsistema robô-câmera desenvolvido.
Sua estrutura é dotada somente de rodas convencionais, FIG.5.2, sendo duas
rodas dianteiras fixas e uma traseira orientável centrada (tipo esférica) e
67
com base nas definições anteriores, para o SAVAR temos que α = β = 90o,
lf = 105mm e rf = 50mm.
(a) Vista conceitual. (b) Dianteira (c) Traseira.
FIG. 5.2: Rodas do robô SAVAR.
A rodas do tipo bola esférica não possuem um eixo principal de rotação e não
colocam restrições sobre o movimento direto. Tal como as rodas orientáveis
não centradas (tipo Caster) e as Suecas, as rodas esféricas são claramente
omnidirecionais, não impondo restrições sobre a cinemática do seu chassi.
A EQ. 3.3 do Capítulo 3 descreve simplesmente a taxa nominal de rotação
da esfera na direção do movimento do ponto A do robô.
Como, por definição, o eixo de rotação ortogonal a essa direção é zero, assim
fica evidente que as equações para a roda esférica são exatamente as mesmas
que as das rodas convencionais fixas, apenas a interpretação da EQ. 3.4 é
diferente.
A roda esférica, sendo omnidirecional, pode ter qualquer direção arbitrária
de movimento, onde a direção do movimento, dado por β, é uma variável
livre deduzida da EQ. 3.4.
Considerando-se o caso que o robô realiza uma translação pura na direção
Zm, a EQ. 3.4 se reduz a sin(α + β) = 0. Assim temos α = −β, o que faz
sentido para este caso especial (SIEGWART, 2004).
Como foi visto, em geral, as rodas dos WMR são descritas por suas carac-
terísticas constantes, ou seja: três ângulos α, β, γ e três medidas `, r e d
(DEWIT, 1996).
68
Sem perda da generalização das equações deduzidas, onde o ponto P foi
fixado na origem do referencial inercial(centro de massa), assume-se aqui que
este, no chassi do SAVAR, encontra-se no ponto médio, entre o centro das
duas rodas dianteiras, (SIEGWART, 2004).
Assim, dados α1, β1 e `1, para roda dianteira esquerda, e α2, β2, `2, para roda
dianteira direita, temos que neste caso a matriz C1(βs) tem duas restrições,
mas posto = 1. Isto permite ao SAVAR executar movimentos em torno do
CRI (considerado um ponto no infinito).
Para o SAVAR o número total de configurações de coordenadas é sete.
N = 7 = 1(Nf = 2) + 2(Nc = 1) + 2(Nnc = 0) + 1(nsw = 0) + 3(ξ, β e θ)
5.2 FORMULAÇÃO CINEMÁTICA E DINÂMICA
Ao longo do desenvolvimento do SAVAR, resumiu-se sob uma ótica simplista
e sem perda da generalidade a sua estrutura mecânica a um eixo rígido, de
comprimento 2L, com uma roda motora independente em cada extremo e
uma roda tipo centrada onde o robô é equilibrado.
Considerando as restrições discutidas na seção anterior, apenas são possíveis
rotações em torno do ponto central do próprio eixo das rodas e translações no
sentido longitudinal. Com estes movimentos combinados e fazendo C variar
ao longo do tempo é possível descrever qualquer tipo de trajetória planar.
Desta forma, num instante t, assumimos que cinemática do seu movimento
pode ser descrita através das EQ. 5.1, em que w(t) e v(t) são as suas ve-
locidades angular (θ) e linear, rC é o raio de curvatura e vL(t) e vR(t) as
velocidades das rodas motoras direita e esquerda, respectivamente (veja FIG.
5.3).
w =vR
rC + L=
vLrC − L
v = w ∗ rC (5.1)
É notório que, a velocidade angular de qualquer ponto da estrutura é igual,
69
em cada instante, donde se deduz que:
w =vR − vL
2Lv =
vR + vL2
(5.2)
5.3 FORMULAÇÃO DA DINÂMICA
Para a formulação da sua dinâmica, tomamos por base as EQ. 5.1 e 5.2 usando
a decomposição do movimento do robô nos seus componentes vetoriais de
rotação (associada à velocidade angular) e translação (associada à velocidade
linear), onde a componente w refere-se sempre a rotações em torno do ponto
central C.
Os movimentos do robô decorrem da aplicação de tensões DC em cada motor,
que são convertidos pelas próprias rodas em forças de tração paralelas ao solo,
de onde surge um binário em cada roda.
Podemos então, sob este ponto de vista, considerar a dinâmica do SAVAR
como a de um corpo rígido sobre o qual atuam duas forças paralelas, FR e
FL, aplicadas uma em cada roda, cuja resultante F é aplicada num ponto P
(sobre o eixo dos motores). Desse modo, o binário total T relativo a qualquer
ponto permanece inalterado.
Pela FIG.5.3, estabelecemos que, para rw sendo o raio das rodas, as relações
entre a resultante F e binário total T e os binários gerados por cada motor
(TR e TL) são obtidos por:
F = FR + FL =TR + TLrw
(5.3)
T = L(FR − FL) =L(TR − TL)
rw(5.4)
rF =L(FR − FL)
L(FR + FL)(5.5)
Para estabelecermos as equações do movimento do SAVAR devem ser con-
70
FIG. 5.3: Diagrama vetorial - Cinemática e Dinâmica do SAVAR
siderados, ainda, a sua massa M e momento de inércia J, relativo ao centro
de rotação P, sendo Bv e Bw os coeficientes de atrito a serem vencidos nos
movimentos de translação e rotação, respectivamente.
Pela assunção que estes parâmetros são aproximadamente constantes nas
velocidades de trabalho podemos, então, estabelecer que na translação:
Mdv
dt= F − v ∗Bv (5.6)
e na rotação:
Jdw
dt= T − w ∗Bw (5.7)
Pelas características dos motores tipo DC, as forças geradas são dependentes
das velocidades, assim a solução das EQ. 5.6 e 5.7 são dependentes do modelo
dos motores.
Os motores do SAVAR, são do tipo com magneto permanente, que em geral
se baseiam na proporcionalidade entre seu torque Tm e a corrente circulante
i, por um lado, e também entre a força contra-eletromotriz em e a wm. Disso
71
advém que Tm = KT ∗ i, em = Kb ∗ wm e KT = Kb +Km.
Se consideramos que KT = Kb (numericamente e dimensionalmente), o que é
de certa forma aceitável para pequenos motores DC, como no caso específico
do SAVAR. Podemos estabelecer uma única constante Km para ambos os
motores, simplificando todo o processo de cálculo.
Além disso, a resistência medida R é da ordem de 45Ω e sua indutância H
pequena e aliado ao fato de serem iguais, podemos considerar que:
F =2Km
rwR
(eam −
Km
rmv
)(5.8)
T =bKm
2rwR
(ead −
Km
rwbw
)(5.9)
eam =eaR + eaL
2(5.10)
ead = eaR − eaL (5.11)
onde, eam e ead são respectivamente as tensões DC média e diferencial,
atuantes ao aplicarmos as tensões DC eaR no motor direito e a tensão eaL no
motor esquerdo.
Pelas EQ. 5.8 - 5.7, podemos descrever a dinâmica do SAVAR ao aplicarmos
tensões nos seus motores como segue:
Mdv
dt=
2K2m
rmR∗ eam −
(2K2
m
r2mR
+Bv
)∗ v (5.12)
Jdw
dt=LbKm
rmR∗ ead −
(2L2K2
m
2r2mR
+Bw
)∗ w (5.13)
A solução destas equações diferenciais permite determinar a evolução tem-
poral das velocidades do SAVAR de forma que, aplicando um degrau de
tensão em ambos os motores suas velocidades evoluirão exponencialmente
72
para valores finais constantes vmax e wmax, respectivamente, como se segue;
v(t) = vmax(1− e−1/τv) + v(0−) ∗ e−1/τv (5.14)
w(t) = wmax(1− e−1/τw) + w(0−) ∗ e−1/τw (5.15)
Que podem ser calculadas da seguinte forma:
vmax =2Kmrw
2k2mr2w
+Bv
∗ eam (5.16)
wmax =LKmrw
2L2k2mr2wR
+Bw
∗ ead (5.17)
Da mesma forma, as constantes de tempo τv (translação) e τw (rotação)
podem ser obtidas como segue:
τv =M
2K2m
r2w+Bv
(5.18)
τw =J
2L2K2m
r2wR+Bw
(5.19)
Ao considerarmos os motores iguais e de posse dos parâmetros I0, Is, vmaxe R, respectivamente corrente em vazio, corrente de bloqueio, velocidade
de rotação máxima e resistência do enrolamento, é possível determinar a
constante do motor km, bem como o binário máximo Ts fornecido pelo motor.
A Tabela 5.1 apresenta os valores 4 medidos e fornecidos5 pelos fabricantes
dos diversos componentes da plataforma e das partes desenvolvidas.4Foi mantido rpm ao invés de rad/s como unidade por facilidade de uso.5As velocidades medidas no eixo sem carga sob 12VDc, foram: vmin=1.5rpm e
vmin=200rpm.
73
Parâmetros do SAVAR Valor Simbolo SIMassa total (com câmera) 5, 5 kg
Distância do CG ao eixo das rodas ≈ 0, 010 mMomento de inércia no CG ∼ 0.0275 kg.m2/s2
Eficiência da redução 0, 90 -Eficiência do motor 0, 69 -Fator de redução 30 -Tensão nominal 12 VdcTorque nominal 1, 5 kg/cm
Velocidade nominal 170 rpmCorrente nominal 0, 53 A
Velocidade sem carga 216 rpmCorrente sem de carga 0, 15 A
Corrente de bloqueio (stall) 2, 5 APotência nominal 4, 22 W
Resistência do enrolamento 45, 3 ΩEncoder 360 ppr
TAB. 5.1: Valores nominais do motor.
5.4 CONTROLADOR DOS MOTORES
Uma questão que surge, por ocasião da implementação prática do controlador
dos motores, diz respeito aos motivos pelos quais se deve usar um controlador
do tipo PI (proporcional e integral), ao invés de um do tipo PID (controlador
proporcional, integral e derivativo), ou até mesmo um outro mais sofisticado.
O controlador PI é comumente usado quando o sinal de referência fornecido
para o sistema são degraus (set points). Se a referência de sinais impostas ao
sistema fossem as rampas ou outros tipos de funções temporais, o controlador
PID se apresentaria como uma melhor opção.
Na prática, entretanto, o termo derivativo pode amplificar as perturbações
na entrada da planta ou o ruído proveniente da leitura dos sensores, caso
os termos PID não estejam bem sintonizados, o que induz o sistema à
instabilidade FRANKLIN (1997) OGATA (2001).
Como o controle dos motores não busca obter um alto grau de precisão,
74
uma vez que diversos parâmetros construtivos do robô não são totalmente
garantidos, propomos a utilização de um controlador PI, que embora não seja
muito sofisticado é bem consagrado na literatura e atenderá aos requisitos
operacionais esperados para o sistema.
A figura 5.4 apresenta o diagrama de blocos deste subsistema, implementado
em um microcontrolador (µC) PIC 16f877A, onde r(kT ) indica o sinal de
referência, u(t) é a tensão de controle aplicada ao motor, x(t) a saída do
sistema, y(kT ) representa o sinal discreto gerado pelo sensor (deslocamento
angular), V (kT ) o sinal de saída do sensor de velocidade (V S), e (kT ) o erro
definido pela diferença (r(kT )−V (kT )), d(t) e n(t) que são, respectivamente,
a entrada da perturbação para a planta e o ruído no sensor. A notação (kT )
é usada para representar um sinal discreto com uma amostra de tempo dada
por T .
FIG. 5.4: Diagrama em blocos do controlador dos motores
5.5 SISTEMAS ELETRÔNICOS EMBARCADOS
Para realização dos experimentos de controle do robô e câmera, hardwares
específicos foram desenvolvidos. O sistema eletrônico embarcado é composto
de duas placas de interfaces distintas (FIG 5.5 (a) e (b)), cuja produção do
layout dos circuitos foi obtida pelo uso do software Eagle 5.0 da CadSoft
(versão demo).
75
O firmware responsável pelo controle PI na planta foi implementado em lin-
guagem C no ambiente de programação Keil µVision3 e gravado no microcon-
trolador através de um hardware de depuração (debug) proprietário. Uma
opção gratuita para esta operação é a utilização do software Flash Magic da
NXP Semicondutores.
Por problemas de interrupções geradas pelo mal dimensionamento do soft-
ware, o controle PI dos motores, não conseguiu atualizar os dados diretamente
na memória do microcontrolador. Assim, pela necessidade de obtenção dos
resultados do funcionamento do sistema em tempo real, os valores PI foram
inseridos e gravados diretamente no código do microcontrolador, sendo dessa
forma possível verificar o desempenho do motor em tempo real.
O controle do SAVAR também foi realizado por um Drive comercial o MD256
( FIG. 5.5 (d)). Entretanto este drive trabalha apenas com o controle pro-
porcional.
Para estabelecermos o controle do robô uma rede sem fio foi utilizada. Os
recentes avanços na tecnologia de redes sem fio e protocolos de RF (Rádio
Frequência) têm permitido um aumento significativo no uso de dispositivos
de automação, embora muitos destes sejam de difíceis soluções cabeadas
(wired).
A solução Wi-Fi é uma marca registrada da Wi-Fi Alliance, que é utilizada
por produtos certificados que pertencem à classe de dispositivos de rede local
sem fios WLAN ( Wireless Local Area Network), baseados no padrão IEEE
802.11, o qual define as redes locais sem fio (WLAN), comumente referida
como Wi-Fi, está embarcada praticamente na maioria dos computadores pes-
soais vendidos nos dias atuais.
É visível a penetração de redes sem fio na maioria das aplicações, bem como
o aumento significativo do seu uso nos últimos anos, particularmente nos
ambientes industriais, acadêmicos e médicos. Um aspecto conveniente do
padrão 802.11 é que também opera em frequências de 2.4Ghz, sem restrições6Maiores informações em www.robot− electronics.co.uk
76
de uso.
As principais motivações para a sua adoção foram: a utilização de frequências
na faixa de rádio que independe das normas nacionais de comunicação, o uso
amplo nos meios acadêmicos e o alcance provido pela tecnologia.
Sobre os benefícios da escolha da tecnologia Wi-Fi, cabe destacar:
• Penetração: a conectividade sem fio está se tornando cada vez mais
comum em domicílios e instituições de Ensino e Pesquisa.
• Acessibilidade: uma vez que um dispositivo use protocolos 802.11b e
802.11g, a sua conectividade é válida para qualquer lugar do planeta,
sem restrições de uso.
• Facilidade de uso: depois de uma rede local estar configurada, a adição
de um outro dispositivo não exige hardware adicional ou reconfiguração.
• Comunicação ad-hoc: dispositivos Wi-Fi também permitem a conec-
tividade peer-to-peer, onde a transferência de dados pode ter lugar entre
dois dispositivos isoladamente. Isto é de uso particularmente interes-
sante, pois as definições de conectividade podem ser modificadas mesmo
sem o dispositivo estar conectado a um servidor web.
Entretanto, algumas desvantagens devem ser evidenciadas sobre o uso dessa
tecnologia:
• Alcance: o alcance de conectividade de dispositivos com tecnologia Wi-
Fi é também limitado, como os de tecnologia Bluetooth e Zigbee, por
causa das altas frequências utilizadas.
• Segurança: dependendo da criptografia usada pelo provedor Wi-Fi, a
conexão e os dados transmitidos podem ser comprometidos.
• Interferências de RF: são uma das principais fontes de redução do al-
cance e perda de dados, entretanto é possível operar com razoáveis
garantias.
77
Vários componentes com tecnologia Wi-Fi foram inicialmente selecionados
como parte do dispositivo de comunicação do SAVAR, tendo-se escolhido o
módulo servidor MatchPort b/g da Lantronix R©, Inc.7 FIG. 5.5(b).
Este módulo é um pequeno servidor embarcado (45×45 milímetros) capaz de
receber instruções via telnet com o padrão 802.11b/g, e de fácil configuração,
o que permite a rápida integração em dispositivos que precisam de rede e
conectividade sem fio.
Suas principais características são:
• dois canais seriais(RS-232/485), todos acessíveis através de portos
diferentes de 8 pinos configuráveis;
• suportam diversos algoritmos (WPA-PSK e TKIP e WEP) de crip-
tografia para os dados transmitidos ;
• são alimentado por uma tensão de 3.3 VDC;
• cada módulo possui um único endereço MAC (Media Access Control);
• a sua versão de firmware pode ser atualizada para a versão Pro-
MatchPort que oferece recursos adicionais, como a possibilidade de
configuração do seu servidor web interno.
Para servir de suporte a este módulo, responsável pela realimentação da
planta robô-câmera, uma interface de rede foi desenvolvida FIG. 5.5(b).
O sensor visual usado é uma câmera de rede Axis 214, também conhecida
comercialmente como câmera IP, cujo hardware embarcado possibilita di-
versas configurações, tanto com relação ao padrão da imagem, quanto ao
tipo de imagem (monocromática ou colorida). Também é possível contro-
lar o tamanho da imagem e sua taxa de compressão e de transmissão (fps -
Frames por segundo).7Maiores detalhes podem ser obtidos em www.lantronix.com.
78
(a) Controle principal. (b) Interface de rede.
(c) Servidor MatchPort. (d) Controlador dos motores.
(e) Motor com encoder. (f) Câmera IP.
FIG. 5.5: Subsistemas eletrônicos embarcados e câmera de rede.
5.6 SUBSISTEMA DE ACOMPANHAMENTO VISUAL
Grande parte dos trabalhos encontrados na literatura, relativos a rastrea-
mento de objetos por câmeras PTZ, são focados nos algoritmos de visão
computacional devido à complexidade envolvida. As as ações de controle do
PAN e TILT, por serem mais simples do que as necessárias ao controle das
diversas juntas de um manipulador robótico, não são discutidas.
Quando o movimento de um alvo não é previamente conhecido e/ou este
79
pode mudar de forma aleatória, se faz necessário contarmos com algum tipo
de estimação de sua posição e velocidade, provenientes dos dados enviados
de algum tipo de sensor.
O objetivo aqui é apresentar uma solução para resolver o problema de acom-
panhamento visual monocular, por um robô móvel em tempo real, que seja
simples porém eficiente.
Nos experimentos utilizamos um algoritmo semelhante aos utilizados em fute-
bol de robôs, baseado na cor e forma, ficando a critério de futuras pesquisas
o emprego de outros métodos mais eficazes.
Com essa proposta, o principal objetivo aqui é garantir a eficacia e precisão
das medições da postura do alvo no ambiente. O principal fundamento aqui
é baseado nos trabalhos recentes (FREDA, 2007) (MANCHESTER, 2007)
(TSAI, 2009)
Modificações são introduzidas nos conceitos empregados pelos autores para
produzir o desempenho do sistema, levando em consideração a estrutura
computacional mínima do SAVAR, o tipo de câmera embarcada (câmera de
rede), suas condições de uso, bem como um baixo custo computacional.
Os dados obtidos a partir do plano da imagem são então utilizados pelos dois
controladores de forma independente. Num nível mais baixo, o mecanismo
PTZ da câmera é controlado de modo a manter o alvo no centro do plano da
imagem. Num nível superior, o robô é conduzido sob a suposição de que o
sistema de câmera realiza acompanhamento perfeito.
Em particular, a posição relativa e absoluta do alvo pode ser recuperada a
partir dos ângulos PAN e TILT, além de estimativas de outros parâmetros
do alvo, tais como sua velocidade e aceleração.
Com essa abordagem o problema é concebido com o uso de dois controladores
distintos: um para controle servo-visual da câmera e outro para guiar o
SAVAR.
A formulação do sistema SAVAR tem foco na teoria de sistemas, assim
esta técnica é empregada para um maior desempenho do subsistema de
80
acompanhamento visual. O modelo adotado é relativamente simples e in-
dependente do algoritmo de visão utilizado.
Os resultados experimentais mostram que o sistema apresenta um desem-
penho satisfatório, mesmo com as medições ruidosas e pode se adaptar bem
às mudanças de movimento do objeto.
Devido ao aspecto modular da proposta o sistema permite que diferentes téc-
nicas sejam implementadas para o cálculo do vetor de deslocamento discreto.
Em outras palavras, podemos substituir o algoritmo de visão por um novo
sem ter que alterar a estrutura básica do sistema de condução do robô.
5.7 DETECÇÃO E RASTREAMENTO DO ALVO
A ideia fundamental consiste em associar características, como cor, fluxo
ótico ou segmentos do objeto de interesse, quadro-a-quadro na sequência
de imagens. Esta estimativa permite determinar qual objeto detectado no
próximo quadro, melhor corresponde ao objeto rastreado.
Com a correspondência quadro-a-quadro, é possível extrair parâmetros do
movimento realizado, como por exemplo a trajetória e a velocidade do alvo
entre outras.
Num primeiro experimento, utilizou-se o fluxo ótico, baseado no algoritmo
KLT. Uma representação gráfica dos vetores de fluxo, nos pontos de um alvo
humano, pode ser visualizada na FIG. 5.6.
No TAB. 5.2 temos os resultados comparativos obtidos em experimentos con-
duzidos 8 usando o algoritmo KLT, com redução de dois níveis de pirâmides
Guassianas, considerando apenas dois quadros de 640×480 pixels. Devido ao
seu elevado custo computacional esta técnica foi descartada.
Para implementação do rastreamento de um alvo, pelo SAVAR, utilizamos
a cor como característica principal. onde o processo se inicia pela subtração
da componente de cor (do alvo de interesse) dos quadros capturados, devido8Realizadas com Intel Centrino Duo Core T22501.73 GHz e 1 GB de memória RAM.
81
FIG. 5.6: KLT piramidal - 500 pontos.
Nr de Pontos Custo (ms)2000 695,151000 528,37750 519,36500 359,74250 300,78100 169,27
TAB. 5.2: Custo computacional-KLT piramidal.
ao baixo custo computacional, embora outras técnicas mais recentes utilizem
filtros preditivos capazes de estimar o estado de um alvo no próximo quadro
da sequência. Na FIG. 5.7 temos o fluxograma do processo.
A detecção do alvo de interesse é iniciada por uma computação da diferença
absoluta, baseada em pixel, entre cada quadro de entrada F (k) e a sua
imagem correspondente em níveis de cinza. Assim, os pixeis são assumidos
como contendo o movimento do alvo se a diferença exceder um limiar pre-
definido. Como resultado, um imagem binária é formada com pixeis ativos,
que são marcadas com "1" e não-ativos com os "0".
Neste processo pode ser necessário atualizar a imagem de fundo com frequên-
cia, a fim de garantir a confiança na detecção do movimento, à semelhança
dos algoritmos baseados na subtração de fundo, onde a ideia básica na adap-
82
FIG. 5.7: Processo de rastreamento baseado na cor - Fluxograma.
tação de fundo é integrar as novas informações entrantes para a imagem
de fundo atual, usando o um filtro recursivo de primeira ordem do tipo
B(k + 1) = (1− α)B(k) + αI(k), onde α é um coeficiente de adaptação.
Quanto maior o valor desse coeficiente, mais rapidamente as novas mudanças
na cena são atualizadas para o quadro de fundo, no entanto, seu valor não
pode ser muito grande, pois pode causar "rastros" artificiais formados atrás
dos objetos em movimento.
Em nossa abordagem, optamos por sua não inclusão, uma vez que os
experimentos foram realizados num ambiente de relativo controle do fundo.
Após esta operação, uma filtragem mediana9 é aplicada. Um filtro de medi-
ana é mais eficaz do que a convolução, quando o objetivo é, simultaneamente,
reduzir o ruído e preservar as bordas.
Para aplicar este filtro é necessário ordenar os pixeis na janela por valor
crescente, e escolher o valor central (para um numero impar de pixeis) ou a9Este filtro consiste em substituir o valor do pixel pela mediana dos valores dos pixel
na vizinhança W correspondente à janela envolvente.
83
média dos dois valores centrais (para um numero par).
Este filtro10 preserva a resolução da imagem e apresenta bons resultados
em ruído dos tipos impulso ou binário se o numero de pixeis com ruido
(significativo) for menor do que metade do numero de pixeis na janela.
Alguns algoritmos, mais eficientes, implementam o filtro da mediana apenas
com NW log2(NW ) comparações, onde NW é o numero de pixel na janela.
Na aplicação do filtro, também temos a possibilidade de realizar a filtragem
por mediana em linhas ou em colunas separadamente. Este processo não é
equivalente ao filtro da mediana a duas dimensões, mas é mais rápido por
executar menos comparações.
Após essa operação, pequenos espaços entre os segmentos isolados são apa-
gados e as regiões são mescladas, ou seja, todos os componentes conectados
(objetos) que têm menos de P pixeis. Desta forma é produzida outra imagem
binária.
Uma conectividade padrão (P ), normalmente é de 8 pixeis para duas dimen-
sões e de 26 para três dimensões. Como resultado, pequenos espaços entre
os segmentos isolados são apagados e as regiões são mescladas.
As operações morfológicas são, frequentemente, computacionalmente caras,
no entanto fechamento morfológico binário (e também a abertura) podem
ser implementadas no nível de registradores como uma combinação da mu-
dança e por operações lógica (AND e OR), o que resulta em um baixo custo
computacional final.
Com esta técnica, a operação de fechamento pode ser aplicada a toda a
imagem em tempo real, também com um consumo moderado, facilmente
implementada em hardware com baixa capacidade de processamento. Após
o fechamento, a imagem pode conter regiões que são compostas de ruído de
fundo pixel.
Devido à supressão de ruído, essas regiões são tipicamente menores do que
as regiões de interesse, ou seja, as com movimento real. Portanto, usamos10O filtro de mediana tem características passa-baixo.
84
nesta fase uma análise de componentes ligados, seguido pelo cálculo das áreas
dessas regiões. As regiões com uma área menor do que um limite de interesse,
predefinido, são descartadas.
Na etapa de extração de características, um conjunto de parâmetros é cal-
culado para cada região restante. Os centroides das regiões são usados no
rastreamento e outras características estruturais são utilizadas na classifi-
cação das figuras.
Estas características estruturais incluem a relação entre a largura (W) e a
altura de uma caixa delimitadora (H), a área da região (A) e a localização
relativa dos centroides (ξx, ξy) na caixa delimitadora.
A FIG. 5.8 mostra os resultados obtidos para um quadro capturado em tempo
real e a TAB. 5.3 os custos computacionais envolvidos, para uma imagem de
320×240, considerando o ambiente MatLab.
FIG. 5.8: Processo de rastreamento baseado na cor: (a) quadro capturado,(b) subtração da cor de interesse , (c) escala de cinza , (d) subtração daescala de cinza, (e) Filtro de média, (f) Binarização e Limiarização,
remoção de pixeis(g) e rotulação(h).
Ao final um software preliminar de rastreamento foi desenvolvido em MatLab
e ambiente C/C# FIG. 5.9 e 5.10.
85
Operação Custo (s)Subtração 0,0597Filtragem 0,0688
Binarização e limiarização 0,0233Remoção de pixel 0,1307
Rotulação 0,0115Análise 0,0457
TAB. 5.3: Custo computacional - Subtração de quadros.
FIG. 5.9: Binarização do alvo de interesse e morfologia.
FIG. 5.10: Rastreamento de um alvo colorido.
5.8 ESTIMADOR VISUAL - LEI DE CONTROLE I
Para o SAVAR, precisamos detectar, rastrear as características de um alvo de
interesse e conduzi-lo usando uma câmera como seu único sistema sensorial.
Por isso o primeiro passo é a detecção do alvo e o tratamento os dados,
conforme seção anterior.
A maior vantagem do emprego de uma câmera de rede com PTZ, além
86
das imagens digitais, é o fato de que os seus parâmetros de controle po-
dem ser modificados, online, alterando o seu comportamento ótico. Desta
forma pode-se mudar sua orientação horizontal e vertical através de coman-
dos enviados por TCP/IP, mantendo o seu eixo ótico sobre o alvo ou Região
de Interesse (ROI).
Todo o processo de estimação começa com a escolha de uma ROI. Após isso,
esta é inscrita em um retângulo (dimensões h × m), e deve ser ampliada
para um valor pré-definido (λ) de modo a se obter um tamanho uniforme
em todos os quadros sucessivos, para termos uma melhor prospecção de suas
caraterísticas e facilmente podermos comparar um quadro com um anterior
para o cálculo do deslocamento do centroide do alvo.
O objetivo deste controlador é alinhar no espaço 3D o eixo ótico da câmera
com o centro do alvo (ξx,y) no plano da imagem, sendo o movimento do alvo
considerado uma referência com dinâmica desconhecida.
A estratégia de unir dois paradigmas de controle, o servo controle e o método
baseado em aparência, melhora o processo de acompanhamento, de forma a
obter informações da pose do alvo para a condução do SAVAR.
A sua formulação busca manter a posição (ξx,y) numa posição de interesse
(Ix,y) FIG. 5.11(a), bem como sua projeção num tamanho apropriado FIG.
5.11(b).
Como abordado no Capítulo 2 (Seção 2.2), o rastreamento visual pode ser
descrito como o processo de determinar a localização de um recurso em uma
sequência de imagens ao longo do tempo.
Exemplos incluem a localização de veículos, a face uma de uma pessoa, en-
tre outros, bem como o acompanhamento de pequenas características de
interesse, tais como cantos de um objeto, numa tentativa de determinar sua
geometria em três dimensões. Em todos os casos, a característica de interesse
é geralmente contida dentro de uma ROI.
O comando abaixo ilustra como criar uma ROI, para fins de análise, em
tempo real diretamente da câmera do SAVAR, utilizando o método cre-
87
(a) alvo no centro da imagem (b) projeção adequada
FIG. 5.11: Objetivos do rastreador visual
ateMask no ambiente MatLab, o qual pode ser reposicionada arrastando
com o mouse:
img = imread(′192.168.0.90/axis− cgi/jpg/image.cgi?′);h_im = imshow(img);e = imellipse(gca, [5510120120]); % ROI elípticaBW = createMask(e, him); end
Para o SAVAR a ROI é uma região central, chamada de janela preferen-
cial, retangular e com uma extensão de 100x100 pixel centrada na janela
da imagem. Assim, a posição de um alvo de interesse pode ser descrita em
termos de coordenadas X e Y em unidades de pixel da imagem.
Normalmente, quando se realiza o acompanhamento de um objeto em uma
cena do mundo real, pode ser útil descrever a sua posição em coordenadas
do mundo.
No entanto, para efeitos do presente contexto, considera-se que este
acompanhamento relativo ao mundo no plano da imagem é exercido de modo
correto (sem a necessidade de calibrar o subsistema câmera) e que o algo-
ritmo de rastreamento é capaz de localizar o objeto em qualquer lugar da
imagem e a qualquer instante.
88
Em geral, apenas a região da imagem é a região de busca, quase sempre
do mesmo tamanho que a região de destino, onde se encontra o alvo, pois a
existência de outros alvos, com características semelhantes, podem prejudicar
a eficiência desejada (aplicações em tempo real).
A abordagem mais intuitiva é a busca dentro de uma região em torno da
última posição do objeto. Entretanto, essa abordagem irá falhar se o objeto
se mover fora do intervalo da região alvo, conforme ilustrado na FIG. 5.12.
Muitas são as razões possíveis para que o objeto não permaneça dentro dessa
região:
• o objeto está se movendo rápido demais;
• a taxa de quadros é muito baixa; e
• a região pesquisada é muito pequena.
Estes problemas estão relacionados entre si e poderiam ser evitados,
garantindo uma elevada taxa de quadros, mas nem sempre isso é possível.
Além disso, mesmo quando o alvo pode ser localizado, ele pode não apare-
cer em todas as imagens e muitas das vezes, mesmo tendo sido localizado,
raramente aparece de forma semelhante em todas as imagens.
A aparência de um objeto está constantemente sendo afetada por mudanças
na orientação, iluminação, oclusão, textura entre outros problemas associa-
dos. Então, basicamente, a verdadeira localização do alvo é muito difícil de
observar com precisão em condições normais.
Dois grandes problemas foram identificados de modo que um alvo não seja
rastreável num quadro da imagem (Fn+1), embora este tenha sido rastreado
num quadro anterior (Fn):
a) o alvo só pode ser controlado se não ultrapassar a região pesquisada e
b) vários fatores, tais como iluminação, oclusão e um aumento não casual
89
de sua velocidade 11, entre outros, afetam a sua aparência, tornando
difícil um rastreamento preciso.
Para resolver o primeiro problema, podemos tentar predizer a sua localização
e pesquisar em uma região centrada em torno desse local. Entretanto, ao fazer
a previsão, é necessário considerar também o segundo problema.
A tendência a fazer isto é que se o alvo estiver na ROI, então ele tem chance
relativamente menor de sair do campo de visão da câmera, FIG. 5.12 (caso
1), fato em que não se tem a necessidade de modificar o estado do PAN/TILT
para rastreá-lo, mas pode também não estar mais sendo visto FIG. 5.12 (caso
2 e 3).
FIG. 5.12: Caso 1: Alvo na ROI, Casos 2 e 3: Alvo fora da ROI.
As medições, previamente obtidas, são susceptíveis de erros, portanto, o
método de previsão deve ser suficientemente robusto para lidar com essa
fonte de erros.
De forma mais abrangente, podemos dizer que se o alvo não está na ROI,
então há uma alta probabilidade de que este esteja fora do campo de visão
da câmera. Disso se conclui que, se P (xi) é a probabilidade do alvo ser11Uma descontinuidade súbita em estado normal.
90
controlado no quadro Fn=1, então temos que para uma distância focal f :
Pn(xi) = f(1
d)
onde d é a distância Euclidiana do centro do alvo para o centro da janela
preferencial, dado por d =√
(ξx − Cx)2 + (ξy − Cy)2.
A fim de manter o alvo na janela preferencial, consideremos sua posição
ξx,y(0) = Cx,y=0 e ξx,y(τ), onde Cx,y é o centro da janela preferencial e τ é a
taxa de quadros por segundo (fps) enviados pela câmera.
Pelo cálculo das componentes horizontal e vertical, segue que:
valvo ≈ξx,y(τ)− ξx,y(0)
τ=ξx,y(τ)− Cx,y=0
τ
ou seja, se a taxa de mudança valvo ≤ λ (para λ apropriado), então a
localização do alvo está numa região de grande probabilidade de ser ras-
treável, o que é a própria janela preferencial.
Nos casos em que os valores das derivadas discretas são maior que o limiar λ,
o PAN ou TILT precisam ser modificados. Considerando, ainda, o fato de que
estas componentes podem mudar rapidamente, elas precisam ser modificadas
(minimizadas) antes que o alvo saia do campo de visão da câmera.
Resumidamente, os conceitos acima podem ser equacionados, para Fn como:
∆PTZ = f(ξx,y, ξx,y)
Desta forma, podemos estimar quais os parâmetros (ângulo e velocidade)12
do PAN e TILT devem ser modificados inicialmente, com base na hipótese
acima.
Estando o alvo numa janela preferencial os problemas são minimizados e
assim, podemos proceder o rastreamento visual de modo mais efetivo, con-12Para Axis214 temos: PAN= +/ − 170o e TILT= −30o a +90o, com velocidades
(SPEED) de PAN= 100o/sec e de TILT= 90o/sec.
91
forme descrito no próxima subseção. Definimos então que para τ = fps
(tempo discreto), para ∀n:
∆ξx,y , [(ξx, ξy|(n+ 1)− (ξx, ξy|(n)]
Com base na definição acima, formulamos uma hipótese de modo que, adap-
tativamente, modificamos de forma linear os parâmetros da câmera (PAN,
TILT e SPEED), uma vez que possuímos uma medida de movimento do alvo
no plano da imagem, que corresponde aproximadamente à sua velocidade
real no ambiente.
A medida do SPEED é obtida tomando-se dois quadros consecutivos, ou seja:
SPEED = d ∗ fps⇒ ξ1 ∝ ξi,d
Podemos, em função do modelo descrito, variar os passos em que realizamos
o PAN e TILT, mas temos duas restrições (ξi,d e 4PTZ) sobre os comandos
da câmera, para que possamos atingir a posição angular desejada.
Considerando que, inicialmente, a câmera está numa posição neutra (posição
de zero PAN=TILT=0), há também um pressuposto na hipótese de que ξi,dseja constante.
Para tornarmos o sistema mais robusto e menos sensível às variações de ξx,y,
introduzimos uma realimentação baseada nas medições de d e ξi,d, em pas-
sos aproximadamente fixos (fps), para em seguida modificarmos, adequada-
mente, os comandos de PAN e TILT.
Estas medições13 introduzidas no sistema são realizadas pelo cálculo da ve-
locidade de alvo no plano da imagem, onde a derivada pode ser quantificada
através da medição ξx1,y1 ou seja, em cada frame, para τ = 1fps
. A FIG . 5.13
mostra o fluxograma do procedimento.
Ao associar as entradas e saídas do sistema com a informação visual, relegam-13Para processos em tempo real crítico, estas medições podem ser alcançadas por pro-
gramação paralela (multithread)
92
FIG. 5.13: Controle PTZ - Realimentação.
se para um plano secundário os aspectos mecânicos e cinemáticos do sistema.
Por estas razões, este trabalho usa o paradigma de regulação para modelar o
sistema de acompanhamento visual do SAVAR, onde a formulação do contro-
lador da câmera que define s(t) =[PAN(t) TILT (t) ZOOM(t)
]T, cuja
evolução discreta (τ suficientemente pequeno) é dada por:
s(t0 + τ) ∼= s(t0) + τ s(t0). (5.20)
Considerando o objetivo do controlador, temos que os ângulos PAN (ϕ)→ 0
e TILT (ψ)→ 0, assim adotamos u(t) = KP ∗ err(t), onde KP é o ganho do
controlador e err(t) o erro de estado.
A não introdução de um termo integral no controle pode tornar o sistema
oscilante e na prática sua inserção faz, para um movimento contínuo do
alvo, a planta-câmera responder de forma lenta. Assim, uma realimentação
negativa e um truncamento (via o limiar λ) são introduzidos, evitando-se a
oscilação e conseguindo uma resposta rápida (DINH, 2009):
δ(err(t), λ) =
x, se err(t) ≥ λ
0, se err(t) < λ, λ > 0.
Tem-se que para um tamanho S apropriado do alvo, com o eixo ótico de
93
coordenadas Cx e Cy:
S(t) =
K1δ
(‖ξx − Cx‖
f, λ1
)K2δ
(‖ξy − Cy‖
f, λ2
)K3δ
((S
S0
− 1
), λ3
)
(5.21)
Na equação anterior precisamos conhecer a atual distância focal f 14 para
determinar corretamente os ângulos de ϕ(PAN) e ψ(TILT). Para a Axis214
numa distância focal de 4,1 mm a distância para a cena é de 8 metros, a
largura calculada e altura da cena são de 7,02 e 5,27 metros, respectivamente.
O envio de comandos constantes para a câmera de rede incrementa a taxa
de comunicação de forma a não ser alcançado pelo seu servidor embarcado,
o que ocasiona perda de comandos (fila queue). Além disso a distância focal
não muda de estado tão rapidamente como os ângulos PAN e TILT, assim
a solicitação de mudança da distância focal não pode ser realizada a cada
quadro.
Em (DINH, 2009), os comandos são divididos em dois grupos distintos, um
para alterar a velocidade de PAN e TILT, classificado como de alta prioridade
e um segundo, de baixa prioridade, para ajuste da distância focal.
Para o primeiro, a finalidade é adequar a velocidade da câmera à do alvo,
no segundo caso para solicitar ou alterar a distância focal, uma vez que esta
não é conveniente que sofra constante alterações. Em geral, os fabricantes
de outros modelos de câmeras de rede também disponibilizam o valor de f.
Comandos frequentes causam elevado custo ao processamento da câmera
e perda de comandos. Sendo a estrutura linear, a mesma está sujeita às
operações de inserção e remoção (fila=queue), obedecendo à política FIFO
(= first in, first out), ou seja o objeto removido é sempre o que foi inserido14Para a câmera Axis214 temos:4,1-73,8 mm/F1.3,função de ajuste automático da íris
e foco; Zoom ótico de 18x e digital 12x
94
há mais tempo e quando isso ocorre a fila de comandos é reescrita sendo os
comandos posteriores ignorados.
A solução adotada para este problema foi estabelecer uma estratégia de time-
sharing, agrupando comandos15 da seguinte forma:
• POST/ (PAN TILT SPEED);
• GET/ (PAN TILT SPEED);
• GET/ (ZOOM).
Um número de comandos (PAN , TILT e ZOOM) formam um grupo de
envio. Vários grupos de envio, com uma solicitação de resposta, formam um
loop de controle. A frequência de cada tipo de grupo é determinada por sua
prioridade e experimentalmente.
O valor absoluto do PAN, TILT ou ZOOM não é possível devido ao controle
interno da câmera (proprietário) ser realizado em malha aberta e alcançado
por um processo puramente mecânico, que naturalmente contém erros difíceis
de estimar ou predizer, resultando num acúmulo de erros.
A única solução, nestes casos, seria introduzir um comando de solicitação de
status. O diagrama em blocos da formulação do controlador de estado da
câmera é apresentada na FIG. 5.14,
5.9 OTIMIZAÇÃO
Os resultados obtidos pelo algoritmo de rastreamento, baseado apenas numa
característica (cor), são propensos a erros no cálculo do centroide e podem
falhar, principalmente quando ocorrem oclusões (parciais ou totais).
Utilizar um Filtro de Kalman para obter estimativas do estado ideal das
posições do alvo em cada quadro é útil para os casos citados e principalmente
quando as manobras do alvo não são previsíveis.15O método GET faz a passagem de parâmetros para o servidor HTTP através de uma
URL, enquanto o método POST faz com que os dados do formulário sejam diretamentetransmitidos ao endereço que constar da diretiva de ação
95
FIG. 5.14: Controlador da câmera - Lei de controle I.
Um estudo comparativo entre duas modelagens matemáticas de Filtros de
Kalman aplicadas ao acompanhamento de alvos móveis detectados por radar
foi apresentado (OLIVEIRA, 2005).
A primeira modelagem é amplamente empregada em sistemas de
acompanhamento de alvos utilizados convencionalmente. A segunda foi
analisada como alternativa à primeira, tendo como principal característica,
vetor de estados com dimensão variável, determinada pelo tipo de movimento
realizado pelo alvo. Os resultados de suas análises com dados simulados e
com dados reais demonstraram a viabilidade e a vantagem de utilização deste
modelo.
Por este motivo optamos por usar o Filtro de Kalman, mantendo assim o uso
de um modelo de rastreamento linear.
A etapa de previsão do Filtro de Kalman nos fornece uma estimativa a priori
dos locais de referência no próximo quadro e fornece a inicialização ótima.
As coordenadas ξx,y, produzidas pelo algoritmo de rastreamento como re-
sultados desta inicialização, são tratadas como observações ruidosas para o
Filtro de Kalman e corrigidas para produzir a posição ideal, suavizando as
estimativas de estado. O processo é ilustrado na FIG. 5.15.
96
FIG. 5.15: Fluxograma do rastreamento com Filtro de Kalman.
A fim de implementar um filtro de Kalman, diversas variáveis do modelo
do sistema são definidas. Temos de escolher as variáveis contidas em x(k) e
z(k). Além disso, devemos também escolher valores apropriados para F, H,
Q e R, bem como um valor inicial para P(k). Em nossa abordagem usamos
um modelo com aceleração constante.
Neste modelo definimos o vetor de estado, como descrito em (BAR-
SHALOM, 2002), para rastrear os locais (ξxi,yi) e velocidades (ξxi,yi) do cen-
troide, ambas medidas ∈ <.Para o SAVAR, definida a posição inicial do robô e após a primeira captura
97
da imagem do alvo e o cálculo de ξ, um observador discreto16 prediz a posição
absoluta do alvo após um instante τ .
A síntese desse observador preditor é realizada supondo que o alvo, no plano
da imagem, possui uma aceleração constante, sendo a transição de estado
x(k) determinada por:
ξ(k + 1) = ξ(k) + ξ(k)τ +1
2ξ(k)τ 2
ξ(k + 1) = ξ(k) + ξ(k)τ
ξ(k + 1) = ξ(k),
Assim uma escolha lógica para o vetor17 de estado é:
x(k) =[ξx(k) ξy(k) ξx(k) ξy(k) ξx(k) ξy(k)
]T(5.22)
onde ξx(k) e ξy(k) são as derivadas discretas de primeira ordem e o vetor de
estado consiste de posições, velocidades e acelerações bidimensionais.
De forma sintética, temos: x(k + 1) = Fx(k) + w(k) e a equação de medida
definida como z(k) = Hx(k) +v(k), onde F representa a matriz de transição
de estado, que determina a relação entre o estado atual e o anterior e os
ruídos w(k) e v(k) são considerados Gaussianos de média nula. Como pode
ser observado, a matriz de entrada de controleB está sendo considerada como
contribuinte no ajuste, supondo o alvo sujeito a alterações em sua aceleração.
A matriz de transição F define as equações utilizadas para fazer a transição
de um vetor de estado x(k) para o próximo vetor x(k+ 1), sem ter em conta
quaisquer medidas, z(k), de modo que a transição de estado x(k) pode ser16O valor do período de amostragem é definido como kτ , representado simplesmente por
k, que deve ser ajustado em aplicações em tempo real.17Outros vetores também são possíveis, assim alguns autores introduzem uma variável
"escala", que assume que a janela delimitadora da ROI mantém uma proporção fixa.
98
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 0
0 1 0 τ 0 0, 5τ 2
0 0 1 0 τ 0
0 0 0 1 0 τ
0 0 0 0 1 0
0 0 0 0 0 1
ξx(k)
ξy(k)
ξx(k)
ξy(k)
ξx(k)
ξy(k)
(5.23)
+
12τ 2 0
0 12τ 2
τ 0
0 τ
1 0
0 1
(ux
uy
)+
12τ 2w1(k)
12τ 2w2(k)
τw3(k)
τw4(k)
w5(k)
w6(k)
A matriz de ruído processo Q mede a variabilidade do sinal de entrada longe
das transições "ideais" definidas na matriz de transição.
Maiores valores nesta matriz significam que o sinal de entrada tem maior
variância e a necessidade do filtro ser mais adaptável; por outro lado valores
menores resultam em uma melhor saída.
Entretanto, o filtro não é tão adaptável a grandes mudanças, o que pode ser
um pouco difícil de definir Q, necessitando exigir alguns ajustes de ordem
prática. Além disso, as únicas medidas obtidas são ξx,y. Assim, definimos o
nosso filtro usando um modelo de aceleração constante descrito em (BAR-
SHALOM, 2002). Com base nessa definição, o ruído da medida v(k) e a
99
matriz de ruído processo são:
Q =
14∆k4 0 1
2∆k3 0 1
2∆k2 0
0 14∆k4 0 1
2∆k3 0 1
2∆k2
12∆k3 0 ∆k2 0 ∆k 0
0 12∆k3 0 ∆k2 0 ∆k
12∆k2 0 ∆k 0 1 0
0 12∆k3 0 ∆k 0 1
σ2ξ
(5.24)
onde ∆T = 1fps e σ2ξ
= 3.
Em sistemas onde a medição é baseada em sensores (encoders, girômetros e
acelerômetros) temos seus desvios padrões fornecidos pelos fabricantes. No
caso específico de medidas realizadas com o emprego de algorítimo de ras-
treamento visual, os resultados dessas medidas não obedecem a um padrão
mensurável de precisão, portanto, adotamos uma estimativa empírica.
Para tal cálculo não encontramos uma justificativa teórica, mas é admissível,
de modo geral, que a covariância do ruído de processo seja proporcional ao
quadrado da velocidade desenvolvida pelo alvo. O ruído de processo, neste
caso, está associado às condições ambientais naturais, conforme abordado no
início desta subseção, que modificam aleatoriamente as estimativas da ξx,y e
como consequência ξv e ξx,y.
Assumimos que este erro é uma distribuição Gaussiano (que é uma exigên-
cia do filtro de Kalman) com uma variação de 3 pixeis para cada uma das
coordenadas.
Sendo os erros não correlacionados (independentes), então a matriz de
covariância, para φ = 10, é dada por:
R =
(φ 0
0 φ
)(5.25)
Diminuindo os valores em R significa que estamos assumindo, de forma
100
otimista, nossas medidas como mais precisas, por isso o sinal previsto segue o
sinal observado mais precisamente. Por outro lado, o aumento de R significa
que têm menos confiança na precisão das medições.
A matriz de covariância P é uma medida da precisão estimada de xk sendo
ajustada ao longo do tempo pelo filtro, então somente precisamos fornecer
um valor inicial razoável. Se sabemos com certeza o valor exato da variável
de estado, então podemos inicializar P como uma matriz nula, caso contrário,
ela deve ser inicializada como uma matriz diagonal com um valor grande ao
longo da diagonal.
As variáveis ξx,y(k) são mapeadas diretamente de zk para xk, enquanto que
as derivadas dessas variáveis são latentes (ocultas), não sendo assim medidas
diretamente e não são incluídas no mapeamento.
A matriz H descreve a relação entre o vetor de medidas z(k) =[ξx ξy ξx ξy
]Te o vetor de estado, x(k), conectando-os como segue:
H =
(1 0 0 0 0 0
0 1 0 0 0 0
)(5.26)
5.10 RASTREADOR VISUAL
O rastreador visual visa estabelecer um método de controle servo visual
do subsistema robô-câmera num alvo de interesse, que descreve, no seu
plano de rolagem, um MUV (Movimento Uniformemente Variado). As infor-
mações visuais obtidas pelo estimador visual, são aqui usadas para fazer o
acompanhamento do alvo.
O conceito reside em conhecendo-se a altura h, minimizar a métrica b uti-
lizando as informações 2,4 e 3, respectivamente a orientação da câmera, a
orientação do alvo e os movimentos angulares PAN e TILT, todos relativos
ao centro de giro do robô.
A FIG. 5.16 ilustra o conceito base para o rastreamento de um alvo (bola
vermelha) sobre o plano de deslocamento do SAVAR, conhecida a postura
101
angular (1) do robô .
FIG. 5.16: Vista conceitual - SAVAR e Alvo
Uma aplicação importante que surge, com a interdependência dos contro-
ladores, é o reposicionamento do subsistema robô-câmera com relação a um
alvo em movimento, pois enquanto o mesmo está sendo controlado, a sua
posição futura pode ser interpolada com pontos intermediários de navegação,
estimados na própria imagem por um Estimador de caminhos18, utilizando
de um detector visual de obstáculos (e.g., fluxo ótico).
Deste modo ao mesmo tempo em que se reorienta em direção ao alvo, desloca-
se através desses pontos, passando assim a métrica b a ser uma curva definida
matematicamente por dois ou mais pontos de controle (spline).
A formulação da estratégia de controle do SAVAR é, em parte, baseada
em (FREDA, 2007). Considerando ξ = [ξx ξy]T o vetor de coordenadas
do centroide19 do alvo no plano da imagem e f a distância focal, por uma
simples análise do modelo geométrico e do ângulo ϕ (veja FIG. 5.17), temos18Este estimador foi previsto para o sistema, porém não foi formulado (veja FIG 4.2.)19Nos testes de rastreamento, as coordenadas do centroide, são obtidas pelo rastrea-
mento de sua cor (filtros RGB) e de sua Transformada de Hough. Entretanto, outrosalgoritmos podem ser utilizados.
102
que a posição do alvo no plano da imagem é obtida a partir dessas variáveis.
As equações seguintes evidenciam esta relação:
ξx = f tanh(γ − ϕ) (5.27)
ξx =f(γ − ϕ)
cos2(γ − ϕ). (5.28)
Assim, o controle apropriado de ϕ, em malha fechada,
ϕ = γ +Kϕξx, para Kϕ > 0, (5.29)
garante a convergência exponencial de ξx para zero.
FIG. 5.17: Dependência de ξ do PAN
O termo exógeno γ (feedforward), que surge na relação, é dependente do
movimento relativo instantâneo do alvo e robô. Esse termo, de certo modo,
incrementa uma compensação para o movimento relativo câmera-robô, esta-
belece um nível de separação de suas dinâmicas e pode ser numericamente
calculado por:
γ = ϕ+ arctan(ξxf
) (5.30)
A partir das grandezas ψ, b e h, apresentadas na FIG. 5.18(a), a convergên-
cia exponencial de ξy para zero pode ser obtida de forma análoga à ξx. A
103
distância relativa do alvo é estimada por:
b =h
tanh(ψ)(5.31)
Pela FIG. 5.18(b), temos o erro de apontamento do SAVAR (θerro = θSAV AR+
α), onde:
‖ε‖2 = b2 + d2 − 2bd cos(π − ϕ), (5.32)
e ainda onde, pelo teorema de Carnot, temos que:
α = arcsinb sin(π − ϕ)
‖ε‖(5.33)
FIG. 5.18: Posição relativa do alvo - (a) vista lateral e (b) vista superior
Considerando o deslocamento do alvo (−−−→P1P2) e do robô (
−−−→S1S2), a cada
quadro de imagem (FIG. 5.19), por uma aproximação backward, a velocidade
do alvo em t = t2 é estimada por valvo ≈−−−→P1P2T
e para o SAVAR, por Runge-
104
Kutta de segunda ordem ∆S ≈ v1T cosω1T , ∆y ≈ v1T sinω1T e ∆θ ≈ ωT ,
onde v e ω são, respectivamente sua velocidade linear e angular.
FIG. 5.19: Estimativa da velocidade do alvo
5.11 SÍNTESE DO CONTROLADOR - LEI DE CONTROLE II
Para o cálculo do controlador, que possibilita ao SAVAR interceptar ou acom-
panhar o alvo, consideramos as premissas: (a) as velocidades e acelerações
máximas (lineares e angulares) do robô são maiores do que a do objeto
perseguido e (b) o intervalo de tempo T mínimo entre dois comandos é sufi-
cientemente pequeno.
Assim, o controle 20 do SAVAR é realizado com base na posição e na veloci-
dade do alvo em relação ao robô.
Como os motores que movimentam o robô admitem como entrada velocidades
ou acelerações, optou-se por uma modelagem cinemática definida pelas ve-
locidades das rodas direita vR(t) e esquerda vL(t) dadas por:
∆x,y(t) =vR(t) + vL(t)
2(5.34)
20Foram adotados os princípios de (FREDA, 2007) com uma modelagem simplificada.
105
∆θ(t) =vR(t)− vL(t)
L(5.35)
em que ∆x,y(t) e ∆θ(t) são os valores escalares dos deslocamentos linear e
angular do SAVAR e L é a distância entre as rodas. Dessa forma, para o
vetor de estado x(t) =(
∆x,y(t) ∆θ(t))T
e para o sinal de entrada definido
pelas velocidades, u(t) =(vR(t) vL(t)
)T, temos a equação de espaço de
estado: x(t) = Bu(t) em que: B =
(0, 5 0, 5
1/L −1/L
)e ∃B−1.
O objetivo é fazer o SAVAR percorrer a distância definida por ‖ε‖, FIG. 5.18
(b), e simultaneamente se redirecionar para o alvo, segundo o ângulo α. Isso
permite estabelecer ‖ε‖ como referência - em linha reta - a ser percorrida e α
como o ângulo que o SAVAR deve girar para interceptar o alvo, de forma que
o valor do deslocamento linear absoluto só leve o robô 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 analogia, conclui-se que ∆θ(tf ) = ∆θ(t0) + α.
Desta forma, definimos o vetor de referência imposto ao sistema em malha
fechada como: r(t) =(‖ε(t)‖+ x1(t) + e(t) α(t) + x2(t)
)T, em que e(t)
é uma distância acrescida à ‖ε(t)‖, devido ao giro do SAVAR ocorrer em
deslocamento21.
Como os estados são medidos, definimos a lei de controle como um ganho
de realimentação (negativa), que possibilita escrever a seguinte equação em
malha fechada:
x(t) = B
[∆x,y(t) + ‖ε‖+ e(t) ∆θ(t) + α(t)
]T
−K[∆x,y(t) ∆θ(t)
]T⇐⇒
21A trajetória real não é uma reta, mas sim levemente curva, o que implica numadistância, a ser percorrida, maior do que ‖ε‖.
106
x(t) = B(I−K)x(t) + B[‖ε‖+ e(t) α(t)
]T(5.36)
alocando os polos em malha fechada segundo um desempenho requerido.
Pelas premissas adotadas, concluímos que a relação α(kT ) > α(kT + T ) é
assegurada. Assim sendo, quando K → ∞, α → 0 e e(t) → 0, podemos
assim desprezar e(t), para k suficientemente grande.
Para valores menores de k, a supressão desta correção implica 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 nova distância de referência será ‖ε‖ 6= 0⇒ ∆x,y(t) 6= 0 (na direção
corrigida por α). Assim sendo, a variável e(t) tem relevância desprezível na
interceptação de trajetória requerida. Do exposto, o modelo adotado para
descrever o deslocamento do robô em malha fechada é simples e linear, dado
por:
x(t) = B(I−K)x(t) + B[‖ε‖ α(t)
]TNo caso de d ser suficientemente pequeno, FIG. 5.18, pode-se adotar a sim-
plificação (FIG. 5.19):
x(t) = B(I−K)x(t) + B[b(t) α(t)
]TA FIG. 5.20 ilustra um simulador concebido no ambiente Matlab/Simulink,
para avaliação da síntese do controlador apresentado:
107
FIG. 5.20: Simulação Simulink - MatLab
108
6 RESULTADOS - EXPERIMENTOS REALIZADOS
Como resultado prático à solução do problema um robô foi modelado, desen-
volvido e construído, mostrando-se plenamente funcional para a pesquisa. A
FIG.6.1 apresenta o subsistema robô-câmera concebido.
FIG. 6.1: Robô SAVAR
6.0.1 RASTREAMENTO VISUAL - RESULTADOS EXPERIMENTAIS
A seguir são apresentados e comentados alguns dos resultados experimentais
conduzidos com o o sistema SAVAR, num cenário semi-estruturado indoor.
Os experimentos tratam, particularmente, da avaliação do comportamento
do controlador visual e do controlador do robô, em tempo real. Para isso as
seguintes condições foram estabelecidas:
• o robô permanece estático;
• os ângulos PAN=TIL=ZOOM=0 e θ = 0
109
• o alvo teste é conduzido manualmente a executar movimentos à frente
do SAVAR;
• o movimento do alvo é realizado num plano ortogonal à direção de
rolagem do robô;
• a distância relativa do alvo ao robô é mantida constante;
• nenhuma calibração da câmera é realizada;
• a iluminação do ambiente é relativamente variável, típica de um cenário
semi-estruturado;
• o algorítimo de visão é ajustado para rejeição de alvos menores que 100
pixéis;
• o filtro tem seus parâmetros calibrados em φ = 10, σ2 = 3 e Pinicial =
6 ∗ I;
• são capturados 250 quadros coloridos, sem compressão e com resolução
de 320×240 pixéis.
No experimento nr I, FIG. 6.2 , o alvo é conduzido a executar um deslo-
camento paralelo ao plano de rolagem do robô e ortogonal ao seu desloca-
mento, com velocidade relativamente constante. Durante seu deslocamento
um obstáculo é interposto entre o alvo e o robô, causando sua oclusão total
temporária.
Pelo gráfico, caracterizado pelas duas oscilações ao longo o eixo Y , verifi-
camos que o filtro estima corretamente, mesmo quando o alvo é submetido a
uma oclusão total momentânea.
Além disso, o filtro responde de forma correta, pois uma vez sendo o filtro
de Kalman um preditor proporcional é de se esperar que algum Overshoot
ocorra na resposta do sistema, já que o mesmo foi inicializado com valores
110
altos na diagonal da matriz P , caracterizando um total desconhecimento da
posição inicial do alvo.
Com base nessa observação foi introduzido, posteriormente, no algoritmo
uma função limitante, a fim de se evitar cálculos desnecessários e possibilitar
uma rápida acomodação do preditor.
Outro aspecto observado e que devido à latência na rede (não medida) e o
tempo de processamento (realizado no MatLab) a resposta do filtro às atu-
alizações ficou prejudicada, principalmente quando o mesmo tem o seu vetor
de medidas nulo por grandes períodos de tempo, limitando desta forma uma
estimação mais efetiva. Entretanto, devido à sua formulação proporcional
ele se recupera nos ciclos para(z > 0).
A resposta do filtro às alterações da velocidade de deslocamento do alvo foi
satisfatória, em contradição à assertiva anterior. Isto se deve ao fato de que
que ao variarmos a velocidade do alvo, o algoritmo de visão, por vezes, não
consegue se refazer, perdendo a posição do alvo, mas em intervalos de tempo
muito curtos.
Como o filtro reage no mesmo tempo discreto e como essas ocorrências são
momentâneas, o mesmo permanece estimando à semelhança de uma oclusão
total momentânea.
Considerando as diversas ausências de medições (oclusão), a invariância da
matriz Q no tempo e o tempo médio de cada interação que ocorreu aproxi-
madamente a 0.1567s e numa taxa de 15fps, o filtro estimou com boa precisão
a posição do alvo, onde o erro estimado é da ordem de 1.32 frame.
No experimento nr IV, o alvo realiza, nas mesmas condições do experimento
nr I, porém sem oclusão e variando sua velocidade.
6.0.2 CONTROLE BASEADO NA VISÃO - RESULTADOS EXPERI-
MENTAIS
A simulação de acompanhamento do alvo foi realizada no MatLab e um
software foi desenvolvido em C#. Experimentos práticos preliminares com
111
FIG. 6.2: Experimento em tempo real nr I - movimento horizontal comoclusão total e momentânea do alvo .
FIG. 6.3: Experimento em tempo real nr II - movimento aleatório do alvo.
ambos, robô e câmera, validam as modelagens. Os deslocamentos ilustra-
dos na figura 6.6 - 6.9 são parte dos testes de sucesso observados. Os da-
dos de odometria, tensão da bateria e corrente são obtidos em tempo real.
112
FIG. 6.4: Experimento em tempo real nr III - movimento circular do alvocom velocidade constante.
FIG. 6.5: Experimento em tempo real nr IV - movimento circular do alvocom velocidade variável.
113
Para simulação, o alvo e o robô são posicionados, por sorteio, com veloci-
dades máximas limitadas, executando o alvo um movimento com variação
na aceleração. Os polos do sistema em malha fechada foram alocados em[−0.8 −8
].
FIG. 6.6: Software preliminar do SAVAR - I
FIG. 6.7: Software versão Final do SAVAR - II
114
FIG. 6.8: Simulação acompanhamento II - deslocamento
FIG. 6.9: Simulação acompanhamento II - velocidade das rodas
6.1 AVALIAÇÃO GERAL DO SISTEMA
De forma geral, a formulação proposta como solução ao problema de acom-
panhamento por um robô móvel em ambientes semi-estruturados, funciona
corretamente, entretanto ressaltamos:
Pontos positivos observados:
• O controle funcionou de forma bem comportada com base exclusiva-
mente no espaço imagem;
115
• É considerado o efeito do movimento do robô e do alvo;
• Consegue-se resolver o problema de controle de rastreamento visual de
alvo dinâmico por um robô móvel Tipo(2, 0);
• Com um único controlador fica garantindo a convergência assintótica;
• Possui a aplicabilidade estendida por considerar o controle da
cinemática PAN-TILT de uma câmera IP;
• Redução na complexidade e custo computacional, comparado com sis-
temas baseados na posição, em homografia e outras abordagens.
• O fato do controle visual ter sido aplicado no rastreamento do centroide
permite elencar a possibilidade de aplicação a um vetor de característi-
cas mensuráveis de um alvo de interesse, por parte de outros algoritmos
de rastreamento (de pessoas, carros e aviões por exemplo).
• O emprego do filtro de Kalman no acompanhamento visual aumenta a
confiabilidade em aplicações práticas, robustecendo algoritmos menos
precisos, principalmente resolvendo parte dos problemas relacionados
à oclusão total ou parcial do alvo;
• Os efeitos de quantização não modelada dos comandos de velocidades
e oclusão do alvo também são superados;
Pontos negativos observados e a serem aprimorados;
• Não possui nenhum grau de robustez face as incertezas do modelo do
sistema alvo, uma vez que não foi considerada a matriz B(k);
• Não utilizar um filtro de Kalman auto ajustável prejudica o controle,
uma vez que a observação adequada da matriz de covariância em
diferentes condições ambientais fica inalterada.
116
• Limitado a baixas velocidades do alvo, devido às limitações impostas
pelos motores do robô e do tipo de câmera empregada.
• Os testes práticos foram realizados no ambiente MatLab, o que não
permitiu uma avaliação mais efetiva do desempenho do conjunto.
• Como foi pressuposto ao início do trabalho (necessidade processamento
paralelo), a falta de otimização dos algoritmos prejudica a resposta
global do sistema, uma vez que diversos cálculos são realizados concor-
rentemente.
117
7 CONSIDERAÇÕES FINAIS
7.1 CONCLUSÃO
Este trabalho desenvolveu mais que uma proposta para um sistema de acom-
panhamento visual; pois durante a fase de pesquisa foram desenvolvidas,
também, ferramentas para o auxílio à pesquisa nas áreas de robótica, visão
computacional e controle de processos através de um sistema digital.
Os resultados obtidos na simulação demonstram que a modelagem com o
uso de duas malhas de controle, as premissas e as simplificações adotadas
são adequadas como uma solução ao problema. A configuração proposta
permite, ainda, a exploração de algorítimos de detecção de obstáculos e
navegação semi-autônoma, pela interdependência na utilização dos dados
visuais. Vislumbra-se nisso a possibilidade de unificação do algorítimo de
detecção de características.
Baseado nos resultados obtidos, podemos afirmar que os controles digitais
implementados no drive dos motores (PI) e no controle do subsistema robô-
câmera(P) atenderam a proposta de realizar a correção do erro encontrado
pelo sistema, operado com sua realimentação sob uma rede Wi-Fi.
O filtro de Kalman linear foi capaz de processar corretamente um rastrea-
mento apresentando um bom desempenho. O SAVAR foi capaz de rastrear o
alvo teste, realizando uma trajetória de interceptação com um desempenho
satisfatório.
A rede WLAN se mostrou adequada à realimentação das malhas de controle,
em tempo real, considerando os requisitos 22 envolvidos nesta pesquisa.22Taxa de 15-20 FPS e T=1/25 s.
118
7.2 TRABALHOS FUTUROS
É possível uma série de melhorias para o controlador dos motores do robô
tais como, a utilização do algoritmo PID digital, o desenvolvimento de um
modelo e a implantação de um algoritmo que realize o cálculo das constantes
P, I e D de forma autônoma para o ajuste do controle.
No futuro, propomos a implementação e avaliação de versões não lineares do
filtro de Kalman, pois apesar dos algorítimos de rastreamento visual serem,
na sua maioria, implementados usando o filtro de Kalman linear, as ver-
sões não-lineares têm algumas outras aplicações interessantes na imagem e
processamento de sinais.
É interessante ainda, a unificação dos ambientes de simulação e operacional
do sistema, para sua plena facilidade de uso em pesquisa e a exploração de
outros algorítimos de visão, tais como rastreamento de pessoas e identificação
de objetos e de marcos auxiliares à navegação.
119
8 REFERÊNCIAS BIBLIOGRÁFICAS
ALI, A. e AGGARWAL, J. K. Segmentation and recognition of continu-ous human activity. Detection and Recognition of Events in Video, IEEEWorkshop on, 0:28, 2001.
ANDREW, J. M. e BLAKE, A. A probabilistic exclusion principle for trackingmultiple objects. Em International Journal of Computer Vision, págs.572–578, 1999.
BAR-SHALOM, Y., KIRUBARAJAN, T. e LI, X.-R. Estimation with Appli-cations to Tracking and Navigation. John Wiley & Sons, Inc., New York,NY, USA, 2002. ISBN 0471221279.
BARRETO, J. P. Soluções para Controlo Visual de Movimento: Aplicação emSistemas de Visisão Activos. Tese de Doutorado, University of Coimbra.,2000.
BOUWMANS, T., EL BAF, F. e VACHON, B. Background modeling usingmixture of gaussians for foreground detection - a survey. 1(3):219–237,2008.
CAMPION, G., BASTIN, G. e DANDREA-NOVEL, B. Structural proper-ties and classification of kinematic and dynamic models of wheeled mobilerobots. Robotics and Automation, IEEE Transactions on, 12(1):47 –62,feb 1996. ISSN 1042-296X.
CANNY, J. F. Readings in computer vision: issues, problems,principles, and paradigms. chapter A computational approach toedge detection, págs. 184–203. Morgan Kaufmann Publishers Inc.,San Francisco, CA, USA, 1987. ISBN 0-934613-33-8. URLhttp://portal.acm.org/citation.cfm?id=33517.33534.
CHEUNG, S.-C. S. e KAMATH, C. Robust background subtraction withforeground validation for urban traffic video. EURASIP J. Appl. SignalProcess., 2005:2330–2340, 2005. ISSN 1110-8657.
COMANICIU, D., RAMESH, V. e MEER, P. Kernel-based object tracking.IEEE Trans. Pattern Anal. Mach. Intell., 25(5):564–575, 2003. ISSN 0162-8828.
120
CRÉTUAL, A. e CHAUMETTE, F. Application of motion-based visual ser-voing to target tracking. Int. Journal of Robotics Research, 20(11):878–890,November 2001.
CUTLER, R. e DAVIS, L. S. Robust real-time periodic motion detection,analysis, and applications. IEEE Transactions on Pattern Analysis andMachine Intelligence, 22:781–796, 2000. ISSN 0162-8828.
DE WIT, C. C., BASTIN, G. e SICILIANO, B. Theory of Robot Con-trol. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 1996. ISBN3540760547.
DINH, T., YU, Q. e MEDIONI, G. Real time tracking using an active pan-tilt-zoom network camera. Em Intelligent Robots and Systems, 2009. IROS2009. IEEE/RSJ International Conference on, págs. 3786 –3793, oct. 2009.
ESPIAU, B., CHAUMETTE, F. e RIVES, P. A new approach to visualservoing in robotics. Em Selected Papers from the Workshop on GeometricReasoning for Perception and Action, págs. 106–136, London, UK, 1993.Springer-Verlag. ISBN 3-540-57132-9.
FAN, Y., CUI, G. e LEI, F. Application of edge detection algorithm based onmorphology in robot vision system. Intelligent Human-Machine Systemsand Cybernetics, International Conference on, 1:304–307, 2009.
FELSER, M. Real-time ethernet - industry prospective. Proceedings of theIEEE, 93(6):1118 –1129, june 2005. ISSN 0018-9219.
FRANKLIN, G. F., WORKMAN, M. L. e POWELL, D. Digital Control ofDynamic Systems. Addison-Wesley Longman Publishing Co., Inc., Boston,MA, USA, 1997. ISBN 0201820544.
FREDA, L. e ORIOLO, G. Vision-based interception of a moving target witha nonholonomic mobile robot. Robot. Auton. Syst., 55(6):419–432, 2007.ISSN 0921-8890.
HARRIS, C. e STEPHENS, M. A combined corner and edge detector. EmProceedings of the 4th Alvey Vision Conference, págs. 147–151, 1988.
HILL, J. e PARK, W. Real time control of a robot with a mobile camera.1979.
HORN, B. K. Robot Vision. McGraw-Hill Higher Education, 1986. ISBN0070303495.
121
HUTCHINSON, S., HAGER, G. e CORKE, P. A tutorial on visual servo con-trol. IEEE Transactions on Robotics and Automation, 12:651–670, 1996.
ISARD, M. e BLAKE, A. Condensation - conditional density propagation forvisual tracking. International Journal of Computer Vision, 29:5–28, 1998.
JIA, Z., BALASURIYA, A. e CHALLA, S. Autonomous ve-hicles navigation with visual target tracking: Technical ap-proaches. Algorithms, 1(2):153–182, 2008. ISSN 1999-4893. URLhttp://www.mdpi.com/1999-4893/1/2/153/.
JIANG, J.-A., CHUANG, C.-L., LU, Y.-L. e FAHN, C.-S. Mathematical-morphology-based edge detectors for detection of thin edges in low-contrastregions. Image Processing, IET, 1(3):269 –277, september 2007. ISSN1751-9659.
K.S. KAAWAASE, F. CHI, J. S. e JI, Q. B. A review on selected targettracking algorithms. Information Technology Journal, 2011.
LI, Y., AI, H., YAMASHITA, T., LAO, S. e KAWADE, M. Tracking in lowframe rate video: A cascade particle filter with discriminative observers ofdifferent lifespans. Em Computer Vision and Pattern Recognition, 2007.CVPR ’07. IEEE Conference on, págs. 1 –8, june 2007.
LOWE, D. G. Distinctive image features from scale-invariant keypoints. Int.J. Comput. Vision, 60(2):91–110, 2004. ISSN 0920-5691.
MACHADO, R. F., ARAÚJO, L. O. D., ROSA, P. F. F. e PELLANDA, P. C.Sistema de acompanhamento visual para robôs móveis. Em Anais da XConferência Brasileira de Dinâmica, Controle e Aplicações (DINCON’11),Águas de Lindóia, SP, Agosto 2011a.
MACHADO, R. F., ROSA, P. F. F. e ALMEIDA, D. F. D. Um sistema deacompanhamento visual para robôs móveis semi-autônomos em ambientessemi-estruturados. Em Anais do VI Simpósio Brasileiro de AutomaçãoInteligente (SBAI’11), São João del-Rei, MG, Setembro 2011b.
MACHADO, R. F., ROSA, P. F. F., CUNHA, E. C. D. e ALMEIDA, D. F. D.Um sistema de acompanhamento visual para robôs móveis semi-autônomosem ambientes semi-estruturados. Em Anais do VI Simpósio Brasileiro deEngenharia Inercial (SBEIN’10), Rio de Janeiro, RJ, Outubro 2010.
MANCHESTER, I., LOW, E. e SAVKIN, A. Vision-based interception of amoving target by a mobile robot. págs. 397 –402, oct. 2007.
122
MIKOLAJCZYK, K. e SCHMID, C. A performance evaluation of local de-scriptors. IEEE Trans. Pattern Anal. Mach. Intell., 27(10):1615–1630,2005. ISSN 0162-8828.
NEHMZOW, U. Mobile Robotics: A Practical Introduction. Springer-VerlagNew York, Inc., Secaucus, NJ, USA, 2003. ISBN 1852337265.
NUMMIARO, K., KOLLER-MEIER, E. e GOOL, L. V. Anadaptive color-based particle filter. Image and Vision Com-puting, 21(1):99 – 110, 2003. ISSN 0262-8856. URLhttp://www.sciencedirect.com/science/article/B6V09-47HK1BP-8.
OGATA, K. Modern Control Engineering. Prentice Hall PTR, Upper SaddleRiver, NJ, USA, 2001. ISBN 0130609072.
OH, P. Y. A biologically inspired approach to visually servoed tracking. EmCISST Motion Tracking and Object Recognition Conference, Las Vegas,2002.
OLIVEIRA, J. R. P. D. Acompanhamento de alvos-radar utilizando fil-tragem de kalman e vetor de estados com dimensão variável. Dissertaçãode Mestrado, Universidade Federal do Rio de Janeiro. COPPE/UFRJ.,2005.
PAPANIKOLOPOULOS, N., KHOSLA, P. e KANADE, T. Visual trackingof a moving target by a camera mounted on a robot: A combination ofcontrol and vision. IEEE Transactions on Robotics and Automation, 9(1):14–35, February 1993.
PARAGIOS, N. e DERICHE, R. Geodesic active regions and level set meth-ods for supervised texture segmentation. Int. J. Comput. Vision, 46(3):223–247, 2002. ISSN 0920-5691.
PASCHOS, G. Perceptually uniform color spaces for color texture analysis:anempirical evaluation. 10(6):932–937, June 2001.
PAUL, R. P. Robot Manipulators: Mathematics, Programming, and Control.MIT Press, Cambridge, MA, USA, 1982. ISBN 026216082X.
PELLANDA, P. C., JR., I. B., FERREIRA, A. M., RONZANI, E. R. eACOCELLA, E. C. Engenharia de defesa - inovação, interdisciplinaridade esinergia para a pós-graduação do instituto militar de engenharia. Em Anaisdo XXXV Congresso Brasileiro de Educação em Engenharia(COBEN’07),Curitiba,PR, Setembro 2007.
123
PUZICHA, J., BUHMANN, J. M., RUBNER, Y. e TOMASI, C. Empiricalevaluation of dissimilarity measures for color and texture. págs. 1165–1173,1999.
RONG WANG, G., SUN MA, P., CAO, X., SUN, H. e MING LI, Y. Appli-cation of wireless local area network technology in mobile robot for finnedtube inspection. Journal of Shanghai University (English Edition), 2004.URL http://www.springerlink.com/content/18458p9859v65k21.
SAMARANAYAKE, L., ALAHAKOON, S. e WALGAMA, K. Speed con-troller strategies for distributed motion control via ethernet. Em Intelli-gent Control. 2003 IEEE International Symposium on, págs. 322 – 327,2003.
SERBY, D., KOLLER-MEIER, E. e GOOL, L. V. Probabilistic object track-ing using multiple features. Em ICPR ’04: Proceedings of the PatternRecognition, 17th International Conference on (ICPR’04) Volume 2, págs.184–187, Washington, DC, USA, 2004. IEEE Computer Society. ISBN0-7695-2128-2.
SHI, J. e TOMASI, C. Good features to track. págs. 593–600, 1994.
SIEGWART, R. e NOURBAKHSH, I. R. Introduction to Autonomous MobileRobots. Bradford Company, Scituate, MA, USA, 2004. ISBN 026219502X.
TSAI, C.-Y. e SONG, K.-T. Robust visual tracking control of mobile robotsbased on an error model in image plane. volume 3, págs. 1218 –1223 Vol.3, 2005a.
TSAI, C.-Y. e SONG, K.-T. Visual tracking control of a mobile robot usinga new model in image plane. págs. 540 –545, july 2005b.
TSAI, C.-Y., SONG, K.-T., DUTOIT, X., VAN BRUSSEL, H. e NUTTIN,M. Robust visual tracking control system of a mobile robot based on adual-jacobian visual interaction model. Robot. Auton. Syst., 57(6-7):652–664, 2009. ISSN 0921-8890.
VEENMAN, C. J., REINDERS, M. J. T. e BACKER, E. Resolving motioncorrespondence for densely moving points. IEEE Trans. Pattern Anal.Mach. Intell., 23(1):54–72, 2001. ISSN 0162-8828.
WELCH, G. e BISHOP, G. An introduction to the kalman filter. Technicalreport, Chapel Hill, NC, USA, 1995.
124
YAU, W. G., FU, L.-C. e LIU, D. Design and implementation of visualservoing system for realistic air target tracking. volume 1, págs. 229 – 234vol.1, 2001.
YILMAZ, A., JAVED, O. e SHAH, M. Object tracking: A survey.ACM Comput. Surv., 38, December 2006. ISSN 0360-0300. URLhttp://doi.acm.org/10.1145/1177352.1177355.
YILMAZ, A., LI, X. e SHAH, M. Contour based object tracking with occlu-sion handling in video acquired using mobile cameras. IEEE Transactionson Pattern Analysis and Machine Intelligence, 26:1531–1536, 2004.
YOON, J.-I. e AHN, K.-K. Face tracking system using embedded computerfor robot system. Em SICE-ICASE, 2006. International Joint Conference,págs. 5593 –5597, oct. 2006.
125