Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Actors not seen by LIDAR sensors

I am having an issue getting some LIDAR sensors to detect actors in a world file. I am trying to use a TIM5661 in simulation to sense a moving actor, but the sensor is completely unable to sense the actor. I can see the actor moving around in Gazebo, but the sensed data from the lidar doesn't see the actor at all.

Here's the world file that I am using:

<?xml version="1.0" ?>
<sdf version="1.6">
 <world name="default">

  <pose>2 2 0 0 0 0</pose>
<actor name="actor">
  <animation name="walking">
    <trajectory id="0" type="walking">
        <pose>0 2 0 0 0 -1.57</pose>
        <pose>0 -2 0 0 0 -1.57</pose>
        <pose>0 -2 0 0 0 1.57</pose>
        <pose>0 2 0 0 0 1.57</pose>
        <pose>0 2 0 0 0 -1.57</pose>

I am launching the world with a call to gazebo_ros/empty_world.launch. I also launch state publishers to visualize the data:


<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"/>

 <!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
 <include file="$(find gazebo_ros)/launch/empty_world.launch">
   <arg name="world_name" value="$(find adm_gazebo)/worlds/"/>
   <!-- more default parameters can be changed here -->
   <arg name="debug" value="$(arg debug)" />
   <arg name="gui" value="$(arg gui)" />
   <arg name="paused" value="$(arg paused)"/>
   <arg name="use_sim_time" value="$(arg use_sim_time)"/>
   <arg name="headless" value="$(arg headless)"/>

<param name="robot_description" textfile="$(find adm_gazebo)/worlds/simple_test.urdf" />
<param name="k5_adm_description" textfile="$(find adm_gazebo)/worlds/simple_test.urdf" />

<node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher"/>

<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
   <param name="use_gui" value="False"/>


Finally, my model urdf is here:

<?xml version="1.0" ?>
<robot name="simple_test">
<link name="base_link">
            <cylinder length="1.5" radius="0.01"/>
        <material name="black"/>
        <cylinder length="1.5" radius="0.01"/>
      <origin rpy="0 0 0" xyz="0.000000 0.000000 0.000000"/>
      <mass value="5"/>
      <inertia ixx=".03" ixy="-.01" ixz="-.01" iyy=".03" iyz="0.01" izz=".1"/>
    <!-- bottom-->
  <gazebo reference="base_link">
    <sensor type="ray" name="bottom_lidar_sick_tim_551">
      <pose>0 0 0 0 0 0</pose>
          <!-- Noise parameters based on published spec for sick tim 551
               achieving "+-20mm" accuracy at range < 10m.  A mean of 0.0m and
               stddev of 0.00666m will put 99.7% of samples within 0.02m of the true
               reading (3 sigma value). -->
      <plugin name="bottom_lidar_sick_tim_551_controller" filename="">


Finally, I add the robot to the simulation with a spawn_model node:

rosrun gazebo_ros spawn_model -file simple_test.urdf -x -2 -urdf -model test

When I visualize the /scan topic, I can clearly see a bookshelf that is static in the world, but the actor is not visible at all. Any ideas? For reference, here's a few screenshots of gazebo and rviz: image description image description