25
Setembro 2010 AUTOBOT AUTOBOT AUTOBOT AUTOBOT CONDU CONDU CONDU CONDUÇÃ ÇÃ ÇÃ ÇÃ O AUT O AUT O AUT O AUTÓ NOMA NOMA NOMA NOMA F2 F2 F2 F2 UC Projecto Autor: Nuno Miguel Gon çalves Reis Licenciatura em Engenharia Electrotécnica Energia e Automação

Projecto Condução Autónoma

Embed Size (px)

DESCRIPTION

Apresentação do Projecto Final de Curso. Relatório ➭ http://www.viewdocsonline.com/document/pd8wfo Video ➭ http://www.youtube.com/watch?v=uhyslHmpj-Y&feature=youtu.be

Citation preview

Page 1: Projecto Condução Autónoma

Setembro 2010

AUTOBOTAUTOBOTAUTOBOTAUTOBOT

CONDUCONDUCONDUCONDUÇÃÇÃÇÃÇÃO AUTO AUTO AUTO AUTÓÓÓÓNOMA NOMA NOMA NOMA F2F2F2F2

UC Projecto

Autor: Nuno Miguel Gonçalves Reis

Licenciatura em Engenharia ElectrotécnicaEnergia e Automação

Page 2: Projecto Condução Autónoma

2

SumSumSumSumááááriorioriorio

� Objectivos� Introdução� Calibração da câmara

◦ Modelo de uma câmara;◦ Método de calibração.

� OpenCV◦ Método de identificação de duas vias;◦ Método de identificação de uma via.

� ARIA◦ O software;◦ Funções de controlo.

� Conclusões

UC Projecto

Nuno Reis, Setembro 2010

Page 3: Projecto Condução Autónoma

3

ObjectivosObjectivosObjectivosObjectivos

� Destina-se ao desenvolvimento de um sistema baseado em visão para o robô Pioneer P3-DX de forma a se deslocar numa pista pré-definida.

UC Projecto

Nuno Reis, Setembro 2010

Objectivo geral:

Outros Objectivos:

� Estudo de algoritmos de visão computacional;� Estudo e implementação de um método para a calibração da

câmara usada;� Desenvolvimento de algoritmos para a detecção das vias;� Desenvolvimento de software para o controlo do rob ô para

condução autónoma a partir visão fornecida pela câmara.

Page 4: Projecto Condução Autónoma

4

IntroduIntroduIntroduIntroduççççããããoooo

� A vis ã o por computador permite desenvolver sistemas capazes de interpretar e modelar o ambiente real onde o robô se movimenta.

� Utilizando uma c â mara é possivel extrair informa ç õ es do mundo real (3D) para (p ó s-processamento) fazer actuar o robô de acordo com os dados analisados.

� A introdu ç ã o de vis ã o num rob ô m ó vel traduz-se num significativo aumento da sua versatilidade e seguran ça nas suas operações.

Nuno Reis, Setembro 2010

UC Projecto

Page 5: Projecto Condução Autónoma

5

Modelo de uma Câmara:

� O modelo mais simples de uma c â mara, é um modelo de câmara pontual (“pin-hole camera model”)

� Pode ser entendido como uma caixa fechada em que se faz um pequeno orif í cio (um ponto). Os raios luminosos passam por esse orificio e s ã o projectados no fundo da caixa onde a imagem se forma.

CalibraCalibraCalibraCalibraççççãããão de uma co de uma co de uma co de uma cââââmaramaramaramara

Nuno Reis, Setembro 2010

UC Projecto

Figura 1 Figura 1 Figura 1 Figura 1 - Modelo de uma câmara pontual. Figura 2 Figura 2 Figura 2 Figura 2 – Geometria da câmara pontual.

Page 6: Projecto Condução Autónoma

6

Modelo de uma Câmara:

� Para que se obtenha uma representação da imagem no sentido directo usa-se um modelo aproximado.

� O ponto do orifício é considerado o centro da câmara e o plano da imagem é colocado agora à frente do sensor (centro da câmara).

CalibraCalibraCalibraCalibraççççãããão de uma co de uma co de uma co de uma cââââmaramaramaramara

Nuno Reis, Setembro 2010

UC Projecto

Figura 3 Figura 3 Figura 3 Figura 3 – Geometria aproximada da câmara pontual.

Page 7: Projecto Condução Autónoma

7

Modelo de uma Câmara:

� É caracterizado por uma relação de triângulos:

Coordenadas do ponto na imagem:Coordenadas do ponto na imagem:Coordenadas do ponto na imagem:Coordenadas do ponto na imagem:

ZXfx x=

ZYfy y=

CalibraCalibraCalibraCalibraççççãããão de uma co de uma co de uma co de uma cââââmaramaramaramara

Nuno Reis, Setembro 2010

UC Projecto

xcZXfx x += yy c

ZYfy +=

Figura 4 Figura 4 Figura 4 Figura 4 – Relação de triângulos.

Page 8: Projecto Condução Autónoma

8

Modelo de uma Câmara:

CalibraCalibraCalibraCalibraççççãããão de uma co de uma co de uma co de uma cââââmaramaramaramara

Nuno Reis, Setembro 2010

� Representando os pontos 3D e os pontos 2D por vectores de coordenadas homog é neas, pode-se expressar a projec ç ã o como um mapeamento linear entre esses vectores através de uma multiplicação de matrizes:

Ponto da Imagem = Matriz de Transformação x Ponto Real

Ponto Real = Matriz de Transformação-1 x Ponto da Imagem

UC Projecto

Page 9: Projecto Condução Autónoma

9

Processo de calibração:

� A calibração de uma câmara é um processo que é realizado para que seja possível obter informações métricas 3D a partir de imagens 2D capturadas pela câmara.

CalibraCalibraCalibraCalibraççççãããão de uma co de uma co de uma co de uma cââââmaramaramaramara

Nuno Reis, Setembro 2010

UC Projecto

� Nesse processo é obtido um conjunto de parâmetros que nos dão essas informações.

Figura 5 Figura 5 Figura 5 Figura 5 – Processo de calibração de uma câmara .

Page 10: Projecto Condução Autónoma

10

� Os referidos parâmetros incluem a geometria interna e óptica da câmara e uma estimativa da posição orientação da câmara associada a uma determinada imagem.

� São denominados por:

CalibraCalibraCalibraCalibraççççãããão de uma co de uma co de uma co de uma cââââmaramaramaramara

Nuno Reis, Setembro 2010

UC Projecto

Processo de calibração:

o Parâmetros Extrínsecos

o Parâmetros Interínsecos

Distância focal (f), centro da imagem (c), coeficientes de distorção e factores de escala.

Conjunto de par âmetros que identificam a transforma ção entre um referêncial desconhecido (câmara) e o referencial conhecido (mundo).

Page 11: Projecto Condução Autónoma

11

Método de calibração de Zhang:

Nuno Reis, Setembro 2010

UC Projecto

� Usa-se um padr ã o (bidimensional) que é posicionado de diversas formas no espaço dando origem a m imagens.

� Admite-se neste m é todo que os par â metros intr í nsecos da câmara são os mesmos em todas as imagens.

Figura 6 Figura 6 Figura 6 Figura 6 – Imagens do “chessboard” [1].

TrabalhoTrabalhoTrabalhoTrabalho Realizado Realizado Realizado Realizado

Page 12: Projecto Condução Autónoma

12

Método de calibração de Zhang:

Nuno Reis, Setembro 2010

UC Projecto

� Aquisição de várias imagens de padrões coplanares utilizando-se uma câmara digital convencional:

� Extracção automática dos vértices dos quadrados do padrão de calibração nas imagens adquiridas:

Correcta extracção Incorrecta extracção

TrabalhoTrabalhoTrabalhoTrabalho Realizado Realizado Realizado Realizado

Page 13: Projecto Condução Autónoma

13

TrabalhoTrabalhoTrabalhoTrabalho Realizado Realizado Realizado Realizado

Nuno Reis, Setembro 2010

UC Projecto

Método de identificação de duas vias:

� Este m é todo foi desenvolvido com recurso a um video que simula o movimento do robô visualizando duas faixas.

Figura 7 Figura 7 Figura 7 Figura 7 – Imagem original com ajuste de brilho e contraste MI2V.

Page 14: Projecto Condução Autónoma

14

TrabalhoTrabalhoTrabalhoTrabalho Realizado Realizado Realizado Realizado

Nuno Reis, Setembro 2010

UC Projecto

Método de identificação de duas vias:

� Ap ó s transformada a imagem para uma escala de cinzentos, aplica-se uma função de Threshold.

� Esta fun ç ã o tem como objectivo segmentar a imagem obtida numa imagem binária (dois tons).

Figura 8 Figura 8 Figura 8 Figura 8 – Imagem com Threshold adaptativo MI2V.

Page 15: Projecto Condução Autónoma

15

TrabalhoTrabalhoTrabalhoTrabalho Realizado Realizado Realizado Realizado

Nuno Reis, Setembro 2010

UC Projecto

Método de identificação de duas vias:

� Essa transforma ç ã o permite ent ã o aplicar o filtro de bordas “Canny”.

� Com o uso desse filtro obtem-se os contornos dos objectos (a preto) da imagem com Threshold.

Figura 9 Figura 9 Figura 9 Figura 9 – Aplicação da transformada de Canny MI2V.

Page 16: Projecto Condução Autónoma

16

TrabalhoTrabalhoTrabalhoTrabalho Realizado Realizado Realizado Realizado

Nuno Reis, Setembro 2010

UC Projecto

Método de identificação de duas vias:

� Para retirar os pontos de interesse dos contornos obtidos foi utilizada a Transformada de Hough.

� Quando aplicada à frame em análise devolve os pontos iniciais e finais de cada recta encontrada na imagem.

Figura 10 Figura 10 Figura 10 Figura 10 – Aplicação da transformada de Hough MI2V.

Page 17: Projecto Condução Autónoma

17

TrabalhoTrabalhoTrabalhoTrabalho Realizado Realizado Realizado Realizado

Nuno Reis, Setembro 2010

UC Projecto

Método de identificação de duas vias:

� Dos pontos obtidos pela Transformada de Hough e calcula-se a média das coordenadas e de cada quadrante.

� É traçada a recta que nos dá a orientação que o robô deve tomar.

� Da dist â ncia do centro da imagem à recta obtém-se o desvio do robô ao centro da pista.

xy

Figura 12 Figura 12 Figura 12 Figura 12 – Resultado final do MI2V.

Figura 11 Figura 11 Figura 11 Figura 11 – Divisão da imagem por quadrantes.

Page 18: Projecto Condução Autónoma

18

TrabalhoTrabalhoTrabalhoTrabalho Realizado Realizado Realizado Realizado

Nuno Reis, Setembro 2010

UC Projecto

Método de identificação de uma via:

� Neste método é apenas detectada e analizada uma via da pista.

� O robô é colocado na pista de forma a ser visualizada a via mais à direita da pista.

Figura 13 Figura 13 Figura 13 Figura 13 – Colocação da câmara no robô. Figura 14 Figura 14 Figura 14 Figura 14 – Imagem original do MI1V.

Page 19: Projecto Condução Autónoma

19

TrabalhoTrabalhoTrabalhoTrabalho Realizado Realizado Realizado Realizado

Nuno Reis, Setembro 2010

UC Projecto

Método de identificação de uma via:

� A fase de processamento de imagem é tambem baseada na convers ã o para a escala de cinzentos, Threshold e filtro de “Canny”

Figura 15 Figura 15 Figura 15 Figura 15 – a) Imagem em tons de cinzentos: b) Imagem com Threshold adaptativo : c) Aplicação do filtro de Canny.

a)b) c)

Page 20: Projecto Condução Autónoma

20

TrabalhoTrabalhoTrabalhoTrabalho Realizado Realizado Realizado Realizado

Nuno Reis, Setembro 2010

UC Projecto

Método de identificação de uma via:

� Neste método é analizado apenas um vector da matriz de imagem, ou seja, se a coordenada para é branco ou preto.

� Encontrados os pontos brancos calcula-se a média da posição desses pontos.

x 0=y

Figura 16 Figura 16 Figura 16 Figura 16 – Imagem Vector em análise.

a) b) c)

Figura 17 Figura 17 Figura 17 Figura 17 – Recta final do MI1V: a) Região 1; b) Região 2, c) Região 3.

x

Page 21: Projecto Condução Autónoma

21

TrabalhoTrabalhoTrabalhoTrabalho Realizado Realizado Realizado Realizado

Nuno Reis, Setembro 2010

Vel. rotação 1 < vel. rotação 2

Método de identificação de uma via:

� Foi considerado para an á lise um vector com 320 posi ç õ es (resolução da imagem).

� Relativamente ao controlo do robô, este é definido por quatro regiões.

RegiRegiRegiRegiãããão 1: o 1: o 1: o 1: 150 < PM < 170 o robô segue em frente;

RegiRegiRegiRegiãããão 2:o 2:o 2:o 2: 50 < PM < 150 vira para a direita com velocidade de rotação 1;170 < PM < 270 vira para a esquerda com velocidade de rotação 1;

RegiRegiRegiRegiãããão 3: o 3: o 3: o 3: 270 < PM < 320 vira para a esquerda com velocidade de rotação 2;0 <PM < 50 vira para a direita com velocidade de rotação 2;

RegiRegiRegiRegiãããão 4:o 4:o 4:o 4: Qualquer outro caso o robô pára

UC Projecto

Figura 18 Figura 18 Figura 18 Figura 18 – Regiões do movimento do robô.

Page 22: Projecto Condução Autónoma

22

TrabalhoTrabalhoTrabalhoTrabalho Realizado Realizado Realizado Realizado

Método de identificação de uma via:

Nuno Reis, Setembro 2010

UC Projecto

� Ao ser detectada a passadeira, e como em ambiente real s ó existe metade da pista, foi considerado que o rob ô p á ra no instante em que são encontrados mais que dez pontos brancos no vector em análise

Figura 19 Figura 19 Figura 19 Figura 19 – Detecção da passadeira.

Page 23: Projecto Condução Autónoma

23

ConclusConclusConclusConclusõõõõeseseses

Nuno Reis, Setembro 2010

UC Projecto

� O processo de calibra ç ã o é necess á rio para que se possa fazer uma correspond ê ncia das coordenadas retiradas em pixels com as coordenadas reais.

� O método de identificação de duas vias é mais eficaz para o movimento efectuado pelo robô, tornado-o mais estável.

� Relativamente ao m é todo de identifica ç ã o de uma via os resultados obtido na parte de controlo foram satisfatórios.

Page 24: Projecto Condução Autónoma

24

TrabalhoTrabalhoTrabalhoTrabalho Realizado Realizado Realizado Realizado

Método de identificação de uma via:

Nuno Reis, Setembro 2010

UC Projecto

Page 25: Projecto Condução Autónoma

25

DDDDúúúúvidas & Questvidas & Questvidas & Questvidas & Questõõõõeseseses

Nuno Reis, Setembro 2010

UC Projecto

????