找回密码
 立即注册
首页 业界区 业界 ROS1 noetic 中将 Unitree G1 的 URDF 导入 Gazebo/RViz ...

ROS1 noetic 中将 Unitree G1 的 URDF 导入 Gazebo/RViz

百杲憔 2026-1-14 00:40:00
博客地址:https://www.cnblogs.com/zylyehuo/
Unitree G1 模型文件下载地址(挑选自己需要的部分,本教程基于 g1_29dof.urdf (以及 .xml 和 meshes 文件夹))
有核心的 URDF 文件和 Meshes (STL 网格文件)

效果预览


第一步:建立工作空间与目录结构
  1. # 1. 创建工作空间 (如果已有 workspace 可跳过)mkdir -p ~/g1_ws/srccd ~/g1_ws/src# 2. 创建包目录 (必须叫 g1_description)mkdir -p g1_description/urdfmkdir -p g1_description/meshesmkdir -p g1_description/launch
复制代码
将 g1_29dof.urdf (以及 .xml) 放入 ~/g1_ws/src/g1_description/urdf/
将所有 .STL 文件放入 ~/g1_ws/src/g1_description/meshes/
为 URDF 文件添加 Gazebo 标签,添加颜色

~/g1_ws/src/g1_description/urdf/g1_29dof.urdf

粘贴到 g1_29dof.urdf 文件末尾(在最后一行的  标签之前)
  1.     Gazebo/DarkGrey          Gazebo/DarkGrey          Gazebo/DarkGrey          Gazebo/DarkGrey          Gazebo/DarkGrey          Gazebo/DarkGrey          Gazebo/DarkGrey        Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey        Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey          Gazebo/Grey  
复制代码
第二步:补充缺失的系统文件

~/g1_ws/src/g1_description/package.xml
  1.   g1_description  0.0.1  The g1_description package  User  TODO  catkin  roscpp  rospy  std_msgs  urdf  xacro    gazebo_ros  joint_state_publisher  robot_state_publisher  rviz        
复制代码
~/g1_ws/src/g1_description/CMakeLists.txt
  1. cmake_minimum_required(VERSION 3.0.2)project(g1_description)find_package(catkin REQUIRED COMPONENTS  urdf  xacro)catkin_package()# 安装路径设置,确保launch和meshes能被找到install(DIRECTORY launch meshes urdf  DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
复制代码
第三步:解决网格路径问题

RDF 文件通常写死了网格路径。如果您的 URDF 是从其他地方导出的,它可能写的是 file:///home/xxx/... 或者 package://g1_description/...
为了确保不报错,执行以下检查:


  • 打开 urdf/g1_29dof.urdf。
  • 搜索 。
修改路径:确保所有路径都以 package://g1_description/meshes/ 开头。


  • 错误示例: filename="D:/downloads/meshes/pelvis.STL"
  • 正确示例: filename="package://g1_description/meshes/pelvis.STL"
(可以使用 VS Code 的“全部替换”功能)
第四步:编写 RViz 启动文件

~/g1_ws/src/g1_description/launch/display.launch
  1.         
复制代码
第一次运行时 RViz 可能会报错找不到配置,这是正常的,需要手动添加 RobotModel
第五步:编写 Gazebo 启动文件

~/g1_ws/src/g1_description/launch/gazebo.launch
  1.                      
复制代码
第六步:编译并运行
  1. cd ~/g1_wscatkin_makesource devel/setup.bash
复制代码
运行 RViz 可视化
  1. roslaunch g1_description display.launch
复制代码

  • 在 RViz 左侧点击 "Add" -> "RobotModel"。
  • 将 "Fixed Frame" 修改为 URDF 中的根链接名称(通常是 base_link 或 pelvis)。
  • 现在应该能看到机器人,并可以通过小窗口滑动条动它的关节。
运行 Gazebo 仿真
  1. roslaunch g1_description gazebo.launch
复制代码
Gazebo 打开后,点击底部的 "Play" 按钮。


  • 预期结果:机器人会出现在世界中。因为没有写控制算法,受重力影响,它可能会直接跪下或倒下。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

2026-1-28 07:31:25

举报

2026-2-3 09:20:17

举报

2026-2-11 23:51:01

举报

懂技术并乐意极积无私分享的人越来越少。珍惜
2026-2-14 03:43:27

举报

2026-2-27 23:14:14

举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册