Skip to content

Gazebo GpuRaySensor

Bruce Allen edited this page May 29, 2020 · 4 revisions

The Gazebo GpuRaySensor provides an array of mXn rays calculated using gazebo::rendering::GpuLaser. This array is accessed through an iterator and produces records of type GpuLaserData. This record includes the following fields:

  • beam: The vertical beam plane index, [0, vRes) (the beam row)
  • intensity: The intensity value we want
  • range: The distance value we want
  • reading: The horizontal index, [0,hRes) (the beam column)

We need this to include the following field:

  • normal: The normal angle of the beam.

Because GpuLaser is below GpuRaySensor (and because sensor::visualize does not recognize custom sensor types for rendering ray lines) I expect we need to build Gazebo from a fork so we can put the normal field into GpuLaserData. Then a new ROS plugin can access these fields to calculate Sonar beams from the array of `GpuLaserData

Alternatives considered were:

  • dsros_dvl: No, this uses Physics instead of renderer.
  • Depth camera: No, we want rays, not rasterization.
Clone this wiki locally