# using range-only sensors for mapping in SLAM

SLAM noob here but trying to implement an algorithm that fuses odometry data and mapping based on wifi signal strengths for a 2D robot.

1) After various readings of different resources, I came across this - http://www.qucosa.de/fileadmin/data/qucosa/documents/8644/Dissertation_Niko_Suenderhauf.pdf that explained what sensors are used in mapping and how they are categorized.

There are range-bearing sensors (stereo cameras,RGB-d cameras) that provide both distance and angle (range and bearing), from which is easy to locate (x,y) coordinates of landmarks ---> I can develop a map.

But in case I'm using wifi signal strengths (Received signal strengths) etc, in which case it is range-only (meaning, I can only establish from a robot pose(x,y,theta) as to how far this signal is coming from), how am I developing a map at all?

My question is similar to this - What algorithm can I use for constructing a map of an explored area using a number of ultrasound sensors? but not quite same.

Even if I were using IMU/GPS, how am I using GPS to develop a map? What is my state space there? If I am getting GPS signals / wifi signals/ radio signals, am I estimating the transmitter/AP's location as the map? or the walls of a room I'm navigating in, as a map?

A lot of SLAM literature talks about motion model and measurement model, the former gives me the pose of the robot quite easily because of the odometry and imu.

The latter though is more for development of a map. Am I right in understanding this? If yes, say a] I have walls in a room and I'm using Lidar scanner - this still gives me the location of the wall using the number of beams that give me bearing, and the average distance from all the beams.

b] Or if I have just a single laser scanner, I can still use a camera (distance) and the heading of the robot to calculate the location of wall (the map). https://shaneormonde.wordpress.com/2014/01/25/webcam-laser-rangefinder/#more-403

But If I have wireless signal strengths, I have a distance (distance of the transmitter from which I'm getting the RSS, not the distance of the wall) as to where they are coming from. But how am I estimating the location of walls here?

2) What does the term "correspondences" mean in SLAM literature?

• You're asking a number of very different questions in one post. It would be better to break this up into multiple, separate posts. – Paul Apr 5 '15 at 16:53

I think you are confusing two distinct things here. You can of course use Wi-Fi signals for SLAM, but you cannot use them to create a map directly from the RSS. As you have already stated yourself, this only gives you information about where the access point / router might be located, i.e. $\left(x_{ap},y_{ap}\right)$. There is hardly any information about the structure of the room in this data, and pursuing this to build a map is not going to be very productive.

What Wi-Fi and similar beacon-like systems like GPS are typically used for, is providing constraints for the dead reckoning via odometry / IMU. By integrating this external positioning data, e.g. using a Kalman Filter or a graph based representation of a MLE problem, you can reduce the estimation error over the robot's trajectory while performing SLAM. Basically it would act like a weak loop closure algorithm, which corrects the robot current pose (and consequently the prior trajectory) by integrating external "semi-ground truth" data. Having a better estimation of the robot trajectory, i.e. the localization aspect of SLAM, can be automatically translated into more accurate mapping. After all, if you knew the ground truth trajectory of the robot, creating the map would simply require translating all sensor measurements to their accurate measurement poses and then combining them into one large measurement (e.g. a point cloud or an occupancy grid / voxel map). This still assumes a dense metric sensor like a LIDAR or a 3D depth camera to actually get sensor measurements of the structure of the environment!

All of this being said, you can of course create a map simply from the RSS of the Wi-Fi. This would be estimating a sparse representation of the environment, where the estimated state of the environment comprises solely of the locations of the access points. This kind of map would allow you to localize the robot to some degree and even navigate (in the absence of obstacles), but I am quite certain this is not what you are after.

In summary, I think you are confusing metric mapping (dense SLAM) and landmark based mapping (sparse SLAM). Positioning systems like Wi-Fi/GPS can either supplement dense SLAM (requiring a dense metric sensor though), or provide the landmarks for sparse SLAM. Sparse SLAM will not typically give you a metric map of an environment though, but rather a map that spatially relates abstract landmarks.

As for your question about correspondences, it refers to observing landmarks at two distinct timesteps $t$ and $t+1$, and identifying these landmarks in the associated sensor measurements $z_t$ and $z_{t+1}$. Correspondences therefore represent a mapping $\lbrace a : z_t\rbrace\rightarrow\lbrace b : z_{t+1}\rbrace$ where $a=b$ are the same landmark observed in sensor observations $z_t$ and $z_{t+1}$. Correspondences indicate a geometric constraint between observation poses $x_t$ and $x_{t+1}$, as the same feature of the environment was observed, which is the information SLAM is based on.

SLAM is so huge topic with a lot of challenging problems. For beginners, I don't really recommend you to read papers. The authors of academic papers assume you know not only the basics in the field but they assume you know the problem that they handle. What you really need is a book that covers the problem in a complete manner, therefore this book is the way to go with. Read the book and do some simulation in Matlab. It answers your questions. The book is really big however you need only to focus on the basics (i.e. focus on EKF-SLAM for the time being).

Chapter 1, 2, 3 ( math prerequisites )

Chapter 5,6 ( motion and measurement models )

Chapter 7 ( Localization problem )

Chapter 10 ( SLAM problem )

Once you are done with these chapters, you should do some simulations and read some academic papers regarding EKF-SLAM. Once you reach this level, you are able to know your path.