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

ROS package EKF fusion for imu and lidar

asked 2018-04-01 15:36:12 -0500

I have a 3d lidar and an imu both of which give a pose estimate. I need to get a EKF fused pose output combined from both of them.

  1. I couldn't find a ros package which does that. There is ETHZ's ethzasl_sensor_fusion which does it for camera and imu but not for a lidar. Hope someone can direct me to that if there is one. Or can tell me how to do it using some template available.

  2. Also came across robot_localisation (which i guess assumes odometry data comes from wheel encoders). I was wondering if i perform scan matching from lidar data to get an odometry estimate and feed it to this package along with imu data. I guess EKF requires which sensor are we using for computing the kalman gain and other matrices. So theory doesn't support this. But was wondering if this is still practically feasible given that lidar odometry can be assumed to be coming from wheel encoders.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2018-04-02 06:47:15 -0500

stevejp gravatar image

If your 3d scan matching is giving you a pose estimate you can feed that directly into robot_localization (in this section of the documentation they go over what kind of data r_l can accept - it sounds like you'd be feeding PoseWithCovarianceStamped messages).

edit flag offensive delete link more


yes but the thing is pose estimate from lidar and pose estimate from a camera and a pose estimate from wheel encoders is not the same thing. Correct me if I am wrong here. Because EKF/UKF fusion step requires underlying model i.e. the sensor from which you are computing the pose estimate from.

Harsh2308 gravatar image Harsh2308  ( 2018-04-02 17:07:45 -0500 )edit

If you are giving Pose Estimates from various sensors located at different locations, you need to publish the transforms from the sensors to your base_link frame to make it work in the robot_localization package. Otherwise, you cannot do any localization. Transforms are very important for them.

Akash Purandare gravatar image Akash Purandare  ( 2018-04-03 04:38:00 -0500 )edit

Question Tools



Asked: 2018-04-01 15:36:12 -0500

Seen: 1,256 times

Last updated: Apr 02 '18