ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

SLAM with ultrasonic

asked 2020-04-02 03:19:21 -0500

Ivan4815162342 gravatar image


Now I am working at development of mapping procedure which can create map by laser and ultrasonic. I am using gmapping package for that. Only with laser it works fine. But how can I add ultrasonic for map creation?


edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2020-04-04 09:40:11 -0500

Weasfas gravatar image

Hi @Ivan4815162342,

Since the Gmapping node will only take as input sensor_msgs/LaserScan you will need to convert the sonar data, generally speaking given in sensor_msgs/Range into that particular LaserScan msg type.

This topic was already treated in some others post in the forum like here and here. Maybe you find usefull those.

On the other hand, take into accout that Gmapping is designed to have one sole input; thus in order to use more than one sensor data you will need to unify the msgs into one topic. Tools like this one can be used for that purpose.

edit flag offensive delete link more


Thank you for your answer, but range_sensor_layer plugin is used for navigation with existing map. Are there any ways to create such map with help of ultrasonics and laser scan?

Ivan4815162342 gravatar image Ivan4815162342  ( 2020-04-06 00:48:54 -0500 )edit

Well, as I said, unfortunatelly Gmapping only takes one LaserScann input, thus, either you convert your sonar data into a LaserScann and merge it with your laser sensor data to feed the Gmapping node or you use another SLAM paradigm different from Gmapping. Nevertheless, the vast mayority of SLAM nodes on ROS uses a unique LaserScann input like hector_slam.

Things like this and this can help

But using Sonar data for mapping is not a normal thing to do, based on its multiple problems and drawbacks. Furthermore, why do you want to use sonar data in the first place if you have a laser sensor that is a lot more precise. With the laser data will be sufficient to generate a good map.

Weasfas gravatar image Weasfas  ( 2020-04-06 14:30:14 -0500 )edit

Sonar sensor can be helpful for mirrors and glass surfaces detection at the mapping stage.

Ivan4815162342 gravatar image Ivan4815162342  ( 2020-04-07 00:48:16 -0500 )edit

Yes, you are correct. Rarely I came up with a mapping process in which the LaserScann height direcly collide witth a transparent surface. Having said that, the approach is still the same, You will need to convert the sonar data into a LaserScann if you want to use Gmapping, If not you may try to search the state of the art for another SLAM approach or even try to implement you own SLAM node.

Weasfas gravatar image Weasfas  ( 2020-04-07 11:54:26 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2020-04-02 03:19:21 -0500

Seen: 956 times

Last updated: Apr 04 '20