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

I would like to know if an ultrasonic sensor array (3-Sensors, 45 degrees apart) will be able to mimic the laser range sensor required for the navigation stack provided by ROS.

asked 2015-06-19 06:22:25 -0600

miguel gravatar image

I Have 3 Ultrasonic Sensors and motor Encoders for Odometry. I am planning on using the ROS navigation stack in order to help me produce a 2D floor map, will this be possible.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2015-06-19 09:06:01 -0600

David Lu gravatar image

You can use the range_sensor_layer in Hydro and mroe recent version of ROS navigation to incorporate the Range datatype, but you will get a lot less data (and degraded performance) using sonar.

edit flag offensive delete link more


I have been looking into this, and the navigation stack requires sensor streams to be published to the stack, currently it says that the stack only supports laser_scan and Point Cloud messages. How do I interpret the sensor_msgs/Range in order to use the stack?

miguel gravatar image miguel  ( 2015-06-22 02:04:33 -0600 )edit

Where does it say that? That's probably some outdated documentation.

David Lu gravatar image David Lu  ( 2015-06-22 09:43:50 -0600 )edit : "However, the current navigation stack only accepts sensor data published using either the sensor_msgs/LaserScan Message type or the sensor_msgs/PointCloud Message type"

miguel gravatar image miguel  ( 2015-06-22 10:27:54 -0600 )edit

Thanks. Using the range_sensor_layer gets around that requirement.

David Lu gravatar image David Lu  ( 2015-06-22 12:56:31 -0600 )edit

Okay I will do. Thanks for the help!

miguel gravatar image miguel  ( 2015-06-22 13:14:59 -0600 )edit

I have a question regarding the range_sensor_layer, if you have more than one sensor is there more than one plugin for the yaml file, ie.- {name: sonar1, type: "range_sensor_layer::RangeSensorLayer"} then the next one would be sonar2?

miguel gravatar image miguel  ( 2015-06-30 06:42:33 -0600 )edit

Yes. you can name it whatever is convenient.

David Lu gravatar image David Lu  ( 2015-06-30 07:22:07 -0600 )edit

Hi @David, How to I use AMCL, can I just remap my ultrasonic sensors to the /scan topic? If so how do I do it?

miguel gravatar image miguel  ( 2015-07-07 14:49:00 -0600 )edit

answered 2015-06-19 06:39:18 -0600

dornhege gravatar image

Probably not. At least not in the same way. You can publish this as laser messages, but you have 3 (noisy) beams instead of at least 180 beams from a laser. I doubt that the laser-based algorithms will work well with that.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2015-06-19 06:22:25 -0600

Seen: 2,683 times

Last updated: Jun 19 '15