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
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!
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.
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)?