The laser_filters package LaserScanAngularBoundsFilter implementation allows filtering between a lower_angle and upper_angle value, but assumes lower_angle < upper_angle.
This doesn't work with the RPLIDAR if rotated 180 degrees, since angle_min = -pi and angle_max = pi and the points we want to keep for the forward facing 180 degrees would lie on the two intervals [-pi, -pi/2] and [pi/2, pi]
Tasks
[x] implement new scan filter that allows throwing the middle points rather than the two side intervals
[x] replace launch occurrences of the LaserScanAngularBoundsFilter with the new LaserScanAngleFilter implementation as needed
[x] XV LIDAR on the front of Gigatron
[x] RPLIDAR on the front of Gigatron (depending on final mounting configuration)
I think this is done, the forward facing scan for both LIDARs displays correctly in RViz, and the RPLIDAR scan gives correct outputs in the drive script.
The
laser_filters
packageLaserScanAngularBoundsFilter
implementation allows filtering between alower_angle
andupper_angle
value, but assumeslower_angle < upper_angle
.This doesn't work with the RPLIDAR if rotated 180 degrees, since
angle_min = -pi
andangle_max = pi
and the points we want to keep for the forward facing 180 degrees would lie on the two intervals[-pi, -pi/2]
and[pi/2, pi]
Tasks
LaserScanAngularBoundsFilter
with the newLaserScanAngleFilter
implementation as needed