TrabPrat SSC0714 2021(fosorio)

De CoteiaWiki

SSC0714 e SSC5888 - Robôs Móveis Autônomos 2021
Prof. Fernando Santos OSÓRIO
ICMC - SSC - LRM


DEFINIÇÃO DO TRABALHO PRÁTICO:


REGRAS: TRABALHO APENAS PARA SSC0714 - GRADUAÇÃO

>> Trabalho Prático PADRÃO para Disciplina SSC0714 (Alunos que só estão fazendo SSC0714) - Graduação
>> DATA DE ENTREGA: 26.07.2021 (Caso não for entregue, aluno fica em REC para terminar o Trabalho)
>> PESOS DAS AVALIAÇÕES: 20% Trabalho Relatório + 40% Trabalho Prático VREP + 40% Prova Escrita   [Trabalho e Prova são obrigatórios]

>> Este trabalho é "simimlar" ao trabalho prático do CP (Checkpoint) da disciplina SSC0712

>>> Descrição do trabalho mais abaixo! <<<

>> Trabalho de GRAD SSC0714 (Graduação) pode ser feito em DUPLAS ou INDIVIDUALMENTE.



REGRAS: TRABALHO SSC5888 - PÓS-GRADUAÇÃO


>> Trabalho de PG (Pós-Grad.) é feito INDIVIDUALMENTE.

>> O trabalho da PG pode ser o trabalho definido aqui (usando o CoppeliaSIM), ou, um trabalho relacionado ao 
>>  problema de pesquisa tratado pelo aluno na pós-graduação, a ser combinado (o quanto antes!) com o professor. 

>> Este é o trabalho padrão, caso deseje o aluno pode informar que outro trabalho deseja implementar 
>> no lugar desta proposta padrão. Combinar por e-mail com o professor.

>> DATA DE ENTREGA PG: 26.07.2021 (Data "ideal" para entrega) - Prazo estendido: 08.08.2021 (Data "possível" para entrega)

>>> Descrição do trabalho mais abaixo! <<<



DEFINIÇÃO e DETALHAMENTO DO TRABALHO DE SSC0714 (Graduação) e de SSC588 (Pós-Graduação)

O trabalho da disciplina de SSC05888 (Pós-Graduação) e de SSC0714 (Graduação) é uma implementação de 
um sistema de navegação visando que o robô alcance uma determinada posição, usando um comportamento HÍBRIDO
reativo e deliberativo, onde o reativo deve evitar colisões (p.ex. obstáculos e paredes) e o deliberativo
deve seguir um plano definido por uma sequência de ponto de destino (waypoint).

Atenção:
(*) Alunos de SSC0714 que também estão cursando SSC0712 devem consultar o trabalho final unificado e que
está definido na página da disciplina SSC0712: http://wiki.icmc.usp.br/index.php/TrabPrat_CP_SSC0712_2021(fosorio)
Em breve disponível nesta página.

O robô móvel deve navegar sem colidir com obstáculos estáticos (paredes) e nem com os demais obstáculos estáticos 
que possam estar presentes no ambiente. O ambiente possui uma estrutura pré-definida (cenas disponibilizadas no link abaixo)
e alguns obstáculos espalhados no ambiente que devem der evitados (p.ex. cubos e cilindros). 

O comportamento implementado deve ser basicamente um comportamento do tipo GO-TO-DESTINATION, devendo ser implementado 
por comportamentos do tipo reativo (p.ex. Algoritmo BUG, baseado em campos potenciais/campos vetoriais, ou em outra técnica de livre escolha). O robô deve seguir a sequência de pontos de referência disponibilizada para cada cenário, e que vai
garantir que não ocorram problemas com mínimos locais (usuais em comportamentos unicamente reativos).
   
O robô tem acesso a sua localização (com um pequeno erro/imprecisão incluída na localização do robô de 0.1 ~ 10cm) e 
a localização da sequência de ponto de destino (sem erro - você pode considerar sem erro, mas pode adicionar erro se quiser).

O trabalho final possuirá 3 mapas disponibilizados: (ver link da pasta dos cenários exemplo mais abaixo)
1) Arquivo CoppeliaSim: TrabFinal-Cenario01-2021.ttt
   Arquivo Waypoint:    Waypoint1-Cenario01-2021.txt
2) Arquivo CoppeliaSim: TrabFinal-Cenario02-2021.ttt
   Arquivo Waypoint:    Waypoint2-Cenario02-2021.txt
3) Arquivo CoppeliaSim: TrabFinal-Cenario03-2021.ttt   
   Arquivo Waypoint:    Waypoint3-Cenario03-2021.txt

CENÁRIOS EXEMPLO: AQUI - Pasta com Arquivos de Cenários .ttt e Arquivos de Waypoints .txt


A navegação será realizada considerando um ambiente apresentado, onde, espera-se que o robô chegue ao destino.
Uma vez que são fornecidos pontos intermediários, o robô deve acabar realizando uma trajetória completa, 
chegando ao seu destino sem colisões.

ARQUIVO WAYPOINT:

É um arquivo texto composto por uma primeira linha que indica quantos pontos são fornecidos, 
seguidos de pares de valores de coordenadas X,Y (números de ponto flutuante, com ou sem sinal, de coordenadas da cena).
O waypoint fornecido é "compatível e adequado" para cada cena. Se quiser, você pode ler o arquivo durante a simulação,
ou, pode também "embutir" estas coordenadas dentro do código em tabelas internas dos scripts usados (Lua, Python, etc). 
Exemplo:
3
1.2 5.73
2.4 1.33
3.6 -3.45

Avaliação:
O ambiente será estático, sem obstáculos móveis. É importante considerar que para fins de teste,
o robô poderá ser levemente reposicionado e/ou reorientado dentro do ambiente, para testar se o algoritmo implementado
é robusto o suficiente para aceitar condições iniciais um pouco diferentes (porém similares) a do exemplo dado.
De qualquer modo, o aluno que conseguir alcançar os destinos, baseado na configuração dos 3 mapas fornecidos,
já terá tido "sucesso" neste trabalho. 

Entrega:
Enviar por e-mail para fosorio<at>icmc.usp.br  (arquivo ttt)

Informações sobre os Cenários Fornecidos:
- O robô fornecido pode ser substituído pelo modelo do seu próprio robô (pode usar outros robôs e outras configurações 
  de sensores). A versão atual usa o robô Pioneer original (sem navegação por pontos de destino); 
- O robô pode usar GPS, Compass (Bússola) e Gyro para obter sua posição e orientação. 
  O GPS do robô deve ter erro de 0.1 noise e 0.1 de shift em cada eixo;
- O ponto final possui um GPS definido indicando a sua posição e sendo marcado por uma esfera vermelha. 
  Objeto não detectável/não colidível e com localização sem erro.
- O robô não deve colidir com as paredes e/ou obstáculos e deve ir até o destino (GPS final da esfera vermelha);

Os cenários fornecidos são compatíveis com o CoppeliaSim v4.0 em diante.

Link para pasta com o material do Trabalho Prático Final - CoppeliaSIM:
Pasta TP-CP Trabalho Prático Final





Atualizado em Abril de 2021
F.Osório

Voltar para SSC-714-2021(fosorio)