ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
This looks like it's being caused by your laser driver reporting 0 and NaN when it actually means maxRange or inf.
This can be a safety constraint when your scanner can't detect anything in range, in case of situations such as scanning a mirrored surface which doesn't get picked up as on obstacle.
In practice, for controlled environments, this is not desired behaviour. You can setup a custom node, or implement a laser_filter which would convert the 0s and NaNs to maxRange (which the costmap obstacle layer will pick up as 'no obstacles') or inf (which requires the inf_is_valid parameter to be set on the costmap for that sensor source). This will allow the costmap to properly clear 'empty space' for rays with no obstacles in range.
2 | No.2 Revision |
This looks like it's being caused by your laser driver reporting 0 and NaN when you'd like it actually means to report maxRange or inf.
This can be a safety constraint when your scanner can't detect anything in range, in case of situations such as scanning a mirrored surface which doesn't get picked up as on obstacle.
obstacle. In practice, for controlled environments, this is probably not your desired behaviour. behaviour.
You can setup a custom node, or implement a laser_filter which would convert the 0s and NaNs to maxRange (which the costmap obstacle layer will pick up as 'no obstacles') or inf (which requires the inf_is_valid parameter to be set on the costmap obstacle layer for that sensor source). sensor), and then republish the scan message on a filtered topic. This will allow the costmap to properly clear 'empty space' for rays with no obstacles in range.