IA368W:2017 1S

De DCA-Wiki

IA368W Tópicos em Engenharia de Computação V: Métodos Estocásticos para Robótica Móvel

  • Professores: Eleri Cardozo (eleri@dca.fee.unicamp.br), Eric Rohmer (eric@dca.fee.unicamp.br)
  • Horário das aulas: Terças e Quintas, 10:00 - 12:00 Hs - Sala PE-35


Contents

Notas

RA ----- Nota
047490 A
118430 A
119113 A
181557 A
208956 A
208976 A


Dinâmica do Curso

O curso pode ser considerado de nível intermediário na área de Robótica Móvel. Espera-se do aluno conhecimentos básicos de robótica móvel tais como os abordados em textos introdutórios, por exemplo, o livro de R. Siegwart e I. Nourbakhsh "Introduction to Autonomous Mobile Robots" (veja referências abaixo). O curso enfocará nos métodos estocásticos comumente aplicados nos problemas de robótica móvel, notadamente mapeamento, localização e mapeamento e localização simultâneos (SLAM). Atividades práticas serão propostas ao longo do curso. Tais atividades consistem na implementação de algumas técnicas abordadas no curso e sua execução tanto em ambientes simulados quanto em ambientes reais com a utilização do robô móvel Pioneer P3DX. Para a elaboração das atividades práticas é requirido do aluno conhecimento da linguagem Matlab.


Ementa do Curso

Revisão de robótica móvel. Arquiteturas e programação de robôs móveis. Revisão da Teoria de Probabilidades. Extração de características do ambiente. Modelagem de sensores robóticos. Filtros de Bayes. Processos de Markov. Filtros Gaussianos. Filtros Não-paramétricos. Mapeamento e localização robótica. Localização e mapeamento simultâneos (SLAM). Planejamento e controle de robôs móveis.


Critério de Avaliação

O aluno deverá elaborar relatório de cada atividade prática descrevendo detalhes de implementação dos algoritmos (texto contando diagramas, pseudo-código, fluxogramas), bem como o código implementado, os testes realizados e os resultados obtidos. Ao final do curso, o aluno deverá demonstrar individualmente o funcionamento de cada atividade bem como responder perguntas sobre como as mesmas foram implementadas. Estão previstas 4 atividades práticas com prazo de realização entre 2 e 4 semanas cada. A nota final será a média aritmética das notas das 4 atividades. Não haverá exame final.

OBS: O regimento da Unicamp exige 75% de freqüência. Abaixo deste limite o aluno se reprova por freqüência. O aluno deve observar também que na Unicamp existem critérios bem claros para o abono de faltas que não dependem do professor.


Referências

  • Sebastian Thrun, Wolfran Burgard e Dieter Fox, Probabilistic Robotics, The MIT Press, 2006. Site do livro.
  • Roland Siegwart e Illah Nourbakhsh, Introduction to Autonomous Mobile Robots, The MIT Press, 2004. Site do livro.


Atividades Práticas

Para a realização das atividade práticas o aluno deverá instalar o Virtual Box em seu computador (recomenda-se a versão 5.1.14). Será fornecido ao aluno uma máquina virtual para este sistema com o sistema operacional Ubuntu (Linux) contendo o software necessário para a realização das atividades práticas. Dentre o software fornecido encontra-se a última versão do Octave, um clone do Matlab. O aluno poderá utilizar o Matlab original em seu computador (não fornecido).


  • Atividade I - Prazo de entrega: 05/04/2017

Implemente o algoritmo de mapeamento baseado em grades de ocupação (página 268 do livro texto). Teste o algoritmo para diferentes covariâncias do sensor (distância e angulação). Elabore um relatório contendo uma descrição do algoritmo, sua implementação, testes, avaliação e comentários sobre a atividade. Utilize o recurso de grupos para a leitura do laser e da pose. Sugestão: utilize o programa plotinvsensor2.m como ponto de partida.


  • Atividade II - Prazo de entrega: 27/04/2017

Implemente o algoritmo de localização baseado em filtro de partículas. Teste o algoritmo com diferentes números de particulas iniciais, reamostradas e geradas aleatoriamente em cada iteração. Como sugestão utilize as funções de simulação do laser, detecção de features e mapa disponíveis no arquivo fp.zip. Avalie no final do algoritmo sua precisão comparando os landmarks detectados a partir da pose do robot dado pelo filtro de partículas com os landmarks reais (por exemplo, o erro quadrático médio das distâncias entre os landmarks detectados e reais).


  • Atividade III - Prazo de entrega: 23/05/2017

Implemente o algoritmo de localização local baseado em Filtro de Informação. Utilize o algoritmo de detecção de features e o mapa de landmarks disponibilizados na atividade anterior (fp.zip). Avalie a estabilidade do algoritmo em termos do tempo que o algoritmo permanece estável. Avalie também a precisão do algoritmo comparando periodicamente os landmarks detectados a partir da pose do robot com os landmarks reais (por exemplo, o erro quadrático médio das distâncias entre os landmarks detectados e reais).


  • Atividade IV - Prazo de entrega: 29/06/2017

Implemente o algoritmo de SLAM baseado em Filtro de Kalman Estendido (EKF Slam). Utilize o algoritmo de detecção de features disponibilizado AQUI. Avalie a estabilidade do algoritmo em termos do tempo que o algoritmo permanece estável. Avalie também a precisão do algoritmo comparando periodicamente os landmarks detectados a partir da pose do robot com os landmarks reais (por exemplo, o erro quadrático médio das distâncias entre os landmarks detectados e reais). Um guia de implementação do EKF Slam é disponibilizado AQUI.


Slides

Slides do IA368N (Introdução à Robótica Móvel)

Slides deste curso


Recursos

Ferramentas pessoais