Model not spawning in Gazebo
I am having issues spawning a sensor in gazebo 11.
The terminal states that the process has finished cleanly, but no such model appears (whether in rviz or gazebo)
I am able to load my other robot model without issue but am unable to load the sensor.
The launch file code:
<launch>
<arg name="paused" default="false"/>
<arg name="use_sim_time" default="true"/>
<arg name="gui" default="true"/>
<arg name="headless" default="false"/>
<arg name="debug" default="false"/>
<arg name="verbose" default="false"/>
<arg name="world_name" default="$(find velodyne_description)/world/example.world"/>
<arg name="world_name1" default="$(find velodyne_description)/world/wall.world"/>
<arg name="world_name2" default="$(find velodyne_description)/world/wall2.world"/>
<!-- set robot starting point-->
<arg name="x" default="0"/>
<arg name="y" default="0"/>
<arg name="z" default="0.00"/>
<arg name="roll" default="0"/>
<arg name="pitch" default="0"/>
<arg name="yaw" default="0"/>
<!-- Start gazebo and load the world -->
<include file="$(find gazebo_ros)/launch/empty_world.launch" >
<arg name="paused" value="$(arg paused)"/>
<arg name="use_sim_time" value="$(arg use_sim_time)"/>
<arg name="gui" value="$(arg gui)"/>
<arg name="headless" value="$(arg headless)"/>
<arg name="debug" value="$(arg debug)"/>
<arg name="verbose" value="$(arg verbose)"/>
<arg name="world_name" value="$(arg world_name2)"/>
</include>
<!-- Spawn the robot -->
<arg name="gpu" default="false"/>
<param name="robot_description" command="$(find xacro)/xacro '$(find velodyne_description)/urdf/calibrate.urdf.xacro' gpu:=$(arg gpu)" />
<node pkg="gazebo_ros" type="spawn_model" name="spawn_velo" args="-urdf -param /robot_description -model calibrator -x $(arg x) -y $(arg y) -z $(arg z) -R $(arg roll) -P $(arg pitch) -Y $(arg yaw)"/>
<node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher">
<param name="publish_frequency" type="double" value="30.0" />
</node>
<!--Spawn sensor-->
<param name="zed_description" command="$(find xacro)/xacro '$(find velodyne_description)/urdf/zed_spawn.urdf.xacro'" />
<node name="spawn_zed" pkg="gazebo_ros" type="spawn_model" output="screen"
args="-urdf -param zed_description -model zed" />
<!-- RViz -->
<arg name="rviz" default="true"/>
<node if="$(arg rviz)" pkg="rviz" type="rviz" name="calibrator" respawn="false" output="screen" args="-d $(find velodyne_description)/rviz/calibrator.rviz" />
The URDF for the sensor:
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="zed_spawn">
<xacro:include filename="$(find velodyne_description)/urdf/zed_stereo.urdf.xacro"/>
<xacro:arg name="xyz" default="0 0 1.0" />
<xacro:arg name="rpy" default="0 0 0" />
<xacro:arg name="hz" default="20" />
<xacro:arg name="cam_name" default="zed" />
<gazebo>
<static>true</static>
</gazebo>
<!-- Base Footprint -->
<link name="base_footprint2">
<inertial>
<mass value="0.0001" />
<origin xyz="0 0 0.5" />
<inertia ixx="0.0001" ixy="0.0" ixz="0.0"
iyy="0.0001" iyz="0.0"
izz="0.0001" />
</inertial>
<visual>
<origin xyz="0 0 0.5" rpy="0 0 0" />
<geometry>
<box size="0.001 0.001 0.001" />
</geometry>
</visual>
<collision>
<origin
xyz="0.0 0 0.5"
rpy="0 0 0" />
<geometry>
<box size="0.001 0.001 0.001"/>
</geometry>
</collision>
</link>
<gazebo reference="base_footprint2">
<static>true</static>
<turnGravityOff>false</turnGravityOff>
</gazebo>
<zed parent="base_footprint2" name="$(arg cam_name)" hz="$(arg hz)">
</zed>
</robot>
The zed camera model loads fine when I load it as part of the robot (which is just a flat base with an elevated lidar sensor).
Asked by bc524 on 2022-10-13 21:29:17 UTC
Comments