Has anyone tried to map environments using Sonars or 1D ToF sensors? Since it's very difficult to implement such an algorithm from the scratch, I'm planning to use an existing ROS packages such as GMapping. For that we need to convert the readings of our sensors to a laser scan file.
I have a differential drive robot and 8 sonar sensors mounted on top of the robot in N, NE, E, SE, S, SW, W, NW directions. Using the odometry data I have implemented a Kalman filter to estimate the position of the robot. But as the robot moves the error of the position estimation accumulates.The same applies to when I'm trying to make a map of the environment incorporating the position estimation with the Sonar data. Therefore I need a pose correction method to increase the accuracy of the map. ROS GMapping is a very good package for this, but it is built only for LIDARs
If I can convert my Sonar readings and position estimation to a LIDAR scan file it can be passed to the GMapping package directly. So I'm asking for a method to do that.
Here is what I have done so far. Buffer poses and range measurements for 50 time steps, transform measured points to the world coordinate frame, calculate the mean position for the buffered positions and calculate the distance and angles for the points(I assume this is what LIDAR gives). The goal is to use this data with a existing SLAM packages in order to create a map with less errors.