You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ROS2 Humble中Fusion360导出URDF模型在RViz无显示问题求助

解决ACDC4Robot导出URDF在ROS2 Humble中RViz显示问题

一、修正文件目录结构

ROS2功能包需遵循标准资源目录结构(以my_package为例):

my_package/
├── src/
├── urdf/          # 存放URDF文件
│   ├── robot.urdf
├── meshes/        # 存放STL模型文件,与urdf目录同级
│   ├── base_link.stl
├── package.xml
├── CMakeLists.txt

不要将meshes目录嵌套在urdf下,ROS资源查找机制默认从包根目录开始检索。

二、正确配置URDF中的STL路径

URDF的mesh标签需使用ROS2支持的包路径格式,无需file://前缀,写法如下:

<mesh filename="package://my_package/meshes/base_link.stl" scale="0.001 0.001 0.001" />

注意:my_package需替换为你实际的功能包名称,大小写必须完全匹配。

三、完善功能包配置

  1. 修改package.xml:
    添加资源导出声明与必要依赖,让ROS2能检索到urdf和meshes文件:

    <depend>rclcpp</depend>
    <depend>urdf</depend>
    <depend>rviz2</depend>
    
    <export>
      <build_type>ament_cmake</build_type>
      <urdf file="urdf/robot.urdf" />
    </export>
    
  2. 修改CMakeLists.txt:
    添加安装指令,将urdf和meshes目录安装到ROS共享目录:

    install(DIRECTORY urdf meshes
      DESTINATION share/${PROJECT_NAME}/
    )
    
    ament_package()
    

    编译后ROS2才能正确识别这些资源。

四、RViz的正确设置

  1. 启动RViz后,添加RobotModel插件。
  2. 推荐通过参数服务器加载URDF:
    在终端执行命令将URDF加载到参数服务器:
    ros2 param set /robot_state_publisher robot_description "$(xacro my_package/urdf/robot.urdf)"
    
    然后在RViz的RobotModel设置中,将Description Source选为Parameter,Description Parameter填写robot_description。

五、常见问题排查

  • 验证STL文件完整性:用Fusion360重新导出或MeshLab打开检查是否损坏。
  • 检查路径大小写:ROS2对路径大小写敏感,确保包名、文件名与URDF中的写法完全一致。
  • 查看终端日志:启动RViz和robot_state_publisher时,终端会输出路径错误提示,可根据信息定位问题。
  • 确认缩放比例:ACDC4Robot导出模型单位多为毫米,0.001缩放合理,若模型仍不显示可调整缩放值或检查模型原点位置。

内容的提问来源于stack exchange,提问作者blup bloop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 10:16:21