ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

RTABMap ICP odometry CPU usage is too high

asked 2019-12-11 14:25:55 -0500

EdwardNur gravatar image

updated 2019-12-11 14:29:43 -0500

I am using RTABMap ICP odometry with the default parameters. I am using Intel Core i5 8th generation and sometimes the node consumes almost 100%! Why is that? And is there something I can do?

EDIT: Not default parameters but these (I think scan_normal_k is not used anyway as PointToPlane is false):

<param name="scan_normal_k"   type="int" value="10"/>   

        <param name="Icp/PointToPlane"  type="string" value="false"/>
        <param name="Icp/VoxelSize"     type="string" value="0"/>
        <param name="Icp/PM"            type="string" value="true"/>
        <param name="Icp/PMOutlierRatio" type="string" value="0.65"/>
        <param name="Odom/GuessMotion"  type="string" value="true"/>
        <param name="Odom/ResetCountdown"  type="string" value="1"/>
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2019-12-12 11:02:45 -0500

matlabbe gravatar image

What kind of lidar are you using? With Icp/VoxelSize to 0, all points will be used for scan matching. I would set it between 0.05 (indoor mapping with 2d lidar), 0.2 (indoor mapping with 3d lidar) and 0.5 (autonomous car with 3D lidar) depending on the lidar and the application. Note also that icp_odometry computes as fast as possible, if the lidar rate is 60 Hz, odometry will try to go as fast as 60 Hz, taking 100% of one CPU core if it cannot process all them at same frame rate.

edit flag offensive delete link more


@matlabbe is it possible to provide IMU as when turning the odometry gets lost

EdwardNur gravatar image EdwardNur  ( 2019-12-16 07:53:41 -0500 )edit

It is possible to provide an orientation guess with IMU before doing ICP (see guess_frame_id on rtabmap_ros). However, if there are not enough matches between scan, the resulting transform could still be rejected.

matlabbe gravatar image matlabbe  ( 2020-01-07 10:50:31 -0500 )edit

Question Tools

1 follower


Asked: 2019-12-11 14:25:55 -0500

Seen: 585 times

Last updated: Dec 12 '19