Pacote de descrição do robô que fornece modelos URDF/XACRO e publicação de transformações para o sistema de robôs BotBrain. Este pacote gerencia o modelo cinemático do robô, as malhas de visualização e publica o estado do robô na árvore TF para navegação e controle.
O pacote bot_description fornece a descrição mecânica e visual do robô para o ecossistema ROS2. Ele gerencia:
- Definições de modelos URDF/XACRO do robô
- Malhas 3D de visualização para o RViz
- Publicação do estado do robô (juntas para transformações TF)
- Transformações estáticas entre componentes do robô
- Integração do modelo de hardware do robô com o módulo de interface BotBrain
Lançador principal de descrição que orquestra o modelo completo do robô:
O que inicia:
- robot_description.launch.py: Modelo de hardware do robô (ex.: Unitree Go2 quadrúpede)
- botbrain_description.launch.py: Modelo do módulo de interface BotBrain (câmeras, sensores)
- static_transform_publisher: Liga a base do robô ao módulo BotBrain (
interface_linkparabotbrain_base)
Configuração:
- Lê
robot_config.yamlna raiz do workspace - Usa o campo
robot_namepara namespace e prefixos de frames TF
Uso:
ros2 launch bot_description description.launch.pyNormalmente isso é iniciado automaticamente pelo bot_bringup durante o startup do sistema.
Publica o modelo URDF de hardware do robô e o estado do robô:
Nós:
- robot_state_publisher: Converte URDF em transformações TF
- Publica estados de junta do robô no tópico
/robot_description - Fornece cinemática direta para a base do robô
Fonte do modelo:
- Carrega o arquivo XACRO para a plataforma específica do robô
- Suporta diferentes modelos de robô (Go2, Tita, etc.)
Publica o modelo URDF do módulo BotBrain:
Nós:
- robot_state_publisher: Publica transformações do módulo BotBrain
- Inclui suportes de câmera, posições de sensores e links de interface
- Fornece geometria de montagem para sensores de percepção
Integração:
- O módulo BotBrain é ligado ao hardware do robô via transformação estática
- Transformação publicada de
interface_linkparabotbrain_base
Localizados no diretório xacro/:
Modelo XACRO que define o módulo de interface BotBrain:
Inclui:
- Link de montagem da interface
- Posições de montagem de câmeras (D435i, D455)
- Pontos de montagem de sensores
- Geometria do módulo e malhas de colisão
Parâmetros:
- Offsets de montagem configuráveis
- Posicionamento e orientação de câmeras
- Definições de frames de sensores
Localizadas no diretório meshes/:
Conteúdo:
- Malhas 3D de visualização para o RViz
- Arquivos de malha em formato STL ou DAE
- Geometria visual do robô e do módulo
- Geometria de colisão para planejamento de movimento
Uso:
- Referenciadas pelos arquivos URDF/XACRO
- Carregadas pelo RViz para visualização
- Usadas por sistemas de detecção de colisão
/{namespace}/robot_description(std_msgs/String) - URDF completo do robô/tf_static(tf2_msgs/TFMessage) - Transformações estáticas/tf(tf2_msgs/TFMessage) - Transformações dinâmicas (de estados de junta)
/{namespace}/joint_states(sensor_msgs/JointState) - Posições das juntas do robô (se disponível)
bot_description/
├── launch/
│ ├── description.launch.py # Lançador principal
│ ├── robot_description.launch.py # Modelo de hardware do robô
│ └── botbrain_description.launch.py # Modelo do módulo BotBrain
├── xacro/
│ └── botbrain.xacro # Modelo XACRO do BotBrain
├── meshes/
│ └── [arquivos de malha] # Malhas 3D de visualização
├── CMakeLists.txt # Configuração de build
└── package.xml # Manifesto do pacote
Feito com ❤️ no Brasil