Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e...

105
UNIVERSIDADE DO RIO GRANDE DO NORTE FEDERAL UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA MECATRÔNICA Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres com restrições de movimento Rafael Cardoso Pereira Orientador: Prof. Dr. Allan de Medeiros Martins Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Engenha- ria Mecatrônica como parte dos requisitos para obtenção do título Mestre em Engenha- ria Mecatrônica . Número de ordem PEM: M007 Natal, RN, junho de 2017

Transcript of Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e...

Page 1: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

UNIVERSIDADE DO RIO GRANDE DO NORTEFEDERAL

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE

CENTRO DE TECNOLOGIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA

MECATRÔNICA

Técnica de rastreamento e perseguição de alvoutilizando o algoritmo Haar cascade aplicada arobôs terrestres com restrições de movimento

Rafael Cardoso Pereira

Orientador: Prof. Dr. Allan de Medeiros Martins

Dissertação de Mestrado apresentada aoPrograma de Pós-Graduação em Engenha-ria Mecatrônica como parte dos requisitospara obtenção do título Mestre em Engenha-ria Mecatrônica

.

Número de ordem PEM: M007Natal, RN, junho de 2017

Page 2: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Universidade Federal do Rio Grande do Norte – UFRN

Sistema de Bibliotecas – SISBICatalogação da Publicação na Fonte - Biblioteca Central Zila Mamede

Pereira, Rafael Cardoso.Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar

cascade aplicada a robôs terrestres com restrições de movimento / Rafael Car-doso Pereira. - 2017.

102 f. : il.

Dissertação (mestrado) - Universidade Federal do Rio Grande do Norte, Cen-tro de Tecnologia, Programa de Pós-Graduação em Engenharia Mecatrônica.Natal, RN, 2017.

Orientador: Prof. Dr. Allan de Medeiros Martins.

1. Visão computacional - Dissertação. 2. Detecção de alvo - Dissertação.3. Estimativa de configuração - Dissertação. 4. Controle com restrições - Dis-sertação. 5. Geração de caminhos - Dissertação. 6. Controle não-holonômico -Dissertação. I. Martins, Allan de Medeiros. II. Título.

RN/UFRN/BCZM CDU 007.52

Page 3: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Técnica de rastreamento e perseguição de alvoutilizando o algoritmo Haar cascade aplicada arobôs terrestres com restrições de movimento

Rafael Cardoso Pereira

Dissertação de Mestrado aprovada em 21 de junho de 2017 pela banca examinadora com-posta pelos seguintes membros:

Prof. Dr. Allan de Medeiros Martins (orientador) . . . . . . . . . . . . . . . DEE/UFRN

Prof. Dr. Tiago Pereira do Nascimento . . . . . . . . . . . . . . . . . . . . . . . . DSCO/UFPB

Prof Dr Adrião Duarte Doria Neto . . . . . . . . . . . . . . . . . . . . . . . . . . . . DCA/UFRN

Prof. Dr. Pablo Javier Alsina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DCA/UFRN

Page 4: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Agradecimentos

Ao meu orientador, professor Allan, sou grato pela orientação.

Ao professor Pablo pela imensa ajuda na produção deste trabalho.

Aos demais colegas de pós-graduação, pelas críticas e sugestões.

À minha família pelo apoio durante esta jornada.

À CAPES, pelo apoio financeiro.

Page 5: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Resumo

A habilidade de seguir ou de se mover acompanhando uma pessoa ou um objeto espe-cificado, capaz de se deslocar, é uma perícia necessária em diversos agentes autônomos.Tais agentes são amplamente utilizados para realizar várias tarefas presentes no cotidiano,podendo ser aplicados tanto em tarefas corriqueiras, como em carrinhos de supermercadoou limpeza de ambientes, quanto às tarefas de mais alto risco, como em grandes indús-trias ou carros autônomos. A ideia apresentada aqui é a de desenvolver um método derastreamento e perseguição de alvo aplicável à robôs móveis terrestres com rodas quepossuem restrições em sua movimentação, que fazem com que técnicas de controle pa-drão nem sempre possam ser aplicadas. O trabalho desenvolvido aqui também leva emconsideração a utilização de uma técnica de detecção de alvo que possa se tornar adap-tável a praticamente qualquer tipo de alvo estipulado pelo projetista de acordo com asnecessidades de sua aplicação. O desenvolvimento dos métodos propostos foram realiza-dos agregando técnicas de reconhecimento de padrões utilizados em câmeras de padrãoRGB comuns, técnicas de estimativa de posição e orientação e algoritmos de controle in-teligentes, que possuem baixo custo computacional, aplicáveis a robôs com restrições demovimentação.

Palavras-chave: visão computacional; detecção de alvo; estimativa de configuração;classificadores cascata; controle não-holonômico; controle com restrições; geração decaminhos.

Page 6: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Abstract

The ability to follow or move along with a specified moving person or object, is anecessary skill in several autonomous agents. Such agents are widely used to performvarious tasks in everyday life, and they can be applied either in everyday tasks, such as insupermarket carts or cleaning environments, as well in high-risk tasks like large industriesor autonomous cars. The idea presented here is to develop a target tracking and followingmethod applicable to mobile wheeled land robots that have restrictions on their move-ment, which means that standard control techniques cannot always be applied. The workdeveloped here also takes into account the use of a target detection technique that can beadapted to practically any type of target stipulated by the designer according to the needsof its application. The development of the proposed methods is accomplished by addingstandard recognition techniques used in common RGB type cameras, position estimationand orientation techniques, and intelligent control algorithms, with a low computationalcost, applicable to robots with movement restrictions.

Keywords: computer vision; target detection; configuration estimation; cascade clas-sifiers; non-holonomic control; restricted control; path generation.

Page 7: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Sumário

Sumário i

Lista de Figuras iii

Lista de Tabelas vii

Lista de Símbolos e Nomeclaturas viii

1 INTRODUÇÃO 11.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1.1 Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Estrutura do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 REVISÃO BIBLIOGRÁFICA 42.1 Contextualização do trabalho . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Delimitação do problema . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Controle baseado em visão . . . . . . . . . . . . . . . . . . . . . . . . . 72.4 Apresentação dos métodos utilizados . . . . . . . . . . . . . . . . . . . . 8

2.4.1 Haar Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.4.2 Classificadores em cascata . . . . . . . . . . . . . . . . . . . . . 92.4.3 Estimativas de posição e orientação . . . . . . . . . . . . . . . . 122.4.4 Abordagem de controle . . . . . . . . . . . . . . . . . . . . . . . 12

2.5 Revisão do softwares utilizados . . . . . . . . . . . . . . . . . . . . . . . 132.5.1 Coppelia Robotics V-REP . . . . . . . . . . . . . . . . . . . . . 142.5.2 MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.5.3 OpenCV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 METODOLOGIA DE PESQUISA 173.1 Forma de abordagem ao problema . . . . . . . . . . . . . . . . . . . . . 173.2 Descrição das técnicas escolhidas . . . . . . . . . . . . . . . . . . . . . 18

3.2.1 Notação matemática . . . . . . . . . . . . . . . . . . . . . . . . 18

i

Page 8: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

3.2.2 Descrição dos referenciais . . . . . . . . . . . . . . . . . . . . . 183.2.3 Escolha do alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.3 Estimativa de posicionamento do alvo . . . . . . . . . . . . . . . . . . . 223.4 Estimativa de orientação do Alvo . . . . . . . . . . . . . . . . . . . . . . 29

3.4.1 Especificando uma forma delimitadora . . . . . . . . . . . . . . 293.4.2 Processo de estimativa . . . . . . . . . . . . . . . . . . . . . . . 31

3.5 Estratégias de controle . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.5.1 Modelagem do robô . . . . . . . . . . . . . . . . . . . . . . . . 333.5.2 Modelo não-linear . . . . . . . . . . . . . . . . . . . . . . . . . 353.5.3 Dinâmica do alvo . . . . . . . . . . . . . . . . . . . . . . . . . . 373.5.4 Estratégia geral de controle . . . . . . . . . . . . . . . . . . . . . 373.5.5 Lei de controle PI . . . . . . . . . . . . . . . . . . . . . . . . . . 393.5.6 Proposição para o melhoramento da estratégia de controle . . . . 413.5.7 Esquema de controle baseado em geração de caminhos . . . . . . 423.5.8 Considerações . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.5.9 Polinômio cúbico . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4 RESULTADOS OBTIDOS 534.1 Processo de treinamento do detector de alvo . . . . . . . . . . . . . . . . 534.2 Teste do sistema de detecção de alvo . . . . . . . . . . . . . . . . . . . . 544.3 Resultados dos estimadores de posição e orientação . . . . . . . . . . . . 564.4 Considerações para os testes de controle . . . . . . . . . . . . . . . . . . 614.5 Processo de controle PID . . . . . . . . . . . . . . . . . . . . . . . . . . 624.6 Processo de controle por geração de caminhos . . . . . . . . . . . . . . . 654.7 Teste na condição de desnível . . . . . . . . . . . . . . . . . . . . . . . . 704.8 Teste com velocidade do alvo variável . . . . . . . . . . . . . . . . . . . 744.9 Teste do limite de velocidade do alvo . . . . . . . . . . . . . . . . . . . . 78

5 CONSIDERAÇÕES FINAIS 835.1 Contribuições do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . 835.2 Comentários gerais e trabalhos futuros . . . . . . . . . . . . . . . . . . . 84

REFERÊNCIAS BIBLIOGRÁFICAS 86

A Diagrama mostrando o algoritmo Adaboost usado na seleção de Features

Page 9: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Lista de Figuras

2.1 Alguns exemplos de features Haar utilizadas para detecção de padrões etexturas em imagens. (1) Feature de aresta vertical. (2) Feature de arestahorizontal. (3) Feature de linha vertical. (4) Feature de linha diagonal. . . 9

2.2 Esquemático descrevendo um detector em cascata. Cada sub-janela passapor uma série de classificadores caso o resultado do anterior seja positivo(V) e é descartada em caso de resultado de classificação negativo (F). . . 12

3.1 Configuração de modelagem do robô móvel terrestre no espaço de traba-lho bidimensional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2 Ilustração do padrão escolhido para a discriminação do alvo na simula-ções. O padrão é definido pelo projetista do sistema e pode ser uma com-binação de praticamente quaisquer imagens. . . . . . . . . . . . . . . . . 21

3.3 Ilustração mostrando o modelo de câmera em perspectiva e os eixos decoordenadas envolvidos com um ponto P no espaço 3D. Créditos: OpenCV 23

3.4 Vista lateral da cena onde o alvo está sobre o campo de visão do modelode câmera em perspectiva. . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.5 Vista superior da cena onde o alvo está sobre o campo de visão do modelode câmera em perspectiva. . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.6 Vista em perspectiva da cena onde o alvo está sobre o campo de visão domodelo de câmera em perspectiva. As linhas em vermelho representamas laterais do alvo que foram consideradas sempre na vertical. . . . . . . 28

3.7 Imagem da ROI extraída durante simulação definida como uma caixa de-limitadora 25% maior que a retornada pelo detector do padrão internode alvo. Os quatro cantos do retângulo estão ressaltados por pontos emvermelho sobre a imagem adquirida. . . . . . . . . . . . . . . . . . . . . 31

3.8 Ilustração do processo de estimativa de orientação calculado com base noarco-tangente das distâncias de dois pontos pertencentes ao alvo nos eixosx e z. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.9 Forma geral das não-linearidades de tipo zona-morta e saturação aplica-das às velocidades das rodas do modelo do robô. . . . . . . . . . . . . . 36

iii

Page 10: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

3.10 Diagrama de funcionamento geral da estratégia de controle idealizadapara o sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.11 Ilustração do posicionamento desejado para o robô em relação ao alvomóvel ilustrando os ângulos envolvidos no processo de modelagem docontrole. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.12 Ilustração do processo de geração de caminhos com as distâncias d e τ

representadas. O ’X’ representa a posição desejada para o robô. . . . . . 443.13 Ilustração do sistema de manobras para tentativa de recuperação de alvo

representando o referencial fixo da câmera no instante em que o alvo foivisto pela última vez. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.1 Exemplo de alvo detectado em tempo real utilizando um detector multi-escala para encontrar o padrão treinado mostrado na Figura 3.2. A caixadelimitadora retornada pelo detector está destacada em vermelho. . . . . 54

4.2 Ilustração do ambiente de simulação criado no software V-REP EDU,criado para analisar a operação dos estimadores de posição e orientação.A imagem mostra o alvo e o robô que contêm o sensor de visão utilizadopara captar a presença do alvo. . . . . . . . . . . . . . . . . . . . . . . . 57

4.3 Resultados, em metros, obtidos utilizando o estimador de posição sobre oeixo Zc, onde zest são os valores estimados e Pz os valores utilizados noambiente de simulação. . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.4 Resultados, em metros, obtidos utilizando o estimador de posição sobre oeixo Xc, onde xest são os valores estimados e Px os valores utilizados noambiente de simulação. . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.5 Resultados, em graus, obtidos utilizando o estimador de orientação paraestimativa da orientação do alvo no plano 2D, onde θest são os valoresestimados e θ os valores estipulados no simulador. . . . . . . . . . . . . . 59

4.6 Caminho do alvo utilizado nas simulações cujos resultados são apresen-tados neste documento. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.7 Deslocamento do robô e da posição desejada sobre o plano terrestre demovimentação obtido a cada passo de integração da simulação do controlePID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.8 Gráfico que representa o sinal de erro de orientação entre o alvo e o robôsobre o plano de movimento medido durante a simulação do controle PID. 63

4.9 Velocidades angulares aplicadas às rodas esquerda, ωe, e direita, ωd , dorobô durante a simulação do controle PID. . . . . . . . . . . . . . . . . . 64

Page 11: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

4.10 Gráfico traçado com os resultados da posição desejada e a posição do robôsobre o plano de movimento obtido na simulação do sistema de controlepor geração de caminhos. . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.11 Gráfico que representa o sinal de erro de orientação entre o alvo e o robôsobre o plano de movimento medido durante a simulação do controle porgeração de caminhos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.12 Gráfico que representa a média e o desvio padrão do erro de orientaçãoentre o alvo e o robô sobre o plano de movimento, medido para diversascondições diferentes de comportamento do alvo. . . . . . . . . . . . . . . 68

4.13 Velocidades angulares aplicadas às rodas esquerda, ωe, e direita, ωd , dorobô durante a simulação do controle por geração de caminhos. . . . . . . 69

4.14 Ilustração do ambiente de simulação criado no software V-REP EDU,com a configuração criada para analisar a operação do algoritmo de con-trole na presença de um desnível de terreno, representado na figura pelacircunferência sob o alvo. . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4.15 Resultados de posição desejada e posição do robô sobre o plano de mo-vimento para o teste de perseguição na presença de desnível utilizando oesquema de controle PID. . . . . . . . . . . . . . . . . . . . . . . . . . . 71

4.16 Gráficos com os resultados obtidos com a simulação na condição de des-nível com controle PID, (a) representa o sinal de erro de posição no eixoXw entre o alvo e o robô, (b) representa o sinal de erro de posição no eixoYw entre o alvo e o robô e (c) representa o sinal de erro de orientação entreo alvo e o robô sobre o plano de movimento. O intervalo de desnível estámarcado pela linha pontilhada nos gráficos. . . . . . . . . . . . . . . . . 72

4.17 Resultados de posição desejada e posição do robô sobre o plano de mo-vimento para o teste de perseguição na presença de desnível utilizando oesquema de controle por geração de caminhos. . . . . . . . . . . . . . . . 73

4.18 Gráficos com os resultados obtidos com a simulação na condição de des-nível com controle por geração de caminhos, (a) representa o sinal de errode posição no eixo Xw entre o alvo e o robô, (b) representa o sinal de errode posição no eixo Yw entre o alvo e o robô e (c) representa o sinal deerro de orientação entre o alvo e o robô sobre o plano de movimento. Ointervalo de desnível está marcado pela linha pontilhada nos gráficos. . . 74

4.19 Gráficos da velocidade do robô e do alvo durante a simulação com velo-cidade variável com controle PID. . . . . . . . . . . . . . . . . . . . . . 75

Page 12: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

4.20 Gráfico que representa o sinal de erro de orientação entre o alvo e o robôsobre o plano de movimento, medido durante a simulação com velocidadevariável. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

4.21 Gráficos da velocidade do robô e do alvo durante a simulação com velo-cidade variável com controle por geração de caminhos. . . . . . . . . . . 77

4.22 Gráfico que representa o sinal de erro de orientação entre o alvo e o robôsobre o plano de movimento, medido durante a simulação com velocidadevariável. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

4.23 Resultados das velocidades medidas no teste de velocidade máxima parao alvo. A velocidade do alvo é representada pela curva em vermelho e avelocidade do robô pela curva em azul. . . . . . . . . . . . . . . . . . . . 79

4.24 Velocidades angulares aplicadas às rodas do robô durante o teste de ve-locidade máxima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

A.1 Diagrama que descreve o algoritmo de treinamento de Viola&Jones quefoi descrito no texto. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Page 13: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Lista de Tabelas

4.1 Tabela com os valores de tempo de cálculo de estimativa, em segundos,utilizando o detector em dois diferentes hardwares: um computador demesa (PC) e um computador embarcado (Raspberry PI). . . . . . . . . . 55

4.2 Estatísticas calculadas sobre o erro obtido entre os valores de estimativae os valores estipulados, obtidos no teste do estimador de configuração. . 60

4.3 Estatística calculada sobre o erro entre os valores de referência e de po-sição envolvidos no sistema de controle PID apresentado, para o agentemóvel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.4 Estatística calculada sobre o erro entre os valores de referência e de po-sição envolvidos no sistema de controle por geração de caminhos, para oagente móvel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.5 Tabela com os valores de velocidade máxima observadas para o robô comas dimensões especificadas operar sem oscilações em sua orientação, deacordo com os parâmetros de controle. . . . . . . . . . . . . . . . . . . . 81

4.6 Tabela com os valores de velocidade máxima obtidos variando-se apenaso parâmetro de controle kl , com kθ fixo no valor de 0,45. . . . . . . . . . 81

4.7 Tabela com os valores de velocidade máxima obtidos variando-se apenaso parâmetro de controle kθ, com kl fixo no valor de 0,55. . . . . . . . . . 82

vii

Page 14: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Lista de Símbolos e Nomeclaturas

2D: Bi-dimensional

3D: Tri-dimensional

α(λ): Parâmetro utilizado na geração de caminhos

API: Application Programming Interface

βt : Função de evolução utilizada no treinamento do seletor de features baseado noAdaboost

BSD: Berkeley Software Distribution, licença de código aberto

εl(t): Erro em distância calculado entre a posição desejada para o alvo e a posiçãoatual do alvo

Fa: Referencial de coordenadas do alvo móvel

Fc: Referencial de coordenadas do da câmera fixa ao robô

f : Distância focal fixa da lente da câmera utilizada

Fr: Referencial de coordenadas do robô móvel

fx: Tamanho efetivo em unidades de tamanho de pixel horizontal

fy: Tamanho efetivo em unidades de tamanho de pixel vertical

h j: Classificador fraco utilizado no algoritmo Adaboost

HOG: Histogram of Oriented Gradients

LBP: Local Binary Patterns

ODE: Método baseado em Equação Diferencial Ordinária

cx,cy: Coordenadas do centro óptico da imagem

viii

Page 15: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

ϕ(t): Ângulo entre o eixo Zc da câmera e a reta que passa pela origem do eixo decâmera e pela posição do alvo

qd: Configuração desejada para o alvo

qr(t): Configuração do robô móvel

qt : Configuração do alvo

RGB: Padrão colorido utilizado em câmeras, baseado nas cores primárias: vermelhoverde e azul

ROI: Region of Interest (Região de Interesse)

ROS: Robotic Operational System

STL: Standard Template Library

sx: Tamanho efetivo de cada pixel na direção horizontal

sy: Tamanho efetivo de cada pixel na direção vertical

θ(t): Orientação do alvo em relação ao referencial de câmera sobre o plano terrestrede movimentação

u: Parâmetro utilizado na estratégia de seguir caminho de Samson

v(t): Velocidade linear do robô, medida em seu centro

ωd(t): Velocidade angular aplicada à roda direita do robô

ωe(t): Velocidade angular aplicada à roda esquerda do robô

Wi: Peso utilizado no algoritmo Adaboost

ω(t): Velocidade angular do robô, medida em seu centro

Page 16: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Capítulo 1

INTRODUÇÃO

Robôs autônomos têm sido introduzidos na sociedade atual de forma cada vez maishabitual, tanto no ambiente de grandes indústrias, que procuram automatizar ao má-ximo sua produção em larga escala, quanto em aspectos práticos do cotidiano, como osrobôs de limpeza que são cada vez mais comuns nas residências. Diversos trabalhos têmsido produzidos nos últimos anos relacionados ao controle de robôs com restrições não-holonômicas e também com a capacidade de torná-los capazes de rastrear e seguir umalvo que se desloca pelo espaço livre, tais trabalhos podem ser visualizados no capítulo 2.Essa é a motivação para o trabalho que é descrito neste documento.

O tipo de sistema autônomo que se deseja desenvolver com a proposta que é apresen-tada aqui leva em consideração a possibilidade de se combinar técnicas simples, porémfuncionais, que já são conhecidas na literatura, para resolver o problema de fazer com queum agente móvel identifique e siga um alvo planar, de forma que a implementação finalseja simples e aplicável. A simplicidade no desenvolvimento dos métodos propostos éum grande diferencial quando se pensa na questão de custo computacional, podendo atémesmo tornar possível a implementação em hardware de certos subsistemas propostos,como o sistema de estimativa de posição e orientação de alvo.

Um dos objetivos do trabalho é desenvolver um método versátil e barato para detecçãoe controle que faça com que o agente móvel seja capaz de seguir um determinado alvo semovendo livremente pelo espaço terrestre, mesmo que o tal agente possua restrições não-holonômicas. A compensação das restrições de mobilidade do agente móvel é realizadapelas técnicas de controle propostas na implementação do mesmo.

No projeto do sistema de detecção é proposta a utilização de um detector em cascatade características Haar (Haar-like features) treinado a priori utilizando o padrão definidocomo alvo. Esse alvo será considerado como sendo uma imagem plana, especificamentedeterminada para a aplicação onde será utilizada. Primeiramente é proposta um técnica de

Page 17: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 1. INTRODUÇÃO 2

estimativa de posição e orientação para o alvo em relação à câmera do robô, e com basenessas leituras seria aplicado o controle de posicionamento para que o mesmo possa per-manecer seguindo o alvo dentro do ambiente, sendo assim o sistema proposto se enquadrana categoria de servo visual baseado em posição.

O método foi desenvolvido utilizando uma técnica de controle baseada em geraçãode caminho e ajuste de trajetória com restrições, aplicado diretamente aos atuadores nasrodas do agente móvel terrestre utilizado, que são os responsáveis pelas mudanças emsua velocidade linear e velocidade angular. O método de controle ideal deve ser proje-tado para manter o sensor de visão do agente móvel direcionado ao alvo de forma que omesmo possa realizar o acompanhamento do deslocamento do alvo e continuar seguindo-o sem implicações no sistema de detecção. Entretanto, devido às restrições presentes naspossibilidades de movimentação do agente móvel, tal tarefa não é trivial de se implemen-tar, além disso nem sempre se é capaz de manter o alvo dentro da área de detecção dacâmera. Os resultados de simulações com a aplicação do método proposto mostram indí-cios de que o mesmo pode ser mais robusto que outros métodos mais básicos de controlede posição e orientação, como a estratégia PID clássica.

1.1 Objetivo

O objetivo principal desse trabalho é o desenvolvimento e teste de um sistema robó-tico agente móvel terrestre com restrições de movimentação lateral, que seja capaz deidentificar e perseguir um determinado alvo e que seja de simples implementação, utilizeapenas hardware acessível e seja o mais genérico possível. Pretende-se alcançar o obje-tivo aplicando técnicas de controle e de detecção de padrões já observados na literatura,que usualmente não são aplicadas no âmbito do objetivo proposto. Sendo então necessá-ria a aplicação de algumas adaptações das técnicas utilizadas e da integração das mesmasno sistema de forma a mantê-lo funcional. A intenção inicial ao se propor o trabalhofoi de realizar a implementação prática do mesmo, porém, devido a diversas complica-ções o trabalho desenvolvido aqui só foi levado até o nível de simulações, deixando aimplementação prática para um trabalho futuro.

O objetivo principal só poderá ser alcançado se todas as etapas provenientes dos ob-jetivos específicos forem realizadas. A próxima seção contém a definição dos objetivosespecíficos que foram considerados nessa pesquisa.

Page 18: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 1. INTRODUÇÃO 3

1.1.1 Objetivos específicos

Os seguintes objetivos específicos são propostos como sendo as medidas necessáriaspara a finalização do sistema proposto.

1. Aplicar e adaptar uma técnica de visão computacional e detecção de padrões comouma forma de detecção de um alvo genérico;

2. Desenvolver e implementar uma técnica computacionalmente simples de estimativapara a posição e orientação do alvo em relação ao agente móvel;

3. Desenvolver uma maneira de realizar o controle de um agente móvel com restriçõesde movimento lateral de forma a tornar possível a perseguição de um alvo planar,visando sempre diminuir o erro angular acumulado entre ele e o agente móvel;

4. Considerar, à todo momento, durante o desenvolvimento do sistema que o mesmodeve ser de implementação simples, aplicável e de baixo custo computacional.

1.2 Estrutura do trabalho

Esse trabalho está organizado da seguinte forma: no Capítulo 2 é feita uma revisão li-terária sobre os trabalhos que já foram desenvolvidos até o momento e que tenham algumarelevância ou alguma semelhança com o trabalho descrito aqui, também serão fornecidosdetalhes teóricos dos principais assuntos abordados. O Capítulo 3 apresenta a metodo-logia da pesquisa, fornecendo detalhes das implementações de cada subsistema que foiadaptado e desenvolvido no trabalho. No capítulo 4 são apresentados os resultados obti-dos nos testes e simulações de cada subsistema apresentados no Capítulo 3. Finalmente,no Capítulo 5 são apresentadas as considerações finais, onde é exposta a opinião do autordo trabalho com relação aos resultados obtidos e sugestões de melhorias que podem serrealizadas em trabalhos futuros.

Page 19: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Capítulo 2

REVISÃO BIBLIOGRÁFICA

Durante a pesquisa bibliográfica foram encontradas diversas propostas interessantescapazes de solucionar boa parte dos problemas propostos no projeto descrito aqui. Jáexiste uma grande área de pesquisa envolvendo o desenvolvimento de robôs inteligentescapazes de detectar alvos e tomar decisões de movimentação baseadas nisso, como podeser visto em [Xiao et al. 2015], [Basit et al. 2015], [Freda & Oriolo 2007] e em [Konget al. 2016]. A parte da literatura que envolve a detecção do alvo é bem vasta, uma grandecombinação de estratégias de processamento de imagem e visão computacional pode sercombinada para gerar um descritor capaz de identificar a estrutura básica das features1

presentes num determinado alvo. Como deseja-se ter uma maior liberdade de escolhapara o alvo utilizado de acordo com a aplicação final, optou-se por adotar features dedescrição de textura em classificadores em cascata. As mais famosas e amplamente uti-lizadas são Haar, HOG e LBP. Como o foco do trabalho em si está na parte do controledo agente móvel dotado de restrições, então, a escolha do tipo de classificador utilizadapara a detecção do alvo não foi tão explorada, apenas o suficiente para se obter resulta-dos aplicáveis na prática. Neste trabalho deseja-se focar na utilização de técnicas maissimples para o controle do agente móvel, o sistema de controle proposto provavelmentedeve seguir as linhas das ideias utilizadas em [Maya-Mendez et al. 2006] e [FredericoC. VIEIRA 2004].

Durante a procura por uma técnica de detecção de padrões em imagem que poderia serutilizada no desenvolvimento do detector de alvo aplicado ao sistema deste trabalho foramconsiderados os trabalhos desenvolvidos por [Dalal & Triggs 2005], [Ojala et al. 2002]e [Viola & Jones 2001], o primeiro é muito utilizado para detecção de padrões seme-lhantes, comuns em determinado objeto, em imagens ou vídeo; o segundo e terceiro são

1Preferiu-se não traduzir o termo "feature"nesse trabalho para que o real significado da palavra não fosseperdido.

Page 20: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA 5

mais utilizados em detecção de texturas planares. Qualquer um dos três classificadoresapresentados pode ser adaptado ao problema dependendo do tipo de aplicação específicapara o sistema. Em nosso caso deseja-se utilizar o detector em um alvo plano e aplicar ocontrole de forma que a visada da câmera esteja sempre com a menor diferença angularpossível em relação ao plano do alvo, por conta disso e dos aspectos de adaptabilidadeescolheu-se descritores de features Haar para o classificador como os mostrados em [Viola& Jones 2001] e [Lienhart & Maydt 2002].

No artigo desenvolvido por Viola e Jones em [Viola & Jones 2001] são propostastécnicas de treinamento de detectores de padrões e de detecção de objetos em imagensbaseados no algoritmo AdaBoost, visto em [Freund & Schapire 1997], e na ideia de utili-zação de vários descritores em cascata aplicados à leitura rápida de imagens baseada emjanelas de pixels utilizando uma nova forma de varredura integral para se realizar a de-tecção dos mesmos padrões com custo computacional reduzido. Como já foi comentadoanteriormente os descritores seguem os padrões de fatures Haar para fazer a identificaçãoda imagem proposta dentro da imagem integral, onde a saída de um é conectada a entradado outro e a ideia é que descritores fracos combinados e selecionados de maneira otimi-zada podem gerar resultados equivalentes aos apresentados por outros descritores fortescom tempo e custo computacional consideravelmente reduzidos. Por ser uma técnica rá-pida, eficiente e de baixo custo computacional essa abordagem foi cogitada como sendoa mais apropriada dentre as técnicas apresentadas para esse tipo de aplicação de detecçãode alvo mais genérica.

Para aplicar as técnicas de controle sobre o alvo detectado a partir das imagens obtidaspela câmera acoplada ao robô agente móvel, deve-se ter conhecimento sobre a localiza-ção do alvo em relação ao robô. A estratégia de detecção de alvo utilizada é capaz apenasde indicar, com certo grau de erro, a posição onde o padrão estipulado como alvo se en-contra em uma dada imagem. Assim, uma caixa delimitadora é posicionada na imagemonde provavelmente esse alvo se encontra. Apesar dessa informação da posição da caixadelimitadora ser a base da detecção do alvo, apenas com esses dados não se pode tirarnenhuma conclusão à respeito da posição e orientação do mesmo. Utilizando a caixa de-limitadora retornada pelo detector é possível se ter uma ideia apenas à respeito da posiçãodo alvo em relação à câmera, e pelo tamanho da caixa podemos ter uma ideia sobre adistância em profundidade do mesmo, porém nada pode-se inferir sobre a orientação. Di-versos trabalhos realizados na literatura abordam a estimativa de posição e orientação deobjetos a partir da detecção de características captadas por uma câmera, como pode ser

Page 21: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA 6

visto em [Shakunaga 1992], em [Oberkampf et al. 1993], em [Pinz & Schweighofer 2006]e em [Simon & Berger 2002]. A técnica abordada aqui é bem mais simplificada por nãoconsiderar o espaço tridimensional e será baseada apenas no modelo de projeção de câ-mera pontual (pinhole) que é descrito com maiores detalhes em [Trucco & Verri 1998] eem [Ballard & Brown 1982] e nas características físicas do alvo definido.

Um dos diferenciais presentes no trabalho desenvolvido aqui, em relação aos traba-lhos comentados, está na aplicação do detector baseado em um classificador que utilizafeatures Haar para a detecção de alvo, realizar a estimativa da posição e orientação domesmo e desenvolver uma técnica de controle capaz de fazer com que o agente móvelpersiga o alvo sem perder sua visada reduzindo consideravelmente o erro angular entreeles. O classificador Haar foi escolhido por oferecer uma grande liberdade de escolhade alvo de acordo com a aplicação, porque dispõe de técnicas de treinamento inteligentee por oferecer algoritmos rápidos e de baixo custo computacional para a detecção emtempo real do alvo. Além disso, o detector Haar oferece uma grande robustez ao detectorde alvo, pois o mesmo pode ser treinado para detectar alvos em condições mais adversascomo: baixa iluminação e oclusão parcial do alvo.

A maior problemática enfrentada no desenvolver do trabalho é a limitação presenteno controle servo visual que reside no fato de que a câmera escolhida para ser utilizadano robô é fixa. A escolha de uma câmera fixa representa uma simplificação na utilizaçãode atuadores para o sistema e, ao mesmo tempo, adiciona uma problemática na tarefa deseguir o alvo planar considerando as restrições de deslocamento lateral do robô. Sendoassim, no desenvolvimento do esquema de controle, o controlador além de considerar aproblemática de restrição na movimentação do robô deve também considerar o problemade ter um campo de visão restrito pela câmera fixa.

2.1 Contextualização do trabalho

Neste trabalho serão abordados a técnica utilizada para realizar a identificação doalvo, a técnica de estimativa do posicionamento e da orientação do alvo e o algoritmo decontrole proposto para realizar a perseguição do alvo planar. Durante todo o desenvolvi-mento e implementação das técnicas impostas ao sistema, considerou-se que não existemobstáculos dentro da área de atuação do robô e de seu alvo, pois a detecção e o planeja-mento de caminhos em ambientes povoados por obstáculos exigiria uma atuação muitomais complexa por parte do sub-sistema de controle, o que não é o foco deste trabalho.

O robô escolhido como agente móvel para se desenvolver o trabalho é formado por

Page 22: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA 7

um chassi, e por duas rodas de acionamento diferencial, uma de cada lado do robô quepodem ser acionadas de forma a garantir o movimento do mesmo através do espaço detrabalho. No robô considerado nas simulações existe uma terceira roda, do tipo rolamentoomnidirecional que está localizada na frente do chassi, e serve como ponto de apoio paraa sustentação do mesmo.

Assume-se que o robô agente móvel possui uma única câmera de padrão RGB fixacomo forma de identificar o alvo. Essa consideração é feita para evitar a inserção demais atuadores no robô, pois é muito mais simples e comum se implementar um robô decâmera fixa do que adicionar um atuador a base da câmera.

2.2 Delimitação do problema

O problema de perseguição de alvo discutido aqui leva em consideração que o mesmopode se mover em qualquer direção e, portanto, não está sujeito a restrições não-holonômicascomo o seu perseguidor. Resolveu-se deixar o alvo com o mínimo de restrições de movi-mentação para que o mesmo possa ser o mais genérico possível e, assim, haver a possibi-lidade de expandir o método desenvolvido aqui para a maior variedade de alvos diferentescomo carros, pessoas, ou mesmo outros robôs.

Deixar o alvo totalmente livre para se mover pelo espaço deixaria em aberto muitaspossibilidades de atuação que fariam com que o robô perseguidor não fosse capaz deexecutar sua tarefa primária, devido a suas restrições em movimentação lateral e suasrestrições de visibilidade devido a câmera fixa. Optou-se por manter o alvo livre em suamovimentação porém com a ressalva que que o mesmo tenda a realizar movimentos nadireção a qual o mesmo está orientado. Outra limitação é que o alvo só pode se mover numplano bidimensional, dessa forma, casos envolvendo desníveis devem ser simplificadospara o caso planar.

2.3 Controle baseado em visão

O trabalho desenvolvido aqui pertence à área de pesquisa conhecida como Robóticabaseada em visão. O termo servo visual formaliza sistemas baseados em visão controladosvia realimentação como sendo sistemas dinâmicos. Servo visual é a fusão dos resultadosde diversas áreas relacionadas, incluindo processamento de imagem, cinemática de robô,teoria de controle e computação em tempo real. Esquemas de controle servo visuaispropostos até o momento tem sido classificados em três diferentes categorias: baseados

Page 23: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA 8

em posição, baseados em imagem ou híbridos. Cada um dos tipos de esquema tem suasvantagens e desvantagens, como pode ser visto em [Hashimoto 1993] e [Kragic et al.2002].

Esquemas servo visuais baseados em posição, também conhecidos como servo visual3D, definem sua entrada de referência como sendo a posição relativa e a orientação doobjeto e do robô. A posição e orientação são obtidos à partir das imagens obtidas pelacâmera montada no robô. Como o problema de controle do robô em si é clássico e bemestabelecido, o principal tópico de pesquisa nesse caso é robustez e velocidade na deter-minação da posição de objetos.

Esquemas servo visuais baseados em imagem, também conhecidos como servo vi-sual 2D, definem o sinal de referência no plano imagem. Geralmente, característicasdos objetos são extraídas da imagem para comprimir a informação. Dessa forma, esque-mas baseados em imagem são também chamados esquemas baseados em característica(feature-based schemes). A diferença entre as características atuais da imagem e as ca-racterísticas de referência é calculada e o robô é guiado pelo erro de características. Esteesquema é dito como sendo robusto por diversos motivos.

A abordagem servo visual híbrida apresenta características tanto dos esquemas servovisuais baseados em imagem, quanto dos esquemas servo visuais baseados em posição.Esse tipo de abordagem pode apresentar vantagens e desvantagens que existem nos outrosesquemas conhecidos.

Inicialmente pensou-se em utilizar no desenvolver desse trabalho um esquema servovisual baseado em imagem para realizar o controle do robô diretamente através da imagemdo alvo obtida pela câmera, devido a sua robustez. Porém, por fim, o esquema servovisual baseado em posição foi escolhido para a aplicação devido a sua versatilidade em setrabalhar com diferentes tipos de controladores diferentes.

2.4 Apresentação dos métodos utilizados

Nesta seção será feita uma breve revisão dos métodos escolhidos e dos métodos de-senvolvidos que são utilizados em cada etapa do desenvolvimento do projeto. Até entãoforam implementados e testados o método de detecção de alvo baseado no algoritmo dedetecção rápida de Viola & Jones, os métodos de estimativa de posição e orientação parao alvo, baseados nas características extraídas da imagem da câmera, bem como os algorit-mos de controle: um algoritmo PID para comparação e o algoritmo baseado em geraçãode caminhos, proposto.

Page 24: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA 9

2.4.1 Haar Features

Features representam as características de uma imagem e podem ser determinadas dediferentes formas e segundo as mais distintas estratégias de extração, um tipo de features

bastante utilizada em trabalhos envolvendo a detecção de padrões e texturas são as featu-

res Haar, que podem ser visualizadas na Figura 2.1, elas são compostas de várias áreas depreto e branco combinadas de uma forma em que os valores de intensidade nos pixels nasáreas de diferentes tonalidades são acumuladas de forma separada. Então o valor para acaracterística de imagem é calculado através de uma combinação ponderada dessas duassomas. Quando uma certa região de interesse é selecionada, as features Haar são geradasselecionando-se um tipo de padrões básicos, escalonando a imagem em altura e largura, emudando a localização do padrão em relação à janela de detecção.

Figura 2.1: Alguns exemplos de features Haar utilizadas para detecção de padrões e tex-turas em imagens. (1) Feature de aresta vertical. (2) Feature de aresta horizontal. (3)Feature de linha vertical. (4) Feature de linha diagonal.

Durante o processo de treinamento, muitos seletores são deliberados, entre os quais amelhor feature é selecionada para descrever determinada região do objeto segundo seuspróprios conjuntos de características. Essas features são utilizadas para avaliar o nívelde confiança dos outros trechos. De fato, qualquer uma das features corresponde a umclassificador fraco e o seletor de features é o melhor classificador fraco no qual constará omenor erro em seu conjunto de características, este é o principio do algoritmo AdaBoostidealizado em [Freund & Schapire 1997]. Finalmente teremos que o classificador forte,que se trata da combinação linear entre os melhores seletores fracos de features. Esseprocesso de escolha do melhor classificador é detalhado melhor na seção seguinte.

2.4.2 Classificadores em cascata

O algoritmo de detecção de alvo escolhido para o sistema é baseado no método declassificação em cascata. Um classificador em cascata consiste de uma sequência de está-gios, onde cada um deles consiste de um conjunto de aprendizes fracos (weak learners).

Page 25: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA 10

O sistema detecta objetos desejados movendo uma janela de detecção sobre a imagem.Uma determinada região específica definida pela localização atual da janela é rotuladapor cada estágio do classificador como positiva ou negativa, positiva significa que o ob-jeto foi encontrado e negativa significa que o objeto não foi encontrado na imagem.

Um classificador eficiente é criado combinando-se um pequeno número de features,assim, para saber quais features do conjunto total irão melhor descrever um certo tipo deobjeto uma abordagem baseada em aprendizes fracos é utilizada. Para cada feature, oaprendiz fraco determina a função de classificação com limiar ótimo, tal que o númeromínimo de exemplos possível seja mal classificado. Um classificador fraco h j(x), paracada imagem em subpixel x, consiste de uma feature f j, um limiar θ j e uma paridade p j,e é definido de acordo com

h j(x) =

1 se p j f j(x)< p jθ j

0 caso contrário.(2.1)

Cada estágio do classificador em cascata consiste de um treinamento de classificado-res baseados no algoritmo Adaboost [Freund & Schapire 1997], que seleciona a melhorfeature para classificar uma imagem em cada estágio. O princípio do algoritmo Adaboosté descrito a seguir, onde dadas imagens exemplo (x1,y1), . . . ,(xn,yn), alguns pesos sãoinicializados da forma apresentada em

w1,i =1

2m(2.2)

para yi = 0 e

w1,i =12l

(2.3)

para yi = 1. De onde m e l são o número de amostras de imagens positivas e negati-vas. Imagens positivas, como já foi dito anteriormente, são aquelas que contém o alvo eimagens negativas aquelas que não o contém.

Então, dentro de um laço para t, os pesos precisam ser normalizados de acordo com

wt,i←wt,i

n∑

k=1wt,k

(2.4)

que é definido segundo uma função de probabilidade. Para cada feature j, um classi-ficador h j precisa ser treinado restritivamente utilizando apenas uma única feature.

Assim, o classificador, ht , que apresentar o menor erro εt é determinado de acordo

Page 26: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA 11

comε j = ∑

iwi|h j(xi)− yi| (2.5)

e é utilizado para atualizar os pesos.Os pesos são atualizados de acordo com

wt+1,i = wt,iβ1−eit (2.6)

onde ei = 0 caso a imagem exemplo xi seja classificada corretamente e ei = 1 caso con-trário, nesse caso βt =

εt1−εt

.O classificador forte final é então definido de acordo com

h(x) =

1 seT∑

t=1log(

1βt

)ht(x)≥ 1

2

T∑

t=1log(

1βt

)0 caso contrário.

(2.7)

No fim do processo cada estágio do detector em cascata terá selecionado uma dasfeatures em potencial para representar as amostras de imagem de entrada. Um diagramarepresentando de forma visual o algoritmo descrito aqui pode ser visto no Apêndice A.

O modelo geral do processo de detecção tem a forma de uma árvore de decisões comodescrito na Figura 2.2. No processo em cascata de rotulagem de janelas, se a rotulagemleva a um resultado negativo, então a classificação desta região em específico é dada comocompleta e a localização da janela é então movida para a próxima posição. Se a rotulagemretorna um valor positivo, então a região se move para o próximo estágio de classificação.Um positivo verdadeiro significa que o objeto em questão está de fato na imagem e oclassificador rotulou a mesma como tal. Um falso positivo significa que o processo derotulagem determinou falsamente que o objeto está localizado na imagem, entretanto omesmo não se encontra nela. Um falso negativo ocorre quando o classificador é incapazde detectar a presença do objeto na imagem e um negativo verdadeiro significa que umaimagem que não possui o objeto foi corretamente classificada como não sendo o objetoem questão.

Page 27: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA 12

Figura 2.2: Esquemático descrevendo um detector em cascata. Cada sub-janela passa poruma série de classificadores caso o resultado do anterior seja positivo (V) e é descartadaem caso de resultado de classificação negativo (F).

Se o primeiro classificador produzir um resultado positivo então o segundo classifi-cador será ativado, o mesmo deve ser ajustado para obter altas taxas de detecção. Umresultado positivo vindo do segundo classificador habilita um terceiro classificador, e as-sim por diante. Um resultado negativo em qualquer ponto leva a imediata rejeição dasub-janela. Classificadores simples são usados para rejeitar a maioria das sub-janelas an-tes de classificadores mais complexos no intuito de se obter taxas de falsos positivos cadavez menores.

2.4.3 Estimativas de posição e orientação

O classificador em cascata é utilizado no trabalho apenas como forma de detecção doalvo que o agente móvel deve seguir. Para determinar a posição e orientação desse alvoforam propostas técnicas de estimativa, baseadas no que é descrito no trabalho [Basit et al.2015] e nas técnicas já conhecidas de modelagem de câmera, apresentadas em [Trucco &Verri 1998] e [Ballard & Brown 1982].

2.4.4 Abordagem de controle

Uma extensa pesquisa a respeito de estratégias utilizadas para realizar o controle deum agente móvel em direção a um alvo em movimento foi realizada, e trabalhos como[Medina-Garciadiego & Leonessa 2011], [Wai & Lin 2013], [Ito et al. 2012] e [Yoshimiet al. 2006] foram encontrados com perspectivas semelhantes ao que se deseja desenvolveraqui. Deseja-se desenvolver um sistema de controle para realizar a perseguição do alvo

Page 28: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA 13

desejado de forma que o mesmo sempre esteja à vista do sensor de câmera e possa seridentificado pelo detector. No início pensou-se em começar a abordagem com estratégiasde controle simples para tentar desenvolver o sistema de controle, ao contrário da maioriados trabalhos existentes na literatura. Decidiu-se então seguir estratégias mais simplesparecidas com os trabalhos [Maya-Mendez et al. 2006] e [Frederico C. VIEIRA 2004],e utilizar estratégias como as propostas em [Rafael Murrieta-Cid 2005] e [LaValle et al.1997], para manter as restrições de visibilidade do alvo.

O problema de manter a visibilidade do alvo, considerando o fato de que o robô pos-sui restrições em sua movimentação lateral, é uma tarefa que oferece certo grau de com-plexidade. Para tentar contornar esse problema pensou-se em utilizar uma estratégia decontrole que envolva a geração de curvas que representem caminhos ideais para o robôdada uma determinada posição e orientação do alvo, considerando também as restriçõesda câmera. Para que o algoritmo de controle proposto pudesse funcionar, o mesmo teveque ser incluído em um problema de perseguição de trajetória, o robô deve alterar suavelocidade de acordo com o movimento relativo do alvo, de forma a se manter sempreem perseguição. Nesse trabalho não foi considerada nenhuma técnica para estimativa davelocidade do alvo.

2.5 Revisão do softwares utilizados

As simulações relacionadas com o funcionamento físico e algorítmico do sistema pro-posto aqui foram realizadas no ambiente de simulação V-REP, desenvolvido pela CoppeliaRobotics T M [E. Rohmer 2013], em conjunto com o ambiente computacional de progra-mação MATLAB T M, utilizando o pacote de ferramentas Computer Vision System To-olbox [Computer Vision System Toolbox User’s Guide: For Use with MATLAB;[user’s

Guide] 2016], bem como a biblioteca de desenvolvimento de software relacionada comvisão computacional o OpenCV [Bradski n.d.]. O V-REP providencia uma quantidadeenorme de ferramentas para realizar simulações físicas de sistemas dinâmicos e possuiintegração com a maioria das linguagens de computação, sendo assim muito bem qua-lificado para realizar as simulações físicas do sistema. O MATLAB é uma poderosaplataforma computacional com bibliotecas es extensões disponíveis para se realizar in-contáveis tipos de atividades, inclusive quando se trata de seu uso em sistemas robóticos.O OpenCV é uma biblioteca aberta disponível nas linguagens Python e C++ repleta demétodos e ferramentas direcionadas a área de visão computacional e processamento deimagem.

Page 29: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA 14

2.5.1 Coppelia Robotics V-REP

O simulador de sistemas robóticos V-REP, desenvolvido pela Coppelia Robotics econtando com ambiente de desenvolvimento integrado, é baseado numa arquitetura decontrole distribuída onde cada objeto/modelo pode ser individualmente controlado poruma rotina de código embarcada, um plugin, um nó em ROS, um cliente numa API re-mota, ou uma solução customizada. Isso torna o V-REP extremamente versátil e idealpara aplicações multi-robô. Controladores podem ser escritos em diversas linguagens deprogramação como C/C++, Python, Java, Lua, MATLAB, Octave ou Ubi.

V-REP é constantemente utilizado para desenvolvimento rápido de algoritmos, simu-lações de sistemas de automação industrial, prototipagem rápida e verificação, robóticaeducativa, monitoramento remoto, segurança, entre outros.

O ambiente de simulação oferece ferramentes para os mais variados cenários, entresimulação dinâmica, cinética, cinemática, planejamento de caminhos, cálculo de mínimadistância, detecção de colisões, sensores de visão, processamento de imagem, sensoresde proximidade, entre outros. Para tanto são embutidos no ambiente 4 motores físicos(Bullet Physics, ODE, Vortex Dynamics e Newton Dynamics) para cálculos rápidos ecustomizáveis de sistemas dinâmicos e simulação precisas de interações entre objetos se-melhantes ao mundo real. O ambiente conta com modelos para o cálculo de cinemáticadireta e inversa para qualquer tipo de mecanismo: ramificado, fechado, redundante, con-tendo laços aninhados, entre outros. O software foi utilizado no presente trabalho pararealizar as simulações físicas dos modelos movimentação do agente móvel e do alvo.

Mais informações estão disponíveis em: http://www.coppeliarobotics.com/

2.5.2 MATLAB

Trata-se de um software interativo de alta performance voltado para o cálculo nu-mérico. O MATLAB integra análise numérica, cálculo com matrizes, processamento desinais e construção de gráficos em um ambiente fácil de usar, onde problemas e soluçõessão expressos somente como eles são escritos matematicamente, ao contrário da progra-mação tradicional.

A plataforma MATLAB é otimizada para a resolução de problemas científicos e deengenharia. A linguagem baseada em matriz, típica do MATLAB, facilita a forma de ma-nipulação e interação com os dados, otimizando assim o trabalho. As bibliotecas gráficas

Page 30: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA 15

pre carregadas tornam a visualização dos dados mais acessível principalmente em traba-lhos que exigem manipulação gráfica ou processamento de imagens.

Esses e outros motivos foram levados em consideração na hora de se escolher o MA-TLAB para realizar os testes e análises iniciais das primeiras etapas do sistema, além,claro da sua fácil integração com o ambiente de simulação física o V-REP. O MATLAB foiutilizado na implementação dos algoritmos de controle e durante a etapa de treinamentodo detector em cascata de características Haar, pois, sua biblioteca de visão computacio-nal já possui diversas rotinas pre-instaladas que facilitam o treinamento e a manipulaçãodesse tipo de detector.

Devido às suas limitações em velocidade o MATLAB não é muito indicado para ver-sões finais de projetos, pensa-se em utilizá-lo durante a etapa de prototipagem do sistemae em algumas análises, porém, os algoritmos de controle e de detecção e processamentode imagens seriam implementados em outra linguagem de programação computacional-mente mais eficiente como Python ou C/C++, na hipótese de uma possível implementaçãofísica do sistema.

Mais informações estão disponíveis em: http://www.mathworks.com/

2.5.3 OpenCV

OpenCV (Open Source Computer Vision Library) é uma biblioteca de software devisão computacional e aprendizado de máquina de código aberto. Ela foi construída paraprover uma infraestrutura comum para aplicações envolvendo visão computacional e paraacelerar a utilização de percepção de máquina em produtos comerciais. Sendo um produtocom licença BSD, o OpenCV torna fácil a a utilização e modificação do código.

A biblioteca possui mais de 2500 algoritmos optimizados, o que inclui um compreen-sivo conjunto tanto de algoritmos clássicos quanto de última geração para visão compu-tacional e aprendizado de máquina. Esses algoritmos podem ser utilizados para detectare reconhecer faces, identificar objetos, classificar ações humanas em vídeos, rastrear mo-vimentos de câmera, rastrear movimento de objetos, extrair modelos tridimensionais deobjetos, produzir nuvens de pontos 3D de câmeras estereoscópicas, agrupar imagens deforma a formar uma imagem de alta resolução de uma cena, encontrar imagens similaresem um banco de dados, remoção de olhos vermelhos resultado do uso de flash, seguirmovimento dos olhos, reconhecimento de cenários e estabelecimento de marcações para

Page 31: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA 16

o uso de realidade virtual. É mais do que qualificado para ser utilizado no contexto dotrabalho apresentado neste documento.

A biblioteca opera nas interfaces com C++, C, Python e MATLAB e suporta Win-dows, Linux, Android e MAC OS. OpenCV é indicado para uso em aplicações de visãoem tempo real e pode utilizar instruções MMX e SSE quando disponíveis. Interfacesem OpenCL e CUDA repletas de funções estão em desenvolvimento ativo atualmente.OpenCV é uma biblioteca escrita nativamente em C++ e possui interfaces em template

que funcionam em containers STL. A biblioteca foi utilizada nos testes dos sistemas deestimativa de posição e orientação do alvo.

Mais informações estão disponíveis em: urlhttp://opencv.org/

Page 32: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Capítulo 3

METODOLOGIA DE PESQUISA

Neste trabalho é proposta uma nova forma de protótipo de uma unidade robóticaagente móvel terrestre dotada de limitações laterais de movimentação, capaz de identi-ficar um determinado alvo a sua frente por meio de uma única câmera de padrão RGBcomum, montada de forma fixa sobre o chassi do robô, e de determinar a posição dessealvo e de executar um algoritmo de controle inteligente de forma a realizar a perseguiçãodo alvo pelo ambiente terrestre livre de obstáculos, apesar de suas restrições de movi-mentação. Nesse capítulo serão apresentados os métodos escolhidos ou propostos pararesolver cada etapa da implementação do sistema, cada um procurando abordar os pro-blemas impostos da forma mais simples possível com relação à implementação, para quese possa obter um produto final que não seja custoso computacionalmente nem financei-ramente.

3.1 Forma de abordagem ao problema

A metodologia de abordagem dos problemas enfrentados no desenvolvimento do sis-tema é baseada na busca do estado da arte disponível de técnicas que ofereçam uma possí-vel solução para cada um dos problemas presentes nos estágios de elaboração do projeto.A análise da viabilidade da aplicação de tais técnicas no escopo do sistema desenvolvidoe a modificação e adequação das mesmas, quando necessário, para se encaixarem melhornesse escopo também fazem parte do projeto. Foram realizados diversos estudos de simu-lação de cada estágio do sistema, realizando-se a análise do desempenho e das limitaçõesdo sistema como um todo a fim de se julgar a viabilidade do mesmo.

Page 33: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 18

3.2 Descrição das técnicas escolhidas

À seguir são realizadas descrições detalhadas de todas as técnicas escolhidas ou de-senvolvidas no decorrer do trabalho. Basicamente o trabalho é compostos dos seguintessubsistemas: subsistema de detecção de alvo, subsistema de estimativa de posição, sub-sistema de estimativa de orientação e subsistema de controle. A união desses subsistemasformam o sistema de identificação e perseguição de alvo como um todo. O subsistema deestimativa de posição e o subsistema de estimativa de orientação por vezes são agrupadose referenciados como subsistema de estimativa de configuração, visto que o funciona-mento de ambos está atrelado.

3.2.1 Notação matemática

Antes de mais nada é importante definir alguns termos utilizados na explicação dotrabalho que se segue. Um sistema referencial de coordenadas 2D ou 3D será represen-tado por uma letra estilizada em maiúsculo como em F . Um subíndice pode ser utilizadoem conjunto com a notação para indicar que a variável em questão corresponde a umdeterminado item; como em Fc que indica o referencial de coordenadas de câmera, espe-cificamente. Um ponto em um referencial de coordenadas 2D ou 3D será denotado emnegrito como em P e pode ou não ter um subíndice para indicar um ponto pertencente aum item em específico. A notação utilizada aqui define que pontos em referenciais de trêsdimensões, como o referencial de mundo, serão representados em maiúsculo e pontos dereferenciais bidimensionais, como o referencial da imagem de câmera, estarão em minús-culo. Matrizes e vetores serão também representados em negrito porém suas dimensõesserão sempre especificadas logo em seguida para evitar enganos entre esses e os pontos.Escalares serão denotados de forma padrão, como em f . Estimativas de parâmetros serãodenotadas utilizando til, por exemplo, a estimativa de x será x. Da mesma forma, valo-res desejados para uma determinada variável temporal serão denotados utilizando acentocircunflexo, assim, a variável x(t) denota um valor desejado.

3.2.2 Descrição dos referenciais

Para iniciar a modelagem do robô móvel considera-se primeiramente a configuraçãoda Figura 3.1, nela é descrito o referencial de coordenadas 2D associado ao robô terrestre,Fr. A partir desse referencial, em dada situação no tempo as configurações do robô sãodescritas por qr(t) = [xr(t),yr(t),θr(t)] no referencial de mundo, onde θr(t) representa oângulo em que o eixo Xr do robô faz com o eixo Xw do referencial estático de mundo. O

Page 34: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 19

referencial de mundo pode ser definido a critério do projetista. O sensor de visão estaráposicionado segundo o referencial Fc. Já que o sensor de visão não tem liberdade demovimento translacional ou rotacional relativo à base do robô Fc é considerado constanteem relação ao referencial Fr. Em dado momento, como forma de reduzir as perdas devisada do alvo, iremos considerar que a origem do referencial de câmera coincide com oreferencial do robô, porém está rotacionado.

Figura 3.1: Configuração de modelagem do robô móvel terrestre no espaço de trabalhobidimensional.

O referencial Fa está associado ao alvo ao qual deseja-se seguir, onde qa(t)= [xa(t),ya(t),θa(t)]

representa uma determinada configuração no tempo em referencial de mundo, a qual des-creve a postura do alvo.

O referencial Fc possui três eixos de coordenadas Xc, Yc e Zc sobre o qual é feita todaa modelagem do mapeamento dos pontos do mundo real em coordenadas de mundo edos pontos em coordenadas de imagem. Durante o desenvolver dos métodos será sempreconsiderado que Zc é o eixo de profundidade visto pela câmera.

Page 35: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 20

3.2.3 Escolha do alvo

Como já havia sido comentado, para realizar a detecção do alvo é utilizado o já conhe-cido algoritmo de reconhecimento de padrões de imagem proposto por Viola e Jones em[Viola & Jones 2001], que apresenta bom desempenho e baixo custo computacional, alémde poder ser aplicado a sensores de visão simples, sem exigir um hardware específico. Atécnica proposta por Viola e Jones foi originalmente desenvolvida para ser utilizada comidentificação rápida de rostos de seres humanos em fotografias, muito embora possa terseu potencial expandido para a detecção de muitos outros padrões de imagem. A maiordas restrições dessa técnica reside no fato de que a mesma só funciona quando a figurapara o qual um determinado detector foi treinado apresenta uma orientação parecida coma das figuras utilizadas como positivas durante o treinamento, ou seja, para o caso daaplicação dessa técnica na detecção de um alvo impresso em um corpo se movendo livre-mente à frente do agente móvel, a mesma falharia sempre que o alvo apresentasse umadiferença angular fora da faixa de detecção do classificador de alvo proposto. Pensandodessa forma é fundamental fazer, além da correção da trajetória do robô não-holonômico,também a correção da orientação do mesmo de forma que ele possa identificar o alvo àsua frente, ou seja, que o alvo permaneça visível e dentro da faixa angular de detecção.

A principal vantagem de se utilizar essa técnica seria o fato que o alvo pode ser es-colhido pelo projetista do sistema, ou seja não é necessário que o alvo apresente padrõesespecíficos como nos casos de QR codes ou alvos similares. Dessa forma, o alvo pode serfacilmente integrado ao cotidiano do usuário do sistema, expandindo assim a usabilidadedo mesmo.

O alvo escolhido, no qual seriam aplicadas as técnicas de identificação e acompanha-mento tem de ser um alvo pré-definido. A ideia é fazer com que o agente móvel sejacapaz de sempre identificar esse alvo e, sempre que o alvo esteja dentro do campo devisão do mesmo, ele o siga de forma a se deslocar pelo ambiente de forma fluida e sempreajustando sua diferença de orientação em relação ao alvo para que o mesmo não saia docampo de visão. É importante destacar que o ambiente é considerado livre de obstáculospara todas as proposições realizadas.

Tendo em mente que para a abordagem ao problema de detecção foram escolhidas asfeatures Haar para o classificador, o projetista do sistema aonde o detector será aplicadopode determinar o que será seu alvo de acordo com a aplicação ou com sua vontade. Opadrão de imagem definido para o alvo pode ser desde uma placa de carro, o rosto de al-guém ou uma marcação numa camiseta; mas é preciso ter em mente que a complexidadedo padrão irá influenciar no treinamento do detector em cascata tornando-o mais difícil de

Page 36: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 21

treinar ou mesmo mais impreciso. Uma vez que o padrão para o alvo foi definido, o pró-ximo passo seria treinar o classificador em cascata utilizando o padrão escolhido para seobter um classificador que irá funcionar especificamente para a aplicação envolvida. Nostestes realizados no trabalho aqui descrito o padrão de alvo escolhido foi o apresentadona Figura 3.2. Esse padrão foi escolhido devido à sua simplicidade e por sua forma, queo torna mais fácil de detectar, mesmo à distância ou em diferentes resoluções de câmera.A disposição de tonalidades em preto e branco torna o padrão mais fácil de classificarutilizando a abordagem Haar devido a natureza das próprias features.

Figura 3.2: Ilustração do padrão escolhido para a discriminação do alvo na simulações. Opadrão é definido pelo projetista do sistema e pode ser uma combinação de praticamentequaisquer imagens.

Os classificadores de imagem utilizados nos testes e simulações deste trabalho foramtreinados utilizando o Toolbox de Visão Computacional para o software MATLAB. Pararealizar o treinamento de tais classificadores se faz necessária uma grande quantidade deamostras positivas, que na prática são imagens do padrão de alvo desejado na aplicação,e também uma quantidade muito maior de amostras negativas, que são imagens de qual-quer outra coisa que não inclua o alvo e que não podem ser falsamente detectadas comosendo o alvo. Como o alvo definido para este trabalho será uma superfície plana, algu-mas técnicas podem ser aplicadas no processo de aquisição das amostras positivas, ondea grande maioria delas pode ser gerada a partir de uma imagem base e a utilização deprocessamento de imagem como: rotação, transformação de escala, variação de brilho econtraste e o que mais se fizer necessário para que se possa simular mudanças no ambi-ente ao qual o alvo está exposto. As amostras negativas podem ser qualquer coisa que nãoinclua o alvo desejado, tal como figuras de ambientes, padrões relativamente similares aoutilizado e assim por diante.

Uma vez que o treinamento está completo, o resultado para cada etapa do detectorem cascata fica armazenado em um arquivo .xml, conhecido como arquivo de descriçãodo detector. Esse arquivo de descrição do detector pode ser utilizado em um tipo de fun-ção de detector de objeto multi-escalável, cujas implementações estão disponível tanto

Page 37: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 22

em MATLAB quanto em OpenCV para detectores em cascata. Esse tipo de função deve,basicamente, incrementar a escala da imagem dada como entrada para localizar objetosclassificados como alvo pelo classificador presente no arquivo de descrição dado comoparâmetro da função. Para cada incremento de escala, uma janela deslizante, que possuio mesmo tamanho da imagem de treinamento, varre a imagem em escala para tentar lo-calizar objetos. Pode haver uma propriedade correspondente à um fator de escala paradeterminar a quantidade escalas utilizadas entre sucessivos incrementos. Uma vez que oalvo desejado é encontrado em uma imagem o detector retorna uma caixa delimitadoraque contém o alvo. Durante o desenvolvimento deste trabalho foram utilizados tanto odetector presente no MATLAB, cujos detalhes são descritos em [Computer Vision Sys-

tem Toolbox User’s Guide: For Use with MATLAB;[user’s Guide] 2016]; bem como odetector presente em OpenCV, descrito em [Its 2014].

3.3 Estimativa de posicionamento do alvo

Estimar a configuração de um objeto conhecido no mundo é um problema recorrentena área de sistemas de visão computacional. O método de estimativa apresentado aquié baseado nos modelos para mapeamento e calibração de câmera presentes na literaturade visão computacional, como em [Trucco & Verri 1998] e em [Ballard & Brown 1982].O modelo considerado para a câmera utilizada no desenvolvimento dos métodos de es-timativa de posição e orientação presentes neste trabalho é o modelo de projeção emperspectiva, também conhecido como modelo de câmera "pinhole". A partir do centrode projeção Fc, os eixos Yc e Xc da câmera apontam ao longo das linhas e colunas dosensor respectivamente, e Zc ao longo do eixo óptico, como mostrado na Figura 3.3. Adistância focal f e o centro de imagem são assumidos conhecidos, se não, eles podemser obtidos utilizando-se um simples método de calibração de câmera, que são melhordescritos também em [Trucco & Verri 1998] e [Ballard & Brown 1982].

Page 38: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 23

Figura 3.3: Ilustração mostrando o modelo de câmera em perspectiva e os eixos de coor-denadas envolvidos com um ponto P no espaço 3D. Créditos: OpenCV

A transformação de uma posição Pw = [Xw,Yw,Zw]T do sistema de coordenadas de

mundo para uma posição P = [X ,Y,Z]T no sistema de coordenadas de câmera em umespaço homogêneo pode ser representado por uma matriz de transformação 4× 4. Essamatriz pode ainda ser dividida em uma matriz interna de rotação 3×3 e em um vetor detranslação 3× 1 sem perda de generalidade. Essa matriz 4× 4 é conhecida como matrizde parâmetros extrínsecos do modelo de mapeamento de câmera e depende da posição eorientação pontual do referencial de câmera.

Além disso, as equações fundamentais do modelo em perspectiva para mapear umponto P = [X ,Y,Z]T , em coordenadas de câmera, para um ponto Pim = [U,V, f ], em coor-denadas do plano imagem, são mostradas em

U = fXZ

V = fYZ.

(3.1)

O plano imagem se trata de um plano perpendicular ao eixo óptico da câmera e à distânciaf da origem de coordenadas de câmera, com f correspondendo à distância focal das lentesda câmera. A representação do modelo utilizado para escrever tais equações pode sermelhor visualizada na Figura 3.3. Mais detalhes da modelagem das equações podem serencontrados em [Trucco & Verri 1998].

Negligenciando quaisquer distorções geométricas possivelmente introduzidas pela lente

Page 39: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 24

e assumindo que o sensor CCD da câmera é formado por uma grade retangular de elemen-tos foto-sensitivos, as equações para o modelo de câmera que mapeiam um ponto p= [u,v]

nas coordenadas em pixel do referencial de imagem para outro ponto Pim = [U,V, f ]T emcoordenadas do referencial do plano imagem são mostradas em

U =−(u− cx)sx

V =−(v− cy)sy(3.2)

onde (cx,cy) indicam o centro de imagem, ou ponto principal, e (sx,sy) indica o tamanhoefetivo de cada pixel na direção horizontal e vertical respectivamente. É importante notarque a dimensão do tamanho efetivo que faz com que as dimensões em pixels da imagemsejam convertidas para as dimensões utilizadas no mundo real, como metro por exemplo.

Utilizando as equações presentes em (3.1) e (3.2) pode-se obter um modelo que ma-peia diretamente um ponto no referencial da imagem da câmera para o referencial daprópria câmera no mundo real, descrito por

xo = fxXZ

yo = fyYZ

(3.3)

onde podemos chamar xo =−(u−cx) e yo =−(v−cy), por simplicidade, e onde fx = f/sx

e fy = f/sy são os tamanhos efetivos em unidades de tamanho de pixel para os eixoshorizontal e vertical da imagem, respectivamente. Os valores de fx e fy dependem apenasda distância focal e do tamanho dos pixels e podem ser obtidos através de calibração decâmera ou através experimentos em conjunto com técnicas de ajuste de curvas.

Essas equações podem mapear a posição de qualquer ponto P utilizando apenas aposição do mesmo segundo o sistema de coordenadas da imagem obtida pela câmera. Ogrande problema presente aqui é que nenhuma das equações apresentadas em (3.3) sãolineares, o que torna a obtenção dos parâmetros de mapeamento fx e fy não trivial. Agora,se considerarmos a câmera fixada em um robô terrestre, perseguindo um determinadoalvo, e se considerarmos que as dimensões do alvo são conhecidas e fixas e que o alvonão deixa o solo, o problema de mapeamento de pontos utilizando as equações mostradasem (3.3) podem ser simplificado.

Consideraremos o alvo planar à uma distância zi em relação ao referencial de câ-mera Zc, se considerarmos uma certa quantidade N de pontos Pi = [Xi,Yi,Zi], com i =

{1,2, ...,N}, pertencentes ao alvo, localizados em locais conhecidos do padrão de alvo.Percebemos que o ponto Pi projetado no plano imagem gera um ponto pi = [Ui,Vi] cujas

Page 40: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 25

coordenadas com relação ao referencial de câmera são conhecidas, a forma com que esseponto é detectado na imagem será discutido em uma seção posterior do documento. Ocenário descrito aqui pode ser observado na Figura 3.4.

Uma outra consideração feita aqui seria que o alvo, quando detectado, estará semprena vertical, ou seja, pontos que se encontrem ao longo de uma reta paralela ao eixo Ya

serão projetados sobre um mesmo ponto no plano 2D formado por Xc e Zc.

Figura 3.4: Vista lateral da cena onde o alvo está sobre o campo de visão do modelo decâmera em perspectiva.

Se considerarmos que a câmera está sempre de frente para o alvo, tomando como baseas restrições angulares impostas pelo detector baseado em features Haar e que o alvo semantém na vertical, podemos então manipular as equações de (3.3). Nesse caso devemosconhecer as dimensões físicas do alvo que está sendo perseguido, mais especificamentea sua altura h0. Se os pontos correspondentes aos quatro cantos delimitadores do menorretângulo que contém o alvo fizerem parte dos pontos conhecidos, então as dimensõesdo alvo percebido pela imagem da câmera serão então dadas pelos valores himg e wimg,calculados a partir das diferenças entre as coordenadas desses cantos. Por exemplo, parao caso dos pontos mostrados na Figura 3.7 podemos obter as seguintes relações

himg = v4− v1

wimg = u1−u2(3.4)

sendo que Pi = [ui,vi], com i = {1,2,3,4} em coordenadas de imagem em pixels.

Page 41: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 26

Assim, manipula-se as relações de (3.3) para escrever a relação

Zi = fyh0

himg(3.5)

que considera que a profundidade Zi do ponto Pi é a mesma para todo ponto pertencenteà uma linha vertical sobre o alvo.

A principal consideração levada em conta para se obter a equação(3.5) a partir de(3.3) seria o fato de que o alvo se mantém na vertical, ou seja, dados dois pontos Pi eP j no referencial 3D da câmera, que estejam sobre uma mesma reta paralela ao eixo Yc,ambos são projetados em um mesmo ponto no plano terrestre formado pelos eixos Xc eZc. Obviamente na prática esse tipo de consideração é muito pouco provável de acontecer,porém, desde que os pontos permaneçam dentro de uma mesma região de área desprezívelcom relação às magnitudes envolvidas na aplicação, supõe-se que não haverão problemasnas estimativas.

Podemos fazer o mesmo tipo de análise considerando a visão superior do mesmocenário, considerando desta vez dois pontos Pi e P j, com i 6= j, que podem ser os doiscantos superiores do alvo, por exemplo; onde pi e p j são seus respectivos pontos deprojeção no plano imagem. Cada ponto pi possui coordenada Ui, com respeito ao centroóptico do plano imagem dada pela relação em (3.2). Utilizando a mesma abordagemaplicada ao caso de vista lateral obteremos (3.6). A cena descrita pode ser visualizada naFigura 3.5.

Page 42: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 27

Figura 3.5: Vista superior da cena onde o alvo está sobre o campo de visão do modelo decâmera em perspectiva.

De fato, uma vez que já obtivemos o valor de uma das coordenadas bidimensionais,Zi, de um ponto pertencente ao alvo utilizando uma das relações apresentadas em (3.5),pode-se então utilizar esse conhecimento para resolver a equação

Xi =zi ·Ui

f(3.6)

e assim obtermos a segunda coordenada Xi. Quando a orientação do alvo no plano 2Dde movimentação é diferente da orientação da câmera, um ponto P j tem um valor decoordenada Z j diferente de Zi, e neste caso a vista lateral precisa ser calculada para ambosos pontos, esse conhecimento será a base para a determinação da orientação do alvo. Osreferenciais apresentados aqui são ilustrados na Figura 3.6 onde a visualização do alvo noplano imagem pode ser visualizada.

As equações apresentadas aqui tornam possível realizar a estimativa de posiciona-mento de determinado alvo planar cujas dimensões são conhecidas e pelo menos umponto pertencente ao mesmo também é conhecido em sua imagem na câmera. Os re-sultados obtidos na aplicação do detector baseado em features Haar proposto já fornecema posição do centro do alvo planar e suas dimensões aproximadas por uma caixa delimita-dora, tornando assim possível realizar estimativas da posição do alvo no mundo. O grandeproblema que ainda persiste é a imprecisão quanto ao tamanho do alvo identificado ape-nas pela caixa delimitadora, cujas dimensões não são muito confiáveis, sendo assim deve

Page 43: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 28

existir uma forma de melhorar a determinação de pontos pertencentes ao alvo, para assimmelhorar a estimativa de posição do mesmo.

Figura 3.6: Vista em perspectiva da cena onde o alvo está sobre o campo de visão domodelo de câmera em perspectiva. As linhas em vermelho representam as laterais do alvoque foram consideradas sempre na vertical.

Na prática, o modelo idealizado aqui não é diretamente realizável. As distorções daslentes da câmera por vezes causam deformações na imagem durante o processo de obten-ção de imagem. Existem diversas técnicas para corrigir esse problema, melhor explicadoem [Trucco & Verri 1998] e [Ballard & Brown 1982]. Este processo de correção podeser feito de forma separada do problema de estimativa de configuração. Além do mais,a realização deste processo é necessária apenas uma vez para um dado sistema de visão,sendo assim feita em uma fase de calibração.

Page 44: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 29

3.4 Estimativa de orientação do Alvo

3.4.1 Especificando uma forma delimitadora

Estimar a orientação do alvo não é uma tarefa fácil considerando o sistema que se tematé então, isto se deve ao fato de que a caixa delimitadora que é retornada pelo detectorde alvo indica, com certo grau de incerteza, apenas uma área retangular da porção daimagem onde supostamente o alvo deve estar. É necessário que se determine uma formade estipular a posição de pelo menos dois pontos conhecidos no alvo que podem seridentificados na imagem obtida utilizando a câmera para que se possa inferir sobre aorientação do mesmo com relação ao plano de movimentação do robô, que é o que nosinteressa aqui. Para resolver esse problema propomos o uso de uma forma delimitadoraconhecida em torno do alvo, nos testes do sistema foi utilizado um retângulo em voltado alvo da Figura 3.2. O retângulo foi escolhido pela sua simplicidade em se determinaros pontos que correspondem à seus cantos, com eles podemos facilmente especificar aposição de quatro pontos conhecidos do alvo, onde apenas dois são necessários para aestimativa de posição e orientação em duas dimensões. Os outros cantos conhecidos doretângulo podem ser utilizados de forma redundante para adicionar robustez ao algoritmode detecção.

O problema de estimativa de configuração discutido aqui considera apenas o conheci-mento da posição do alvo e seu ângulo de orientação no plano terrestre 2D com relação aoeixo de coordenadas da câmera. E ainda mais, uma vez que existe uma restrição angularde detecção relacionada ao método de detecção, assim, nem todo o espaço precisa serconsiderado na estimativa de configuração e o método pode ser simplificado.

Uma vez que o sistema de detecção de alvo identifica a presença do alvo na imagemobtida através da câmera, é hora de determinar a localização dos quatro cantos do re-tângulo delimitador que fica em torno do padrão de imagem treinado. Para encontrar oscantos, uma ROI (Region of Interest) é estipulada cobrindo a área na qual o retângulo estácontido. Essa região é definida com relação à caixa delimitadora retornada pelo detectore precisa conter o retângulo delimitador por completo. Uma vez que a caixa delimitadoraretornada pelo detector Haar não é muito grande, é simples determinar um perímetro aoredor do alvo onde provavelmente o retângulo está inteiramente contemplado.

O detector de alvo pode ser treinado considerando-se uma forma delimitadora a fimde se obter melhores resultados. Nos experimentos realizados para esse trabalho o treina-mento do detector foi feito para encontrar apenas o alvo interno, assim a caixa delimita-dora que é retornada pelo detector foi expandida em cerca de 25% do seu tamanho para

Page 45: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 30

formar a ROI de procura pelo retângulo delimitador. Esse procedimento fica a cargo doprojetista dos sistema, o alvo pode muito bem ser treinado contendo o padrão desejadoe a forma delimitadora, nesse caso a caixa delimitadora retornada pelo detector pode serutilizada como ROI sem a necessidade de ajustes, deve-se apenas garantir que o retânguloesteja totalmente enquadrado dentro da ROI.

Quando a ROI que contém o retângulo está definida, um método de separação deobjetos pode ser aplicado na imagem formada pela ROI para separar os pixels perten-centes à área do retângulo. Uma vez que os pixels correspondentes ao retângulo foramencontrados, então um algoritmo de comparação pode ser aplicado aos mesmos a fim dese encontrar quais deles então mais próximos das bordas da imagem, esses então serãoos pontos correspondentes aos quatro cantos conhecidos do alvo. No exemplo do alvomostrado aqui a imagem correspondente a ROI foi convertida para níveis lógicos e umalgoritmo de preenchimento de pixels, como os que podem ser vistos em [Shani 1980],[Rogers 1985] e [Pavlidis 1982], foi então utilizado para fazer a separação das diferentesáreas, que não se tocam, em preto presentes na imagem. Como, na imagem da ROI, oalvo treinado é o objeto em preto que possui a maior área em pixels, fica fácil de isolaro mesmo da área correspondente ao retângulo. Esse método pôde ser utilizado apenaspelo fato de que o alvo escolhido é bem evidente quando convertido aos níveis bináriosde preto e branco, mas uma estratégia semelhante pode ser utilizada com outros tiposde alvo. Uma ilustração dos resultados obtidos utilizando esse método de identificaçãopodem ser vistos na Figura 3.7, onde a diferença angular entre o alvo e a câmera é dife-rente de zero então o retângulo se torna um trapézio quando visualizado na imagem. Namesma Figura pode-se também observar os quatro cantos bem definidos do alvo, nomea-dos de forma sequencial para posteriormente serem utilizados no algoritmo de estimativade orientação.

Page 46: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 31

Figura 3.7: Imagem da ROI extraída durante simulação definida como uma caixa deli-mitadora 25% maior que a retornada pelo detector do padrão interno de alvo. Os quatrocantos do retângulo estão ressaltados por pontos em vermelho sobre a imagem adquirida.

A forma delimitadora do alvo pode ser definida segundo o desejo do projetista do sis-tema, com a limitação de que a mais fina das linhas pertencente à forma delimitadora deveser espessa o suficiente, em pixels, para que possa ser percebida pelo sensor da câmeradentro da distância delimitada para a atuação do detector em cascata. Também é impor-tante que a mesma permaneça totalmente perceptível dentro de toda a faixa de detecção.Se essa condições não forem atendidas então o processo de estimativa de orientação po-derá ser comprometido. Os valores máximos de espessura das linhas para o alvo utilizadonas simulações e testes foram determinados empiricamente durante o processo de designdo padrão de alvo.

Outras formas de extração de características de imagem podem ser aplicadas para ob-ter os pontos correspondentes aos limites do alvo que não necessariamente envolvam autilização dessa forma delimitadora. Durante o desenvolvimento do projeto pensou-sena utilização de detectores de cantos para identificar locais conhecidos no alvo dentro daROI e utilizar a distância entre os pontos correspondentes à esses locais no alvo físico pararealizar os processos de estimativa. Porém, geralmente, esses detectores são bem custo-sos computacionalmente, o que acabaria comprometendo a performance do algoritmo deestimativa de alvo. Assim, a ideia de utilização de detectores de cantos foi deixada delado.

3.4.2 Processo de estimativa

Os pontos em coordenadas de pixel na imagem representando os cantos do retângulodelimitador podem nos dar uma melhor ideia da orientação do plano que contém o alvo

Page 47: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 32

do que somente a caixa delimitadora retornada pelo detector, utilizando a deformaçãodo retângulo podemos estimar o ângulo de orientação do alvo em relação ao referencialde coordenadas da câmera. Quando o alvo está de frente para a câmera, ou quando suadiferença angular é de 0◦, os ângulos dentro dos vértices do retângulo ficam todos emtorno de 90◦.

Existem várias formas de estimar a orientação do alvo em relação ao referencial decoordenadas da câmera utilizando a posição dos cantos do retângulo delimitador, o mé-todo utilizado nos testes considera os cantos superiores do retângulo como sendo pontosno espaço de trabalho 2D do robô terrestre e calcula a estimativa θ(t) para a orientaçãoθ(t) do alvo segundo a equação

θ(t) = tan−1(

Z1−Z2

X2−X1

)(3.7)

onde o ponto mais à esquerda é dado por P1 = [X1,Y1,Z1] e o ponto mais a direitapor P2 = [X2,Y2,Z2] no referencial de coordenadas de câmera, de acordo com a figura3.7. Examinado a Figura 3.8, que representa um modelo de visualização superior da cenade perseguição, e utilizando as relações trigonométricas conhecidas, pode-se facilmentechegar à expressão (3.7).

O quadrante do ângulo calculado utilizando a equação (3.7) é importante já que de-sejamos minimizar o erro de orientação entre o alvo e robô para melhorar a visualizaçãodo mesmo. Uma ilustração do processo aplicado aqui pode ser visualizada na Figura 3.8,onde os dois pontos pertencentes ao alvo necessários para o processo de estimativa deorientação podem ser visualizados.

Figura 3.8: Ilustração do processo de estimativa de orientação calculado com base noarco-tangente das distâncias de dois pontos pertencentes ao alvo nos eixos x e z.

Como a faixa de orientação disponível para a detecção do alvo é bem curta, o processo

Page 48: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 33

de estimativa apresentado aqui é suficiente para se ter uma ideia de para onde o alvo estáapontando e assim poder-se desenvolver uma abordagem de controle capaz de manter adiferença de orientação entre o robô e o alvo bem próxima de zero, assim, existe umamenor possibilidade de se perder o alvo durante o processo de perseguição. O processode estimativa da orientação é naturalmente bastante ruidoso e dependendo da quantidadede erro acumulada no processo de estimativa de posição, do qual o mesmo depende, podeser ainda mais. Mesmo assim os resultados obtidos utilizando um filtro passa-baixas emconjunto com o estimador resultaram em um nível aceitável de precisão.

Sendo assim os passos do algoritmo para a estimativa da posição e orientação do alvoproposto aqui são apresentados no pseudo-algoritmo 1.

Algoritmo 1: Algoritmo proposto para se determinar a posição e orientação do alvomóvel captado pela câmera

Entrada: Os quatro cantos do alvo [p1, p2, p3, p4] em coordenadas de imagem,f , sx, sy, h0, (cx,cy)

1 Calcular altura e largura do alvo na imagem himg e wimg com base em (3.4).2 Determinar as coordenadas Zi para cada par vertical utilizando (3.5).3 Utilizar as coordenadas Zi para determinar as coordenadas Xi segundo (3.6).4 Calcular a orientação do alvo utilizando a posição calculada em dois pontos P1 e

P2, com y1 6= y2, segundo (3.7).5 Determinar o centro do alvo Pc pela média dos cantos calculados.

Saída: Pc = [Xc,Zc], θ

Esse algoritmo de estimativa foi implementado em um ambiente de testes para de-terminar a configuração de um alvo real, bem como foi introduzido em um ambiente desimulação para determinar a configuração de um alvo virtual, no intuito de testar os algo-ritmos de controle empregados no robô.

3.5 Estratégias de controle

3.5.1 Modelagem do robô

Uma vez que os referenciais de modelo do robô já foram definidos pode-se descrevero modelo cinemático do mesmo da seguinte forma

Page 49: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 34

xr(t) = v(t) · cos(θr(t))

yr(t) = v(t) · sen(θr(t))

θr(t) = ω(t) .

(3.8)

onde v(t) corresponde a velocidade linear do robô, ω(t) à sua velocidade angular noplano [Xw,Yw] e xr e yr às derivadas temporais das posições xr e yr do robô respectiva-mente. Se definirmos V(t) = [v(t) ω(t)]T como sendo o vetor que descreve o movimentodo robô e qr(t)= [xr(t) yr(t) θr(t)]T como o vetor de configuração atual do robô, podemosreescrever a equação (3.8) da seguinte forma

qr(t) =r Rv(t) ·V(t) . (3.9)

onde rRv é uma matriz de transformação dada por

rRv(t) =

cos(θr(t)) 0sin(θr(t)) 0

0 1

. (3.10)

Se para a modelagem do comportamento do robô é necessário levar em consideraçãoas velocidades angulares aplicadas às rodas laterais do mesmo, ωd(t) e ωe(t), tal qualtambém é feito em [Fahimi 2008] e em [Siegwart & Nourbakhsh 2004], pode-se entãousar a relação

qr(t) =

cos(θr(t))(rdωd(t)+ reωe(t))/2sin(θr(t))(rdωd(t)+ reωe(t))/2

(rdωd(t)− reωe(t))/b

(3.11)

para o modelo cinemático do robô.Onde ωe e ωd são as velocidades angulares aplicadas às rodas laterais esquerda e

direita do robô respectivamente, re e rd são os raios das rodas esquerda e direita do robômóvel respectivamente e b é um parâmetro referente ao comprimento do eixo que uneas duas rodas laterais do robô. Baseando-se na relação apresentada em (3.11) pode-sedeterminar as velocidades que são aplicadas às rodas do robô para atingir determinadavelocidade linear e angular desejadas de acordo com a relação vista em

Page 50: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 35

[ωd(t)

ωe(t)

]=

[1rd

b2rd

1re− b

2re

][v(t)

ω(t)

]. (3.12)

O modelo cinemático apresentado será utilizado tanto no desenvolver das técnicas decontrole, quanto em ambiente de simulação para fazer testes de aplicações das técnicasdesenvolvidas. Além dos modelos descritos aqui também foram considerados no ambi-ente de simulação as seguintes características no robô: Dinâmica de atraso de primeiraordem no acionamento das rodas para modelar a inércia no acionamento dos motores,Comportamentos não-lineares como zona-morta e saturação dos sinais de controle queservem para tornar o comportamento do robô mais realista e são explicados nas seçõesseguintes.

3.5.2 Modelo não-linear

Deseja-se também introduzir algumas não-linearidades no modelo cinemático do robôpara a simulação, a fim de melhor representar o comportamento real do mesmo. Inicial-mente as não-linearidades consideradas no modelo são do tipo zona-morta e saturação,aplicadas nas velocidades angulares das rodas do robô. Essas não-linearidades represen-tam a limitação de velocidade que a fonte de energia pode fornecer aos atuadores dasrodas, a presença de engrenagens soltas nas mesmas e também a consideração de atritoestático nas rodas do robô em contato com o solo.

Modelo com zona-morta

A zona morta está presente nas velocidades angulares das rodas do modelo de simu-lação do robô móvel. Para valores de tensões V (t) muito baixas aplicadas ao modelo, asvelocidades angulares ωe(t) e ωd(t) desenvolvidas pelos motores atrelados à cada roda dorobô podem permanecer nulas, como é descrito na Figura 3.9. A presença de uma zonamorta no modelo do robô tem por finalidade representar comportamentos encontrados emimplementações reais de robôs como: engrenagens soltas e atrito estático.

Esse modelo utilizado para representar a não-linearidade naturalmente presente nocomportamento da maioria dos robôs móveis foi baseado no que é apresentado em [EllonP. Mendes 2010], onde uma não-linearidade similar é incorporada ao modelo dinâmicode um robô móvel.

Page 51: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 36

Figura 3.9: Forma geral das não-linearidades de tipo zona-morta e saturação aplicadas àsvelocidades das rodas do modelo do robô.

Modelo com saturação

A saturação age sobre os motores que atuam nas rodas do robô é representada poruma limitação no sinal de entrada aplicado às mesmas. Uma condição foi colocada naconstrução do modelo de simulação do robô na qual as velocidades aplicadas às rodasacima de um certo valor determinado não são permitidas, ao invés disso o valor da velo-cidade aplicada se limitará ao valor máximo estipulado, como pode ser visto na Figura3.9. A expectativa geral é que a introdução de uma limitação na velocidade das rodas teráimpacto direto no controle do robô, impedindo que o mesmo realize algumas manobraspara alcançar o alvo em circunstâncias de movimentação mais extremas.

Os valores dados aos limites de saturação são determinados de acordo com os parâ-metros relacionados com os motores que poderiam ser utilizados para acionar as rodasdo robô em uma possível implementação real. Nas simulações considerou-se o tipo demotor mais comum para se utilizar em aplicações de robôs móveis de pequeno porte, ummotor DC de 6v cuja velocidade de rotação máxima é de 260 rpm que proporciona umavelocidade linear de 1 m/s ao robô móvel, considerando uma roda de 7 cm.

Page 52: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 37

3.5.3 Dinâmica do alvo

De uma forma geral o sistema foi pensado para atuar com alvos planares se movendode forma livre pelo ambiente, porém, dadas as restrições não-holonômicas de movimen-tação do robô, não podemos garantir isso só com os subsistemas de sensoriamento queforam adicionados ao projeto até agora. Dessa forma algumas restrições foram incorpo-radas inicialmente no modelo de movimentação do alvo nas simulações. Primeiramente oalvo se move sobre um caminho pré-determinado e desconhecido pelo algoritmo de con-trole, nesse caminho o alvo se movimenta com velocidade fixa ou variável em direção aoseu vetor de orientação, que pode ser visto na Figura 3.11. Assim, a estimativa de orienta-ção do alvo irá indicar o possível trajeto que o mesmo irá realizar, não sendo necessário,nesse caso, incorporar técnicas de estimativa de aceleração do alvo para tentar prever suamovimentação.

Para realizar a perseguição foi considerado que o padrão de identificação do alvoestava estampado com orientação oposta a do seu vetor de velocidade. Em todos os testeso alvo se deslocava a todo momento e não permanecia imóvel girando em torno de seueixo de orientação, nesse caso as restrições de movimentação do robô impendem que omesmo se movimente de forma a reduzir o erro angular e ainda manter a visibilidade doalvo.

3.5.4 Estratégia geral de controle

O controle do sistema robótico perseguidor foi concebido para ser realizado de formadigital por um computador embarcado ou mesmo um microcontrolador. A ideia é obteruma imagem da câmera a cada instante de tempo, utilizar o detector de alvo nessa imagemem busca da presença do mesmo e, uma vez que ele fosse detectado, foi realizada umaestimativa da configuração atual alvo em relação ao robô. O erro de configuração é entãocalculado com base na estimativa feita e na configuração desejada, com base nesse erroo controlador deve agir para ajustar a trajetória do robô de acordo com as condiçõesestipuladas para o sistema.

Na Figura 3.10 pode-se ter uma visão geral da organização do sistema de controleproposto, onde cada bloco representa um subsistema. Pode-se perceber na figura que omodelo de comportamento do robô está diretamente ligado ao modelo de movimentaçãoda câmera, pois o comportamento do robô no ambiente irá afetar diretamente a forma comque a câmera estará posicionada, visto que a mesma estará fixa na base do robô.

Uma vez que a posição e a orientação do alvo são conhecidos, se faz necessário de-terminar uma forma de alcançar o alvo de forma eficiente. A forma mais simples e trivial

Page 53: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 38

Figura 3.10: Diagrama de funcionamento geral da estratégia de controle idealizada parao sistema.

seria tentar direcionar o robô de forma direta em direção ao alvo de uma maneira emque o mesmo permaneça sempre o mais próximo possível de uma posição de perseguiçãodesejada. Realizar o controle de posição e o de orientação separadamente é uma formasimples de se executar essa tarefa. O grande problema dessa abordagem reside no fatode que nem sempre a visada do alvo é garantida para o melhor caso de posicionamentoe que, uma vez que o alvo inicia uma trajetória curva, o erro angular entre o alvo e seuperseguidor tende a aumentar, fazendo com que o robô eventualmente não seja mais capazde identificar o mesmo pelo fato dele já estar muito inclinado.

A explicação de como se dá essa forma de controle é descrita à seguir. Primeiramentedefine-se um ponto ótimo de posicionamento do robô em relação ao alvo, o objetivo doalgoritmo de controle então passa a ser posicionar o robô o mais próximo possível desseponto e ao mesmo tempo minimizar ao máximo a diferença de orientação que deva existirentre o robô e o alvo. Para tanto, equações de controle de posição e de orientação sãodefinidas com características que visam alcançar esse objetivo.

Assim, o projetista do sistema pode definir uma distância ideal de perseguição d, so-bre o eixo Xr do robô, de acordo com qualquer critério estabelecido por ele e que estejade acordo com os limites de operação do sensor de câmera e dos estimadores. Como exis-tem restrições impostas pelo método de detecção baseado no algoritmo de Viola&Jones,deve-se manter a diferença angular de orientação entre o robô e o alvo, sobre o plano demovimentação, como sendo a menor possível, nesse caso sendo idealmente igual a zero eo robô, juntamente com a câmera, deve estar posicionado sobre o eixo normal ao plano doalvo, por onde passa seu vetor de orientação. Na figura 3.11 pode-se observar uma ilus-tração do posicionamento do robô e do alvo em vista superior e a ilustração dos ângulosutilizados nas estratégias de controle.

Page 54: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 39

Figura 3.11: Ilustração do posicionamento desejado para o robô em relação ao alvo móvelilustrando os ângulos envolvidos no processo de modelagem do controle.

3.5.5 Lei de controle PI

Uma vez então que a posição de referência foi definida, pode-se então estabelecer leisde controle para tentar fazer com que o robô vá para essa posição e se mantenha nela, ouseja, reduzir ao máximo o erro de posição do robô com relação a essa posição. A abor-dagem de controle pensada para ser utilizada inicialmente é baseada no controle clássicoPID, inicialmente a fim de testes, visto que é uma das abordagens de controle mais sim-ples e é citada em alguns trabalhos recentes, como em [Kong et al. 2016]. As equaçõesde controle baseadas em controladores PID são então aplicados de maneira independentena velocidade linear v(t) e angular ω(t) do robô. As velocidades desejadas v(t) e ω(t),durante a perseguição do alvo serão descritas pelas relações mostradas em

v(t) = kpv · εl(t)+ kiv

t∫0

εl(τ)dτ

ω(t) = kpω · (θ(t)+ϕ(t))+ kiω

t∫0

(θ(τ)+ϕ(τ))dτ

(3.13)

onde kpv e kpω são os ganhos de controle proporcional e kiv e kiω os ganhos de controleintegrativo, θ(t) a orientação do alvo em relação ao eixo de orientação da câmera e ϕ(t) oângulo entre o eixo Zc da câmera e a reta que passa pela origem do eixo de câmera e pela

Page 55: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 40

posição do alvo. O componente de controle derivativo foi omitido na equação de controlevisto que desejamos apenas reduzir o erro de posição em regime. Como a configuração doalvo é dada segundo o referencial de câmera Fc, a configuração do robô estará sempre naorigem deste referencial e orientada em direção ao eixo Zc, dessa forma deve-se expressara configuração desejada para o robô em termos da configuração desejada para o alvo, emrelação ao eixo da câmera. Assim, εl(t) será o erro em distância calculado entre essaconfiguração desejada para o alvo e a configuração atual do mesmo em cada instante detempo.

Caso a câmera esteja posicionada fora do eixo de movimentação do robô deve-sefazer a transformação entre as coordenadas no eixo robô e as coordenadas no eixo decâmera, como a posição relativa entre a câmera e o robô pode acarretar em uma perda devisibilidade do alvo durante a movimentação preferiu-se considerar a câmera centrada noeixo de movimentação do robô.

A ideia inicial da primeira tentativa de controle do agente móvel é descrita pelas equa-ções (3.13). Para o controlador de posição foi utilizado um controlador PID cuja referên-cia de entrada é o erro em distância calculado entre a posição desejada para o robô e aposição do robô (ou a posição desejada para o alvo e a posição do mesmo) εl(t), essecontrolador deve fazer com que o robô assuma a posição desejada para ele próximo aoalvo. A estratégia inicial envolve a perseguição do alvo sem que o agente móvel perca avisada do mesmo durante a operação, portanto pensou-se em utilizar o ângulo ϕ(t) exis-tente entre o eixo da câmera Zc e o vetor de posição do alvo de forma que o controladorfizesse com que a câmera fixada no robô mantivesse sua orientação na direção do alvomóvel. Atrelado ao ângulo ϕ(t) está o ângulo θ(t) de orientação do alvo em relação aoeixo do robô, que entra na equação de controle no intuito de fazer com que robô tente semanter orientado na mesma direção que a orientação do alvo, para que o detector baseadoem visão empregado possa funcionar durante a perseguição. Dessa forma o controle deorientação tenta garantir que o robô esteja orientado na direção da posição do alvo e namesma orientação do mesmo de forma igualmente ponderada.

O que se percebeu nos testes dessa estratégia de controle foi que para trajetórias sim-ples, basicamente retilíneas e sem muitas curvas fechadas, a proposta de controle fun-ciona, porém quando existem curvas muito fechadas na trajetória do alvo a estratégiaapresentada não é indicada. Devido às restrições de ângulo de visada na detecção de alvoque são naturais do algoritmo proposto por Viola & Jones, utilizar uma estratégia de con-trole tão simples não é a melhor forma de abordagem, de fato, quando a trajetória do alvonão possui um formato predominantemente retilíneo, para a acomodação do controlador,ou possui curvas muito fechadas ao longo de seu caminho, o controlador não é capaz de

Page 56: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 41

otimizar a percepção do alvo pelo sensor de câmera e portanto o agente móvel perde avisualização do mesmo e não é capaz de segui-lo. Esse segundo cenário de atuação podeser visualizado no Capítulo 4 deste documento.

3.5.6 Proposição para o melhoramento da estratégia de controle

Após observar os resultados da aplicação da estratégia de controle baseada no con-trole PID, percebeu-se que quando o caminho realizado pelo alvo possui muitas curvas,que constitui a maioria dos casos práticos, o controlador não é capaz de otimizar a movi-mentação do robô, devido a própria natureza do mesmo, assim o erro angular tende a seacumular durante o percurso, o que vem a ser um problema levando em conta o processode detecção de alvo escolhido. Isso leva à incapacidade do controlador de manter a visi-bilidade do alvo quando o mesmo realiza qualquer tipo de curva se logo após a curva elenão tende a uma trajetória retilínea longa para a acomodação do agente móvel.

No intuito de resolver o problema acima citado decidiu-se propor outra estratégia decontrole, dessa vez baseada na geração de curvas spline interligando o robô e o alvo, ba-seado no que foi desenvolvido no trabalho de [Pedrosa et al. 2003]. As curvas geradasseriam interpretadas pelo controlador como o caminho que o robô deve seguir para al-cançar a posição e orientação desejados durante a perseguição. A cada movimentação doalvo percebida pela câmera as curvas seriam atualizadas à fim de gerar um caminho para anova posição. As curvas são geradas de acordo com as condições de contorno dos pontosinicial e final, representando a posição e a orientação do robô e do alvo em determinadoinstante de tempo.O sistema de controle que foi pensado para ser aplicado ao robô móvel aqui descritoconsiste de um controlador digital implementado baseando-se na estratégia de geraçãode caminhos e no algoritmo seguidor de caminho de Samson [Samson 1995]. Durantea perseguição do alvo é prioridade para o algoritmo de controle sempre tentar gerar tra-jetorias que reduzam a diferença de orientação entre o robô perseguidor e o alvo, já quepercebeu-se que esse é um dos principais causadores dos problemas de perda de alvo econtinuidade da perseguição nos testes com a estratégia de controle PID.

Um aspecto importante para o robô perseguidor é se manter sempre em movimento,pois, pelos testes realizados com a estratégia de controle PID percebeu-se que existemmuitos casos em que a visualização do alvo é perdida durante a perseguição e recuperadano instante seguinte, nesses casos deve-se procurar uma forma de manter o robô com ve-locidade, para evitar chaveamentos desnecessários nos atuadores das rodas. Para realizartal função ao mesmo tempo que se reduz a diferença angular entre o robô e o alvo, o

Page 57: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 42

controlador deve ser capaz de gerar manobras de movimentação na ausência de alvo.

3.5.7 Esquema de controle baseado em geração de caminhos

O algoritmo de controle baseado na geração de caminhos proposto neste documentotem o propósito de ser usado em aplicações de perseguição de alvo realizadas por um robôdotado de restrições não-holonômicas de movimento. Visto que o robô apresenta limita-ções em sua forma de mobilidade, a estratégia de controle deve ser capaz de compensaresse fardo, dessa forma o robô será capaz de executar sua tarefa de forma mais inteligente,pois o mesmo iria gerar caminhos adaptáveis ao movimento do alvo.

Dito isto, a principal consideração que mantém o robô em direção ao seu alvo é mantera visibilidade do mesmo, isso significa manter a posição do alvo dentro do alcance devisualização da câmera ao máximo possível e também manter o robô em um rota queirá minimizar a diferença angular entre ele e o alvo. Essa ultima consideração é feita,como já foi comentado, em virtude da natureza planar do alvo escolhido, isso significaque a câmera plantada sobre o robô deve estar de frente para o alvo, do contrário o mesmopoderá se tornar indetectável pelo algoritmo de rastreamento de alvo.

Geração de caminhos

Para fazer com que o robô esteja de frente para o alvo durante o processo de perse-guição, o algoritmo de controle empregado foi desenvolvido com base em métodos degeração de caminho dinâmico. O método proposto basicamente consiste na geração deum caminho com as mesmas restrições não holonômicas que o robô, semelhante ao que éestudado em [Koh & Cho 1999], que o leva de sua posição atual a uma posição desejadaem frente ao alvo. A posição desejada é definida pela estimativa da posição do alvo e peladistância de referência, d em que o robô deve se manter, de acordo com o projetista. Aorientação desejada será sempre a mesma orientação do alvo de forma a diminuir o erroangular.

A construção do caminho é feita usando a informação da configuração atual do robô,dado pela sua atual posição e orientação, e também a configuração desejada baseada norastreamento de alvo. A escolha da distância d que o robô deve estar do alvo envolveum tipo de análise mais apurada que não foi o foco do trabalho, sendo assim, a distânciautilizada nas simulções do sistema foi escolhida empiricamente.

A configuração desejada para o robô pode ser calculada aplicando-se o critério dedistância d do alvo no próprio referencial do alvo Fa. Com essa informação, um caminhoque guia o robô de sua configuração atual até sua configuração desejada pode então ser

Page 58: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 43

gerado. A ideia é que um caminho seja gerado a cada atualização das condições do alvosubstituindo o caminho anterior, isto é chamado de geração dinâmica de caminhos, pois ocaminho gerado estará sempre sendo atualizado de acordo com o comportamento do alvo.

Uma estratégia de interpolação polinomial cúbica é usada para determinar a forma docaminho que o robô deve seguir e que garante que ele possa alcançar a última posição eorientação desejada baseada nas condições do alvo de uma forma que não ultrapasse suaslimitações de movimento. O uso deste método pareceu ser uma forma mais eficiente einteligente de conduzir o robô móvel para seu alvo, ao mesmo tempo que se reduz o erroangular.

Um caminho é gerado com base na configuração atual do robô e do alvo a cada de-tecção bem sucedida do mesmo. Vamos supor que em determinado momento da per-seguição, o alvo apresenta uma configuração qt = [zt xt θ]T descrita no referencial dacâmera. Suponhamos então que a configuração desejada que o robô deve atingir é dadaPor qdr = [z∗ x∗ θdr]

T . Como o eixo referencial para o movimento é centrado na posiçãoda câmera, a configuração do robô em qualquer momento será dada por um ponto na ori-gem do eixo orientado pelo eixo Zc da câmera. Estas informações são utilizadas comocondições de contorno para calcular a spline cúbica que nos dará o caminho para o robôseguir.

3.5.8 Considerações

Enquanto o alvo permanecer em movimento, o gerador de caminho atualizará as con-dições de contorno da curva do caminho e gerará um novo caminho para o robô seguir.Algumas considerações devem ser tomadas para o caminho ser gerado.

A primeira consideração é que o robô só pode ver para frente, ou seja no semiplanopositivo do eixo Zc, então o caminho deve ser criado para alcançar uma configuraçãodesejada que está à frente da câmera e consequentemente do robô.

A segunda consideração é que a geração de caminho é restrita somente para o movi-mento de avanço do robô, o que significa que o robô não deverá gerar um caminho nocaso em que ele ultrapasse a posição desejada para ele, para isso o sinal do erro de po-sição é levado em consideração durante o controle, e uma outra estratégia de controle éempregada.

Page 59: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 44

Figura 3.12: Ilustração do processo de geração de caminhos com as distâncias d e τ

representadas. O ’X’ representa a posição desejada para o robô.

A terceira consideração é feita no caso de o alvo estar muito próximo do robô, nessecaso um caminho gerado pode causar um movimento desnecessário. Então um critério dedistância mínima é definido com base nas restrições do robô, assim a geração de caminhoé usada somente quando o alvo está fora da área estipulada por uma distância mínimaτ< d. Para não se perder a visualização do alvo dentro da distância mínima, o controladorirá fazer com que o robô tenda a se manter orientado na direção da posição do alvo, dadapor ϕ. A distância mínima τ pode ser visualizada no diagrama da Figura 3.12.

É importante não confundir a posição desejada para o robô com a posição desejadapara o alvo, apesar de ambas levarem em conta que o robô deve estar a uma distância d

do alvo cada uma é descrita em um referencial diferente.

3.5.9 Polinômio cúbico

A equação polinomial cúbica que gera o caminho que o robô precisa seguir para alcan-çar sua configuração desejada foi baseada no trabalho realizado por [Pedrosa et al. 2003]e tem suas coordenadas ao longo do plano de movimento, estabelecido pelos eixos Xw eYw de mundo, dado por

xp(λ) = a0 +a1λ+a2λ2 +a3λ

3

yp(λ) = b0 +b1λ+b2λ2 +b3λ

3.(3.14)

Page 60: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 45

Na equação xp(λ) e yp(λ) representam cada coordenada de cada ponto dos pertencen-tes ao caminho gerado, λ é um parâmetro usado para descrever o caminho e representa aposição absoluta de um determinado ponto ao longo do caminho, tal que o ponto inicial édado por λ = 0 que aumenta ao longo do caminho de forma que o ponto final do mesmoesteja localizado em λ= 1. Em teoria λ é uma variável contínua, mas nas implementaçõescom microcontroladores digitais seus valores devem ser discretizados.

A estratégia de geração de caminho é necessária pelo fato de que o robô deve satisfazeras restrições angulares não-holonômicas impostas sobre ele durante seus movimentos,portanto, a orientação do robô ao longo do caminho é dada por θp(λ), que é descrito por

θp(λ) = tan−1(dyp/dxp)

= tan−1((dyp/dλ)/(dxp/dλ)).(3.15)

Esta equação é usada em conjunto com (3.14) e as condições de contorno para obteros parâmetros ai e bi, com i = {0,1,2,3}, que descreve os polinômios que representam ocaminho.

Definindo o parâmetro α(λ) da seguinte forma

α(λ) = tan(θp(λ)) =b1 +2b2λ+3b3λ2

a1 +2a2λ+3a3λ2 (3.16)

e considerando que o robô irá sempre avançar, como já estipulado, uma solução para osparâmetros dos polinômios pode ser tomada como sendo a seguinte

a1 = x f (coef. livre.)

a2 = 0 (coef. livre.)

a0 = 0

a3 = x f −a1−a2

b0 = 0

b1 = αia1

b2 = 3(y f −α f x f )+2α f a1 +α f a2

b3 = 3α f x f −2y f −2α f a1−α f a2

(3.17)

que é simplificado a partir das equações originais apresentadas em [Pedrosa et al. 2003],dado o fato de que a posição inicial do caminho é sempre [xp(0),yp(0)] = [0,0] e queα(0) = 0 porque o caminho é sempre construído de forma que o ponto de partida é semprena origem do sistema de referência da câmera em qualquer iteração.

Page 61: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 46

Na equação (3.17) [x f ,y f ] = [xp(1),yp(1)] representa a posição do caminho quandoλ = 1, α f = α(λ) quando λ = 1. Uma descrição mais detalhada de cada variável e doprocedimento adotado para se chegar nas equações mostradas é feita no trabalho original[Pedrosa et al. 2003].

As restrições presentes para certos valores iniciais nas condições de contorno que sãocitadas no trabalho [Pedrosa et al. 2003] não se aplicam nesse caso. A orientação inicialno caminho será sempre 0, pois robô só pode se mover na direção de seu eixo Xr. Damesma forma a orientação no ponto final do caminho deve ser a mesma orientação doalvo que, pelo fato do mesmo ser um alvo planar, nunca vai chegar a ser −90◦ ou 90◦

segundo as limitações do sistema de detecção.O método de perseguição de alvo utilizado aqui procura garantir que o robô vai tender

a gerar o melhor caminho possível para perseguir o alvo dadas suas condições de restri-ção de movimento. O algoritmo de controle também vai sempre tentar reduzir qualquerdiscrepância angular entre o robô e o alvo que aparecer ao longo do movimento.

Apesar do método ter sido descrito em relação ao referencial de mundo quando omesmo é implementado no algoritmo de controle o referencial utilizado para o caminhona prática é o referencial de câmera (ou um outro referencial temporário baseado no refe-rencial de câmera) portanto a mudança das coordenadas xw

p e ywp deve ser feita de acordo

com o novo referencial, que no caso correspondem a zcp e xc

p respectivamente.

Método para seguir caminho

A geração de caminhos e algoritmos de perseguição são coisas já disponíveis na li-teratura para resolver o problema de manter um robô de acionamento diferencial numdado caminho, algumas referências podem ser vistas em [Laghrouche et al. 2012], [Itoet al. 2012] e [Koh & Cho 1999]. Como esta área de pesquisa está bem estabelecida, nopresente trabalho um algoritmo já existente foi escolhido como solução para fazer o robôdo sistema desenvolvido aqui ser capaz de seguir o caminho gerado. O algoritmo sofreuleves modificações para se encaixar no problema de perseguição de alvo discutido aqui.

A forma de seguir caminho que foi usado no algoritmo de controle proposto aqui foiuma versão modificada do método proposto por Samson em[Samson 1995]. A versãooriginal do método já está bem estabelecida, ele é adequado para robôs terrestres não-holonômicos, tem custo computacional baixo e sua prova de estabilidade já existe.

A lei de controle usada no algoritmo de acompanhamento de caminho mantém ba-sicamente a velocidade linear desejada v do robô constante e determina sua velocidade

Page 62: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 47

angular de acordo com a lei dada por

u =−(kθ∆θs + vkl∆ls sin(∆θs)/∆θs) (3.18)

onde kθ e kv São parâmetros constantes de controle, ∆θs é a diferença angular e ∆ls adiferença de distância entre o robô e um ponto próximo pertencente ao caminho. A ve-locidade angular ω(t) do robô é então controlada utilizando ω pelo valor de u de acordocom a equação (3.19), onde κ(s) representa a curvatura do caminho.

ω = u−κ(s)vcos(∆θs)/(1−κ(s)∆ls) (3.19)

A lei para seguir caminho introduzida por Samson utiliza velocidade constante paradefinir a estabilidade do robô ao se deslocar para o caminho, mas, no cenário de persegui-ção de alvo, um caso com velocidade variável deve ser considerado uma vez que, mesmoque o alvo se mova com velocidade constante, o robô deve variar sua velocidade para re-duzir a distância entre eles. No caso geral, é considerado que o alvo tem uma velocidadevariável quando se movimenta.

Lei de controle modificada

A principal modificação realizada na lei de controle de Samson foi a introdução davariação na velocidade linear do robô de acordo com a posição do alvo. A posição e ori-entação do alvo é conhecida pelo sistema de detecção e rastreamento de alvo, de modoque um sinal vetorial de erro ∆e = [∆z ∆x ∆θ] é calculado sobre a diferença entre a confi-guração do alvo e a configuração desejada para ele, dados em coordenas de câmera.

A distância de erro entre o alvo e a posição desejada εl será então dada por

εl =

√∆z

2 +∆x2. (3.20)

que corresponde ao mesmo valor εl utilizado no algoritmo de controle PID.A velocidade v aplicada à lei de controle será calculada sendo proporcional a esse valorda forma vista em

v = kvεl (3.21)

onde kv é um parâmetro constante de controle a ser ajustado.A velocidade ajustada é então aplicada a (3.18) e (3.19) para que o robô possa seguir

o caminho com uma velocidade que o torna capaz de acompanhar o movimento do alvo.Como a velocidade do robô móvel é agora variável, a prova de estabilidade da lei de con-

Page 63: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 48

trole não é mais válida, o que significa que dado um caminho, a lei de controle não garanteque o robô irá alcançá-lo da forma desejada, especialmente se as variações na velocidadedo robô não são conhecidas. Os testes de simulação do algoritmo revelaram que a lei decontrole proposta funciona bem se o alvo não apresentar quaisquer deslocamentos súbitosespecialmente que envolvam as restrições de movimento do robô.

Como os caminhos gerados para o robô são dinâmicos, e mudam a cada instante deamostragem do sistema, ao se calcular o caminho dinâmico para o robô pode-se restringiro cálculo a apenas os primeiros termos da curva do caminho, visto que os termos seguintesserão recalculados na próxima iteração do algoritmo.

Manobra para recuperação de alvo

Deseja-se que o sistema de controle do robô tenha pleno conhecimento da posiçãoatual do alvo durante todo o percurso, porém, devido às suas restrições de movimentaçãosabe-se que isso pode não ser possível para todos os casos. Como forma de manter ocontrole atuando sempre, propõe-se a implementação de uma forma inteligente de mano-brar que seria acionada nos casos em que o robô perde a noção da posição do alvo. Essesistema iria se basear na última configuração obtida para o alvo, para assim calcular amelhor trajetória que o robô poderia fazer a fim de recuperar o rastreamento do mesmo eretomar à perseguição.

O sistema que realiza as manobras foi pensado para atuar em ambientes livres deobstáculos, pois, como o sistema de controle não possui nenhuma informação sobre oambiente e desconhece a posição atual do alvo durante a manobra seria arriscado agirem casos onde existem obstáculos. Durante a manobra o sistema de controle não possuinenhuma informação do alvo, portanto as manobras não podem ser muito longas para nãocausar problemas na perseguição.

O sistema de manobras proposto é bem simples e será acionado uma vez que o sistemade rastreamento de alvo perca o alvo por algum motivo, normalmente relacionado àsrestrições de movimentação do robô ou visibilidade do alvo, que são inerentes do processode detecção e rastreamento do alvo. Neste caso o sistema de controle, supondo a ausênciade obstáculos no ambiente, deve se manter no atual caminho calculado, baseado na últimaposição conhecida do alvo e na velocidade atual de perseguição, e permanecer à procurado mesmo durante o percurso. Realizar esse tipo de manobra garante a continuidade dossinais de controle no acionamento das rodas do robô para os casos em que há perdasrápidas do rastreamento do alvo devido à imperfeições na imagem.

Page 64: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 49

Figura 3.13: Ilustração do sistema de manobras para tentativa de recuperação de alvorepresentando o referencial fixo da câmera no instante em que o alvo foi visto pela últimavez.

Considerou-se que, no caso geral, o algoritmo de controle não possui conhecimento daposição do robô relativa ao referencial de mundo Fw, apenas da posição da câmera relativaao alvo dada pelo sistema de detecção de alvo. Nesse caso, durante a execução de umamanobra é criado um eixo temporário F0 = [Z0,X0] no ponto inicial do último caminhogerado, que pode ser observado na Figura 3.13. As coordenadas de posição do robô paraaplicação do algoritmo de seguir caminho serão calculadas então com base nesse sistemade referencial fixo e não mais no sistema de referencial variável da câmera. Para que orobô possa aplicar a lei de seguir caminho modificada apresentada aqui é necessário queo mesmo possua conhecimento de sua posição e orientação relativos ao caminho fixo.

Como o robô não possui informação nenhuma de sua localização quando não é ca-paz de identificar o alvo, então deve-se adotar uma outra estratégia para tentar estimar aposição do robô em relação ao sistema de referencial fixo do caminho. A ideia é utili-zar informação de algum outro tipo de sensor disponível, como odometria, para realizara estimativa da configuração do robô em relação ao sistema de referencial fixo. Comoo sistema desenvolvido neste trabalho foi desenvolvido para ser independente de outrossensores presentes no robô além da câmera, então optou-se por utilizar uma estratégiapouco confiável para realizar tal estimativa. Assim as estimativas da posição e orientaçãoatual do robô são feitas com base no modelo dinâmico do mesmo e nas velocidades cal-culadas para serem aplicadas às rodas, mais especificamente o modelo já apresentado em(3.11).

Se após o robô alcançar o ponto final do caminho fixo ele não recuperar a visualizaçãodo alvo, pode-se cessar o acionamento das rodas no intuito de parar o robô como medida

Page 65: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 50

de segurança. Obviamente é fácil de se perceber que se houver qualquer mudança de com-portamento do alvo durante uma dessas manobras esse comportamento não vai ser levadoem consideração no controle do robô, dessa forma optou-se por restringir o sistema demanobras a atuações curtas, apenas para compensar os casos em que há descontinuidadeno sistema de rastreamento de alvo devido às imperfeições na imagem da câmera.

De uma forma geral notou-se um aumento do desempenho do algoritmo de perse-guição com a introdução dessa estratégia de manobra, permitindo sinais mais suaves noacionamento do robô.

Algoritmo de controle

O algoritmo que comanda o movimento do robô também considera a posição atual doalvo. A lei modificada apresentada na equação (3.21) é aplicada somente quando o alvoestá na frente do robô, no alcance visual da câmera, e fora da distância mínima definidapara a operação do controle. Quando o alvo está próximo do robô, ou seja, quando o valorεl está abaixo do limiar de distância mínima τ, a lei de controle fará o robô ficar estáticoem sua posição, mas mudará sua orientação de acordo com a posição do alvo para tentarmanter o rastreamento. No caso descrito, a lei de controle será dada por

v = 0

ω = kwϕ

(3.22)

onde ϕ(t) é o ângulo entre o eixo principal da câmera e o vetor que conecta a posiçãoda mesma e a posição do alvo, como já apresentado na Figura 3.11.

Por razões de segurança quando o alvo está fora de vista, isto é, quando o mesmonão for detectado pelo sistema de detecção de alvo, o robô tenderá a permanecer imóvelesperando o surgimento do alvo. Essa regra não se aplica nos casos em que o robô estárealizando uma manobra de recuperação de visada de alvo.

Uma vez que o sensor da câmera montado no robô é destinado a permanecer imóvelem relação ao chassi do mesmo, para simplificar a implementação de hardware, às vezeso alvo se moverá de uma maneira que se torna impossível para o robô seguir um caminhoque mantém a visualização do alvo dentro de suas restrições de movimentação.

O algoritmo de controle proposto é apresentado em Algoritmo 2. O algoritmo tomacomo argumentos de entrada a configuração do alvo, qt , dada pelo sistema de estimaçãode posição e de orientação, essa configuração corresponde à posição 2D alvo, [zt ,xt ] eorientação, θ nas coordenadas do eixo da câmera. Os outros argumentos de entrada são aconfiguração desejada para o alvo, qd , dada pela distância que deseja-se que o robô esteja

Page 66: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 51

do alvo d e que serve como referência para o controle, e por último o limiar de distânciamínima, τ, definido segundo o critério de distância próxima apresentado na Seção 3.5.8.

Ao ser iniciado o algoritmo de controle verifica se o alvo foi ou não detectado pelosistema de estimativa de configuração de alvo. Em caso positivo, o erro de configuraçãodado entre a configuração atual do alvo e a configuração de referência para o mesmo écalculado. Se o termo correspondente ao eixo Zc do erro de configuração for positivo sig-nifica que o robô deve se aproximar do alvo e se a distância do alvo até sua referência formaior do que o limiar de distância próxima τ o controle por geração de caminhos é inici-ado. Para se calcular os parâmetros de geração de caminho é necessário o conhecimentoda posição desejada para o robô, dada por qdr, mas o mesmo pode ser obtido através dadistância d.

Se o alvo estiver muito próximo da referência, a uma distância menor que o limiarτ estipulado, não adianta gerar uma curva de caminho, então o robô deve permanecerimóvel e tentar manter a visibilidade do alvo até que o mesmo se desloque.

Se o termo correspondente ao eixo Zc do erro de configuração for negativo significaque o robô deve se afastar do alvo, portanto aplica-se uma velocidade retilínea negativanos atuadores das rodas dada pela equação (3.21) com kv < 0. Em qualquer outro casodeve-se manter o robô imóvel por medida de segurança. Caso o alvo seja perdido durante aperseguição, o sistema de geração de manobra é acionado e se comporta da forma descritana seção 3.5.9. Se o alvo não for mais detectado o robô será mantido imóvel.

Os resultados da implementação e testes do algoritmo proposto estão disponíveis noCapítulo 4, onde as diferenças entre esse algoritmo e o algoritmo de controle PID sãoanalisadas.

Page 67: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 3. METODOLOGIA DE PESQUISA 52

Algoritmo 2: Algoritmo de controle proposto para o perseguidor de alvo, projetadopara ser aplicado em robôs terrestres com rodas.

Entrada: Configuração do alvo: qt = [zt xt θ]; Configuração desejada para o alvoqd = [d 0 0]; Limiar de distância τ > 0.

Saída: Velocidades v e ω a serem aplicadas aos atuadores do robô.1 se Alvo foi detectado então2 Calcular erro de configuração: ∆e = [∆z, ∆x, ∆θ] = qd−qt ;3 εl usando (3.20);4 se ∆z < 0 e εl > τ então5 Iniciar perseguição normal por geração de caminhos:6 Criar caminho até configuração desejada;7 Calcular velocidades usando (3.21) e (3.19);8 retorna v e ω;9 senão se ∆z < 0 e εl < τ então

10 Permanecer imóvel e tentar manter visada:11 Calcular: ϕ = tan−1(xt/zt);12 Calcular velocidades usando (3.22);13 retorna v e ω;14 senão se ∆z > 0 então15 Alvo se aproximando, mover-se para trás:16 Aplicar(3.21) com kv < 0;17 ω = 0;18 retorna v e ω;19 senão20 Permanecer imóvel:21 v = 0;22 ω = 0;23 retorna v e ω;24 fim25 senão se Alvo perdido e robô em movimento então26 Criar sistema de referencial fixo baseado no referencial atual da câmera;27 Seguir o ultimo caminho gerado no referencial fixo;28 retorna v e ω;29 senão30 Permanecer imóvel:31 v = 0;32 ω = 0;33 retorna v e ω;34 fim

Page 68: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Capítulo 4

RESULTADOS OBTIDOS

Esse capítulo agrega os principais resultados obtidos após testes e simulações dos sub-sistemas que compõem o sistema apresentado nesse documento. Os testes e simulaçõesforam realizados após a definição de cada subsistema e serviram de base para realizarajustes nos mesmos, bem como para avaliar seu funcionamento geral.

4.1 Processo de treinamento do detector de alvo

O processo de treinamento utilizado para se obter o classificador em cascata está dis-ponível no Computer Vision System Toolbox para MATLAB. Este Toolbox agrega umasérie de rotinas para treinamento e utilização de classificadores em cascata, também dis-ponibiliza exemplos de classificadores já treinados para aplicações envolvendo rostos,olhos e corpo de pessoas. A função utilizada para treinar o classificador utilizado nestetrabalho é chamada trainCascadeObjectDetector(), na qual alguns parâmetros de ajustedo treinamento são especificados pelo usuário de acordo com o desempenho do classifica-dor que se deseja obter ao fim do treinamento. Um procedimento similar de treinamentode detector em cascata está disponível também na biblioteca OpenCV para C++ e Python.

A função trainCascadeObjectDetector() é bem prática de se utilizar e é capaz de trei-nar classificadores apenas com os dados básicos para se formar um. Neste caso, essesdados são as amostras de imagem positivas e as amostras de imagem negativas. Outrosparâmetros relativos ao classificador podem também ser passados como parâmetros defunção para tornar o treinamento mais específico. Alguns parâmetros como o número deestágio em cascata e a taxa de falsos alarmes são importantes na designação do detector epodem ser ajustados no processo de treinamento de cordo com a situação.

Uma série de treinamentos foram realizados e um classificador em cascata foi obtidopara cada um deles. Cada treinamento foi feito no intuito de detectar um versão multiescala do alvo com média de cerca de 60× 60 pixels, isso significa que padrões de alvo

Page 69: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 54

maiores ou menores presentes na imagem podem ser identificados, porém de forma me-nos otimizada. A escolha do tamanho dado ao alvo desejado, em pixels, foi feita tendoem mente a resolução da câmera que se pretende utilizar e a distância ótima para a de-tecção do alvo de acordo com a aplicação. Geralmente, para se avaliar a performance doclassificador obtido o mesmo precisa ser testado utilizando um detector de objeto.

4.2 Teste do sistema de detecção de alvo

Para testar a efetividade dos detectores treinados em tarefas do mundo real e para ve-rificar se o sistema de detecção é viável, foi utilizado um detector multi-escala. O métodode detecção usado está disponível na biblioteca OpenCV, e a função utilizada para cha-mar o método se chama detectMultiScale(), mais informações podem ser encontradas nadocumentação do OpenCV [Its 2014]. Os testes de validação foram realizados utilizandoOpenCV para Python e uma captura de imagem obtida durante um dos testes de detecçãopode ser visualizada na Figura 4.1. Um alvo de papel contendo o padrão treinado foiutilizado nos testes, ele foi apresentado a uma câmera fixa com resolução configurável de320×240 ou 640×480, nas quais o comportamento do detector foi avaliado. A câmerautilizada para capturar a imagem da Figura 4.1 foi uma Logitech V-UBG35 QuickCamweb-cam. Os efeitos de distorções de lentes não foram considerados no processo.

Figura 4.1: Exemplo de alvo detectado em tempo real utilizando um detector multi-escalapara encontrar o padrão treinado mostrado na Figura 3.2. A caixa delimitadora retornadapelo detector está destacada em vermelho.

Vários classificadores foram treinados utilizando as mesmas amostras de imagens po-sitivas e negativas, mas com diferentes parâmetros. Basicamente, uma faixa foi definida

Page 70: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 55

para o parâmetro de alarme de falso positivo (false alarm rate) e então cada um dos classi-ficadores foi treinado utilizando um valor diferente nessa faixa. Os classificadores obtidosforam testados utilizando o detector em multi-escala e o que obteve o melhor desempenhofoi escolhido. Melhor, nesse caso, significa que ele foi o que obteve mais detecções doalvo real a uma dada distância e apresentou menos ocorrências de falsos positivos.

Tabela 4.1: Tabela com os valores de tempo de cálculo de estimativa, em segundos, uti-lizando o detector em dois diferentes hardwares: um computador de mesa (PC) e umcomputador embarcado (Raspberry PI).

hardware sem detec. 20 cm 60 cm

Raspberry PI 0,36 0,72 1,1PC 0,028 0,07 0,14

A Tabela 4.1 ilustra os resultados, medidos em segundos, do tempo necessário paraexecutar os algoritmos de detecção de alvo e estimativa de posição e orientação. Ostestes foram realizados em dois diferentes hardwares. Primeiramente um computador demesa com especificações de 7GB de memória RAM, processador quad-core AMD A8-5500B APU de 3,2 GHz com sistema linux de 64bit. O outro teste foi realizado numsistema de computação embarcado Raspberry PI 2 Model B, com 1GB de memória RAMe processador quad-core ARM Cortex-A7 de 900MHz executando sistema linux móvel de32bit. Ambos os testes foram realizados utilizando o mesmo script de código em Pythone utilizando uma webcam USB no caso do PC e o módulo de câmera padrão disponívelpara o Raspberry PI, no caso do mesmo.

Os testes foram realizados posicionando-se o alvo real impresso em uma placa à frentedas respectivas câmeras dos sistemas, primeiramente, deixado o mesmo fora de vistapara se obter o resultado de tempo de cálculo sem detecção, logo depois com o alvo àvista mas em duas diferentes distâncias: a 20 cm e a 60 cm. Podemos perceber pelosresultados que os tempos de computação alcançados pelo computador de mesa são muitobons e capazes de executar tarefas em tempo real, 30 FPS, porém os tempos obtidos nocomputador embarcado estão bem elevados, devido sua capacidade computacional maisfraca, e precisam ser melhorados antes de se pensar em uma possível implementaçãoprática. A diferença nos tempos de cálculo para diferentes distâncias se dá pelo fato deo alvo possuir um tamanho, em pixels, diferente para cada caso, sendo assim o algoritmode varredura tem de ser executado mais vezes para os casos em que a imagem do alvo émenor.

Page 71: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 56

O classificador utilizado para adquirir os dados da tabela 4.1 é o que obteve melhorperformance dentre os classificadores treinados. O classificador utilizado nesses testes enas simulações para a estimativa do sistema foi treinado com parâmetro de taxa de falsoalarme de 0.7 e 339 amostras positivas foram utilizadas e 4000 amostras negativas. Naprática deve-se utilizar bem mais amostras positivas e negativas para se obter um detectorrobusto que possa ser aplicado em diferentes condições de iluminação e na presença obs-trução de alvo, o resultado obtido aqui foi obtido no intuito principal de ser aplicado emum ambiente de simulação livre de tais perturbações.

Nenhum falso positivo ocorreu durante as medições, pois o classificador já foi esco-lhido para evitar tais enganos. A faixa angular de detecção medida para a atuação doclassificador foi cerca de {−27◦,27◦}, o que já pode ser considerada uma faixa de opera-ção suficiente para aplicações de rastreamento de alvos terrestres.

4.3 Resultados dos estimadores de posição e orientação

A precisão dos estimadores de posição e de orientação foi testada em um ambiente desimulações robóticas livre de ruídos de imagem, os softwares utilizados para fazer essassimulações foram o V-REP EDU da companhia Coppelia Robotics em conjunto com oMATLAB por meio da API disponível. O objetivo desejado para os resultados é que aposição e orientação estimadas estivessem dentro de uma faixa aceitável que tornasse oestimador utilizável em aplicações reais. Inicialmente, para aplicações triviais, percebe-seque um erro médio menor do que 3% para posição e 10% para orientação, com relaçãoaos máximos valores medidos, já seria aceitável.

Os testes foram realizados em ambiente de simulação, onde a precisão das medidas ébem maior que na prática pois não existe interferência de ruído ou limitações nas ferra-mentas de medição. No ambiente de simulação, uma versão virtual do alvo já apresentadofoi criada e um robô terrestre de acionamento diferencial, munido de um sensor de câmeracom resolução de 640× 480, também foi criado. A API do MATLAB disponível no V-REP foi utilizada para receber as informações de imagem vindas da câmera acoplada aorobô e realizar a detecção do alvo, ela também é capaz de controlar a velocidade aplicadaàs rodas do robô, mas este não é o foco nos testes realizados neste caso, desta forma orobô foi mantido imóvel em todos os procedimentos realizados para estimativa.

Para executar os testes, um caminho pré-definido foi estipulado no ambiente por ondeo alvo deveria se mover. A posição e a orientação do alvo ao longo do caminho eramsempre conhecidas pelo software de simulação V-REP e ambos foram transferidos à APIdo MATLAB para serem armazenados e utilizados na análise posterior. A Figura 4.2

Page 72: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 57

ilustra o cenário criado no ambiente de simulação descrito, onde a câmera foi fixada norobô imóvel que está de frente para o alvo que se move ao longo do caminho estipulado.Existem dois diferentes cenários para simulação, um utilizado para testes de estimativa deposição e outro para orientação.

No primeiro cenário, o alvo se moveu ao longo do caminho com orientação fixa pa-ralela à da câmera durante toda a simulação. No outro cenário, o alvo se manteve imóvelpara diferentes distâncias da câmera e rotacionou em volta de seu eixo vertical central emuma faixa angular de {−30◦,30◦}. Para cada detecção bem sucedida do alvo, os pontoscorrespondentes aos cantos do retângulo delimitador são enviados aos estimadores imple-mentados, e estimativas de posição e de orientação são então geradas e armazenadas namemória do simulador para que possam, ao fim da simulação, ser comparadas aos dadosoriginais estabelecidos no software de simulação. Uma janela mostrando o que está sendovisto pela câmera pode ser visualizada no canto superior direito da Figura 4.2, através delao estado atual em tempo real de simulação do detector pode ser monitorado.

Figura 4.2: Ilustração do ambiente de simulação criado no software V-REP EDU, criadopara analisar a operação dos estimadores de posição e orientação. A imagem mostra oalvo e o robô que contêm o sensor de visão utilizado para captar a presença do alvo.

Os parâmetros de câmera fx e fy utilizados nos testes da câmera simulada foram de-finidos utilizando os dados de posição obtidos pelo simulador aplicando uma técnica deajuste de curva, para se obter parâmetros capazes de gerar resultados de estimativa maisprecisos. Em câmeras reais estes parâmetros podem ser obtidos utilizando esse tipo deabordagem, no caso de uma imagem livre de distorções de lentes, ou simplesmente utili-zando métodos de calibração de câmera. Os resultados de estimativa de valores de posiçãoao longo dos eixos Zc e Xc, para o centro retângulo delimitador do padrão de alvo pode

Page 73: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 58

ser visto nas Figuras 4.3 e 4.4, onde as posições estipuladas estão representadas em linhasvermelhas tracejadas, e suas estimativas em linhas azuis contínuas.

passo de simulação

0 20 40 60 80 100 120 140 160

Posiç

ão z

(m

)

0.4

0.5

0.6

0.7

0.8

0.9

1

1.1

1.2Comparação da estimativa em Z

zest

Pz

Figura 4.3: Resultados, em metros, obtidos utilizando o estimador de posição sobre o eixoZc, onde zest são os valores estimados e Pz os valores utilizados no ambiente de simulação.

A Figura 4.5 mostra os resultados obtidos para estimador angular, medidos utilizandoo cenário onde o alvo permanece imóvel e rotaciona em torno de seu eixo vertical segundoum padrão pré-estabelecido. Este tipo de teste foi realizado também para se verificar afaixa angular onde o alvo pode ser detectado dentro do ambiente de simulação. Pode-seobservar pela Figura 4.5 que a estimativa angular não é tão boa quanto a estimativa deposição e parece apresentar valores indesejados quando o alvo está sujeito à diferençasangulares fora de uma certa faixa. A faixa de operação com maior exatidão é aparen-temente de {−13◦,13◦} neste caso, que é uma faixa menor do que a faixa de detecção{−27◦,27◦} obtida através dos testes de detecção com o alvo real.

Page 74: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 59

passo de simulação

0 20 40 60 80 100 120 140 160

Posiç

ão x

(m

)

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5Comparação da estimativa em X

xest

Px

Figura 4.4: Resultados, em metros, obtidos utilizando o estimador de posição sobre o eixoXc, onde xest são os valores estimados e Px os valores utilizados no ambiente de simulação.

passo de simulação

0 10 20 30 40 50 60 70 80 90

Orient.(°

)

-25

-20

-15

-10

-5

0

5

10

15

20

25Comparação da orientação

θest

θ

Figura 4.5: Resultados, em graus, obtidos utilizando o estimador de orientação para es-timativa da orientação do alvo no plano 2D, onde θest são os valores estimados e θ osvalores estipulados no simulador.

Page 75: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 60

Vale ressaltar que os resultados vistos na Figura 4.5 são da estimativa do ângulo θ(t)

do alvo em relação ao referencial de coordenadas da câmera. O resultado apresentadopelo gráfico foi filtrado utilizando um filtro passa-baixas digital conectado à saída doestimador, a fim de se reduzir ocorrências de ruídos de alta frequência, indesejadas noprocesso de estimativa.

Observando as Figuras 4.3 e 4.4 podemos ver que, devido à dependência entre as es-timativas de xest e zest , o gráfico da Figura 4.4 repete os erros mostrados no gráfico daFigura 4.3. O erro apresentado pelo estimador para longas distâncias, acima de 90 cm,está relacionado com a resolução da câmera e com o ajuste dos parâmetros de estimativa,sendo necessário, nesse caso, definir uma faixa máxima para a aplicação do robô. Paraaplicações de longa distância os valores de mapeamento fx e fy devem ser reajustados deacordo com o foco da câmera, um dispositivo de maior resolução também pode se em-pregado nesse caso. A análise do erro presente nos processos de estimação apresentadospode ser observado na Tabela 4.2.

Tabela 4.2: Estatísticas calculadas sobre o erro obtido entre os valores de estimativa e osvalores estipulados, obtidos no teste do estimador de configuração.

zest (m) xest (m) θest(◦)

média 0,0127 −0,0039 −0,9311variância 7,14×10−05 2,71×10−05 0,0019erro max. 0,0342 0,0161 2,4265

Analisando os resultados da Tabela 4.2 podemos observar que o erro máximo de po-sição apresentado pelos estimadores permanece em uma faixa menor que 34 mm, o quepode ser considerado como sendo aceitável para aplicações onde as distâncias envolvidasassumem valores de cerca de um metro. Os valores estatísticos calculados para o erroentre os valores estimados e os valores estipulados são apresentados na forma da média,variância e valor máximo absoluto obtido pela diferença. Estes valores podem ser consi-derados aceitáveis dependendo do sistema de rastreamento utilizado. Nos testes iniciaisde controle realizados com esses estimadores, os resultados obtidos foram satisfatórios,com o robô sendo capaz de identificar a posição e a orientação do alvo e também sendocapaz de seguir o alvo sem apresentar quaisquer dificuldades relacionadas com o sistemade posicionamento.

O erro apresentado pelo estimador angular permaneceu numa faixa menor que 2,5◦

em módulo, o que é também aceitável, dado o fato de que a aplicação imposta não re-

Page 76: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 61

queira grande exatidão angular para operar. É importante enfatizar que a precisão obtidadepende da resolução da câmera utilizada e da distância entre o alvo e a câmera durante aaplicação, quanto maior a resolução da câmera mais precisa pode se tornar a estimativa,em compensação, o tempo computacional também pode aumentar.

4.4 Considerações para os testes de controle

Para o teste do processo de controle PID foi considerado o seguinte cenário: O alvose desloca sobre uma trajetória predominantemente retilínea e sem fazer curvas maioresque a faixa de detecção definida pelos testes do detector no ambiente de simulação, ouseja, curvas que não excedam 13◦. O caminho utilizado para realizar as simulações,cujos resultados serão apresentados, do deslocamento do alvo pode ser visto na Figura4.6. Durante a simulação considerou-se que o alvo podia se mover apenas na direçãopara o qual estava orientado, com sua orientação definida durante o movimento pela retatangente ao caminho em uma dada posição sobre o mesmo.

pos. x (m)

-4 -3 -2 -1 0 1 2

pos. y (

m)

-2

-1

0

1

2

3

4

5

início

fim

Caminho feito pelo alvo

Figura 4.6: Caminho do alvo utilizado nas simulações cujos resultados são apresentadosneste documento.

A dimensão do robô utilizado nos testes dos controladores foi de cerca de 0.185×

Page 77: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 62

0.12×0.05 m, ou seja o robô era pequeno, geralmente considerado para aplicações inte-riores. Durante as simulações a distância ideal estabelecida entre o agente móvel e o alvofoi de 0,5 m.

4.5 Processo de controle PID

Os resultados da posição desejada para o robô, bem como a posição assumidos pelomesmo durante o processo de perseguição podem ser vistos na Figura 4.7. O valor doerro de orientação calculado entre o alvo e o robô, durante o processo de perseguição, émostrado na Figura 4.8.

pos. x (m)

-4 -3 -2 -1 0 1 2

pos. y (

m)

-2

-1

0

1

2

3

4

5

início

fim

Posição do robô e do alvo no plano

pos. desejada

pos. do robô

Figura 4.7: Deslocamento do robô e da posição desejada sobre o plano terrestre de movi-mentação obtido a cada passo de integração da simulação do controle PID.

Percebe-se nos gráficos apresentados na Figura 4.7 que a posição do agente móvelcontrolada utilizando a estratégia de controle PID fica relativamente distante da posiçãoestabelecida como a ideal para o robô baseada nas condições do alvo, mesmo conside-rando o termo integrativo no controle. Deve-se destacar que nas simulações realizadaspara se obter os resultados mostrados nos gráficos, a velocidade de deslocamento do alvo

Page 78: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 63

foi configurada como 0.4 (m/s), para que o robô não perdesse a visada do alvo duranteas curvas. Mesmo com curvas suaves é difícil fazer com que o robô persiga o alvo emantenha a visualização do mesmo devido às suas restrições de movimentação.

tempo (s)

0 5 10 15 20

orie

nta

çã

o (

rad

)

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Erro de orientação sobre o plano 2D

Figura 4.8: Gráfico que representa o sinal de erro de orientação entre o alvo e o robô sobreo plano de movimento medido durante a simulação do controle PID.

Na Figura 4.8 é mostrado um gráfico do erro de orientação entre o robô e o alvodurante o percurso da simulação. O gráfico mostra que, apesar de o sistema de controlenão considerar a orientação do alvo como objetivo absoluto, as orientações de ambos semantém em valores bem próximos desde que sejam mantidas as restrições tomadas paraa movimentação do alvo durante estas simulações. Nota-se que se a orientação é mantidadurante certo tempo em que o alvo se mantém em movimento retilíneo, porém, quandoo alvo realiza uma curva, mesmo que suave, o erro de orientação tende a se elevar o quecausa uma perda de detecção do alvo, que pode ser vista na Figura 4.9.

Page 79: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 64

tempo de simulação (s)

0 5 10 15 20

velo

cid

ade

0

1

2

3

4

5

6

7

8

9

10Velocidade aplicada às rodas

ωe

ωd

Figura 4.9: Velocidades angulares aplicadas às rodas esquerda, ωe, e direita, ωd , do robôdurante a simulação do controle PID.

Na Figura 4.9 são mostradas, para fins de ilustração, os sinais de controle, que corres-pondem às velocidades angulares aplicadas às rodas esquerda ωe e direita ωd do agentemóvel durante a perseguição que foi simulada. O que é interessante destacar no gráfico éque existem instantes de tempo para os quais os valores de velocidade aplicadas são nulas,nesses instantes o alvo foi perdido momentaneamente e se o mesmo não fosse detectadologo em seguida poderia fazer com que o sistema interrompesse a perseguição. Entre 35 s

e 40 s o alvo está realizando uma curva mais fechada, num dado momento entre essesinstantes a detecção do alvo é perdida por um intervalo considerável e só é recuperadadepois por puro acaso, pois nesse momento a diferença angular entre o alvo e o agentemóvel já está bem elevada. A convergência dos sinais de controle, nesse caso, tende aacontecer quando o erro de orientação não se acumula e o alvo permanece se movendode forma retilínea, porém a constante perda de alvo durante a perseguição impende umaconvergência plena.

Page 80: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 65

Tabela 4.3: Estatística calculada sobre o erro entre os valores de referência e de posiçãoenvolvidos no sistema de controle PID apresentado, para o agente móvel.

pos. x (m) pos. y (m) ângulo(rad)

média 0,0005 0,1445 0,0760variância 0,0011 0,0099 0,0072erro max. 0,0443 0,5625 0,3881

A Tabela 4.3 apresenta os resultados estatísticos obtidos na análise do erro entre aposição desejada e a posição do agente móvel durante a simulação. Pode-se analisar osvalores e observar que o erro médio de posicionamento é muito baixo, provavelmenteocasionado pelos erros que ainda existem nos estimadores de posição. Os valores máxi-mos apresentados são relativamente elevados e foram analisados apenas nos instantes detempo após a acomodação inicial do robô devido à sua posição inicial.

Como já foi bem comentado, a aplicação dessa estratégia de controle PID ao problemade rastreamento e perseguição de alvo por um robô terrestre sujeito à restrições de movi-mentação não é a melhor abordagem. Pode-se perceber isso pelos resultados mostradosaqui, que apesar de mostrarem que o robô foi capaz de perseguir o alvo durante todo opercurso imposto, mostram também que o mesmo não o fez de forma eficiente e o fatode que o percurso é suave e está longe do comportamento que se espera de um alvo realtorna essa estratégia ainda menos atrativa pela sua falta de robustez.

4.6 Processo de controle por geração de caminhos

Da mesma forma que o algoritmo de controle PID, o algoritmo de controle baseado emgeração de caminhos foi testado no mesmo ambiente de simulação usado no caso anterior,usando o software computacional MATLAB para implementar o controlador embutido e osoftware V-REP para simular a física do ambiente do robô. A ideia básica da simulação éimplementar um alvo simulado e um robô simulado, ambos agindo de maneira semelhanteao sistema real, para testar a eficiência do algoritmo proposto em diversas circunstâncias.

Na figura 4.10 são apresentados os resultados obtidos com a aplicação do algoritmo decontrole no ambiente simulado. No teste, a posição do alvo gerou uma posição desejada,cuja trajetória é representada pela linha azul, o alvo iniciou seu movimento na frente dorobô que começou a segui-lo guiado pelo algoritmo de controle. Vemos pelos resultadosque o comportamento do robô não tende a deixar uma faixa de erro elevada como na

Page 81: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 66

pos. x (m)

-4 -3 -2 -1 0 1 2

pos. y (

m)

-2

-1

0

1

2

3

4

5

início

fim

Posição do robô e do alvo no plano

pos. desejada

pos. do robô

Figura 4.10: Gráfico traçado com os resultados da posição desejada e a posição do robôsobre o plano de movimento obtido na simulação do sistema de controle por geração decaminhos.

proposta de controle anterior, o que já seria um motivo para justificar a utilização dométodo em relação ao controle PID.

As coordenadas de posição apresentadas na Figura 4.10 são dadas no sistema de re-ferencial de mundo, que é fixo, e os valores são dados em metros. Observando a figurapodemos ver que o robô foi capaz de seguir o alvo usando o algoritmo proposto sem sedesviar do caminho do alvo.

É importante observar que o alvo se moveu ao longo do mesmo trajeto utilizado para oteste do controle PID, muito embora a estratégia de controle proposta permita que o robôpersiga o alvo em condições de caminhos menos suaves. É interessante perceber tambémque o robô tende a manter sua posição variando de acordo com o movimento do alvo,diferentemente do que foi visualizado na Figura 4.7.

Na figura 4.11 é apresentado o resultado de erro de orientação relativo ao sistema decontrole obtido durante o mesmo teste que gerou a Figura 4.10, nesse caso é apresentadoo erro de orientação entre o alvo e o robô. Observando o gráfico podemos ver que osvalores apresentados para o erro estão sempre limitados e o foco principal da aplicação,

Page 82: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 67

tempo (s)

0 2 4 6 8 10 12

orie

nta

çã

o (

rad

)

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Erro de orientação sobre o plano 2D

Figura 4.11: Gráfico que representa o sinal de erro de orientação entre o alvo e o robôsobre o plano de movimento medido durante a simulação do controle por geração decaminhos.

que é manter o robô visualizando o alvo, também é atingido mesmo quando alvo tende amudar sua orientação consideravelmente como visto entre 34 s e 36 s no gráfico.

No intuito de comparar o algoritmo de controle proposto com o esquema de controlePID apresentado anteriormente temos na Tabela 4.4 a média, variância e erro máximosobtidos na aplicação do sistema de controle proposto. Os valores de erros máximos consi-derados nos dois casos foram tomados após o tempo de acomodação do sistema. Podemosver pelos dados presentes na tabela que os erros máximos de posição foram reduzidos emcomparação com o esquema de controle utilizado anteriormente. Apesar disso, o erro mé-dio angular se manteve praticamente na mesma faixa, muito embora na simualção visualfique claramente visivel a melhora na performance do algoritmo de perseguição.

Page 83: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 68

tempo de simulação (s)

0 1 2 3 4 5 6 7 8 9

Err

o (

rad

)

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Média e D.P. do erro de orientação

Figura 4.12: Gráfico que representa a média e o desvio padrão do erro de orientação entreo alvo e o robô sobre o plano de movimento, medido para diversas condições diferentesde comportamento do alvo.

Tabela 4.4: Estatística calculada sobre o erro entre os valores de referência e de posiçãoenvolvidos no sistema de controle por geração de caminhos, para o agente móvel.

pos. x (m) pos. y (m) ângulo(rad)

média −0,0666 0,1682 0,1048variância 0,0035 0,0057 0,0164erro max. 0,0334 0,1907 0,5862

Posteriormente foram realizados diversos testes do sistema de controle para diferentescondições do alvo. A Figura 4.12 mostra o comportamento da média e do desvio padrãodo erro de orientação obtido para 12 diferentes caminhos e velocidades, descorrelacio-nados, aplicados ao alvo. Vale salientar que os resultados foram obtidos para caminhosde curvas suaves e para velocidade do alvo constante. O gráfico mostra que o comporta-mento do desvio padrão do processo estocástico que descreve o comportamento do errode orientação tende a se tornar estável mesmo para diferentes comportamentos do alvo.A curva também mostra que a média do erro de orientação tende a permanecer dentro deuma faixa estreita de ±0,2 rad ou ±11,4◦.

Page 84: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 69

Os resultados apresentados na Figura 4.12 são de caráter ilustrativo e servem apenaspara mostrar como se dá a variação do erro de orientação entre o alvo e o robô paradiferentes casos distintos de perseguição.

tempo de simulação (s)

0 2 4 6 8 10 12

velo

cid

ade

0

5

10

15

20

25

30Velocidade aplicada às rodas

ωe

ωd

Figura 4.13: Velocidades angulares aplicadas às rodas esquerda, ωe, e direita, ωd , do robôdurante a simulação do controle por geração de caminhos.

Na Figura 4.13 podemos ver os sinais de controle na forma de velocidades angularesaplicadas às rodas do robô durante a perseguição. O que é interessante de se notar nafigura é que, em comparação com o caso anterior de controle PID, este gráfico não apre-senta instantes em que os sinais de controle são desligados, ou seja, mesmo que o alvoseja perdido durante a perseguição, o sistema de geração de manobras mantém o robô emmovimento e o controlador produz um sinal de controle sem passagens por zero. Apesardisso, a estratégia de controle produz sinais de controle com amplitude mais elevada emais oscilatórios. Essas amplitudes podem vir a ser um problema devido a presença desaturação no modelo do robô e as oscilações podem levar o sistema à instabilidade, muitoembora isso não tenha acontecido. Dessa vez pode-se notar uma convergência maior paraos sinais de controle, já que a perda eventual do alvo não afeta diretamente o movimentodo robô e a nova estratégia de controle promove uma redução no erro angular de perse-guição.

Page 85: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 70

4.7 Teste na condição de desnível

Os algoritmos de controle foram testados na condição em que havia um desnível deterreno presente no caminho do alvo, e consequentemente do robô. A questão do desnívelleva em consideração os diferentes ângulos de orientação assumidos pelo alvo em relaçãoao eixo de coordenadas do robô, enquanto ambos se deslocam através do desnível, e comoo sistema de estimativa de posição e orientação projetado para o caso de deslocamento2D irá se comportar. Ele também considera a movimentação do robô e do alvo de formatridimensional no mundo, e a performance do controle de movimentação bidimensionalnesse caso.

Figura 4.14: Ilustração do ambiente de simulação criado no software V-REP EDU, com aconfiguração criada para analisar a operação do algoritmo de controle na presença de umdesnível de terreno, representado na figura pela circunferência sob o alvo.

Tanto o algoritmo de estimativa quanto os algoritmos de controle foram projetadospara serem independentes da posição do alvo em relação ao eixo normal à superfíciede deslocamento do robô, visto que o mesmo é terrestre, dessa forma, supõe-se que aintrodução do desnível não iria afetar a precisão das estimativas de posição e orientaçãorealizadas pelo sistema de câmera, porém, poderia afetar a diferença angular mínima doalvo em relação ao plano horizontal necessária para realizar a detecção do mesmo porparte do detector em cascata nos casos em que a orientação do alvo fosse bem diferenteda orientação do robô devido ao desnível.

Para realizar o teste foi criado um desnível representado por um pequeno e poucoinclinado morro, inserido no ambiente de simulação, como pode ser visto na figura 4.14.A altura do ponto mais alto do desnível é 9 cm e sua inclinação é menor do que 7◦.

Page 86: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 71

Deseja-se testar se a diferença de inclinação entre o alvo e o robô ao se movimentarempelo desnível pode interferir no sistema de detecção de rastreamento de alvo. O caminhopredefinido no qual o alvo se move foi ajustado para incluir a altura do desnível, porém, aorientação do alvo em relação ao seu eixo de arfagem (pitch) foi mantida constante, comose o alvo fosse um ser humano se deslocando pelo desnível e se mantendo ereto durantetoda a sua caminhada.

O resultado da perseguição simulada para o esquema de controle PID pode ser obser-vado na Figura 4.15, onde pode-se notar a presença do desnível no caminho representadopor uma elipse pontilhada. Podemos ver pela figura que o robô foi capaz de detectar eseguir o alvo mesmo passando por um desnível no caminho. Podemos notar também queas características do esquema de controle PID foram mantidas.

pos. x (m)

-1.5 -1 -0.5 0 0.5 1 1.5

po

s. y (

m)

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

início

fim

Posição do robô e do alvo no plano

pos. desejada

pos. do robô

Figura 4.15: Resultados de posição desejada e posição do robô sobre o plano de mo-vimento para o teste de perseguição na presença de desnível utilizando o esquema decontrole PID.

Na Figura 4.16 são mostrados os erros de posição e de orientação medidos durantea simulação da perseguição na presença de desnível para o controlador PID. A faixa detempo em que o alvo ou o robô permanecem sobre o desnível está destacada em vermelho.

Os resultados para o mesmo teste, porém, utilizando o esquema de controle por ge-ração de caminhos proposto, podem ser visualizados na Figura 4.17, onde vemos que o

Page 87: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 72

tempo de simulação (s)

0 5 10 15 20 25 30

posiç

ão (

m)

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Erro de posição sobre o eixo X

tempo de simulação (s)

0 5 10 15 20 25 30

posiç

ão (

m)

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Erro de posição sobre o eixo Y

(a) (b)

tempo (s)

0 5 10 15 20 25 30

orienta

ção (

rad)

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Erro de orientação sobre o plano 2D

(c)

Figura 4.16: Gráficos com os resultados obtidos com a simulação na condição de desnívelcom controle PID, (a) representa o sinal de erro de posição no eixo Xw entre o alvo e orobô, (b) representa o sinal de erro de posição no eixo Yw entre o alvo e o robô e (c)representa o sinal de erro de orientação entre o alvo e o robô sobre o plano de movimento.O intervalo de desnível está marcado pela linha pontilhada nos gráficos.

robô ainda foi capaz de seguir o alvo através do desnível apresentando um caminho maisbem comportado que no caso anterior devido a estratégia de controle utilizada.

Na Figura 4.18 podemos ver os erros obtidos durante a simulação da perseguiçãodo alvo através do desnível utilizando o controle por geração de caminhos. A principaldiferença entre estes resultados e os obtidos no caso anterior é que o erro de orientaçãonesse caso é relativamente mais elevado e apresenta uma qunatidade maior de oscilações.Os gráficos das Figuras 4.18(a) e (b) mostram que o erro de posição entre o alvo e o robôsó são afetados pelo desnível no eixo principal de deslocamento do caminho, eixo Y, mas

Page 88: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 73

pos. x (m)

-1.5 -1 -0.5 0 0.5 1 1.5

pos. y (

m)

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

início

fim

Posição do robô e do alvo no plano

pos. desejada

pos. do robô

Figura 4.17: Resultados de posição desejada e posição do robô sobre o plano de mo-vimento para o teste de perseguição na presença de desnível utilizando o esquema decontrole por geração de caminhos.

mesmo assim se mantém baixos. Analisando o gráfico da figura 4.18(c) podemos observarque o erro de orientação, mesmo quando forçado a se elevar devido às perturbações naorientação do alvo causados pelas curvas inerentes da trajetória do mesmo, sempre tendea retornar a zero.

Durante ambos os testes, o robô foi capaz de perseguir o alvo de forma satisfatória, aúnica dificuldade perceptível foi a redução na capacidade de detecção de alvo nos arre-dores do desnível, causada pela diferença angular entre o alvo e o robô, quando esse seencontra no desnível e o outro não. Os resultados da simulação mostram que a presençado desnível no caminho do robô não afeta o sistema de estimativa de configuração do alvonem o sistema de controle proposto, desde que o alvo permaneça visível pelo sistema dedetecção durante o trajeto considerando sua orientação em relação ao robô nos três eixosdo espaço tridimensional.

Page 89: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 74

tempo de simulação (s)

0 5 10 15 20 25 30

posiç

ão (

m)

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Erro de posição sobre o eixo X

tempo de simulação (s)

0 5 10 15 20 25 30

posiç

ão (

m)

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Erro de posição sobre o eixo Y

(a) (b)

tempo (s)

0 5 10 15 20 25 30

orienta

ção (

rad)

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Erro de orientação sobre o plano 2D

(c)

Figura 4.18: Gráficos com os resultados obtidos com a simulação na condição de desnívelcom controle por geração de caminhos, (a) representa o sinal de erro de posição no eixoXw entre o alvo e o robô, (b) representa o sinal de erro de posição no eixo Yw entre o alvoe o robô e (c) representa o sinal de erro de orientação entre o alvo e o robô sobre o planode movimento. O intervalo de desnível está marcado pela linha pontilhada nos gráficos.

4.8 Teste com velocidade do alvo variável

Até agora em todos os testes realizados nas simulações a velocidade linear do alvo foimantida constante, no entanto, é necessário também realizar os testes do comportamentodo robô na presença de um alvo com velocidade variável. Esse tipo de comportamentoaumenta a ordem da dinâmica do sistema, já que um termo de aceleração é adicionado aosistema como um todo. Além do mais, deve-se observar se existe uma limitação para osistema quando o robô tende a apresentar cruzamentos por zero em sua velocidade devidoa presença da zona morta em seu modelo de simulação.

Page 90: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 75

A ideia para simular o teste seria utilizar como comportamento para a velocidade doalvo va(t), como é visto em

va(t) = M(sin(πt)+a) (4.1)

onde M e a se tratam de constantes de ajuste. Propositalmente utilizou-se uma expres-são para a velocidade que passa por zero e se torna negativa por algum tempo a fim detestar o comportamento do sistema de controle proposto quando o alvo tende a se moverna direção do robô.

O resultado obtido para o posicionamento do robô em relação a posição desejada nãoé muito diferente dos gráficos que já vinham sendo apresentados em 4.10 e 4.7, porém ocomportamento da velocidade do robô durante o trajeto é algo a se notar.

O resultado da simulação utilizando o controle PID para seguir o alvo é mostrado nosgráficos da Figura 4.19, onde vemos que o gráfico mostra os segundos finais da simulação.O robô foi capaz de seguir o alvo e manter sua velocidade média, porém apresentou pro-blemas para manter a mesma orientação que o alvo, provavelmente advindos das perdasde alvo frequentes que podem ser notadas no gráfico.

tempo (s)

10 15 20 25 30

ve

locid

ad

e (

m/s

)

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

Velocidades do alvo e do robô

vel. robô

vel. alvo

Figura 4.19: Gráficos da velocidade do robô e do alvo durante a simulação com velocidadevariável com controle PID.

Na Figura 4.20 podemos ver o erro de orientação obtido na simulação utilizando ocontrolador PID. Na figura podemos notar que o erro de orientação não tende a zero, o

Page 91: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 76

que implica que o robô não é capaz de continuar perseguindo o alvo. Provavelmente estecomportamento ocorreu devido às demasiadas perdas de alvo que ocorreram durante asimulação de perseguição.

tempo (s)

0 2 4 6 8 10 12 14 16

orie

nta

çã

o (

rad

)

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Erro de orientação sobre o plano 2D

Figura 4.20: Gráfico que representa o sinal de erro de orientação entre o alvo e o robôsobre o plano de movimento, medido durante a simulação com velocidade variável.

O comportamento da velocidade do robô e do alvo para o mesmo tipo de simulaçãoporém, dessa vez, utilizando a estratégia de controle por geração de caminhos pode servisto na Figura 4.21, onde é fácil de ver que durante todo o trajeto o robô foi capaz deseguir o alvo e também manteve uma velocidade em torno da velocidade média do mesmo.Os gráficos mostram também que o formato da velocidade do robô é mais parecido com odo alvo do que o apresentado na Figura 4.19. Nesta simulção o robô não perde o alvo devista apenas realiza uma manobra, próximo a 30 s para se posicionar melhor em relaçãoao alvo.

Na Figura 4.22 podemos observar o comportamento do erro de orientação para o testeutilizando o controlador por geração de caminhos. Vemos que dessa vez o erro de ori-entação apresenta mais oscilações e picos maiores, porém tende a se anular ao fim daperseguição, diferentemente do caso anterior em que o robô perdeu o alvo devido a ummal posicionamento em relação ao mesmo.

No gráfico da Figura 4.22, é possível constatar que, mesmo na presença de um alvocom velocidade variável, o algoritmo de controle consegue manter a redução da diferença

Page 92: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 77

tempo (s)

10 15 20 25 30

ve

locid

ad

e (

m/s

)

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

Velocidades do alvo e do robô

vel. robô

vel. alvo

Figura 4.21: Gráficos da velocidade do robô e do alvo durante a simulação com velocidadevariável com controle por geração de caminhos.

angular entre o robô e o alvo, visto que os valores de erro tendem a decrescer no gráfico esempre se mantém dentro de certos limites.

É válido lembrar que os resultados obtidos nesse teste comprovam que o robô é ca-paz de perseguir o alvo numa condição de velocidade variável porém limitada. Outraobservação seria que o alvo permaneceu se movimentando no mesmo caminho bem com-portado dos testes anteriores, com poucas curvas suaves e mantendo sempre a orientaçãona direção de seu movimento.

Page 93: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 78

tempo (s)

0 5 10 15 20 25 30

orie

nta

çã

o (

rad

)

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Erro de orientação sobre o plano 2D

Figura 4.22: Gráfico que representa o sinal de erro de orientação entre o alvo e o robôsobre o plano de movimento, medido durante a simulação com velocidade variável.

4.9 Teste do limite de velocidade do alvo

Mais um experimento foi realizado no ambiente de simulação, dessa vez para deter-minar qual seria o limite máximo de velocidade que o alvo poderia apresentar sem queessa velocidade interfira no sistema de controle. O experimento foi bem simples, o alvofoi posto para se deslocar em linha reta a partir do repouso com aceleração constante decerca de 0,033 m/s2, o comportamento da velocidade do alvo durante a simulação podeser observado em uma das curvas da Figura 4.23, onde a mesma se dá de forma constante.

A velocidade do robô durante a perseguição também é mostrada na Figura 4.23. Orobô realiza uma rápida manobra no início do movimento para se ajustar na mesma dire-ção do alvo e em seguida, uma vez que o robô está posicionado na posição de referência,o mesmo começa a se deslocar de forma acelerada com um comportamento muito pare-cido com o do alvo. Um comportamento interessante que pode ser notado no gráfico demovimentação do robô da Figura 4.23 é que quando a velocidade do alvo ultrapassa cercade 0,55 (m/s) a velocidade do robô começa a se tornar oscilatória devido aos ganhos decontrole kθ e kl que foram utilizados no sistema de controle de orientação.

O comportamento oscilatório da velocidade do robô é totalmente indesejado pois podeindicar uma tendência de instabilização do sistema. Além disso, para aplicações em que

Page 94: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 79

tempo (s)

2 4 6 8 10 12 14 16 18 20 22

ve

locid

ad

e (

m/s

)

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8Velocidades do alvo e do robô

vel. robô

vel. alvo

Figura 4.23: Resultados das velocidades medidas no teste de velocidade máxima para oalvo. A velocidade do alvo é representada pela curva em vermelho e a velocidade do robôpela curva em azul.

o alvo realiza muitas curvas, seria muito mais difícil para o controlador manter a visibi-lidade do alvo na presença de tais perturbações, aumentando a probabilidade de perder oalvo de vista. Testes com diferentes ganhos de controle foram realizados, e percebeu-seque ao se reduzir esses ganhos o gráfico de velocidade do robô tende a se tornar maisestável, apresentando oscilações mais suaves e para valores mais elevados na velocidadedo alvo, porém esse comportamento não é padrão devido à própria natureza não linear domodelo de simulação.

A Figura 4.24 mostra os sinais de controle aplicados às rodas do robô durante o testeque gerou os gráficos da Figura 4.23. Na figura dá para perceber que em determinadomomento as velocidades aplicadas às rodas do robô tendem a apresentar um aumento naamplitude das oscilações, o que coincide com o comportamento oscilatório indesejadopresente no gráfico de velocidade da Figura 4.23. Dá para perceber pelos gráficos queparte da oscilações é ceifada um pouco abaixo do valor de 1600 ◦/s, esse efeito é causadopela limitação da velocidade das rodas do robô devido à saturação. Em cerca de 22 s orobô atinge o limite de velocidade que pode ser aplicado às rodas o que faz com que omesmo desenvolva pouco mais de 0,7 m/s para essa aplicação.

As conclusões a que se chegou com esses resultados foram que a velocidade máximado robô é obviamente limitada pelo limite de saturação na velocidade das suas rodas,

Page 95: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 80

tempo (s)

0 5 10 15 20 25

velo

cid

ade

0

200

400

600

800

1000

1200

1400

1600Velocidade aplicada às rodas

ωe

ωd

Figura 4.24: Velocidades angulares aplicadas às rodas do robô durante o teste de veloci-dade máxima

ou seja, por quanta energia o sistema de acionamento dos motores tem disponível parafornecer. A velocidade linear máxima que o alvo pode assumir sem interromper o sistemade controle vai variar de acordo com os parâmetros de controle, nos testes realizados paraum robô de dimensões de cerca de 0.185× 0.12× 0.05 m os resultados de velocidademáxima sugerida obtidos para cada par de parâmetros de controle encontram-se na Tabela4.5, usando como critério o ponto a partir do qual o valor dos picos de oscilações develocidade do robô começam a ultrapassar o valor da velocidade do alvo.

Page 96: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 81

Tabela 4.5: Tabela com os valores de velocidade máxima observadas para o robô comas dimensões especificadas operar sem oscilações em sua orientação, de acordo com osparâmetros de controle.

kθ kl velocidade max. (m/s)

0,95 0,85 0,370,85 0,75 0,530,75 0,65 0,550,65 0,55 0,570,55 0,45 0,480,45 0,35 0,70,25 0,15 0,7

Os valores para os parâmetros de controle utilizados nos testes realizados para seobter a Tabela 4.5 foram escolhidos de forma empírica. Podemos ver que os valoresobtidos para a velocidade máxima em que começam a ocorrer oscilações na orientaçãodo robô de certa forma tende a crescer conforme os valores dos parâmetros de controlevão diminuindo. Contudo, um comportamento inesperado ocorre para os valores de kθ =

0,55 e kl = 0,45, assim outros testes realizados variando-se apenas um dos parâmetrose deixando o outro fixo mostram que nem sempre a velocidade máxima sem oscilaçõescresce com a diminuição no valor dos parâmetros. Pode-se perceber também que paradados valores nos parâmetros, a velocidade máxima aplicada ao alvo nas simulações de0.7 m/s é alcançada.

Tabela 4.6: Tabela com os valores de velocidade máxima obtidos variando-se apenas oparâmetro de controle kl , com kθ fixo no valor de 0,45.

kl velocidade max. (m/s)

0,85 0,680,75 0,50,65 0,590,55 0,640,45 0,7

Na Tabela 4.6 são detalhados os resultados obtidos realizando o teste de velocidadevariando-se apenas o parâmetro de controle kl , e mantendo o valor do outro, kθ, fixo com

Page 97: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 4. RESULTADOS OBTIDOS 82

valor de 0,45. Esse valor fixo foi escolhido com base nos resultados obtidos na Tabela4.5 onde vemos que para os valores escolhidos para os parâmetros fixos nas Tabelas 4.6e 4.7 o comportamento do robô apresenta um padrão diferente do que se espera para aestabilidade da orientação.

Tabela 4.7: Tabela com os valores de velocidade máxima obtidos variando-se apenas oparâmetro de controle kθ, com kl fixo no valor de 0,55.

kθ velocidade max. (m/s)

0,95 0,70,85 0,490,75 0,70,65 0,550,55 0,58

A Tabela 4.7 mostra os resultados obtidos nos testes realizados variando-se o parâme-tro de controle kθ e mantendo-se o valor do parâmetro kl fixo em 0,55. Com os resultadosdas Tabelas 4.6 e 4.7 podemos perceber que o comportamento do sistema de controleestá atrelado aos parâmetros de forma não linear, de fato seu comportamento apresentaum grau de complexidade maior, exigindo exames mais apurados na hora de realizar asintonia fina do controlador.

Page 98: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Capítulo 5

CONSIDERAÇÕES FINAIS

No presente documento foi apresentado o tema proposto como dissertação de mes-trado para a obtenção do título de mestre em engenharia mecatrônica. Esse trabalho ébaseado nas ideias originais concebidas pelo aluno de mestrado e por seu orientador, nointuito de desenvolver um sistema robótico terrestre de perseguição de alvo planar rela-tivamente robusto. O desenvolvimento do sistema implica que o algoritmo de controleproposto deve ser capaz de compensar as restrições de movimentação do robô agentemóvel de forma que o mesmo não perca seu alvo de vista.

O que se conseguiu com o que foi apresentado neste documento foi realizar a detec-ção de um alvo desejado e fazer a estimativa de sua posição e orientação com certo graude fidelidade. O sistema de detecção de alvo deixa aberta a escolha do tipo de alvo, nãosendo necessária a aplicação total de códigos QR ou padrões específicos. Um esquemaclássico de controle foi adicionado ao sistema de perseguição para testar o funcionamentodo rastreamento de alvo e para confirmar a necessidade da aplicação de uma abordagemde controle mais robusta e complexa. O algoritmo de controle mais robusto propostofoi testado em diversas situações de simulação e foram feitas as devidas comparaçõesdo sistema de controle proposto com o sistema de controle clássico. Os resultados dostestes e simulações mostram que o algoritmo de controle proposto opera de forma maisrobusta que a estratégia de controle clássica e que pode ser aplicado para diversas situa-ções do robô, mesmo levando em consideração não-linearidades presentes no modelo demovimentação do mesmo.

5.1 Contribuições do trabalho

A principal contribuição trazida pelo sistema de perseguição proposto aqui está naproposição de uma forma simples e de fácil implementação de realizar a perseguição deum alvo plano móvel por um robô agente móvel munido de uma câmera fixa e com res-

Page 99: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 5. CONSIDERAÇÕES FINAIS 84

trições não-holonômicas de movimentação, que pode ser implementada em robôs móveisterrestres e que visa a redução do acumulo de erro angular entre o alvo e seu persegui-dor durante a movimentação. A simplicidade envolvida nos métodos propostos tornamos mesmos simples de se entender e fáceis de se implementar, podendo inclusive até serimplementados diretamente em hardware, o que reduz o tempo de processamento emsistemas executados em tempo real.

A principal inovação do algoritmo apresentado aqui está na aplicação de uma técnicade geração de caminhos dinâmica durante a perseguição baseada no referencial de câ-mera, um sistema de manobras aplicado em conjunto com essa técnica ajuda a aumentara robustez da visualização do alvo durante as curvas e também faz a suavização dos sinaisde controle aplicados às rodas do robô, reduzindo o chaveamento causado por técnicas decontrole clássicas. O sistema também abre a possibilidade de utilização de um esquemade predição de caminhos para o alvo na geração dos caminhos do agente móvel, o quepoderia aumentar ainda mais a robustez da perseguição.

5.2 Comentários gerais e trabalhos futuros

Neste documento foram apresentados os métodos utilizados no desenvolvimento dosistema de perseguição proposto, bem como os resultados obtidos através de simulaçãodo comportamento do sistema físico de um robô perseguidor de alvo equipado com oalgoritmo de controle proposto. Pelos resultados obtidos é possível ver que o sistemada forma que é apresentado é relativamente robusto a mudanças de direção do alvo e semostra mais eficaz que esquemas de controle clássicos, que são geralmente utilizadosnesse tipo de aplicação.

Alguns fatores que ainda podem ser modificados no sistema de controle estão relaci-onados com a otimização do sistema de detecção de alvo, que dependendo do hardware

utilizado pode não ser tão rápido para aplicações em tempo real. Uma forma de tentarotimizar a forma de detectar o alvo seria considerar mais pontos da forma delimitadorado alvo ao invés de só quatro. Dessa forma, seria possível dizer quando o alvo está desni-velado com relação à câmera, como no caso do teste do sistema na presença de desnível,e possivelmente melhorar a robustez do sistema de detecção.

O algoritmo para a geração do caminho dinâmico poderia ser otimizado se as áreasde restrição de visibilidade da câmera e do alvo fossem incorporadas às condições decontorno das curvas de geração de caminho, de forma a manter a visibilidade do alvoquando o robô está no caminho. Outra coisa que poderia ser melhorada seria a proposiçãode uma forma mais inteligente de recuperação de alvo, possivelmente se baseando em

Page 100: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

CAPÍTULO 5. CONSIDERAÇÕES FINAIS 85

algoritmos preditivos para o comportamento normal do mesmo, que faria com que o robôpudesse realizar a perseguição de alvos que se movimentam em trajetórias ainda maisagressivas, com curvas mais fechadas e talvez mudanças mais bruscas na aceleração lineare angular durante o trajeto.

O método com que se gera o caminho até o alvo também abre espaço para melhoriasna questão dos coeficientes livres dos polinômios descritores de caminho, que podem serescolhidos de forma a otimizar o caminho gerado até o alvo com relação a algum critériode otimização relacionado a atividade de perseguição, ou mesmo às restrições do sistema.

Page 101: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Referências Bibliográficas

Ballard, Dana Harry & Christopher M. Brown (1982), Computer Vision, 1a edição, Pren-tice Hall Professional Technical Reference.

Basit, Abdul, Matthew N. Dailey, Jednipat Moonrinta & Pudit Laksanacharoen (2015),‘Joint localization and target tracking with a monocular camera’, Robotics and Au-

tonomous Systems 74, Part A, 1 – 14.URL: http://www.sciencedirect.com/science/article/pii/S0921889015001268

Bradski, G. (n.d.), Dr. Dobb’s Journal of Software Tools .

Computer Vision System Toolbox User’s Guide: For Use with MATLAB;[user’s Guide]

(2016), MathWorks.URL: http://www.mathworks.com/help/pdf_doc/vision/vision_ug.pdf

Dalal, N. & B. Triggs (2005), Histograms of oriented gradients for human detection, em

‘2005 IEEE Computer Society Conference on Computer Vision and Pattern Recog-nition (CVPR’05)’, Vol. 1, pp. 886–893 vol. 1.

E. Rohmer, S. P. N. Singh, M. Freese (2013), V-rep: a versatile and scalable robot simu-lation framework, em ‘Proc. of The International Conference on Intelligent Robotsand Systems (IROS)’.

Ellon P. Mendes, Adelardo A. D. Medeiros, Luiz Henrique R. Silva (2010), Identificationof dynamic model with dead-zone for mobile robot with differential drive.

Fahimi, F. (2008), Autonomous Robots: Modeling, Path Planning, and Control, LectureNotes in Physics Volume 107, Springer US.

Freda, Luigi & Giuseppe Oriolo (2007), ‘Vision-based interception of a moving targetwith a nonholonomic mobile robot’, Robotics and Autonomous Systems 55(6), 419– 432.URL: http://www.sciencedirect.com/science/article/pii/S0921889007000255

86

Page 102: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

REFERÊNCIAS BIBLIOGRÁFICAS 87

Frederico C. VIEIRA, Adelardo A. D. MEDEIROS, Pablo J. ALSINA Antônio P.ARAÚJO Jr. (2004), ‘Position and orientation control of a two-wheeled differen-tially driven nonholonomic mobile robot.’, ICINCO, DCA-UFRN .URL: http://www.dca.ufrn.br/ adelardo/artigos/ICINCO04a.pdf

Freund, Yoav & Robert E Schapire (1997), ‘A decision-theoretic generalization of on-linelearning and an application to boosting’, J. Comput. Syst. Sci. 55(1), 119–139.

Hashimoto, Koichi (1993), Visual servoing, Vol. 7, World scientific.

Ito, Masahide, Takahiro Hiratsuka & Masaaki Shibata (2012), ‘Image-based visual targetfollowing for a nonholonomic wheeled mobile robot with a single fixed camera’,IEEJ Transactions on Electrical and Electronic Engineering 7(S1), S160–S166.

Its (2014), The OpenCV Reference Manual - Object Detection, 2.4.13.1a edição.

Koh, K. C. & H. S. Cho (1999), ‘A smooth path tracking algorithm for wheeled mo-bile robots with dynamic constraints’, Journal of Intelligent and Robotic Systems

24(4), 367–385.

Kong, Y., S. Liu, J. Wang & B. Zhang (2016), Person following based on haar-like featureand hog feature in indoor environment, em ‘2016 35th Chinese Control Conference(CCC)’, pp. 6345–6349.

Kragic, Danica, Henrik I Christensen et al. (2002), ‘Survey on visual servoing for ma-nipulation’, Computational Vision and Active Perception Laboratory, Fiskartorpsv

15, 2002.

Laghrouche, S., M. Harmouche & Y. Chitour (2012), Target-point based path followingcontroller for car-type vehicle using bounded feedback, em ‘2012 IEEE 51st IEEEConference on Decision and Control (CDC)’, pp. 562–567.

LaValle, S. M., H. H. Gonzalez-Banos, C. Becker & J. C. Latombe (1997), Motion stra-tegies for maintaining visibility of a moving target, em ‘Robotics and Automation,1997. Proceedings., 1997 IEEE International Conference on’, Vol. 1, pp. 731–736vol.1.

Lienhart, R. & J. Maydt (2002), An extended set of haar-like features for rapid objectdetection, em ‘Image Processing. 2002. Proceedings. 2002 International Conferenceon’, Vol. 1, pp. I–900–I–903 vol.1.

Page 103: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

REFERÊNCIAS BIBLIOGRÁFICAS 88

Maya-Mendez, M., P. Morin & C. Samson (2006), Control of a nonholonomic mobilerobot via sensor-based target tracking and pose estimation, em ‘2006 IEEE/RSJ In-ternational Conference on Intelligent Robots and Systems’, pp. 5612–5618.

Medina-Garciadiego, V. & A. Leonessa (2011), Tracking control of a nonholonomicground vehicle, em ‘Proceedings of the 2011 American Control Conference’,pp. 1710–1713.

Oberkampf, D., D. F. DeMenthon & L. S. Davis (1993), Iterative pose estimation usingcoplanar points, em ‘Computer Vision and Pattern Recognition, 1993. ProceedingsCVPR ’93., 1993 IEEE Computer Society Conference on’, pp. 626–627.

Ojala, T., M. Pietikainen & T. Maenpaa (2002), ‘Multiresolution gray-scale and rotationinvariant texture classification with local binary patterns’, IEEE Transactions on

Pattern Analysis and Machine Intelligence 24(7), 971–987.

Pavlidis, T. (1982), Algorithms for graphics and image processing, Digital system designseries, Computer Science Press.

Pedrosa, D. P. F., A. A. D. Medeiros & P. J. Alsina (2003), Point-to-point paths generationfor wheeled mobile robots, em ‘2003 IEEE International Conference on Roboticsand Automation (Cat. No.03CH37422)’, Vol. 3, pp. 3752–3757 vol.3.

Pinz, Axel & Gerald Schweighofer (2006), ‘Robust pose estimation from a planar target’,IEEE Transactions on Pattern Analysis & Machine Intelligence 28, 2024–2030.

Rafael Murrieta-Cid, Lourdes Muñoz-Gómez, Moises Alencastre-Miranda AlejandroSarmiento Stephen Kloder Seth Hutchinson Florent Lamiraux Jean-Paul Laumond(2005), ‘Maintaining visibility of a moving holonomic target at a fixed distance witha non-holonomic robot.’, IROS pp. 2687–2693.

Rogers, David F. (1985), Procedural Elements for Computer Graphics, McGraw-Hill,Inc., New York, NY, USA.

Samson, C. (1995), ‘Control of chained systems application to path following and time-varying point-stabilization of mobile robots’, IEEE Transactions on Automatic Con-

trol 40(1), 64–77.

Shakunaga, T. (1992), An object pose estimation system using a single camera, em ‘Intel-ligent Robots and Systems, 1992., Proceedings of the 1992 lEEE/RSJ InternationalConference on’, Vol. 2, pp. 1053–1060.

Page 104: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

REFERÊNCIAS BIBLIOGRÁFICAS 89

Shani, Uri (1980), ‘Filling regions in binary raster images: A graph-theoretic approach.’,Comput Graphics (ACM) 14(3), 321–327.

Siegwart, Roland & Illah R. Nourbakhsh (2004), Introduction to Autonomous Mobile

Robots, Bradford Company, Scituate, MA, USA.

Simon, G. & M. O. Berger (2002), ‘Pose estimation for planar structures’, IEEE Computer

Graphics and Applications 22(6), 46–53.

Trucco, Emanuele & Alessandro Verri (1998), Introductory Techniques for 3-D Computer

Vision, Prentice Hall PTR, Upper Saddle River, NJ, USA.

Viola, P. & M. Jones (2001), Rapid object detection using a boosted cascade of simplefeatures, em ‘Computer Vision and Pattern Recognition, 2001. CVPR 2001. Procee-dings of the 2001 IEEE Computer Society Conference on’, Vol. 1, pp. I–511–I–518vol.1.

Wai, R. J. & Y. W. Lin (2013), ‘Adaptive moving-target tracking control of a vision-basedmobile robot via a dynamic petri recurrent fuzzy neural network’, IEEE Transacti-

ons on Fuzzy Systems 21(4), 688–701.

Xiao, Hanzhen, Zhijun Li, Chenguang Yang, Wang Yuan & Liyang Wang (2015), ‘Rgb-dsensor-based visual target detection and tracking for an intelligent wheelchair robotin indoors environments’, International Journal of Control, Automation and Systems

13(3), 521–529.

Yoshimi, T., M. Nishiyama, T. Sonoura, H. Nakamoto, S. Tokura, H. Sato, F. Ozaki,N. Matsuhira & H. Mizoguchi (2006), Development of a person following robotwith vision based target detection, em ‘2006 IEEE/RSJ International Conference onIntelligent Robots and Systems’, pp. 5286–5291.

Page 105: Técnica de rastreamento e perseguição de alvo utilizando o ......Técnica de rastreamento e perseguição de alvo utilizando o algoritmo Haar cascade aplicada a robôs terrestres

Apêndice A

Diagrama mostrando o algoritmo Adaboost usado na seleçãode Features

Figura A.1: Diagrama que descreve o algoritmo de treinamento de Viola&Jones que foi descrito no texto.