laser_scan_matcher giving error when robot in a large open place
Hello, I have a robot with a RPLIDAR A2, a IMU and not so accurate wheel encoders. The robot works well in corridors, but when it is in large open room, the laser_scan_matcher node keep producing the following error.
Why is this happening and how to fix it?
Can you please update your question with a copy and paste of the error instead of a screenshot? Text is searchable, images are not.
Added text of the error. Could not copy and paste since I do not have access to the machine now. So manually typed it in.
I appreciate the effort but please copy and paste the error when you have access to the machine vs manually typing it in. Manually typing it is prone to error. It's best just to wait until you have access.
Sure. I'll remove it and add it again by copy pasting.
Depending on the range of your laser, it might be that the laser scan matcher simply can't get any significant information due to seeing the same thing (or nothing) on all sides of the robot. In that case he won't know where he is compared to where he was last scan if nothing changed (for him).
Yeah, I dug into the source code and found out that the CSM library that laser_scan_matcher uses produces this error if less than 10% of points of a scan are valid (value is between range_min and range_max).
Sounds like HM Mehrab got the answer up there. That explains why it's happening at least. I'm not actually sure if there's a fix in this case. Only things I can think of to fix it are: Change the range_min and range_max values (within what your laser_scanner can handle) or get another form of odom.