This post was updated on .
Dear People,
I have found this issue. I have tried to run the launch file in ros-noetic and I have added the icp_odometry This is the updated launch file to an Asus Xtion Pro: <include file="$(find openni_launch)/launch/openni.launch"/> <group ns="rtabmap"> <node pkg="nodelet" type="nodelet" name="rgbd_sync" args="standalone rtabmap_ros/rgbd_sync"> <remap from="rgb/image" to="/camera/rgb/image_rect_color"/> <remap from="depth/image" to="/camera/depth_registered/image_raw"/> <remap from="rgb/camera_info" to="/camera/rgb/camera_info"/> <--param name="approx_sync" value="true"/> </node> <node pkg="rtabmap_ros" type="icp_odometry" name="icp_odometry" output="screen"> <remap from="scan_cloud" to="/camera/depth_registered/points"/> <--param name="frame_id" type="string" value="camera_link"/> <--param name="odom_frame_id" type="string" value="odom"/> <--param name="expected_update_rate" type="double" value="30"/> <--param name="max_update_rate" value="30"/> <--param name="scan_cloud_max_points" type="int" value="0"/> <--param name="publish_tf" type="bool" value="true"/> <--param name="Icp/VoxelSize" type="string" value="0.05"/> <--param name="Icp/PointToPlaneK" type="string" value="20"/> <--param name="Icp/PointToPlaneRadius" type="string" value="0"/> <--param name="Icp/PointToPlane" type="string" value="true"/> <--param name="Icp/Iterations" type="string" value="10"/> <--param name="Icp/Epsilon" type="string" value="0.001"/> <--param name="Icp/MaxTranslation" type="string" value="3"/> <--param name="Icp/MaxCorrespondenceDistance" type="string" value="0.1"/> <--param name="Icp/PM" type="string" value="true"/> <--param name="Icp/PMOutlierRatio" type="string" value="0.7"/> <--param name="Icp/CorrespondenceRatio" type="string" value="0.2"/> <--param name="Odom/ScanKeyFrameThr" type="string" value="0.9"/> <--param name="Odom/Strategy" type="string" value="0"/> <--param name="OdomF2M/ScanSubtractRadius" type="string" value="0.3"/> <--param name="OdomF2M/ScanMaxSize" type="string" value="40000"/> </node> <node pkg="rtabmap_ros" type="rtabmap" name="rtabmap" output="screen" args="-d"> <--param name="frame_id" type="string" value="camera_link"/> <--param name="subscribe_depth" type="bool" value="false"/> <--param name="subscribe_rgb" type="bool" value="false"/> <--param name="subscribe_rgbd" type="bool" value="true"/> <--param name="subscribe_scan_cloud" type="bool" value="true"/> <--param name="approx_sync" type="bool" value="true"/> <remap from="scan_cloud" to="/camera/depth_registered/points"/> <remap from="rgbd_image" to="rgbd_image"/> <remap from="odom" to="odom"/> <--param name="RGBD/NeighborLinkRefining" type="string" value="true"/> <--param name="RGBD/ProximityBySpace" type="string" value="true"/> <--param name="RGBD/AngularUpdate" type="string" value="0.01"/> <--param name="RGBD/LinearUpdate" type="string" value="0.01"/> <--param name="RGBD/OptimizeFromGraphEnd" type="string" value="false"/> <--param name="Grid/FromDepth" type="string" value="false"/> <--param name="Reg/Force3DoF" type="string" value="true"/> <--param name="Reg/Strategy" type="string" value="1"/> <--param name="Icp/VoxelSize" type="string" value="0.05"/> <--param name="Icp/MaxCorrespondenceDistance" type="string" value="0.1"/> </node> </group> I do have the following issue: When I run the launch file I get the following warning: Odom: ratio=0.000000, std dev=0.000000m|0.000000rad, update time=0.000095s [ERROR] (2021-06-09 15:38:29.093) RegistrationIcp.cpp:897::computeTransformationImpl() RegistrationIcp cannot do registration with a null guess. [ WARN] (2021-06-09 15:38:29.093) OdometryF2M.cpp:525::computeTransform() Registration failed: "RegistrationIcp cannot do registration with a null guess." Then the odometry is very unstable even the Asus sensor is not moving at all, as it can be seen in the Figures. I am very confuse with so many parameters, just wondering if it is possible to tune some parameters so the odometer can be stable and be able to produce a nice 3D map. Cheers :) Thank you |
Administrator
|
This post was updated on .
Hi,
That issue was for 3D Lidar, not RGB-D cameras. Parameters can be quite different. There is an example here in ROS with a L515: http://official-rtab-map-forum.206.s1.nabble.com/Kinect-For-Azure-L515-ICP-lighting-invariant-mapping-tp7187p7899.html Note that L515 or Kinect Azure use TOF cameras, which is different from asus's structured light (tof cameras are more accurate). cheers, Mathieu |
Free forum by Nabble | Edit this page |