Localizing a robot by using a seperated Lidar sensor

asked 2020-04-24 11:37:17 -0500

Aabed Solayman gravatar image

Hello everyone, I'm currently doing my bachelor thesis and I have a problem that I'm trying to solve. Maybe you can provide me with some answers!

I'm trying to localize the Pose of an object (Robot) using Lidar sensor.

The Lidar sensor is not attached to the robot. It stands in a room.

Luckily there's nothing else in the room but the robot and walls so no need for obstacle detection or avoidance. So the LaserScan is basically 4 walls and an object(robot).

My approach was to convert laserscan data into images and then using image processing to detect the robot's pose. This approach turned to be so slow. As I need first to convert laserscan to image and publish this image. Then a subscriber gets the image and convert it to cv2 using cvbridge and then process it to detect lines and shapes..

Do you think there's another approach? I was thinking of amcl but since the laser is not attaches to the robot it may be a little tricky. What do you think?

Thank you!

edit retag flag offensive close merge delete



1) Computer specs? 2) Why publish the image? You can work on it within your lidar callback 3) The use case is rather limited .. seems like a lot of work for something that won't scale outside of that kind of environment 4) look at the spencer leg tracker on github https://github.com/spencer-project/sp... may or may not help

pring gravatar image pring  ( 2020-04-25 14:27:31 -0500 )edit

Hello pring,

Thank you for your response. 1) Specs are actually poor. I have an I5 processor, 4GB RAM. But the Images are actually very small. 300*300 pixels. So I think image processing may be a good solution, what do you think?

2) This is actually a good idea, I think I can work on that!

3) It's limited, but the idea is to control the Robot without a map to follow a specific path. It may be used as replacement for CNC machines for example. So first I must know the Pose of the robot and then give it commands (follow this path).

4) I will take a look at it. It looks complicated but I think this may help. I also working on another approach ( laser_scan_matcher) where I can get the Pose of the robot using laserscans. It's usually used when a Lidar sensor is ...(more)

Aabed Solayman gravatar image Aabed Solayman  ( 2020-04-25 16:14:50 -0500 )edit

Hi again!

Apparently the laser_scan_matcher could work! I'm using laserscan filters to filter anything the laser catches but the robot! so now I have a topic /scan_filtered, which has nothing in it but the robot. Until now I don't know the Pose of this robot. This is when laser_scan_matcher gets to work! The laser_scan_matcher gets a scan msg, and from this scan msg it can tell the Pose of the robot. I'm using the /scan_filtered msg as input to laser_scan_matcher. I'm working on it and I hope it works. I don't know if I can explain it well or not, I hope you get what I mean :) Thank you Aabed

Aabed Solayman gravatar image Aabed Solayman  ( 2020-04-25 17:05:09 -0500 )edit