Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

ROS Motion Planning

Um repositório implementando mais de 40 planejadores de caminho clássicos e baseados em aprendizado como plugins ROS

Licença

GPL-3.0

Visão geral

O ros_motion_planning é uma coleção abrangente de algoritmos de planejamento de movimento de robôs implementados como plugins para a stack de navegação do ROS: planejadores globais de A, Theta, D e JPS a RRT, Informed RRT* e planejadores Voronoi; planejadores locais incluindo DWA, estilo TEB, PID, LQR e MPC; geração de curvas (Bezier, Dubins, Reeds-Shepp, B-spline); e planejadores baseados em aprendizado como DDPG. Cada algoritmo roda no mesmo setup Gazebo/RViz, tornando-o uma referência singularmente prática para comparar planejadores em pé de igualdade.

O repositório empacota dezenas de planejadores atrás das interfaces de plugin padrão nav_core do ROS, de modo que qualquer algoritmo pode ser encaixado no move_base (ROS 1) — com uma implementação companheira em ROS 2 — e testado contra os mesmos costmaps, robôs e mundos Gazebo. O planejamento global cobre busca em grafos (Dijkstra, A, D, LPA, D Lite, Theta, Lazy Theta, JPS, GBFS), métodos baseados em amostragem (RRT, RRT, Informed RRT, RRT-Connect), abordagens inteligentes/evolutivas (ACO, GA, PSO) e planejamento por diagrama de Voronoi. O planejamento local abrange controladores PID, DWA, APF, LQR e MPC, e um módulo de geração de curvas implementa caminhos Dubins, Reeds-Shepp, Bezier e splines. Planejadores baseados em aprendizado (por ex., navegação RL baseada em DDPG) completam o conjunto. Imagens Docker, animações extensas por algoritmo e um repositório Python correspondente de visualização o tornam igualmente útil como referência didática e como ponto de partida para desenvolvimento de planejadores de produção.

Por que importa

Esta é a implementação única mais completa do cânone clássico de planejamento de movimento em código ROS funcional: os algoritmos de livro-texto que normalmente são pseudocódigo em artigos rodam todos aqui em uma stack consistente, e é por isso que se tornou a referência preferida tanto de engenheiros de navegação quanto de estudantes de robótica.

Problema que resolve

Comparar planejadores de caminho de forma justa exige implementar cada um dentro da mesma stack de navegação — meses de engenharia de plugins. O ros_motion_planning já fez isso para mais de 40 algoritmos, transformando a seleção de planejadores e o ensino em uma mudança de configuração.

Pontos principais

  • Mais de 40 planejadores: busca em grafos, baseados em amostragem, evolutivos, geração de curvas, baseados em aprendizado
  • Todos implementados como plugins de navegação ROS padrão executáveis no mesmo setup Gazebo/RViz
  • Suporte a ROS 1 e ROS 2 com imagens Docker para início rápido
  • Os planejadores locais incluem controladores DWA, APF, PID, LQR e MPC
  • Repositório Python complementar fornece visualizações correspondentes dos algoritmos para estudo

Para quem é

  • Engenheiros de navegação selecionando planejadores para AMRs/AGVs
  • Estudantes de robótica aprendendo algoritmos de planejamento de caminho
  • Pesquisadores fazendo benchmark de novos planejadores contra os clássicos
  • Educadores montando material didático de planejamento de movimento

Limitações

  • Amplitude acima de profundidade — os planejadores individuais são implementações de referência, não controladores de produção afinados
  • A licença GPL-3.0 restringe o reuso em código fechado
  • Foca primariamente em navegação 2D de robôs com rodas (sem planejamento de manipulação)

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.