2
$\begingroup$

I have a small mobile robot with a LidarLite laser range finder attached to a servo. As of now I have the range finder side-sweeping in a 30 degree arc, taking continuous distance readings to the side of the robot (perpendicular to the robots forward motion).

My goal is to have the robot drive roughly parallel to a wall, side-scanning the entire time, and create a 2D map of that wall it is moving past. The 2D topography map is created post processing (I use R for much of my data processing, but I don't know is popular for this kind of work).

From what I know of it, SLAM sounds like a great tool for what I want to do. But I have two issues:

1: I know my robot will not have a consistent speed, and I have no way to predict or measure the speed of my robot. So I have no way to estimate the odometry of the robot.

2: The robot will also move further and closer to the wall as it proceeds down it's path. So I can not depend on a steady plane of travel from my robot.

So given that I don't have any odometry data, and my realtive distance to the wall changes over the course of a run, is it possible to use SLAM to create 2D maps?

I'm looking into stitching algorithms that are used for other applications, and some of these can handle the variances in relative distance, but I was hoping SLAM or some other algorithm could be of use here.

$\endgroup$
2
$\begingroup$

One way you can use SLAM in your setup is to stop the robot every 30 cm or so, and perform a sweep with your lidar. You can then use e.g. one of the 2D SLAM packages from openslam. The problem with sweeping while you are moving is that you cannot get any correspondence information from a single range reading. SLAM works by associating features in one reading with the same feature in another reading. By having a single point reading you cannot tell if two readings have the same original scene point or not. If you have two scans on the other hand, scene features like e.g. a bump in the wall can be matched between the readings.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.