Skip to content

踩坑Robotics Stack Exchange2024-07-17

ROS2 RViz2加载URDF网格报错Could not load mesh resource ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:ROS 2 humble hawksbill's rviz 2 not able to load either STL or DAE files. How can i resolve this?(Robotics Stack Exchange #112246)

状态:已解决

问题 ​

在ROS 2 Humble中启动RViz2时,URDF解析报错“Could not load mesh resource”,提示无法加载指定绝对路径下的STL或DAE文件。即使文件物理路径正确且终端可访问,RViz2仍无法渲染几何体,robot_state_publisher虽能正常发布TF但模型显示缺失。

环境 ​

ROS 2 Humble Hawksbill, RViz2, Ubuntu (root用户), Python launch文件, colcon构建系统

解决办法 ​

  1. 将STL/DAE网格文件移入标准ROS 2功能包的meshes目录下,确保目录结构符合ament/colcon规范。
  2. 修改URDF/xacro中的mesh filename属性,弃用绝对路径,改用package://<package_name>/meshes/<file>.stl格式引用资源。
  3. 在工作空间根目录执行colcon build命令重新编译包含网格资源的功能包。
  4. 在运行launch文件的终端中执行source install/setup.bash以刷新资源索引与环境变量。
  5. 重新启动Python launch文件,RViz2即可通过资源检索机制正确加载并渲染网格模型。

原问题作者:ahiyantra;采纳答案作者:ahiyantra。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。

来源

本页事实对应的公开页面,以原文为准。

  1. Robotics Stack Exchange #112246:ROS 2 humble hawksbill's rviz 2 not able to load either STL or DAE files. How can i resolve this?访问 2026-10-27