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">
<include>
<uri>model://sun</uri>
</include>
<include>
<uri>model://ground_plane</uri>
</include>
<include>
<uri>model://bookshelf</uri>
<name>bs</name>
<pose>2 2 0 0 0 0</pose>
</include>
<actor name="actor">
<skin>
<filename>walk.dae</filename>
</skin>
<animation name="walking">
<filename>walk.dae</filename>
<interpolate_x>true</interpolate_x>
</animation>
<script>
<trajectory id="0" type="walking">
<waypoint>
<time>0</time>
<pose>0 2 0 0 0 -1.57</pose>
</waypoint>
<waypoint>
<time>2</time>
<pose>0 -2 0 0 0 -1.57</pose>
</waypoint>
<waypoint>
<time>2.5</time>
<pose>0 -2 0 0 0 1.57</pose>
</waypoint>
<waypoint>
<time>7</time>
<pose>0 2 0 0 0 1.57</pose>
</waypoint>
<waypoint>
<time>7.5</time>
<pose>0 2 0 0 0 -1.57</pose>
</waypoint>
</trajectory>
</script>
</actor>
</world>
</sdf>
I am launching the world with a call to gazebo_ros/empty_world.launch. I also launch state publishers to visualize the data:
<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"/>
<!-- 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/simple_test.world"/>
<!-- 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)"/>
</include>
<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"/>
</node>
</launch>
Finally, my model urdf is here:
<?xml version="1.0" ?>
<robot name="simple_test">
<link name="base_link">
<visual>
<geometry>
<cylinder length="1.5" radius="0.01"/>
</geometry>
<material name="black"/>
</visual>
<collision>
<geometry>
<cylinder length="1.5" radius="0.01"/>
</geometry>
</collision>
<inertial>
<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"/>
</inertial>
</link>
<!-- bottom-->
<gazebo reference="base_link">
<sensor type="ray" name="bottom_lidar_sick_tim_551">
<pose>0 0 0 0 0 0</pose>
<visualize>false</visualize>
<update_rate>15</update_rate>
<ray>
<scan>
<horizontal>
<samples>270</samples>
<resolution>1</resolution>
<min_angle>-2.35619449019</min_angle>
<max_angle>2.35619449019</max_angle>
</horizontal>
</scan>
<range>
<min>0.05</min>
<max>10.0</max>
<resolution>0.06</resolution ...
A similar question http://answers.gazebosim.org/question/19619/actor-and-lidar-sensor-problems/#19983 and issue from that is: https://bitbucket.org/osrf/gazebo/issues/2482/actor-and-lidar-sensor-problems%3C/p%3E