Sessão de Campo CS

CG_GUI_19

Contexto

Durante o verão de 2020, fiz CSCI370 ou “Engenharia de Software Avançada” como parte do meu programa de graduação em CS na Colorado School of Mines. CSCI370 é um curso que faz os estudantes projetar, implementar e documentar soluções relacionadas a software para uma empresa. Permite que os estudantes apliquem o conhecimento de suas disciplinas a problemas reais de ciência da computação. Você pode saber mais sobre o curso aqui.

Na disciplina, você pode decidir em qual projeto/empresa trabalhará. O curso forneceu PDFs detalhando cada projeto e empresa. Finalmente, decidi trabalhar em um projeto publicado por uma empresa chamada Lunar Outpost chamado Detecção em Tempo Real de Deslizamento de Rodas e Correções de Erro para Navegação Lunar Aprimorada. Como o nome é longo, vamos dar ao projeto um apelido de “Detecção de Deslizamento de Rodas”.

Problema

Lunar Outpost é uma startup que tenta criar rovers lunares autônomos. Na lua, há muita poeira lunar conhecida por causar muito deslizamento de rodas. Isso não é ideal porque o deslizamento de rodas pode fazer com que sistemas autônomos percam a noção de sua localização no mundo real. Na Terra, isso é resolvido usando dados de GPS para corrigir qualquer deslocamento causado pelo deslizamento de rodas. Mas o problema com o GPS é que ele só funciona tendo 30+ satélites de navegação circulando constantemente a Terra em órbita e transmitindo sinais únicos que permitem aos computadores calcular sua posição. Mas na lua, atualmente não existe GPS. Sabendo disso, outro método além do GPS precisa ser usado para detectar o deslizamento de rodas. Um relatório mais detalhado do problema do projeto pode ser visto aqui.

Companheiros de equipe

Este projeto não era simples, portanto precisava ser feito em equipe. A equipe era composta por cinco estudantes da Colorado School of Mines:

  • Mehmet Yilmaz (eu)
  • Kane Bruce
  • Braedon O’Callaghan
  • Liam Dempsey
  • Kevin Grant

O projeto exigia que conhecêssemos ROS, C++, Python, Linux, Raspberry Pi e Arduino. A maioria de nós tinha experiência em uma ou mais dessas tecnologias, mas eu era o único com experiência em ROS, pois usei ROS na minha disciplina Robótica Centrada no Humano (CSC470) durante o semestre da primavera de 2020. Por isso, logo no início, ajudei a colocar todos a par do ROS e como desenvolvê‑lo.

Desafios

Neste projeto houve muitos desafios. Mas o maior desafio que enfrentamos foi não ter acesso a um robô real para testes. Isso ocorreu devido ao COVID que tornou tudo remoto e impediu que trabalhássemos no laboratório/prédios da Lunar Outpost. Por causa disso, tivemos que usar simulações.

Além disso, analisamos algumas pesquisas acadêmicas do Laboratório de Navegação WVU para ter uma ideia de como o problema de deslizamento de rodas poderia ser resolvido para o caso de uso da Lunar Outpost. O que, para nós, como estudantes de segundo e terceiro ano, foi mais difícil do que esperávamos.

Outro desafio que enfrentamos foi a quantidade de tempo que tínhamos para trabalhar neste projeto. CSCI370 é uma disciplina de um mês. Mas o problema em si é massivo, e muitas empresas e acadêmicos tentam resolvê‑lo/perfeitá‑lo há décadas. Portanto, um mês está longe de ser tempo suficiente para resolver essa questão. Mas, apesar de todos esses desafios, persistimos e garantimos a entrega.

Conclusão

Neste post, eu teria adorado dar uma explicação mais detalhada de nossas soluções. Assim como fornecer uma conclusão adequada explicando o que descobrimos e os resultados finais. Mas, infelizmente, eu e meus colegas de equipe assinamos um Acordo de Não Divulgação (NDA) que nos impede de compartilhar qualquer informação confidencial sobre este projeto. Todas as informações que forneci acima são públicas e podem ser acessadas na internet.

Durante este projeto, realmente aprendemos a usar ROS e criar simulações usando ROS e Gazebo. Também adquirimos uma melhor compreensão no campo de pesquisa de detecção de deslizamento de rodas. Também tivemos a honra de nos encontrar com alguns acadêmicos/pesquisadores do Laboratório de Navegação WVU.

Sabendo tudo isso, devo dizer que este projeto me permitiu assumir uma posição de liderança na equipe, servir como educador para ajudar meus colegas a entender melhor o ROS, e me proporcionou mais experiência em ROS, Gazebo e Python. Também me expôs ao problema de deslizamento de rodas, um problema do qual eu não tinha conhecimento até trabalhar neste projeto. No geral, sou grato por a Lunar Outpost ter tirado tempo de sua agenda ocupada, especialmente durante a COVID, para nos permitir trabalhar neste projeto. Também sou agradecido por ter tido colegas de equipe incríveis que trabalharam muito duro neste projeto.