Licenciatura em Engenharia Electrotécnica
                                                                    Energia e Automação




               AUTOBOT                                              UC Projecto



          CONDUÇÃO AUTÓNOMA
          CONDUÇÃ AUTÓ
               ÇÃO
                 F2
Autor:
 Nuno Miguel Gonçalves Reis


                              Setembro 2010
Sumário
                         Sumá

�   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   2

                         Nuno Reis, Setembro 2010
Objectivos

Objectivo geral:

 �   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.

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.


                                                    UC Projecto    3

                         Nuno Reis, Setembro 2010
Introdução


�   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.




                                                    UC Projecto    4

                         Nuno Reis, Setembro 2010
Calibração de uma câmara
         Calibraç          câ
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.




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




                                                                                                   UC Projecto      5

                                               Nuno Reis, Setembro 2010
Calibração de uma câmara
         Calibraç          câ
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).




                       Figura 3 – Geometria aproximada da câmara pontual.



                                                                            UC Projecto   6

                              Nuno Reis, Setembro 2010
Calibração de uma câmara
        Calibraç          câ
Modelo de uma Câmara:

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


                                                               Coordenadas do ponto na imagem:



                                                                           X               Y
                                                                    x = fx          y = fy
                                                                           Z               Z


                                                                            X            Y
                                                                   x = fx     + cx y = fy + cy
                                                                            Z            Z
             Figura 4 – Relação de triângulos.




                                                                                 UC Projecto     7

                                        Nuno Reis, Setembro 2010
Calibração de uma câmara
         Calibraç          câ
Modelo de uma Câmara:

 �   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       8

                            Nuno Reis, Setembro 2010
Calibração de uma câmara
         Calibraç          câ
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.




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



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


                                                                           UC Projecto   9

                             Nuno Reis, Setembro 2010
Calibração de uma câmara
         Calibraç          câ
Processo de calibração:
 �   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:

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

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




                                                                    UC Projecto         10

                                Nuno Reis, Setembro 2010
Trabalho Realizado
Método de calibração de Zhang:

  �   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 – Imagens do “chessboard” [1].


                                                                     UC Projecto   11

                            Nuno Reis, Setembro 2010
Trabalho Realizado
Método de calibração de Zhang:

  �   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

                                                           UC Projecto   12

                           Nuno Reis, Setembro 2010
Trabalho Realizado
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 – Imagem original com ajuste de brilho e contraste MI2V.




                                                                                      UC Projecto   13

                                 Nuno Reis, Setembro 2010
Trabalho Realizado
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 – Imagem com Threshold adaptativo MI2V.




                                                                       UC Projecto   14

                            Nuno Reis, Setembro 2010
Trabalho Realizado
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 – Aplicação da transformada de Canny MI2V.




                                                                           UC Projecto   15

                              Nuno Reis, Setembro 2010
Trabalho Realizado
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 – Aplicação da transformada de Hough MI2V.




                                                                            UC Projecto   16

                               Nuno Reis, Setembro 2010
Trabalho Realizado
    Método de identificação de duas vias:

�   Dos pontos obtidos pela Transformada de
    Hough e calcula-se a média das coordenadas                   x
      y
    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                       Figura 11 – Divisão da imagem
    obtém-se o desvio do robô ao centro da pista.                            por quadrantes.




                          Figura 12 – Resultado final do MI2V.



                                                                        UC Projecto                  17

                             Nuno Reis, Setembro 2010
Trabalho Realizado
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 – Colocação da câmara no robô.              Figura 14 – Imagem original do MI1V.




                                                                                          UC Projecto   18

                                           Nuno Reis, Setembro 2010
Trabalho Realizado
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”




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




                                                                                                    UC Projecto           19

                                              Nuno Reis, Setembro 2010
Trabalho Realizado
Método de identificação de uma via:

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

�   Encontrados os pontos brancos calcula-se a
                          x
    média da posição desses pontos.                                                         Figura 16 – Imagem
                                                                                             Vector em análise.




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



                                                                                           UC Projecto            20

                                    Nuno Reis, Setembro 2010
Trabalho Realizado
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.
                                            Região 1:
                                            Regiã
                                            150 < PM < 170 o robô segue em frente;

                                            Região 2:
                                            Regiã
                                            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;

                                            Região 3:
                                            Regiã
                                            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;

                                            Região 4: Qualquer outro caso o robô pára
                                            Regiã
Figura 18 – Regiões do movimento do robô.                                               Vel. rotação 1 < vel. rotação 2



                                                                                            UC Projecto                   21

                                                 Nuno Reis, Setembro 2010
Trabalho Realizado
Método de identificação de uma via:

�   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 – Detecção da passadeira.




                                                            UC Projecto   22

                            Nuno Reis, Setembro 2010
Conclusões
                      Conclusõ

�   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.




                                                    UC Projecto    23

                         Nuno Reis, Setembro 2010
Trabalho Realizado
Método de identificação de uma via:




                                                 UC Projecto   24

                      Nuno Reis, Setembro 2010
Dúvidas & Questões
          Questõ




     ?
                                UC Projecto   25

     Nuno Reis, Setembro 2010

Projecto Condução Autónoma

  • 1.
    Licenciatura em EngenhariaElectrotécnica Energia e Automação AUTOBOT UC Projecto CONDUÇÃO AUTÓNOMA CONDUÇÃ AUTÓ ÇÃO F2 Autor: Nuno Miguel Gonçalves Reis Setembro 2010
  • 2.
    Sumário Sumá � 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 2 Nuno Reis, Setembro 2010
  • 3.
    Objectivos Objectivo geral: � 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. 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. UC Projecto 3 Nuno Reis, Setembro 2010
  • 4.
    Introdução � 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. UC Projecto 4 Nuno Reis, Setembro 2010
  • 5.
    Calibração de umacâmara Calibraç câ 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. Figura 1 - Modelo de uma câmara pontual. Figura 2 – Geometria da câmara pontual. UC Projecto 5 Nuno Reis, Setembro 2010
  • 6.
    Calibração de umacâmara Calibraç câ 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). Figura 3 – Geometria aproximada da câmara pontual. UC Projecto 6 Nuno Reis, Setembro 2010
  • 7.
    Calibração de umacâmara Calibraç câ Modelo de uma Câmara: � É caracterizado por uma relação de triângulos: Coordenadas do ponto na imagem: X Y x = fx y = fy Z Z X Y x = fx + cx y = fy + cy Z Z Figura 4 – Relação de triângulos. UC Projecto 7 Nuno Reis, Setembro 2010
  • 8.
    Calibração de umacâmara Calibraç câ Modelo de uma Câmara: � 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 8 Nuno Reis, Setembro 2010
  • 9.
    Calibração de umacâmara Calibraç câ 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. Figura 5 – Processo de calibração de uma câmara . � Nesse processo é obtido um conjunto de parâmetros que nos dão essas informações. UC Projecto 9 Nuno Reis, Setembro 2010
  • 10.
    Calibração de umacâmara Calibraç câ Processo de calibração: � 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: o Parâmetros Interínsecos Distância focal (f), centro da imagem (c), coeficientes de distor ção e factores de escala. o Parâmetros Extrínsecos Conjunto de par â metros que identificam a transforma ç ã o entre um referêncial desconhecido (câmara) e o referencial conhecido (mundo). UC Projecto 10 Nuno Reis, Setembro 2010
  • 11.
    Trabalho Realizado Método decalibração de Zhang: � 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 – Imagens do “chessboard” [1]. UC Projecto 11 Nuno Reis, Setembro 2010
  • 12.
    Trabalho Realizado Método decalibração de Zhang: � 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 UC Projecto 12 Nuno Reis, Setembro 2010
  • 13.
    Trabalho Realizado Método deidentificaçã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 – Imagem original com ajuste de brilho e contraste MI2V. UC Projecto 13 Nuno Reis, Setembro 2010
  • 14.
    Trabalho Realizado Método deidentificaçã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 – Imagem com Threshold adaptativo MI2V. UC Projecto 14 Nuno Reis, Setembro 2010
  • 15.
    Trabalho Realizado Método deidentificaçã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 – Aplicação da transformada de Canny MI2V. UC Projecto 15 Nuno Reis, Setembro 2010
  • 16.
    Trabalho Realizado Método deidentificaçã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 – Aplicação da transformada de Hough MI2V. UC Projecto 16 Nuno Reis, Setembro 2010
  • 17.
    Trabalho Realizado Método de identificação de duas vias: � Dos pontos obtidos pela Transformada de Hough e calcula-se a média das coordenadas x y 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 Figura 11 – Divisão da imagem obtém-se o desvio do robô ao centro da pista. por quadrantes. Figura 12 – Resultado final do MI2V. UC Projecto 17 Nuno Reis, Setembro 2010
  • 18.
    Trabalho Realizado Método deidentificaçã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 – Colocação da câmara no robô. Figura 14 – Imagem original do MI1V. UC Projecto 18 Nuno Reis, Setembro 2010
  • 19.
    Trabalho Realizado Método deidentificaçã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” a) b) c) Figura 15 – a) Imagem em tons de cinzentos: b) Imagem com Threshold adaptativo : c) Aplica ção do filtro de Canny. UC Projecto 19 Nuno Reis, Setembro 2010
  • 20.
    Trabalho Realizado Método deidentificação de uma via: � Neste método é analizado apenas um vector da matriz de imagem, ou seja, se a x coordenada para y = 0 é branco ou preto. � Encontrados os pontos brancos calcula-se a x média da posição desses pontos. Figura 16 – Imagem Vector em análise. a) b) c) Figura 17 – Recta final do MI1V: a) Região 1; b) Região 2, c) Região 3. UC Projecto 20 Nuno Reis, Setembro 2010
  • 21.
    Trabalho Realizado Método deidentificaçã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. Região 1: Regiã 150 < PM < 170 o robô segue em frente; Região 2: Regiã 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; Região 3: Regiã 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; Região 4: Qualquer outro caso o robô pára Regiã Figura 18 – Regiões do movimento do robô. Vel. rotação 1 < vel. rotação 2 UC Projecto 21 Nuno Reis, Setembro 2010
  • 22.
    Trabalho Realizado Método deidentificação de uma via: � 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 – Detecção da passadeira. UC Projecto 22 Nuno Reis, Setembro 2010
  • 23.
    Conclusões Conclusõ � 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. UC Projecto 23 Nuno Reis, Setembro 2010
  • 24.
    Trabalho Realizado Método deidentificação de uma via: UC Projecto 24 Nuno Reis, Setembro 2010
  • 25.
    Dúvidas & Questões Questõ ? UC Projecto 25 Nuno Reis, Setembro 2010