Ask Your Question

Integrate gmapping and navigation stack with Wi-Fi data

asked 2017-02-02 14:36:57 -0500

pallavbakshi gravatar image

updated 2017-02-02 21:32:36 -0500

I am using gmapping and navigation stack (just like Turtlebot) to create an autonomous robot. However, I have worked on an additional parameter - Wi-Fi which gives me a unique ID at each point in the building (assuming a point to be a 10cm X 10cm box/grid). I want to integrate this unique ID (at each point) to the gmapping to get an even accurate map and use it later in the navigation stack to decrease the uncertainty of the robot. Any idea how can I go about this? Any kind of help is appreciated.


edit retag flag offensive close merge delete


May I ask what node you are using for wifi position?

Try oneof the kalman filter nodes for the sensor fusion.

Humpelstilzchen gravatar image Humpelstilzchen  ( 2017-02-03 02:51:12 -0500 )edit

I was thinking of creating my own node. Is there any already existing package I can use? I will read the tutorial on the link you forwarded. Thanks. If there is any other module I could use then please share. I already have a database which contains unique ID for each specific point in the floor map

pallavbakshi gravatar image pallavbakshi  ( 2017-02-03 07:55:36 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2017-02-03 01:51:47 -0500

An idea would be to create an additional costmap layer, and use it for your WiFi data. I have not tested it myself, but I think it should help you get started.

You can get an idea on how to create a new layer here:

As you can see, costmap overlays are not meant to help with localization. You will have to integrate the layer generation into gmapping and then have the localization node check for that layer too.

edit flag offensive delete link more


thanks for the costmap idea. I didn't know anything about that. I will have a look at it and it's implementation. It looks I need to edit gmapping and acml heavily to add that layer. Is there anything similar already done by someone in your knowledge?

pallavbakshi gravatar image pallavbakshi  ( 2017-02-03 09:59:59 -0500 )edit

I haven't seen anything like it, sorry.

gstavrinos gravatar image gstavrinos  ( 2017-02-03 12:26:16 -0500 )edit

@gstavrinos - I checked out the possibility of costmap. I think I can use two maps - one generated using the gmapping and the other using the costmap. However, I want to create a costmap with its z coordinate being the Wi-Fi data rather than the occupancy grid info. How to make such a costmap?

pallavbakshi gravatar image pallavbakshi  ( 2017-02-07 03:16:22 -0500 )edit

I think that messing with the z coordinate is too hacky. I would use a x,y pair for each of the different wifi data values.

gstavrinos gravatar image gstavrinos  ( 2017-02-07 04:30:08 -0500 )edit

yeah! that is a better way. In that case I can simply create a 2D array with the indexes being the x,y co-ordinate of the map and the value being the Wi-Fi unique ID. What do you suggest?

pallavbakshi gravatar image pallavbakshi  ( 2017-02-07 05:13:28 -0500 )edit

I think this is the best way to do it. Good luck!

gstavrinos gravatar image gstavrinos  ( 2017-02-08 01:16:20 -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



Asked: 2017-02-02 14:36:57 -0500

Seen: 270 times

Last updated: Feb 02 '17