wzyn20051216/ros-robotics-skill

Habilidade para desenvolvimento, migração e depuração de robótica com ROS 1 / ROS 2. Abrange cenários comuns como catkin/catkin_tools, colcon/ament, package.xml, CMakeLists.txt, launch, URDF/Xacro, RViz, TF, Navigation2, ros2_control, serial/CAN, MCU e micro-ROS.

O que é ros-robotics-skill?

Esta skill oferece suporte completo para o desenvolvimento de robôs com ROS 1 e ROS 2, cobrindo desde a configuração inicial do workspace até a depuração de sistemas robóticos complexos. Ela é projetada para auxiliar desenvolvedores e engenheiros de robótica que trabalham com plataformas como Claude Code, Cursor ou Codex, fornecendo orientação especializada sobre sistemas de build (catkin, colcon, ament), gerenciamento de pacotes (package.xml, CMakeLists.txt), arquivos de lançamento (launch, launch.py), modelagem de robôs (URDF, Xacro), transformações (TF), navegação (Navigation2, Nav2), controle de hardware (ros2_control), comunicação serial/CAN, integração com MCUs via micro-ROS, simulação (Gazebo), visualização (RViz, Foxglove) e muito mais. A skill prioriza a consistência do workspace, a verificação de dependências e a depuração baseada em evidências, evitando anti-padrões comuns como misturar sistemas de build ou ignorar timestamp e unidades. Ela recomenda carregar referências específicas para cada tópico, como migration, SLAM, Docker, CI/CD, e fornece playbooks de depuração detalhados. Ao lidar com migração ROS 1 → ROS 2, a skill sugere abordagens de bridging ou migração gradual, não reescrita completa. A skill também enfatiza a verificação de taxa de tópicos, TF, qualidade de localização e ciclo de controle para problemas de navegação, e para cenários embarcados, a skill avalia se micro-ROS é realmente necessário antes de recomendar implementação.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add wzyn20051216/ros-robotics-skill

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

ROS Robótica

Quando usar

Use esta habilidade quando a solicitação do usuário envolver qualquer um dos seguintes tópicos:

  • catkin_ws、colcon_ws、src/CMakeLists.txt、package.xml、setup.py
  • Criação, migração, compilação, teste e depuração de pacotes ROS 1 / ROS 2
  • launch / launch.py、parâmetros YAML、URDF/Xacro、RViz、TF
  • topic / service / action / msg / srv / QoS
  • Chassi、IMU、LiDAR、câmera、localização、SLAM、Navigation2、ros2_control
  • Simulação Gazebo / Ignition、simulação de sensores、ros_gz_bridge
  • Desenvolvimento ROS em contêineres Docker、orquestração multi-nó com docker-compose
  • Nós de Lifecycle、componentização rclcpp_components、comunicação intra-processo
  • Gravação e reprodução com rosbag2、mcap、diagnóstico offline
  • Mapeamento SLAM (Cartographer、SLAM Toolbox、ORB-SLAM)
  • Configuração DDS / QoS、ROS_DOMAIN_ID、seleção RMW、rede multi-máquina
  • Definição e geração de interfaces personalizadas (msg / srv / action)
  • Sistemas multi-robô、isolamento de namespace、comunicação entre máquinas
  • Planejamento de movimento MoveIt 2、SRDF、plug-ins de cinemática
  • CI/CD para ROS 2 (GitHub Actions、colcon test、ament_lint)
  • Foxglove Studio / PlotJuggler para visualização de dados e análise offline
  • Desenvolvimento colaborativo com MCU / RTOS / UART / CAN / micro-ROS

O que fazer primeiro

1. Identificar o workspace primeiro

python scripts/detect_ros_workspace.py <caminho-do-workspace>

2. Verificar a consistência

python scripts/check_ros_workspace_consistency.py <caminho-do-workspace>

3. Carregar a documentação mínima necessária de acordo com o problema

  • ROS 1:references/ros1-catkin.md
  • ROS 2:references/ros2-colcon.md
  • Misto / Migração:references/interop-and-migration.md
  • Modelo / TF:references/robot-description-and-tf.md
  • Navegação:references/navigation2.md
  • Controle:references/ros2-control.md
  • Embarcado:references/micro-ros-and-embedded.md
  • Simulação:references/gazebo-simulation.md
  • Lifecycle / Componentes:references/lifecycle-and-components.md
  • DDS / QoS / Rede:references/dds-qos-networking.md
  • Gravação / Reprodução / Diagnóstico:references/rosbag-diagnostics.md
  • SLAM / Mapeamento:references/slam-mapping.md
  • Docker:references/docker-ros.md
  • Interfaces Personalizadas:references/custom-interfaces.md
  • Multi-robô:references/multi-robot.md
  • MoveIt 2:references/moveit2.md
  • CI/CD:references/ros2-cicd.md
  • Visualização:references/foxglove-visualization.md
  • Solução de problemas:references/debug-playbooks.md
  • Revisão:references/review-checklist.md

Princípios que devem ser seguidos

  • Identifique o sistema de build primeiro, depois altere o código
  • Corrija a consistência de package.xml / CMakeLists.txt primeiro, depois fale em refatoração
  • Verifique TF, timestamp, frame e unidades primeiro, depois culpe o algoritmo
  • Cadeia de evidências primeiro, depois modificação: a saída da build, tópicos, TF, parâmetros e logs devem ser verificáveis
  • ROS 1 → ROS 2: faça bridging ou migração em camadas, não tente reescrever tudo de uma vez
  • MCU / micro-ROS: primeiro avalie se realmente é necessário entrar no grafo ROS

Abordagem para tarefas comuns

Novo pacote ou correção de pacote

  • Primeiro determine o tipo de pacote: catkin、ament_cmake、ament_python
  • Primeiro adicione a declaração de dependências, depois a lógica de build, depois as regras de instalação
  • Para msg / srv / action personalizados, verifique primeiro a ordem de geração e o ciclo de dependências (veja references/custom-interfaces.md)

Falha na build

  • Execute rosdep primeiro
  • Depois verifique package.xml e os scripts de build
  • Depois verifique se o ambiente está source corretamente
  • Depois verifique dependências de sistema, ABI e compatibilidade de distribuição

Funciona mas o robô não se comporta corretamente

  • Primeiro verifique launch、namespace、remap、parâmetros
  • Depois verifique nome do tópico、frequência、timestamp、unidades、frame_id
  • Depois verifique se o TF tem uma raiz única e se estática/dinâmica está correta
  • Por último, suspeite do algoritmo em si

Nav2 / ros2_control

  • Navigation2: priorize a verificação da cadeia /cmd_vel, qualidade de localização, frequência de controle e unidades do chassi
  • ros2_control: priorize a verificação do tipo de interface de hardware, YAML do controlador, ciclo de leitura/escrita e status ativo

MCU / micro-ROS

  • Primeiro avalie se o nó de ponte do lado Linux é suficiente
  • Se o MCU precisar entrar no grafo ROS 2, considere micro-ROS
  • Verifique rigorosamente endianness, checksum, timeout, reconexão, fonte de tempo e proteção contra perda de conexão

Anti-padrões

  • Misturar catkin e ament no mesmo pacote
  • Alterar apenas CMakeLists.txt sem alterar package.xml
  • Ignorar TF, timestamp, unidades e definição de eixos
  • Colocar driver, protocolo, filtragem, controle e diagnóstico tudo em um único nó grande
  • Ao migrar ROS 1 → ROS 2, fazer apenas substituição de API sem validação do sistema

Requisitos de saída

Ao usar esta habilidade para processar tarefas, priorize a saída:

  1. Identificação do workspace atual e tipo de pacote
  2. Argumentos e suposições principais
  3. Pontos de alteração e suas razões
  4. Comandos mínimos de build / teste / execução
  5. Pontos de risco e pontos de verificação de regressão

Habilidades Relacionadas