SlideShare uma empresa Scribd logo
1 de 66
Baixar para ler offline
CENTRO TÉCNICO AEROESPACIAL
INSTITUTO TECNOLÓGICO DE AERONÁUTICA
   DIVISÃO DE ENGENHARIA ELETRÔNICA
DEPARTAMENTO DE SISTEMAS DE CONTROLE




    LOCALIZAÇÃO E MAPEAMENTO EM TEMPO
     REAL UTILIZANDO ROBÔ SIMULADO NO
   MICROSOFT® ROBOTICS DEVELOPER STUDIO

                Wilian França Costa
    Orientador: Prof. Dr. Jackson Paul Matsuura
 Co-orientador: Prof. Dr. Alexandre da Silva Simões



                                                      1/66

       São José dos Campos, 23 de dezembro de 2009
Introdução
                         ●
                             Para que um robô móvel seja
                             considerado autônomo, ele deve
                             possuir a capacidade de navegar com
                             segurança em um ambiente
                             desconhecido evitando obstáculos
                             (BAILEY, 2002, p. 2).
                         ●
                             Usualmente o robô monta sua base de
                             conhecimento através da construção
Introdução (1/3)
Objetivo
Metodologia (3)
                             progressiva de um mapa utilizando os
MRDS (4)
SLAM (11)
                             dados de seus sensores (GUTMANN;
Scan Matching (13)
Solução Proposta (7)         KONOLIGE, 1999; HOWARD, 2004).
Resultados (15)                                                     2/66
Conclusão (2)
Trabalhos Futuros (3).
Motivação
                         ●
                             Localização e Mapeamento Simultâneo
                             (SLAM).
                         ●
                             Desafio constante em robótica móvel.
                         ●
                             Diversas abordagens, sendo que as
                             mais comuns utilizam métodos
                             estocásticos (HAHNEL et al., 2003),
                             iterativos (LU; MILIOS, 1994) e
Introdução (2/3)
                             combinações entre eles (BIBER;
Objetivo
Metodologia (3)              STRASSER, 2006).
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (15)                                                 3/66
Conclusão (2)
Trabalhos Futuros (3).
Motivação
                         ●
                             Exemplo de sucesso: robô Stanley
                             desenvolvido pela equipe do Dr. Sebastian
                             Thrun e que ganhou o desafio DARPA em
                             2005 (THRUN et al., 2006).




Introdução (3/3)
Objetivo                 (a) Ilustração do sensor laser: o sensor é inclinado para escanear o
Metodologia (3)
MRDS (4)                 terreno enquanto o robô se movimenta. O robô possui 5 sensores
SLAM (11)                montados em ângulos diferentes. (b) Cada scanner monta uma
Scan Matching (13)
Solução Proposta (7)     representação 3D em nuvem-de-pontos para identificar obstáculos.
Resultados (15)
Conclusão (2)
                         Fonte:(THRUN et al., 2006).                                       4/66

Trabalhos Futuros (3).
Objetivo
                        Desenvolvimento e implementação de
                        um algoritmo para a estimação e
                        correção da posição do robô permitindo
                        a construção em tempo real do mapa do
                        ambiente explorado em condições na
                        qual a leitura odométrica apresenta
                        imperfeições (ruídos, deslizamentos,
                        etc.).
Introdução (3)
Objetivo
Metodologia (3)
MRDS (n)
SLAM (1/n)
Scan Matching (n)
Solução Proposta (n)
Resultados (n)                                              5/66
Conclusão
Trabalhos Futuros.
Metodologia
                         ●
                             Para verificação da solução proposta
                             foram utilizados 5 (cinco) ambientes
                             estruturados (ambientes que podem ser
                             descritos por primitivas geométricas) e
                             estáticos (sem pessoas ou objetos
                             móveis).


Introdução (3)
                         ●
                             Foram efetuados um total de dez
Objetivo
Metodologia (1/3)            execuções, uma para cada algoritmo
MRDS (4)
SLAM (11)
Scan Matching (13)
                             em teste no ambiente.
Solução Proposta (7)
Resultados (15)                                                    6/66
Conclusão (2)
Trabalhos Futuros (3).
Metodologia
                         ●
                             Em cada experimento, os mapas
                             internos do robô são construídos
                             utilizando os dados fornecidos
                             pelos sensores aplicados aos
                             algoritmos em teste.


Introdução (3)
                         ●
                             Ambientes de teste, sensores e
Objetivo
Metodologia (2/3)
MRDS (4)
                             robô simulados no MRDS.
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (15)                                                 7/66
Conclusão (2)
Trabalhos Futuros (3).
Metodologia
                         ●
                             Os algoritmos são avaliados com
                             relação ao mapa e posição real
                             (ground truth).

                         ●
                             São apurados os índices de
                             desempenho propostos:
Introdução (3)
                             ●
                                 Erro Absoluto de Posição (EAA);
Objetivo
Metodologia (3/3)
MRDS (4)
                             ●
                                 Erro Absoluto Angular (EAA).
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
                             ●
                                 Teste Kolmogorov-Smirnov (KS).
Resultados (15)                                                    8/66
Conclusão (2)
Trabalhos Futuros (3).
MICROSOFT ROBOTICS    ®

                         DEVELOPER STUDIO
                         (MRDS)
                         ●
                             Ambiente de desenvolvimento para
                             aplicações robóticas baseado em
                             Windows®.
                         ●
                             Suporte a uma ampla variedade de
                             robôs comerciais.
                         ●
                             Possui um runtime “leve” assíncrono
Introdução (3)
Objetivo
                             orientado a serviços.
Metodologia (3)
MRDS (1/4)
                         ●
                             Conjunto de ferramentas para autoria e
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
                             simulação.
Resultados (15)                                                   9/66
Conclusão (2)
Trabalhos Futuros (3).
MICROSOFT ROBOTICS   ®

                         DEVELOPER STUDIO
                         (MRDS)
                         ●
                             Concurrency and Coordination Runtime
                             (CCR)
                              ●
                                Biblioteca de código gerenciado
                                (DLL) .Net (CLR).
                              ●
                                Facilita a manipulação de I/O
                                assincrona eliminando a
Introdução (3)                  complexidade envolvida com
Objetivo
Metodologia (3)
MRDS (2/4)
                                tratamento de threads, locks e
SLAM (11)
Scan Matching (13)
                                semáforos.
Solução Proposta (7)
Resultados (15)                                                 10/66
Conclusão (2)
Trabalhos Futuros (3).
MICROSOFT ROBOTICS       ®

                         DEVELOPER STUDIO
                         (MRDS)
                         ●
                             Distributed Software Services (DSS)




Introdução (3)
Objetivo
Metodologia (3)          Bloco básico representando um serviço DSS e exemplo
MRDS (3/4)
SLAM (11)                de funcionamento em conjunto com CCR (Forwarder).
Scan Matching (13)
Solução Proposta (7)     Fonte: (MICROSOFT, 2009).
Resultados (15)                                                          11/66
Conclusão (2)
Trabalhos Futuros (3).
MICROSOFT ROBOTICS
                                  ®

                         DEVELOPER STUDIO
                         (MRDS)




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4/4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (15)                           12/66
Conclusão (2)
Trabalhos Futuros (3).
Localização e
                           Mapeamento Simultâneo
                           (SLAM)




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (1/11)
Scan Matching (13)
Solução Proposta (7)
                         Fonte: http://www.cs.washington.edu/homes/letchner/classwork/cs327/MobileRoboticsMiniPresentation.ppt
Resultados (15)                                                                                                      13/66
Conclusão (2)
Trabalhos Futuros (3).
Localização e
                         Mapeamento Simultâneo
                         (SLAM)
                         ●
                             Posição do Robô
                             y




                                          x

                                   (a)                      (b)
Introdução (3)
Objetivo
Metodologia (3)          (a) 2D (plano) – (x, y, θ)
MRDS (4)
SLAM (2/11)
Scan Matching (13)
Solução Proposta (7)
                         (b) 3D (espaço) – (x, y, z, φ, θ, ψ)
Resultados (15)                                                   14/66
Conclusão (2)
Trabalhos Futuros (3).
Localização e
                         Mapeamento Simultâneo
                         (SLAM)
                         ●
                             Localização
                               Dados:
                                ●
                                    Mapa Global.
                                ●
                                    Posição inicial.
                                ●
                                    Leituras dos sensores.
                               Obter:
                                ●
                                    Posição do robô enquanto se
Introdução (3)
Objetivo                            movimenta.
Metodologia (3)
MRDS (4)
SLAM (3/11)
Scan Matching (13)
Solução Proposta (7)
Resultados (15)                                                   15/66
Conclusão (2)
Trabalhos Futuros (3).
Localização e
                         Mapeamento Simultâneo
                         (SLAM)
                         ●
                             Localização
                             ●
                                 Dead-recknoning (navegação
                                 estimada) – odometria, sensores
                                 inerciais.
                                  ●
                                      Problema: integração do erro.
                             ●
                                 GPS
                                  ●
                                      Problema: restrito a ambientes externos.
Introdução (3)
Objetivo
Metodologia (3)
                             ●
                                 Marcos com localização conhecida.
MRDS (4)
SLAM (4/11)
                                  ●
                                      Problema: restrito a ambientes
Scan Matching (13)
Solução Proposta (7)                  conhecidos.
Resultados (15)                                                             16/66
Conclusão (2)
Trabalhos Futuros (3).
Localização e
                         Mapeamento Simultâneo
                         (SLAM)
                         ●
                             Localização
                             ●
                                 Baseada em mapa: mapa global
                                 construído incrementalmente a partir
                                 de sucessivas leituras dos sensores
                                 (mapa local) enquanto robô explora o
                                 ambiente.
                                  ●
                                      Problema: necessidade de sensores
Introdução (3)                        precisos e ambientes com características
Objetivo
Metodologia (3)                       físicas de fácil distinção.
MRDS (4)
SLAM (5/11)
Scan Matching (13)
Solução Proposta (7)
Resultados (15)                                                            17/66
Conclusão (2)
Trabalhos Futuros (3).
Localização e
                         Mapeamento Simultâneo
                         (SLAM)
                         ●
                             Mapeamento
                             ●
                                 Mapas Métricos: (a) Grades de
                                 Ocupação e (b) Nuvem-de-Pontos .




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (6/11)
Scan Matching (13)
Solução Proposta (7)
Resultados (15)                       (a)              (b)          18/66
Conclusão (2)
Trabalhos Futuros (3).
Localização e
                         Mapeamento Simultâneo
                         (SLAM)
                         ●
                             Mapeamento
                              ●
                                  Mapas Topológicos: Grafos (a) e
                                  Diagramas de Voronoi (b).




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (7/11)                             (a)                 (b)
Scan Matching (13)
Solução Proposta (7)         Fonte: (SLAMET et al., 2006)
Resultados (15)                                                     19/66
Conclusão (2)
Trabalhos Futuros (3).
Localização e
                         Mapeamento Simultâneo
                         (SLAM)
                         ●
                             Mapeamento
                             ●
                                 Mapas Baseados em Características:
                                 Mapas de Marcos (Landmark Maps).
                                                       Exemplo estimação
                                                       do mapa e posição do
                                                       veiculo via filtro de
                                                       Kalman.
                                                       Fonte: Thrun (2002).

Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (8/11)
Scan Matching (13)
Solução Proposta (7)
Resultados (15)                                                        20/66
Conclusão (2)
Trabalhos Futuros (3).
Localização e
                         Mapeamento Simultâneo
                         (SLAM)
                         ●
                             Segundo Thrun (2002) ao lidar com
                             situações reais, uma solução para
                             o problema SLAM deve lidar com
                             os seguintes aspectos:
                             ●
                                 Limitações e ruídos dos sensores.
                             ●
                                 Acúmulo de erros.
Introdução (3)
                             ●
                                 Dimensionalidade dos dados.
Objetivo
Metodologia (3)
MRDS (4)
                             ●
                                 Correta associação entre dados do
SLAM (9/11)
Scan Matching (13)
Solução Proposta (7)
                                 ambiente, tratamento de obstáculos e
Resultados (15)
Conclusão (2)
                                  ambientes dinâmicos.             21/66

Trabalhos Futuros (3).
Localização e
                         Mapeamento Simultâneo
                         (SLAM)
                         ●
                             Abordagens
                             ●
                                 EKF um dos mais utilizados na
                                 solução SLAM (THRUN; BURGARD;
                                 FOX, 2005).
                                 ●
                                     Mapas de marcos são empregados para
                                     calcular estimativas de posicionamento e
                                     modelar as incertezas relativas a
Introdução (3)
                                     solução gerada.
Objetivo
Metodologia (3)
                                 ●
                                     Utiliza modelo estatístico de sensores e
MRDS (4)
SLAM (10/11)                         movimentação do robô.
Scan Matching (13)
Solução Proposta (7)
Resultados (15)                                                            22/66
Conclusão (2)
Trabalhos Futuros (3).
Localização e
                             Mapeamento Simultâneo
                             (SLAM)
                         ●
                             Abordagens
                             ●
                                 Correspondência (matching) entre marcos
                                  (BORENSTEIN et al., 1997) ou entre
                                 pontos identificados pelo sensor no
                                 ambiente (LU; MILIOS, 1994).
                                  ●
                                      Abordagem essencialmente numérica e
                                      computacional (DISSANAYAKE et al., 2001).
Introdução (3)
Objetivo
                                  ●
                                      Boa parte destes métodos empregam
Metodologia (3)
MRDS (4)                              variações do algoritmo ICP (Iterative Closest
SLAM (11/11)
Scan Matching (13)                    Point)  desenvolvido por Besl e McKay (1992).
Solução Proposta (7)
Resultados (15)                                                               23/66
Conclusão (2)
Trabalhos Futuros (3).
Scan Matching
                         ●
                             Alinhamento entre conjunto de
                             pontos (2D ou 3D). 
                         ●
                             Conjunto observado é alinhado a
                             um conjunto referência com o
                             objetivo de obter a máxima
                             correspondência entre seus
                             elementos.
Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
                         ●
                             Obter a translação e rotação
SLAM (11)
Scan Matching (1/13)         necessária para a sobreposição
Solução Proposta (7)
Resultados (15)
Conclusão (2)
                             máxima entre os conjuntos.        24/66

Trabalhos Futuros (3).
Scan Matching
                         ●
                             Segundo Lu e Milios (1994), pode-
                             se definir também como um
                             método de busca em que a menor
                             distância entre os conjuntos é o
                             estado final desejado.
                         ●
                             Usualmente a estimativa de
                             deslocamento por dead-recknoning
Introdução (3)
Objetivo
Metodologia (3)
                             é utilizada como aproximação
                             inicial para esta busca (LU;
MRDS (4)
SLAM (11)
Scan Matching (2/13)
Solução Proposta (7)
Resultados (15)              MILIOS,1994).                  25/66
Conclusão (2)
Trabalhos Futuros (3).
Scan Matching
                         Pode-se classificar estes algoritmos
                         como:
                         ●
                           Correspondências baseadas
                           apenas em características (feature
                           to feature).
                         ●
                           Correspondências baseadas em
Introdução (3)
                           pontos e características (point to
Objetivo
Metodologia (3)
MRDS (4)
                           feature).
SLAM (11)
Scan Matching (3/13)
Solução Proposta (7)
                         ●
                           Correspondências baseadas
Resultados (15)
Conclusão (2)
Trabalhos Futuros (3).
                           apenas em pontos (point to point).
                                                            26/66
Scan Matching
                          Correspondência entre pontos
                          gerados pelo sensor laser
                          ●
                              Caso (point to point).
                          ●
                              Neste trabalho, o sensor está
                              montado em um plano paralelo ao
                              chão do robô, perfazendo um recorte
                              2D do ambiente.
Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (4/13)
Solução Proposta (7)
Resultados (15)                                                27/66
Conclusão (2)
Trabalhos Futuros (3).
Scan Matching




                                        (a)                              (b)
                         (a) Direção de transmissão e ângulo máximo de escaneamento
Introdução (3)           do Sick LMS200. Fonte: https://www.mysick.com
Objetivo                 (b) Configuração e leitura do sensor Sick no P3DX. Fonte:
Metodologia (3)
MRDS (4)                 http://www.mbeckler.org/coursework/2007-2008/robotics_slam.pdf
SLAM (11)
Scan Matching (5/13)
Solução Proposta (7)
Resultados (15)                                                                     28/66
Conclusão (2)
Trabalhos Futuros (3).
Scan Matching

                                                                                           (3.1)




                                =180º


                           =0,5º                                                            (3.2)
                           i=0,... , N.
Introdução (3)             N =360
Objetivo
Metodologia (3)                           (a)                                      (b)
MRDS (4)
SLAM (11)
Scan Matching (6/13)     (a) Coordenadas polares e cartesianas para o ponto   pi   k
                                                                                       e
Solução Proposta (7)     respectivas equações (b).
Resultados (15)                                                                                29/66
Conclusão (2)
Trabalhos Futuros (3).
Scan Matching
                          Os pontos de uma leitura devem
                          ser associadas com os de outra.
                            (a) Antes do alinhamento e (b)
                            Depois do alinhamento.
                                                correspondência             correspondência




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)                    pos
                                  corr                            poscorr
                                                                     k
                                  k
SLAM (11)
Scan Matching (7/13)
                              pos        odo                                  pos corr
                                                                                  k 1
Solução Proposta (7)                     k 1
Resultados (15)                                                                           30/66
Conclusão (2)
Trabalhos Futuros (3).
                                                (a)                         (b)
Scan Matching
                         ●
                             Leituras consecutivas (k e k+1)
                             apresentam um deslocamento
                             relativo e um incremento rotacional
                             entre os planos XYK e XYk+1 dado
                             por Tk.

Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (8/13)
Solução Proposta (7)
Resultados (15)                                               31/66
Conclusão (2)
Trabalhos Futuros (3).
Scan Matching
                          Para que seja estabelecida uma
                          correta correspondência entre as
                          leituras as novas devem ser
                          projetadas em XYK utilizando Tk.



Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (9/13)
Solução Proposta (7)
Resultados (15)                                              32/66
Conclusão (2)
Trabalhos Futuros (3).
Scan Matching
                         ●
                             Correspondência




                         ●
                             Descarte de outliers e contagem de
                             correspondências válidas

Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (10/13)
Solução Proposta (7)
Resultados (15)                                                   33/66
Conclusão (2)
Trabalhos Futuros (3).
Scan Matching
                         ●
                             Grau de sobreposição da transformação



                         ●
                             Índice de qualidade da transformação




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (11/13)
Solução Proposta (7)
Resultados (15)                                                      34/66
Conclusão (2)
Trabalhos Futuros (3).
Scan Matching
                         ●
                             O Algoritmo ICP (Iterative Closest Point)




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (12/13)
Solução Proposta (7)
Resultados (15)                                                          35/66
Conclusão (2)
Trabalhos Futuros (3).
Scan Matching
                         ●
                             O Algoritmo ICP – Tranformação rigida (MARTÍNEZ et al., 2006).




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13/13)
Solução Proposta (7)
Resultados (15)                                                                        36/66
Conclusão (2)
Trabalhos Futuros (3).
Solução Proposta
                         ●
                             (a) Aproximação inicial (tempo discreto
                             k=0).
                         ●
                             (b) Aproximação inicial (tempo discreto
                             k>0)
                                               correspondência                     correspondência




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
                              poscorr
                                 k                                poscorr
                                                                     k
SLAM (11)                                               cand. 0                                   cand. 0
                                        odo            Tk                   odo                  Tk
Scan Matching (13)               pos    k 1                         pos    k 1    T
                                                                                        ótimo.
                                                                                        k −1
Solução Proposta (1/7)
Resultados (15)
Conclusão (2)
                                               (a)                                  (b)
                                                                                                            37/66

Trabalhos Futuros (3).
Solução Proposta
                         ●
                             (c) Testes adicionais baseados em índice
                             de qualidade.
                         ●
                             (d) Será escolhida a transformação que
                             apresentar o menor valor para o índice
                             para a equação (3.9).
                                                correspondência                                     correspondência




                                                                 cand. 4
                                                                Tk
Introdução (3)                                                                                                          cand. 4
                                                                                                        aprox. 1    Tk
Objetivo                                                                                            T
Metodologia (3)                poscorr
                                  k                                                  poscorr
                                                                                        k
                                                                                                        k
                                                                                                                               aprox. 2
MRDS (4)                                                                                           ótimo                  Tk
SLAM (11)                                T
                                             cand.1
                                                                     Tk
                                                                           cand. 2             T   k
                                             k                                                                      aprox. 3
Scan Matching (13)                                T
                                                      cand. 3                                                      Tk
                                                      k
Solução Proposta (2/7)
Resultados (15)                                                                                                                           38/66
Conclusão (2)                                  (c)                                                   (d)
Trabalhos Futuros (3).
Solução Proposta
                         ●
                             Mapas: local e global.
                         ●
                             Passos:
                             1. Projeta-se mapa local utilizando a
                                estimativa odométrica.
                             2.
                             3. Calcula-se a qualidade desta
                                transformação dado pela equação (3.9)
                             4. Se índice calculado para a transformação
Introdução (3)
Objetivo                        for menor que limiar, a aproximação será
Metodologia (3)
MRDS (4)                        considerada boa e esta será usada para
SLAM (11)
Scan Matching (13)              inserir as informações do mapa local no
Solução Proposta (3/7)
Resultados (15)                 mapa global.                             39/66
Conclusão (2)
Trabalhos Futuros (3).
Solução Proposta
                          Passos:
                          5. Caso não (valor maior que limiar), então
                             são efetuados os seguintes testes
                            adicionais.




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (4/7)
Resultados (15)                                                   40/66
Conclusão (2)
Trabalhos Futuros (3).
Solução Proposta
                         ●
                             Passos:
                             5. (Continuação)




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (5/7)
Resultados (15)                                 41/66
Conclusão (2)
Trabalhos Futuros (3).
Solução Proposta
                          Passos:
                          6. A transformação que apresentar o
                            menor índice será empregada.




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (6/7)
Resultados (15)                                                 42/66
Conclusão (2)
Trabalhos Futuros (3).
Solução Proposta
                         ●




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7/7)
Resultados (15)                             43/66
Conclusão (2)
Trabalhos Futuros (3).
Resultados
                         ●
                             Ambiente B – Mapa 3D e Trajetória.




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (77)
                             Ambiente com MAIOR “rugosidade”.
Resultados (1/15)                                               44/66
Conclusão (2)
Trabalhos Futuros (3).
Resultados
                         ●
                             Ambiente B - Trajetórias




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (2/15)                                       45/66
Conclusão (2)
Trabalhos Futuros (3).
Ambiente B:
  EAP, EAA
                         Resultados
                         ●
                             Ambiente B




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (3/15)                         46/66
Conclusão (2)
Trabalhos Futuros (3).
Ambiente B:
  Mapas Finais
                         Resultados
                         ●
                             Ambiente B




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (4/15)                         47/66
Conclusão (2)
Trabalhos Futuros (3).
Resultados
                         ●
                             Ambiente B - Diferença relativa de
                             89, 1% para ed final(m) e 74, 64%
                             para eθ final(º).




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (5/15)                                             48/66
Conclusão (2)
Trabalhos Futuros (3).
Resultados
                         ●
                             Ambiente B -Teste KS




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (6/15)                                   49/66
Conclusão (2)
Trabalhos Futuros (3).
Resultados
                         ●
                             Ambiente E – Mapa 3D e Trajetória.




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
                             Ambiente com MENOR “rugosidade”.
Resultados (7/15)                                               50/66
Conclusão (2)
Trabalhos Futuros (3).
Resultados
                         ●
                             Ambiente E - Trajetórias




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (8/15)                                       51/66
Conclusão (2)
Trabalhos Futuros (3).
Ambiente E:
  EAP, EAA
                         Resultados
                         ●
                             Ambiente B




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (9/15)                         52/66
Conclusão (2)
Trabalhos Futuros (3).
Ambiente E:
  Mapas Finais
                         Resultados
                         ●
                             Ambiente B




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (10/15)                        53/66
Conclusão (2)
Trabalhos Futuros (3).
Resultados
                         ●
                             Ambiente E - Diferença relativa maior que
                             90% para os valores finais dos erros em
                             favor do ICP.




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (11/15)                                                   54/66
Conclusão (2)
Trabalhos Futuros (3).
Resultados
                         ●
                             Ambiente E – Teste KS
                             ●
                                 Observa-se que tanto as correções
                                 efetuadas pelo ICP, quanto as efetuadas
                                 pela solução não foram muito significativas
                                 para a correção de deslocamento.
                                 Entretanto foram efetivas para a correção
                                 angular.



Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (12/15)                                                         55/66
Conclusão (2)
Trabalhos Futuros (3).
Resultados
                          Demais Ambientes
                          ●
                              Ambiente A - Diferença relativa de
                              95,59% para ed final(m) e 95,24% para
                              eθ final(º) para solução.




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (13/15)                                               56/66
Conclusão (2)
Trabalhos Futuros (3).
Resultados
                          Demais Ambientes
                          ●
                              Ambiente C - Diferença relativa de
                              80,16% para ed final(m) e 24,45% para
                              eθ final(º) para a solução.




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (14/15)                                               57/66
Conclusão (2)
Trabalhos Futuros (3).
Resultados
                          Demais Ambientes
                          ●
                              Ambiente D - Diferenças relativas
                              maiores que 90% em favor do ICP.




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (15/15)                                                58/66
Conclusão (2)
Trabalhos Futuros (3).
Conclusão
                         ●
                             Através dos resultados obtidos pode-se
                             afirmar que este método obtém êxito em
                             alguns casos, principalmente aqueles em
                             que o ambiente possui uma maior
                             ”rugosidade”.
                         ●
                              Para estes ambientes, os resultados foram
                             sensivelmente superiores, obtendo uma
                             diferença relativa maior que 50% para os
Introdução (3)               valores finais dos erros de deslocamento e
Objetivo
Metodologia (3)              maior que 20% para os valores finais dos
MRDS (4)
SLAM (11)                    erros angulares (ambientes A, B e C).
Scan Matching (13)
Solução Proposta (7)
Resultados (15)                                                        59/66
Conclusão (1/2)
Trabalhos Futuros (3).
Conclusão
                         ●
                             Para os ambientes com menor
                             “rugosidade” (D e E) observou-se que tanto
                             o ICP quanto a solução conseguem
                             melhorar a estimativa, mas não muito
                             devido a ambiguidade destes ambientes.




Introdução (3)
Objetivo
Metodologia (3)
MRDS (4)
SLAM (11)
Scan Matching (13)
Solução Proposta (7)
Resultados (15)                                                      60/66
Conclusão (2/2)
Trabalhos Futuros (3).
Trabalhos Futuros
                           Para melhorar a solução proposta, pode-se
                           considerar a utilização em conjunto com:
                           ●
                                Métodos probabilísticos como ferramenta
                               para se minimizar os efeitos dos problemas
                               causados pela ambiguidade presente em
                               certos ambientes. Durante as simulações
                               este fenômeno demostrou-se mais
                               significativo do que era esperado.
                           ●
                                Métodos de aprendizado por reforço como
Introdução (3)
Objetivo                       em Monteiro e Ribeiro (2004), também
Metodologia (3)
MRDS (4)                       poderiam diminuir os efeitos causados pela
SLAM (11)
Scan Matching (13)             ambiguidade.
Solução Proposta (7)
Resultados (15)                                                        61/66
Conclusão (2)
Trabalhos Futuros (1/3)
Trabalhos Futuros
                           ●
                               Fusão de vários mapas de robôs diferentes,
                               utilizando um método como o descrito em
                               Biber e Strasser (2006).
                           ●
                               Inserção de métodos para aceleração
                               da seleção e descarte prévios de
                               outliers. O tempo de processamento
                               pode ser reduzido significativamente se
                               implementado um método que permita
Introdução (3)
                               diminuir o número de comparações em
Objetivo
Metodologia (3)
                               cada iteração, ou ao menos mantê-lo
MRDS (4)
SLAM (11)                      constante.
Scan Matching (13)
Solução Proposta (7)
Resultados (15)                                                        62/66
Conclusão (2)
Trabalhos Futuros (2/3)
Trabalhos Futuros
                           ●
                               Adição de métodos para detecção de ciclos
                               no ambiente e semelhança entre regiões
                               previamente exploradas. O uso em
                               conjunto com um método como o proposto
                               em Gutmann e Konolige (1999), no qual é
                               feito registo local e correlação global, pode
                               apresentar bons resultados.
                           ●
                               Utilização em conjunto com algoritmos para
                               planejamento de rotas: pode ser empregado
Introdução (3)
Objetivo
                               juntamente com mapas topológicos, para
Metodologia (3)
MRDS (4)
                               construção de algoritmos de navegação, ou
SLAM (11)
Scan Matching (13)
                               algum outro método como, por exemplo,
Solução Proposta (7)
Resultados (15)
                               VFH (BORENSTEIN; KOREN, 1991).              63/66
Conclusão (2)
Trabalhos Futuros (3/3)
Aplicações
●
    Robotic mapping/floor plan
    technology
    http://www.youtube.com/watch?v=jxMVshpYYyk&NR=1




                                                      64/66
Links Interesantes
●
    SLAM for dummies
    http://ocw.mit.edu/NR/rdonlyres/Aeronautics-and-Astronautics/16-
    412JSpring-2005/9D8DB59F-24EC-4B75-BA7A-
    F0916BAB2440/0/1aslam_blas_repo.pdf
●
    OpenSlam
    http://www.openslam.org/
●
    The Mobile Robot Programming Toolkit
    (MRPT)
    http://babel.isa.uma.es/mrpt/index.php/Main_Page
●
    The Rawseeds Project
    http://www.rawseeds.org
●
    Professional Microsoft Robotics Developer Studio
    Companion Web Site.
    http://www.promrds.com                                             65/66
CENTRO TÉCNICO AEROESPACIAL
INSTITUTO TECNOLÓGICO DE AERONÁUTICA
   DIVISÃO DE ENGENHARIA ELETRÔNICA
DEPARTAMENTO DE SISTEMAS DE CONTROLE




    LOCALIZAÇÃO E MAPEAMENTO EM TEMPO
     REAL UTILIZANDO ROBÔ SIMULADO NO
   MICROSOFT® ROBOTICS DEVELOPER STUDIO

                       Wilian França Costa
           Orientador: Prof. Dr. Jackson Paul Matsuura
        Co-orientador: Prof. Dr. Alexandre da Silva Simões



          São José dos Campos, 23 de dezembro de 2009

                                                             66/66

Mais conteúdo relacionado

Semelhante a LOCALIZAÇÃO E MAPEAMENTO EM TEMPO REAL UTILIZANDO ROBÔ SIMULADO NO MICROSOFT® ROBOTICS DEVELOPER STUDIO

Apresentação da Dissertação
Apresentação da DissertaçãoApresentação da Dissertação
Apresentação da DissertaçãoRoberson Alves
 
Apresentação de Dissertação Mestrado em Ciências da Computação
Apresentação de Dissertação Mestrado em Ciências da ComputaçãoApresentação de Dissertação Mestrado em Ciências da Computação
Apresentação de Dissertação Mestrado em Ciências da ComputaçãoJuan José Rodriguez MsC.
 
Mestrado - Sistema Neural Reativo para o Estacionamento Paralelo com uma Únic...
Mestrado - Sistema Neural Reativo para o Estacionamento Paralelo com uma Únic...Mestrado - Sistema Neural Reativo para o Estacionamento Paralelo com uma Únic...
Mestrado - Sistema Neural Reativo para o Estacionamento Paralelo com uma Únic...Kleber de Oliveira Andrade
 
Detecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPDetecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPAdilmar Dantas
 
Project presentation: Low-cost Autonomous Navigation System Based on Optical ...
Project presentation: Low-cost Autonomous Navigation System Based on Optical ...Project presentation: Low-cost Autonomous Navigation System Based on Optical ...
Project presentation: Low-cost Autonomous Navigation System Based on Optical ...Michel Meneses
 

Semelhante a LOCALIZAÇÃO E MAPEAMENTO EM TEMPO REAL UTILIZANDO ROBÔ SIMULADO NO MICROSOFT® ROBOTICS DEVELOPER STUDIO (6)

Apresentação da Dissertação
Apresentação da DissertaçãoApresentação da Dissertação
Apresentação da Dissertação
 
Apresentação de Dissertação Mestrado em Ciências da Computação
Apresentação de Dissertação Mestrado em Ciências da ComputaçãoApresentação de Dissertação Mestrado em Ciências da Computação
Apresentação de Dissertação Mestrado em Ciências da Computação
 
Mestrado - Sistema Neural Reativo para o Estacionamento Paralelo com uma Únic...
Mestrado - Sistema Neural Reativo para o Estacionamento Paralelo com uma Únic...Mestrado - Sistema Neural Reativo para o Estacionamento Paralelo com uma Únic...
Mestrado - Sistema Neural Reativo para o Estacionamento Paralelo com uma Únic...
 
Detecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPDetecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLP
 
Project presentation: Low-cost Autonomous Navigation System Based on Optical ...
Project presentation: Low-cost Autonomous Navigation System Based on Optical ...Project presentation: Low-cost Autonomous Navigation System Based on Optical ...
Project presentation: Low-cost Autonomous Navigation System Based on Optical ...
 
Tutorial Ansys Workbench
Tutorial Ansys WorkbenchTutorial Ansys Workbench
Tutorial Ansys Workbench
 

LOCALIZAÇÃO E MAPEAMENTO EM TEMPO REAL UTILIZANDO ROBÔ SIMULADO NO MICROSOFT® ROBOTICS DEVELOPER STUDIO

  • 1. CENTRO TÉCNICO AEROESPACIAL INSTITUTO TECNOLÓGICO DE AERONÁUTICA DIVISÃO DE ENGENHARIA ELETRÔNICA DEPARTAMENTO DE SISTEMAS DE CONTROLE LOCALIZAÇÃO E MAPEAMENTO EM TEMPO REAL UTILIZANDO ROBÔ SIMULADO NO MICROSOFT® ROBOTICS DEVELOPER STUDIO Wilian França Costa Orientador: Prof. Dr. Jackson Paul Matsuura Co-orientador: Prof. Dr. Alexandre da Silva Simões 1/66 São José dos Campos, 23 de dezembro de 2009
  • 2. Introdução ● Para que um robô móvel seja considerado autônomo, ele deve possuir a capacidade de navegar com segurança em um ambiente desconhecido evitando obstáculos (BAILEY, 2002, p. 2). ● Usualmente o robô monta sua base de conhecimento através da construção Introdução (1/3) Objetivo Metodologia (3) progressiva de um mapa utilizando os MRDS (4) SLAM (11) dados de seus sensores (GUTMANN; Scan Matching (13) Solução Proposta (7) KONOLIGE, 1999; HOWARD, 2004). Resultados (15) 2/66 Conclusão (2) Trabalhos Futuros (3).
  • 3. Motivação ● Localização e Mapeamento Simultâneo (SLAM). ● Desafio constante em robótica móvel. ● Diversas abordagens, sendo que as mais comuns utilizam métodos estocásticos (HAHNEL et al., 2003), iterativos (LU; MILIOS, 1994) e Introdução (2/3) combinações entre eles (BIBER; Objetivo Metodologia (3) STRASSER, 2006). MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (15) 3/66 Conclusão (2) Trabalhos Futuros (3).
  • 4. Motivação ● Exemplo de sucesso: robô Stanley desenvolvido pela equipe do Dr. Sebastian Thrun e que ganhou o desafio DARPA em 2005 (THRUN et al., 2006). Introdução (3/3) Objetivo (a) Ilustração do sensor laser: o sensor é inclinado para escanear o Metodologia (3) MRDS (4) terreno enquanto o robô se movimenta. O robô possui 5 sensores SLAM (11) montados em ângulos diferentes. (b) Cada scanner monta uma Scan Matching (13) Solução Proposta (7) representação 3D em nuvem-de-pontos para identificar obstáculos. Resultados (15) Conclusão (2) Fonte:(THRUN et al., 2006). 4/66 Trabalhos Futuros (3).
  • 5. Objetivo Desenvolvimento e implementação de um algoritmo para a estimação e correção da posição do robô permitindo a construção em tempo real do mapa do ambiente explorado em condições na qual a leitura odométrica apresenta imperfeições (ruídos, deslizamentos, etc.). Introdução (3) Objetivo Metodologia (3) MRDS (n) SLAM (1/n) Scan Matching (n) Solução Proposta (n) Resultados (n) 5/66 Conclusão Trabalhos Futuros.
  • 6. Metodologia ● Para verificação da solução proposta foram utilizados 5 (cinco) ambientes estruturados (ambientes que podem ser descritos por primitivas geométricas) e estáticos (sem pessoas ou objetos móveis). Introdução (3) ● Foram efetuados um total de dez Objetivo Metodologia (1/3) execuções, uma para cada algoritmo MRDS (4) SLAM (11) Scan Matching (13) em teste no ambiente. Solução Proposta (7) Resultados (15) 6/66 Conclusão (2) Trabalhos Futuros (3).
  • 7. Metodologia ● Em cada experimento, os mapas internos do robô são construídos utilizando os dados fornecidos pelos sensores aplicados aos algoritmos em teste. Introdução (3) ● Ambientes de teste, sensores e Objetivo Metodologia (2/3) MRDS (4) robô simulados no MRDS. SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (15) 7/66 Conclusão (2) Trabalhos Futuros (3).
  • 8. Metodologia ● Os algoritmos são avaliados com relação ao mapa e posição real (ground truth). ● São apurados os índices de desempenho propostos: Introdução (3) ● Erro Absoluto de Posição (EAA); Objetivo Metodologia (3/3) MRDS (4) ● Erro Absoluto Angular (EAA). SLAM (11) Scan Matching (13) Solução Proposta (7) ● Teste Kolmogorov-Smirnov (KS). Resultados (15) 8/66 Conclusão (2) Trabalhos Futuros (3).
  • 9. MICROSOFT ROBOTICS ® DEVELOPER STUDIO (MRDS) ● Ambiente de desenvolvimento para aplicações robóticas baseado em Windows®. ● Suporte a uma ampla variedade de robôs comerciais. ● Possui um runtime “leve” assíncrono Introdução (3) Objetivo orientado a serviços. Metodologia (3) MRDS (1/4) ● Conjunto de ferramentas para autoria e SLAM (11) Scan Matching (13) Solução Proposta (7) simulação. Resultados (15) 9/66 Conclusão (2) Trabalhos Futuros (3).
  • 10. MICROSOFT ROBOTICS ® DEVELOPER STUDIO (MRDS) ● Concurrency and Coordination Runtime (CCR) ● Biblioteca de código gerenciado (DLL) .Net (CLR). ● Facilita a manipulação de I/O assincrona eliminando a Introdução (3) complexidade envolvida com Objetivo Metodologia (3) MRDS (2/4) tratamento de threads, locks e SLAM (11) Scan Matching (13) semáforos. Solução Proposta (7) Resultados (15) 10/66 Conclusão (2) Trabalhos Futuros (3).
  • 11. MICROSOFT ROBOTICS ® DEVELOPER STUDIO (MRDS) ● Distributed Software Services (DSS) Introdução (3) Objetivo Metodologia (3) Bloco básico representando um serviço DSS e exemplo MRDS (3/4) SLAM (11) de funcionamento em conjunto com CCR (Forwarder). Scan Matching (13) Solução Proposta (7) Fonte: (MICROSOFT, 2009). Resultados (15) 11/66 Conclusão (2) Trabalhos Futuros (3).
  • 12. MICROSOFT ROBOTICS ® DEVELOPER STUDIO (MRDS) Introdução (3) Objetivo Metodologia (3) MRDS (4/4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (15) 12/66 Conclusão (2) Trabalhos Futuros (3).
  • 13. Localização e Mapeamento Simultâneo (SLAM) Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (1/11) Scan Matching (13) Solução Proposta (7) Fonte: http://www.cs.washington.edu/homes/letchner/classwork/cs327/MobileRoboticsMiniPresentation.ppt Resultados (15) 13/66 Conclusão (2) Trabalhos Futuros (3).
  • 14. Localização e Mapeamento Simultâneo (SLAM) ● Posição do Robô y x (a) (b) Introdução (3) Objetivo Metodologia (3) (a) 2D (plano) – (x, y, θ) MRDS (4) SLAM (2/11) Scan Matching (13) Solução Proposta (7) (b) 3D (espaço) – (x, y, z, φ, θ, ψ) Resultados (15) 14/66 Conclusão (2) Trabalhos Futuros (3).
  • 15. Localização e Mapeamento Simultâneo (SLAM) ● Localização Dados: ● Mapa Global. ● Posição inicial. ● Leituras dos sensores. Obter: ● Posição do robô enquanto se Introdução (3) Objetivo movimenta. Metodologia (3) MRDS (4) SLAM (3/11) Scan Matching (13) Solução Proposta (7) Resultados (15) 15/66 Conclusão (2) Trabalhos Futuros (3).
  • 16. Localização e Mapeamento Simultâneo (SLAM) ● Localização ● Dead-recknoning (navegação estimada) – odometria, sensores inerciais. ● Problema: integração do erro. ● GPS ● Problema: restrito a ambientes externos. Introdução (3) Objetivo Metodologia (3) ● Marcos com localização conhecida. MRDS (4) SLAM (4/11) ● Problema: restrito a ambientes Scan Matching (13) Solução Proposta (7) conhecidos. Resultados (15) 16/66 Conclusão (2) Trabalhos Futuros (3).
  • 17. Localização e Mapeamento Simultâneo (SLAM) ● Localização ● Baseada em mapa: mapa global construído incrementalmente a partir de sucessivas leituras dos sensores (mapa local) enquanto robô explora o ambiente. ● Problema: necessidade de sensores Introdução (3) precisos e ambientes com características Objetivo Metodologia (3) físicas de fácil distinção. MRDS (4) SLAM (5/11) Scan Matching (13) Solução Proposta (7) Resultados (15) 17/66 Conclusão (2) Trabalhos Futuros (3).
  • 18. Localização e Mapeamento Simultâneo (SLAM) ● Mapeamento ● Mapas Métricos: (a) Grades de Ocupação e (b) Nuvem-de-Pontos . Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (6/11) Scan Matching (13) Solução Proposta (7) Resultados (15) (a) (b) 18/66 Conclusão (2) Trabalhos Futuros (3).
  • 19. Localização e Mapeamento Simultâneo (SLAM) ● Mapeamento ● Mapas Topológicos: Grafos (a) e Diagramas de Voronoi (b). Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (7/11) (a) (b) Scan Matching (13) Solução Proposta (7) Fonte: (SLAMET et al., 2006) Resultados (15) 19/66 Conclusão (2) Trabalhos Futuros (3).
  • 20. Localização e Mapeamento Simultâneo (SLAM) ● Mapeamento ● Mapas Baseados em Características: Mapas de Marcos (Landmark Maps). Exemplo estimação do mapa e posição do veiculo via filtro de Kalman. Fonte: Thrun (2002). Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (8/11) Scan Matching (13) Solução Proposta (7) Resultados (15) 20/66 Conclusão (2) Trabalhos Futuros (3).
  • 21. Localização e Mapeamento Simultâneo (SLAM) ● Segundo Thrun (2002) ao lidar com situações reais, uma solução para o problema SLAM deve lidar com os seguintes aspectos: ● Limitações e ruídos dos sensores. ● Acúmulo de erros. Introdução (3) ● Dimensionalidade dos dados. Objetivo Metodologia (3) MRDS (4) ● Correta associação entre dados do SLAM (9/11) Scan Matching (13) Solução Proposta (7) ambiente, tratamento de obstáculos e Resultados (15) Conclusão (2) ambientes dinâmicos. 21/66 Trabalhos Futuros (3).
  • 22. Localização e Mapeamento Simultâneo (SLAM) ● Abordagens ● EKF um dos mais utilizados na solução SLAM (THRUN; BURGARD; FOX, 2005). ● Mapas de marcos são empregados para calcular estimativas de posicionamento e modelar as incertezas relativas a Introdução (3) solução gerada. Objetivo Metodologia (3) ● Utiliza modelo estatístico de sensores e MRDS (4) SLAM (10/11) movimentação do robô. Scan Matching (13) Solução Proposta (7) Resultados (15) 22/66 Conclusão (2) Trabalhos Futuros (3).
  • 23. Localização e Mapeamento Simultâneo (SLAM) ● Abordagens ● Correspondência (matching) entre marcos (BORENSTEIN et al., 1997) ou entre pontos identificados pelo sensor no ambiente (LU; MILIOS, 1994). ● Abordagem essencialmente numérica e computacional (DISSANAYAKE et al., 2001). Introdução (3) Objetivo ● Boa parte destes métodos empregam Metodologia (3) MRDS (4) variações do algoritmo ICP (Iterative Closest SLAM (11/11) Scan Matching (13) Point)  desenvolvido por Besl e McKay (1992). Solução Proposta (7) Resultados (15) 23/66 Conclusão (2) Trabalhos Futuros (3).
  • 24. Scan Matching ● Alinhamento entre conjunto de pontos (2D ou 3D).  ● Conjunto observado é alinhado a um conjunto referência com o objetivo de obter a máxima correspondência entre seus elementos. Introdução (3) Objetivo Metodologia (3) MRDS (4) ● Obter a translação e rotação SLAM (11) Scan Matching (1/13) necessária para a sobreposição Solução Proposta (7) Resultados (15) Conclusão (2) máxima entre os conjuntos. 24/66 Trabalhos Futuros (3).
  • 25. Scan Matching ● Segundo Lu e Milios (1994), pode- se definir também como um método de busca em que a menor distância entre os conjuntos é o estado final desejado. ● Usualmente a estimativa de deslocamento por dead-recknoning Introdução (3) Objetivo Metodologia (3) é utilizada como aproximação inicial para esta busca (LU; MRDS (4) SLAM (11) Scan Matching (2/13) Solução Proposta (7) Resultados (15) MILIOS,1994). 25/66 Conclusão (2) Trabalhos Futuros (3).
  • 26. Scan Matching Pode-se classificar estes algoritmos como: ● Correspondências baseadas apenas em características (feature to feature). ● Correspondências baseadas em Introdução (3) pontos e características (point to Objetivo Metodologia (3) MRDS (4) feature). SLAM (11) Scan Matching (3/13) Solução Proposta (7) ● Correspondências baseadas Resultados (15) Conclusão (2) Trabalhos Futuros (3). apenas em pontos (point to point). 26/66
  • 27. Scan Matching Correspondência entre pontos gerados pelo sensor laser ● Caso (point to point). ● Neste trabalho, o sensor está montado em um plano paralelo ao chão do robô, perfazendo um recorte 2D do ambiente. Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (4/13) Solução Proposta (7) Resultados (15) 27/66 Conclusão (2) Trabalhos Futuros (3).
  • 28. Scan Matching (a) (b) (a) Direção de transmissão e ângulo máximo de escaneamento Introdução (3) do Sick LMS200. Fonte: https://www.mysick.com Objetivo (b) Configuração e leitura do sensor Sick no P3DX. Fonte: Metodologia (3) MRDS (4) http://www.mbeckler.org/coursework/2007-2008/robotics_slam.pdf SLAM (11) Scan Matching (5/13) Solução Proposta (7) Resultados (15) 28/66 Conclusão (2) Trabalhos Futuros (3).
  • 29. Scan Matching (3.1) =180º =0,5º (3.2) i=0,... , N. Introdução (3) N =360 Objetivo Metodologia (3) (a) (b) MRDS (4) SLAM (11) Scan Matching (6/13) (a) Coordenadas polares e cartesianas para o ponto pi k e Solução Proposta (7) respectivas equações (b). Resultados (15) 29/66 Conclusão (2) Trabalhos Futuros (3).
  • 30. Scan Matching Os pontos de uma leitura devem ser associadas com os de outra. (a) Antes do alinhamento e (b) Depois do alinhamento. correspondência correspondência Introdução (3) Objetivo Metodologia (3) MRDS (4) pos corr poscorr k k SLAM (11) Scan Matching (7/13) pos odo pos corr k 1 Solução Proposta (7) k 1 Resultados (15) 30/66 Conclusão (2) Trabalhos Futuros (3). (a) (b)
  • 31. Scan Matching ● Leituras consecutivas (k e k+1) apresentam um deslocamento relativo e um incremento rotacional entre os planos XYK e XYk+1 dado por Tk. Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (8/13) Solução Proposta (7) Resultados (15) 31/66 Conclusão (2) Trabalhos Futuros (3).
  • 32. Scan Matching Para que seja estabelecida uma correta correspondência entre as leituras as novas devem ser projetadas em XYK utilizando Tk. Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (9/13) Solução Proposta (7) Resultados (15) 32/66 Conclusão (2) Trabalhos Futuros (3).
  • 33. Scan Matching ● Correspondência ● Descarte de outliers e contagem de correspondências válidas Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (10/13) Solução Proposta (7) Resultados (15) 33/66 Conclusão (2) Trabalhos Futuros (3).
  • 34. Scan Matching ● Grau de sobreposição da transformação ● Índice de qualidade da transformação Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (11/13) Solução Proposta (7) Resultados (15) 34/66 Conclusão (2) Trabalhos Futuros (3).
  • 35. Scan Matching ● O Algoritmo ICP (Iterative Closest Point) Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (12/13) Solução Proposta (7) Resultados (15) 35/66 Conclusão (2) Trabalhos Futuros (3).
  • 36. Scan Matching ● O Algoritmo ICP – Tranformação rigida (MARTÍNEZ et al., 2006). Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13/13) Solução Proposta (7) Resultados (15) 36/66 Conclusão (2) Trabalhos Futuros (3).
  • 37. Solução Proposta ● (a) Aproximação inicial (tempo discreto k=0). ● (b) Aproximação inicial (tempo discreto k>0) correspondência correspondência Introdução (3) Objetivo Metodologia (3) MRDS (4) poscorr k poscorr k SLAM (11) cand. 0 cand. 0 odo Tk odo Tk Scan Matching (13) pos k 1 pos k 1 T ótimo. k −1 Solução Proposta (1/7) Resultados (15) Conclusão (2) (a) (b) 37/66 Trabalhos Futuros (3).
  • 38. Solução Proposta ● (c) Testes adicionais baseados em índice de qualidade. ● (d) Será escolhida a transformação que apresentar o menor valor para o índice para a equação (3.9). correspondência correspondência cand. 4 Tk Introdução (3) cand. 4 aprox. 1 Tk Objetivo T Metodologia (3) poscorr k poscorr k k aprox. 2 MRDS (4) ótimo Tk SLAM (11) T cand.1 Tk cand. 2 T k k aprox. 3 Scan Matching (13) T cand. 3 Tk k Solução Proposta (2/7) Resultados (15) 38/66 Conclusão (2) (c) (d) Trabalhos Futuros (3).
  • 39. Solução Proposta ● Mapas: local e global. ● Passos: 1. Projeta-se mapa local utilizando a estimativa odométrica. 2. 3. Calcula-se a qualidade desta transformação dado pela equação (3.9) 4. Se índice calculado para a transformação Introdução (3) Objetivo for menor que limiar, a aproximação será Metodologia (3) MRDS (4) considerada boa e esta será usada para SLAM (11) Scan Matching (13) inserir as informações do mapa local no Solução Proposta (3/7) Resultados (15) mapa global. 39/66 Conclusão (2) Trabalhos Futuros (3).
  • 40. Solução Proposta Passos: 5. Caso não (valor maior que limiar), então são efetuados os seguintes testes adicionais. Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (4/7) Resultados (15) 40/66 Conclusão (2) Trabalhos Futuros (3).
  • 41. Solução Proposta ● Passos: 5. (Continuação) Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (5/7) Resultados (15) 41/66 Conclusão (2) Trabalhos Futuros (3).
  • 42. Solução Proposta Passos: 6. A transformação que apresentar o menor índice será empregada. Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (6/7) Resultados (15) 42/66 Conclusão (2) Trabalhos Futuros (3).
  • 43. Solução Proposta ● Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7/7) Resultados (15) 43/66 Conclusão (2) Trabalhos Futuros (3).
  • 44. Resultados ● Ambiente B – Mapa 3D e Trajetória. Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (77) Ambiente com MAIOR “rugosidade”. Resultados (1/15) 44/66 Conclusão (2) Trabalhos Futuros (3).
  • 45. Resultados ● Ambiente B - Trajetórias Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (2/15) 45/66 Conclusão (2) Trabalhos Futuros (3).
  • 46. Ambiente B: EAP, EAA Resultados ● Ambiente B Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (3/15) 46/66 Conclusão (2) Trabalhos Futuros (3).
  • 47. Ambiente B: Mapas Finais Resultados ● Ambiente B Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (4/15) 47/66 Conclusão (2) Trabalhos Futuros (3).
  • 48. Resultados ● Ambiente B - Diferença relativa de 89, 1% para ed final(m) e 74, 64% para eθ final(º). Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (5/15) 48/66 Conclusão (2) Trabalhos Futuros (3).
  • 49. Resultados ● Ambiente B -Teste KS Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (6/15) 49/66 Conclusão (2) Trabalhos Futuros (3).
  • 50. Resultados ● Ambiente E – Mapa 3D e Trajetória. Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Ambiente com MENOR “rugosidade”. Resultados (7/15) 50/66 Conclusão (2) Trabalhos Futuros (3).
  • 51. Resultados ● Ambiente E - Trajetórias Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (8/15) 51/66 Conclusão (2) Trabalhos Futuros (3).
  • 52. Ambiente E: EAP, EAA Resultados ● Ambiente B Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (9/15) 52/66 Conclusão (2) Trabalhos Futuros (3).
  • 53. Ambiente E: Mapas Finais Resultados ● Ambiente B Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (10/15) 53/66 Conclusão (2) Trabalhos Futuros (3).
  • 54. Resultados ● Ambiente E - Diferença relativa maior que 90% para os valores finais dos erros em favor do ICP. Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (11/15) 54/66 Conclusão (2) Trabalhos Futuros (3).
  • 55. Resultados ● Ambiente E – Teste KS ● Observa-se que tanto as correções efetuadas pelo ICP, quanto as efetuadas pela solução não foram muito significativas para a correção de deslocamento. Entretanto foram efetivas para a correção angular. Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (12/15) 55/66 Conclusão (2) Trabalhos Futuros (3).
  • 56. Resultados Demais Ambientes ● Ambiente A - Diferença relativa de 95,59% para ed final(m) e 95,24% para eθ final(º) para solução. Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (13/15) 56/66 Conclusão (2) Trabalhos Futuros (3).
  • 57. Resultados Demais Ambientes ● Ambiente C - Diferença relativa de 80,16% para ed final(m) e 24,45% para eθ final(º) para a solução. Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (14/15) 57/66 Conclusão (2) Trabalhos Futuros (3).
  • 58. Resultados Demais Ambientes ● Ambiente D - Diferenças relativas maiores que 90% em favor do ICP. Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (15/15) 58/66 Conclusão (2) Trabalhos Futuros (3).
  • 59. Conclusão ● Através dos resultados obtidos pode-se afirmar que este método obtém êxito em alguns casos, principalmente aqueles em que o ambiente possui uma maior ”rugosidade”. ● Para estes ambientes, os resultados foram sensivelmente superiores, obtendo uma diferença relativa maior que 50% para os Introdução (3) valores finais dos erros de deslocamento e Objetivo Metodologia (3) maior que 20% para os valores finais dos MRDS (4) SLAM (11) erros angulares (ambientes A, B e C). Scan Matching (13) Solução Proposta (7) Resultados (15) 59/66 Conclusão (1/2) Trabalhos Futuros (3).
  • 60. Conclusão ● Para os ambientes com menor “rugosidade” (D e E) observou-se que tanto o ICP quanto a solução conseguem melhorar a estimativa, mas não muito devido a ambiguidade destes ambientes. Introdução (3) Objetivo Metodologia (3) MRDS (4) SLAM (11) Scan Matching (13) Solução Proposta (7) Resultados (15) 60/66 Conclusão (2/2) Trabalhos Futuros (3).
  • 61. Trabalhos Futuros Para melhorar a solução proposta, pode-se considerar a utilização em conjunto com: ● Métodos probabilísticos como ferramenta para se minimizar os efeitos dos problemas causados pela ambiguidade presente em certos ambientes. Durante as simulações este fenômeno demostrou-se mais significativo do que era esperado. ● Métodos de aprendizado por reforço como Introdução (3) Objetivo em Monteiro e Ribeiro (2004), também Metodologia (3) MRDS (4) poderiam diminuir os efeitos causados pela SLAM (11) Scan Matching (13) ambiguidade. Solução Proposta (7) Resultados (15) 61/66 Conclusão (2) Trabalhos Futuros (1/3)
  • 62. Trabalhos Futuros ● Fusão de vários mapas de robôs diferentes, utilizando um método como o descrito em Biber e Strasser (2006). ● Inserção de métodos para aceleração da seleção e descarte prévios de outliers. O tempo de processamento pode ser reduzido significativamente se implementado um método que permita Introdução (3) diminuir o número de comparações em Objetivo Metodologia (3) cada iteração, ou ao menos mantê-lo MRDS (4) SLAM (11) constante. Scan Matching (13) Solução Proposta (7) Resultados (15) 62/66 Conclusão (2) Trabalhos Futuros (2/3)
  • 63. Trabalhos Futuros ● Adição de métodos para detecção de ciclos no ambiente e semelhança entre regiões previamente exploradas. O uso em conjunto com um método como o proposto em Gutmann e Konolige (1999), no qual é feito registo local e correlação global, pode apresentar bons resultados. ● Utilização em conjunto com algoritmos para planejamento de rotas: pode ser empregado Introdução (3) Objetivo juntamente com mapas topológicos, para Metodologia (3) MRDS (4) construção de algoritmos de navegação, ou SLAM (11) Scan Matching (13) algum outro método como, por exemplo, Solução Proposta (7) Resultados (15) VFH (BORENSTEIN; KOREN, 1991). 63/66 Conclusão (2) Trabalhos Futuros (3/3)
  • 64. Aplicações ● Robotic mapping/floor plan technology http://www.youtube.com/watch?v=jxMVshpYYyk&NR=1 64/66
  • 65. Links Interesantes ● SLAM for dummies http://ocw.mit.edu/NR/rdonlyres/Aeronautics-and-Astronautics/16- 412JSpring-2005/9D8DB59F-24EC-4B75-BA7A- F0916BAB2440/0/1aslam_blas_repo.pdf ● OpenSlam http://www.openslam.org/ ● The Mobile Robot Programming Toolkit (MRPT) http://babel.isa.uma.es/mrpt/index.php/Main_Page ● The Rawseeds Project http://www.rawseeds.org ● Professional Microsoft Robotics Developer Studio Companion Web Site. http://www.promrds.com 65/66
  • 66. CENTRO TÉCNICO AEROESPACIAL INSTITUTO TECNOLÓGICO DE AERONÁUTICA DIVISÃO DE ENGENHARIA ELETRÔNICA DEPARTAMENTO DE SISTEMAS DE CONTROLE LOCALIZAÇÃO E MAPEAMENTO EM TEMPO REAL UTILIZANDO ROBÔ SIMULADO NO MICROSOFT® ROBOTICS DEVELOPER STUDIO Wilian França Costa Orientador: Prof. Dr. Jackson Paul Matsuura Co-orientador: Prof. Dr. Alexandre da Silva Simões São José dos Campos, 23 de dezembro de 2009 66/66