不知道为什么在gazobo上显示不出模型

img

img

<launch>
    <param name="robot_description" textfile="$(find GazoboTest)/urdf/test01.urdf"/>
    <include file="$(find gazebo_ros)/launch/empty_world.launch"/>
    <node pkg="rviz" type="rviz" name="rviz"/>
    <node pkg="gazebo_ros" type="spawn_model" name="spawn" args="-urdf -model car -param robot_description"/>
</launch>

```xml
<?xml version="1.0" encoding="utf-8"?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from urdf_test05.urdf               | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="my_robot">
  <link name="car">
    <visual>
      <geometry>
        <cylinder length="1" radius="1"/>
      </geometry>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <collision>
        <geometry>
          <box size="2 3 1"/>
        </geometry>
        <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      </collision>
      <inertial>
        <mass value="2"/>
        <inertia ixx=“0" ixy="0" ixz="0" iyy="1" iyz="0" izz="1"/>
      </inertial>
    </visual>
  </link>
  <gazebo reference="car">
    <material>Gazebo/Red</material>
  </gazebo>
</robot>

```

根据你提供的URDF文件和launch文件,我看到几个可能的问题:

  1. launch文件中spawn_model节点的参数似乎不正确。应该是:
    xml 模型名应该和URDF中robot标签的name属性一致,在这里是my_robot。
  2. URDF文件中inertia标签的属性写错了,应该是ixx, iyy, izz,不要使用双引号。
  3. 确认gazebo中是否存在Gazebo/Red这个material。如果不存在,则需要修改为已有的material名字,比如Gazebo/Blue。
  4. 可以尝试简化URDF文件,只保留一个很简单的模型,查看是否可以显示。如果可以,则继续增加复杂度,定位具体问题。
  5. 确认gazebo和rviz是否正常启动,没有报错。可以在launch文件中增加日志输出,比如:
    xml 希望这些提示可以帮助你定位和解决问题,如果还有其他问题欢迎再次提问。