本包提供了 Galbot S1 机器人的描述文件(URDF/XACRO/MJCF/USD)和3D模型,包含配置、可视化和仿真所需的基本文件。本包兼容 ROS1 和 ROS2。
仓库包含以下主要目录:
source/galbot_s1_description/– 主要的 ROS 包目录,包含所有源文件。mjcf/– 生成的 MJCF 模型文件及相关网格文件,用于 MuJoCo 仿真,按版本组织。urdf/– 生成的 URDF 文件及相关网格文件,按版本组织。usd/– USD(通用场景描述)文件,用于机器人可视化和仿真,包括不同组件的配置文件。
config/– 包含配置文件,包括 ROS1 和 ROS2 的 RViz 显示配置。launch/– 包含用于可视化机器人的 ROS 启动文件,支持 ROS1(.launch)和 ROS2(.py)格式。meshes/– 存储按版本组织的3D模型(例如v1_1_0/),包含碰撞类型(mesh、convex_hull、convex_decomposition、original、sphere、basic_primitive)和视觉类型(high、low)的单独目录。xacro/– 包含按版本组织的模块化 Xacro 文件,支持可配置的碰撞类型、视觉类型和末端执行器类型。metadata/– 包含版本化的元数据文件(structure.json 及版本特定 JSON 文件),用于机器人模型配置,涵盖碰撞、通用、惯性、关节和视觉参数。source/– 包含版本化的源配置文件(JSON、YAML、Excel),定义机器人组件,包括通用配置、惯性参数、关节定义、碰撞 STL 面数据和球体碰撞模型。urdf/– 包含按版本层次结构组织的生成 URDF 文件(例如v1/、v1/v1_1/)。tools/– 包含末端执行器描述(例如galbot_ge103in_description/),含 Xacro 文件、网格文件、元数据和源配置。
要在 RViz 中可视化机器人,请使用提供的启动文件。本包支持 ROS1 和 ROS2。
roslaunch galbot_s1_description ros1_display_launch.launch指定机器人版本:
roslaunch galbot_s1_description ros1_display_launch.launch robot_version:=v1_1_0ros2 launch galbot_s1_description ros2_display_launch.py指定机器人版本:
ros2 launch galbot_s1_description ros2_display_launch.py robot_version:=v1_1_0可用的机器人版本:
v1、v1_1、v1_1_0(或留空使用默认版本)
URDF 文件由 Xacro 文件生成,主 Xacro 文件位于 xacro/galbot_s1.xacro,可使用 xacro 工具生成不同版本和配置的 URDF 文件。
安装 urdf2mjcf(需要 Python >= 3.10):
git clone https://github.com/TATP-233/urdf2mjcf.git
cd urdf2mjcf
pip install .从 URDF 文件生成 MJCF 模型:
cd source/galbot_s1_description
urdf2mjcf urdf/galbot_s1_v1_1_0.urdf --output ../../mjcf/galbot_s1_v1_1_0.xml --metadata metadata/v1_1_0/common.json注意:根据您的版本和配置调整元数据路径和 URDF 文件路径。
如果您遇到任何问题、有疑问或想要贡献,请联系 package.xml 中列出的维护者。
- URDF 文件未找到:确保指定正确的
robot_version参数,或检查urdf/目录中是否存在对应 URDF 文件。 - 网格文件未找到:确保网格文件已正确安装,且
meshes/目录结构与您使用的版本匹配。 - ROS1/ROS2 兼容性:本包同时支持 ROS1 和 ROS2,请确保为您的 ROS 发行版使用正确的启动文件格式。
Apache License 2.0 - 详见 LICENSE 文件
This package provides the robot description files (URDF/XACRO/MJCF/USD) and 3D models for the Galbot S1 robot. It includes essential files needed for configuration, visualization, and simulation. The package is compatible with both ROS1 and ROS2.
The repository is organized into the following main directories:
source/galbot_s1_description/– The main ROS package directory containing all source files.mjcf/– Generated MJCF model files and associated meshes for MuJoCo simulation, organized by version.urdf/– Generated URDF files and associated meshes, organized by version.usd/– USD (Universal Scene Description) files for robot visualization and simulation, including configuration files for different components.
config/– Contains configuration files, including RViz display configurations for ROS1 and ROS2.launch/– Includes ROS launch files for visualizing the robot, supporting both ROS1 (.launch) and ROS2 (.py) formats.meshes/– Stores 3D models organized by version (e.g.,v1_1_0/), with separate directories for collision types (mesh, convex_hull, convex_decomposition, original, sphere, basic_primitive) and visual types (high, low).xacro/– Contains modular Xacro files organized by version, with configurable collision types, visual types, and end effector types.metadata/– Contains versioned metadata files (structure.json and version-specific JSON files) for robot model configuration, including collision, common, inertial, joint, and visual parameters.source/– Contains versioned source configuration files (JSON, YAML, Excel) defining robot components, including common configurations, inertial parameters, joint definitions, collision STL face data, and sphere collision models.urdf/– Contains generated URDF files organized by version hierarchy (e.g.,v1/,v1/v1_1/).tools/– Contains end effector descriptions (e.g.,galbot_ge103in_description/) with Xacro files, meshes, metadata, and source configurations.
To visualize the robot in RViz, use the provided launch files. The package supports both ROS1 and ROS2.
roslaunch galbot_s1_description ros1_display_launch.launchTo specify a robot version:
roslaunch galbot_s1_description ros1_display_launch.launch robot_version:=v1_1_0ros2 launch galbot_s1_description ros2_display_launch.pyTo specify a robot version:
ros2 launch galbot_s1_description ros2_display_launch.py robot_version:=v1_1_0Available robot versions:
v1,v1_1,v1_1_0(or leave empty for default)
URDF files are generated from Xacro files. The main Xacro file is located at xacro/galbot_s1.xacro, which can be processed with xacro to generate URDF files for different versions and configurations.
Install urdf2mjcf (requires Python >= 3.10):
git clone https://github.com/TATP-233/urdf2mjcf.git
cd urdf2mjcf
pip install .Generate a MJCF model from a URDF file:
cd source/galbot_s1_description
urdf2mjcf urdf/galbot_s1_v1_1_0.urdf --output ../../mjcf/galbot_s1_v1_1_0.xml --metadata metadata/v1_1_0/common.jsonNote: Adjust the metadata paths and URDF file paths according to your version and configuration.
If you encounter any issues, have questions, or would like to contribute, please reach out to the maintainers listed in the package.xml.
- URDF file not found: Make sure you specify the correct
robot_versionparameter, or check if the URDF file exists in theurdf/directory. - Mesh files not found: Ensure that the mesh files are properly installed and the
meshes/directory structure matches the version you're using. - ROS1/ROS2 compatibility: This package supports both ROS1 and ROS2. Make sure you're using the correct launch file format for your ROS distribution.
Apache License 2.0 - see the LICENSE file for details.
