kam3k/laser_line_extraction

Extracting a single line

Opened this issue · 6 comments

Hi!

I'm using your algorithm to detect lines in a factory environment for a graduation project on robotics. The code works very nice, so my compliments for that! Nevertheless, one problem I have is that I cannot seem to detect a line when only one line is present in the laserscan data. Can you advise me on which settings to change or where to adapt the code?

Best,
Sebas

kam3k commented

That's an interesting issue. Let's start by looking at some of the parameters in the launch file that could cause the problem:

max_line_gap: Lines may not be detected if the points in the line are spread out too far.
min_line_length: Is the line that isn't being detected shorter than this?
min_line_points: Does the line that isn't being detected have more points than this?
min_range: Are the points making up the line closer to than this?
min_split_dist: Are the points in the line further apart than this?

Note that a combination of settings may be the cause. When you look at the raw scan, there may appear to be enough points. But after the points have been filtered (e.g., outliers, min range), there may be less points left to create the line, perhaps less than min_line_points.

If you can't seem to resolve the problem by adjusting parameters, would it be possible to provide me a bag and launch file, and tell me where to look for the problem? If I can recreate the issue, it will be easier to track down.

Also, I haven't worked on this code in about three years, so bare with me if it takes me some time to get caught up on how things work!

kam3k commented

Alright, good to hear it is working satisfactorily for you. I'll leave this ticket open because it sounds like there may still be an issue.

kam3k commented

I'm interested in fixing your bug, would it be possible for you to provide a short bag file which reproduces the issue (i.e., without your hardcoded data)?