鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    rviz2不显示robotmodel

    已定时 已固定 已锁定 已移动
    ROS2机器人开发:从入门到实践
    rviz2不显示 urdf
    3
    7
    569
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • ls3470319318L
      ls3470319318
      最后由 编辑

      我在GitHub上下了一个Stewart(六连杆并联机构)的模型,首先对urdf生成了位置关系pdf,如下图:
      c1019d78-a152-41b0-bd6c-ff6609b9039f-dba9cb4b773f455a3ec83174d11047f.png
      由于urdf文件代码量过于庞大不方便展示,后续启动了rviz2,添加了robotmodel,将description改为file并导入了urdf文件,但一直未显示模型。
      a51542db-bb19-4418-9f0c-f3bf725b7ab6-image.png
      所以是我的操作有问题还是由于模型数据过于庞大?

      1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        在RViz2中不显示RobotModel可能是由于多种原因导致的,不仅仅是操作问题或模型数据过于庞大。以下是一些可能的原因及其相应的解决方案:

        1. Fixed Frame设置问题:

          • 在RViz2界面左上角,检查Fixed Frame的设置。如果设置为非base_link或map等常用坐标系,可能会导致模型无法显示。尝试将Fixed Frame改为base_link或相关坐标系,看是否能显示模型。
        2. TF变换问题:

          • 确保你的机器人模型中所有的坐标系都已经发布,并且tf树中的关系正确。使用rostopic echo /tf命令可以查看tf树的结构,确保从base_link到map或其他相关坐标系的变换关系存在。
          • 如果缺少某些变换关系,可以使用rosrun tf static_transform_publisher命令手动添加静态变换。
        3. URDF文件问题:

          • 虽然你提到URDF文件代码量庞大,但还是要确保URDF文件没有语法错误或遗漏的组件。使用文本编辑器仔细检查URDF文件,确保所有引用的文件和路径都是正确的。
          • 确保URDF文件已经正确放置在ROS的工作空间中,并且已经编译生成了相应的描述文件。
        4. RViz2配置问题:

          • 在RViz2中,确保你已经添加了正确的显示项,并且设置了正确的颜色和大小。检查视图中的相机位置和朝向,确保模型在相机视野内。
          • 尝试重新添加RobotModel显示项,看是否能解决问题。
        5. 环境变量问题:

          • 在某些情况下,系统环境变量可能会影响RViz2的显示。例如,如果LC_NUMERIC环境变量设置为非en_US.UTF-8,可能会导致渲染问题。尝试将LC_NUMERIC环境变量改为en_US.UTF-8,然后重新启动RViz2。
        6. 资源限制问题:

          • 如果模型数据确实非常庞大,可能会超出RViz2的渲染能力。尝试简化模型或使用更高性能的计算机来运行RViz2。
        7. 查看日志文件:

          • RViz2会生成日志文件,记录运行过程中的错误和警告信息。查看这些日志文件,可能会找到导致模型无法显示的具体原因。
        8. 更新和重启:

          • 尝试更新你的ROS版本和RViz2软件,或者重启你的计算机和仿真工具,看是否能解决问题。

        综上所述,建议按照上述步骤逐一排查问题,并尝试相应的解决方案。如果问题仍未解决,可以在ROS的官方论坛、Q&A网站或相关的GitHub仓库中提问,寻求社区的帮助。在提问时,尽量提供详细的错误信息和相关代码,以便他人更好地理解你的问题并提供帮助。


        以上为生成回答,仅供参考~

        我是小伊,已接入ChatGpt,所有回复,仅供参考~

        1 条回复 最后回复 回复 引用 0
        • ls3470319318L
          ls3470319318
          最后由 编辑

          256c4140-5433-454f-9ba6-7e472c3882b7-d62d4e86a0864b96867f4aaf3b4d944.png
          我的想法是像小鱼这样先将urdf文件导入看看,但是我的urdf导入好像报错了
          2b803b9f-1e03-48b9-a50b-51f72a34f82b-ff66416915c23d641323404af75255e.png
          不知道这个错误如何解决

          1 条回复 最后回复 回复 引用 0
          • ls3470319318L
            ls3470319318
            最后由 编辑

            应该是我的mesh文件没配置好

            小鱼小 1 条回复 最后回复 回复 引用 0
            • 小鱼小
              小鱼 技术大佬 @ls3470319318
              最后由 编辑

              @ls3470319318 文件贴出来看看

              新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

              ls3470319318L 1 条回复 最后回复 回复 引用 0
              • ls3470319318L
                ls3470319318 @小鱼
                最后由 编辑

                @小鱼 这是部分urdf文件

                <?xml version="1.0" ?>
                <robot name="Stewart">
                
                <material name="silver">
                  <color rgba="0.700 0.700 0.700 1.000"/>
                </material>
                
                <link name="base_link">
                  <inertial>
                    <origin xyz="2.3255899752716172e-11 -1.1937183962455178e-11 0.013288962255547656" rpy="0 0 0"/>
                    <mass value="13.757667475145922"/>
                    <inertia ixx="0.21797416015774124" iyy="0.2179741700510937" izz="0.4340771179526647" ixy="3.067776560401459e-11" iyz="4.670150176529436e-12" ixz="-8.804667573970036e-12"/>
                  </inertial>
                  <visual>
                    <origin xyz="0 0 0" rpy="0 0 0"/>
                    <geometry>
                      <mesh filename="package://stewart_description/meshes/base_link.stl" scale="0.001 0.001 0.001"/>
                    </geometry>
                    <material name="silver"/>
                    <material/>
                  </visual>
                  <collision>
                    <origin xyz="0 0 0" rpy="0 0 0"/>
                    <geometry>
                      <mesh filename="package://stewart_description/meshes/base_link.stl" scale="0.001 0.001 0.001"/>
                    </geometry>
                  </collision>
                </link>
                
                <link name="X1bottom1">
                  <inertial>
                    <origin xyz="0.012750034781542574 0.022083926967425505 -4.07240130076425e-07" rpy="0 0 0"/>
                    <mass value="0.015369342112821462"/>
                    <inertia ixx="2.084365263984602e-06" iyy="1.9211221879191767e-06" izz="3.3040955648304437e-06" ixy="-1.4137265086372345e-07" iyz="-3.4574917186284927e-07" ixz="5.988551323401657e-07"/>
                  </inertial>
                  <visual>
                    <origin xyz="0.160375 0.15639 -0.064756" rpy="0 0 0"/>
                    <geometry>
                      <mesh filename="package://stewart_description/meshes/X1bottom1.stl" scale="0.001 0.001 0.001"/>
                    </geometry>
                    <material name="silver"/>
                    <material/>
                  </visual>
                  <collision>
                    <origin xyz="0.160375 0.15639 -0.064756" rpy="0 0 0"/>
                    <geometry>
                      <mesh filename="package://stewart_description/meshes/X1bottom1.stl" scale="0.001 0.001 0.001"/>
                    </geometry>
                  </collision>
                </link>
                
                <link name="X6bottom1">
                  <inertial>
                    <origin xyz="-0.025500046262033477 -6.64043929288205e-08 -4.0724012435877643e-07" rpy="0 0 0"/>
                    <mass value="0.015369342112821437"/>
                    <inertia ixx="1.8395006492809914e-06" iyy="1.9359846193172324e-06" izz="3.534097746554256e-06" ixy="-1.5720931501039814e-18" iyz="-4.0435313273422735e-07" ixz="6.505213034913027e-19"/>
                  </inertial>
                  <visual>
                    <origin xyz="-0.173125 0.134306 -0.064756" rpy="0 0 0"/>
                    <geometry>
                      <mesh filename="package://stewart_description/meshes/X6bottom1.stl" scale="0.001 0.001 0.001"/>
                    </geometry>
                    <material name="silver"/>
                    <material/>
                  </visual>
                  <collision>
                    <origin xyz="-0.173125 0.134306 -0.064756" rpy="0 0 0"/>
                    <geometry>
                      <mesh filename="package://stewart_description/meshes/X6bottom1.stl" scale="0.001 0.001 0.001"/>
                    </geometry>
                  </collision>
                </link>
                

                在导入urdf文件后终端会报很多这样的错误

                [ERROR] [1734361100.623573101] [rviz2]: Error retrieving file [meshes/J1B_1.stl]: Could not resolve host: meshes
                
                
                小鱼小 1 条回复 最后回复 回复 引用 0
                • 小鱼小
                  小鱼 技术大佬 @ls3470319318
                  最后由 编辑

                  @ls3470319318 joint呢?

                  新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                  1 条回复 最后回复 回复 引用 0
                  • 第一个帖子
                    最后一个帖子
                  皖ICP备16016415号-7
                  Powered by NodeBB | 鱼香ROS