Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect 3D Scan #25

Open
madgrizzle opened this issue Apr 5, 2022 · 9 comments
Open

Incorrect 3D Scan #25

madgrizzle opened this issue Apr 5, 2022 · 9 comments

Comments

@madgrizzle
Copy link

I'm having a problem with the 3D scan produced by the ROS package. When I place the lidar a few inches above the floor, in RVIZ it's showing that the floor slopes downward at maybe a 40-degree angle. It may be hard to tell from just an image but see below. With the sensor above the floor only ~5 inches, there should not be so much scan below Z=0 and shouldn't be sloping downward (right?). I tested the unit using the cyglidar viewer and it appears fine there (from as well as I can tell). So it looks like something with just the ROS implementation. I used both versions 1.3 and 2.0 and get same result and also get same result from my ROS2 version I'm working on which was based on v2.0. I'm using ROS Noetic for v1.3/v2.0 tests and ROS galactic for the ROS2 version.

rviz_screenshot_2022_04_05-19_52_12

@madgrizzle
Copy link
Author

I've been looking at the code between v1.3 and v2.0 and see they are significantly different for calculating the point cloud. I'll have to check to make sure I actually was testing v1.3 because the results look remarkably similar. perhaps I thought I was testing 1.3 but still testing 2.0. Nonetheless, I know v2.0 produces these results and they do not appear correct. The floor slopes down, but the wall is correct (its vertical), so it appears to be mostly a Z calculation (i.e., X and Y seem to be correct)

@madgrizzle
Copy link
Author

No, I see it in v1.3. Am I the only one getting these results?

@madgrizzle
Copy link
Author

madgrizzle commented Apr 7, 2022

I did a comparison of v0.1.0, v0.1.2, v0.1.3, and v0.2.0 of the same scene. Each version was modified to compile and run on ros-noetic using the changes that @brawner submitted. The camera is now placed on the floor, so anything below the camera is invalid. It appears to me things started to go bad at v0.1.3 and much worse at v0.2.0.

comparison

@cygbot
Copy link
Contributor

cygbot commented Apr 9, 2022

hello.

It seems necessary to check whether the 3D Pulse Control Mode operates as Auto in PC Viewer and Manually in ROS.
If you are close to the floor, the reflection of near-field light is large, which may cause measurement errors.
There is no such problem because auto mode adjusts automatically.

@cygbot
Copy link
Contributor

cygbot commented Apr 9, 2022

hello,

I tested PC Viewer and the latest ROS Driver.
This is 3D auto mode.
It seems to come out exactly in ROS.
The coordinates are a bit wrong in the PC viewer. I'll have to tweak the PC viewer.
image
image
image

Could you please check what the floor looks like in your test environment?
Does it have too much reflectivity? It seems that you need to figure out if it is the effect of external lighting.

@madgrizzle
Copy link
Author

The launch file comments says that 0 is for auto and 1 is for manual. It defaults to 0, so it it correct? (i.e., 0 is auto?)

Which version are you running? I get different results between main and 2.0.

My floor is a dark brown laminate, doesn't seem overly reflective to me.

@cygbot
Copy link
Contributor

cygbot commented Apr 13, 2022

yes, 0 is auto.

can you share your test Env.?

@madgrizzle
Copy link
Author

This is what it looks like (its a mess). I've now temporarily mounted the unit onto the robot and its much higher than where I was testing it. previously, it would be sitting 4-5 inches above the ground. I guess the floor is reflective to some extent, but I would think that would be less of a problem with the sensor low to the ground since the angle of incidence/reflection is greater. With where it is now, the floor doesn't even show up in the point cloud.. at least visually on RVIS.
PXL_20220414_020417073

@madgrizzle
Copy link
Author

Refer to #27 (comment)

Once I implemented @Larsvn's bug fix for the duration and I found (what I think) is an error in the documentation (1 is auto, 0 is fixed) then setting duration to 3500 got rid of all that floor garbage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants