Slanted Map

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Slanted Map

spelletier
Hello, I am trying to troubleshoot a map being created by rtabmap + Ignition Gazebo Sim Camera output and I am getting a very strange result. I was hoping someone here would know what I need to look into to fix this (Tf, camera_info, ect..)

I don't understand what could possibly cause the entire image to be slanted, for example the blue wall is perpindicular to the ground in the simulation but is being show at a 45degree angle here

I'm at a loss as to what could be causing this, any thoughts would be very helpful.

Slanted Map
Reply | Threaded
Open this post in threaded view
|

Re: Slanted Map

matlabbe
Administrator
Hi, it looks like the camera calibration is wrong.

To debug your depth image and calibration, use DepthCloud plugin in RVIZ.
Reply | Threaded
Open this post in threaded view
|

Re: Slanted Map

spelletier
Thank you for the direction, there does seem to be something wrong with the camera_info but its a bit beyond my ability to tune the simulated cameras sensor, Instead I turned to using a direct point cloud output from the gazebo rgbd sensor. Unfortunately I've not run into an issue with the ICP Odom that maybe you could shed some light on.

When I try to launch the ICP node I get the following readout.



This is from trying to feed it a 1920x1080 RGB pointcloud in the PointCloud2 datatype. From what I understand the error message is implying that there are NaN or InF values in my dataset? But having looked at the messaged echoed I don't see any. Also the projection seems to work fine in rviz aswell.

Thanks again for any insight!
Reply | Threaded
Open this post in threaded view
|

Re: Slanted Map

matlabbe
Administrator
icp_odometry doesn't use the RGB image, only the point cloud. scan_cloud_max_points is pretty huge (49 766 400), how is the node configured?

It looks like there are NaN points in the point cloud. You may try to filter them before feeding the point cloud to icp_odometry.

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: Slanted Map

spelletier
Thanks for all the help so far I really appreciate it, With your guidance I was able to get the ICP odometry working, there was NaN and Inf points that I was able to filter out using a custom cpp node.

Context: I am simulating a differential drive robot with a humanoid torso, the lidar/camera is connected to the head which is connected to the rest of the body with actuators so it can move.



The problem: When moving the robot using its differential drive slowly I am able to map the room but when I try to move the head of the robot that has the lidar attached, I instantly lose my Odom and get the error message:

OdometryF2M.cpp:557::computeTransform() Registration failed: "RegistrationIcp cannot do registration with a null guess."

I'm guessing this is a TF problem? but I'm not exactly sure since the TF seems to update correctly and I can view all the frames moving in rviz.



My lidar is attached to the oak_rgb_camera_frame. I'l also attach my launch file mapping_sim.py
Reply | Threaded
Open this post in threaded view
|

Re: Slanted Map

matlabbe
Administrator
You should use base_footprint as the base frame_id for odometry and rtabmap nodes.

For the icp error, it means it got lost. I don't what what your simulated environment look like, or what knid of lidar you are using, but to make icp works, the lidar should see enough geometry complexity all the time.