introlab / rtabmap

RTAB-Map library and standalone application
https://introlab.github.io/rtabmap
Other
2.75k stars 783 forks source link

icp_odometry.cpp issue, row_step #819

Open Chick92 opened 2 years ago

Chick92 commented 2 years ago

Hi,

I'm having trouble getting RTAB to work on a clearpath husky. I've successfully got it to work in simulation, but having problems on the actual hardware.

Rtabmap and rtabmap_ros were both built from the noetic level branch ROS noetic Ubuntu 20

Libpointmatcher built from source

The OS is a fresh install.

In doing a bit of digging around, the problem seems to be clarpath using an outdated velodyne ros package, but i'm not sure. I'm worried that if i uninstall this package and build from the latest version that the Husky won't bring up the lidar at boot. Velodyne and husy are notoriously frustrating to configure properly so it was somewhat of a godsend when i was able to reflash the OS and configure it with the sensor installed. If there's a workaround on the rtab side of things, that would be fantastic.

roslaunch rtabmap_ros demo_husky.launch lidar3d:=true slam2d:=false camera:=false icp_odometry:=true

[FATAL] (2022-01-28 10:47:37.073) icp_odometry.cpp:455::callbackCloud() Condition (pointCloudMsg->data.size() == pointCloudMsg->row_step*pointCloudMsg->height) not met! [data=518364 row_step=0 height=1]

[rtabmap/icp_odometry-1] process has died [pid 3756, exit code -6, cmd /home/administrator/catkin_ws/devel/lib/rtabmap_ros/icp_odometry --Reg/Force3DoF false --Reg/Strategy 1 --RGBD/NeighborLinkRefining true --ICP/PM true --Icp/PMOutlierRatio 0.7 --Icp/VoxelSize 0.2 --Icp/MaxCorrespondenceDistance 1 --Icp/PointToPlaneGroundNormalsUp 0.9 --Icp/Iterations 10 --Icp/Epsilon 0.001 --OdomF2M/ScanSubtractRadius 0.2 --OdomF2M/ScanMaxSize 15000 --Grid/ClusterRadius 1 --Grid/RangeMax 20 --Grid/RayTracing true --Grid/CellSize 0.2 --Icp/PointToPlaneRadius 0 -d --Icp/CorrespondenceRatio 0.01 /rtabmap/grid_map:=/map scan:=/scan_not_used scan_cloud:=/velodyne_points odom:=odom imu:=/imu/data __name:=icp_odometry __log:=/home/administrator/.ros/log/50871fc2-8050-11ec-90ee-61f69261b7f0/rtabmap-icp_odometry-1.log]. log file: /home/administrator/.ros/log/50871fc2-8050-11ec-90ee-61f69261b7f0/rtabmap-icp_odometry-1*.log

matlabbe commented 2 years ago

Make sure you have velodyne driver version with this commit https://github.com/ros-drivers/velodyne/pull/404, the received point cloud is not valid. Full error description: http://official-rtab-map-forum.206.s1.nabble.com/Condition-scan3dMsg-data-size-scan3dMsg-row-step-scan3dMsg-height-not-met-td7852.html