ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Value of sensor_msgs/Range field of view for ultrasound sensors.

asked 2015-10-16 00:36:57 -0500

Humpelstilzchen gravatar image

I'm using SRF05 as backup sensors on my robot for some time, but have always wondered for the correct value of "field_of_view" in the Range message.

According to the field of view/detection zone is a non linear function with the broadest part at about 1m for this sensor and then constantly decreasing. Which makes it rather difficult to define the exact value for "field_of_view". I guess other ultrasound sensors have a similar pattern. So What value do you use for the field of view? The following options are in my mind:

  1. Set field of view for the broadest area, so the costmap always assumes the worst case
  2. Use an average value in the detection range
  3. Use an approximation function that sets "field_of_view" according to the current range value. But this can't be done in the gazebo ros_range plugin.
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2016-12-27 04:19:04 -0500

Humpelstilzchen gravatar image

I've a possible answer for my own question for the use with the range sensor layer:

  1. The sensor SRF05 has a max range of 6m
  2. Using this max range of 6m with a high angle like 30 deg will result in a relative small object, e.g. a bottle 5m away to generate a big obstacle in the costmap. This breaks navigation.
  3. This is the reason why I want to use the sensor in only a small range* (currently 0.5m).
  4. Which leads to the following answer: In close range the field of view (fov) is nearly constant and in practice does not matter, because if two cells (low fov) or four cells (high fov) are marked occupied in front of a robot will both result in the same planner strategy: Rotate until path is clear**.

Warning: Limiting the max range of a range sensor without adjusting the range (e.g. max_range=0.5, range=0.567) will result in obstacles not getting removed from the range layer sensor. So be sure to clip all values > max_range to max_range. * Assuming nonholonomic robots with a reasonable size.

edit flag offensive delete link more

Question Tools



Asked: 2015-10-16 00:36:57 -0500

Seen: 1,141 times

Last updated: Dec 27 '16