Gazebo GpuRaySensor - Field-Robotics-Lab/dave GitHub Wiki

The Gazebo GpuRaySensor provides an array of mXn rays prepared using the gazebo::rendering::GpuLaser module. These rays are of type GpuLaserData and contain 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 record to additionally include:

  • incident_angle based on reflection. If we model secondary reflection, then we need vertical and horizontal angles. Otherwise we can get by with one normal angle.

Because GpuLaser is in a layer below GpuRaySensor and its internals are not accessible, we need to build Gazebo from source so we can add the incident_angle field. We additionally need to make a new BeamSensor type (beam as opposed to ray or gpu_ray) that would produce one horizontal sweep of Sonar Beam data as an array. Initially, output will be n records of (intensity, range) tuples. Later, these fields will be n records of arrays of (intensity, range) tuples, where a given array of (intensity, range) tuples will consist of multiple range values.

Alternatives considered were: