Issue with simulating 3D LiDAR Scanner sensor
Hello everyone, Here I am trying to simulate a 3D LiDAR scanner with the following properties: Click Here The scenario is that my lidar is installed on a height and it is scanning the environment, including a mobile robot. The lidar has a pitch angle, looking down on the robot like the following picture.
This sensor, scans the 3D space with horizontal and vertical laser beams. However, the published LaserScan topic is 2D, with Z values of 0. Here is the code inside the sensor tag:
<sensor type="gpu_ray" name="lidar">
<pose>0.15 0 2.60 0 0.5323 0</pose>
<visualize>false</visualize>
<update_rate>15</update_rate>
<ray>
<scan>
<horizontal>
<samples>600</samples>
<resolution>1</resolution>
<min_angle>-1.04</min_angle>
<max_angle>1.04</max_angle>
</horizontal>
<vertical>
<samples>125</samples>
<resolution>1</resolution>
<min_angle>-0.21</min_angle>
<max_angle>0.21</max_angle>
</vertical>
</scan>
<range>
<min>1</min>
<max>120</max>
<resolution>0.1</resolution>
</range>
<noise>
<type>gaussian</type>
<mean>0.0</mean>
<stddev>0.01</stddev>
</noise>
</ray>
<plugin name="gazebo_ros_head_lidar_controller" filename="libgazebo_ros_gpu_laser.so">
<topicName>/jakal/laser/scan</topicName>
<frameName>lidar_link</frameName>
<organize_cloud>true</organize_cloud>
</plugin>
</sensor>
And here is the visualized output of the laserscan topic, in Rviz:
Does anybody have a clue why this might be? I specified both vertical and horizontal scan beams but the output is 2D! I must also mention that I am quite new to both ROS and Gazebo, so all of your help is highly appreciated.
Thanks.