I have a Velodyne VLP-16 LIDAR and a RTK-GPS Inertial Navigation System mounted on a UAV. GPS/IMU data are processed by third-party software and I import accurate GPS/IMU data into ROS. I plan on using robot_localization and tf to use this data for aligning Velodyne point clouds in the world frame (map).
Here's how I'm trying to merge point clouds from Velodyne LIDAR using the odometry information.
Step 1: navsat_transform_node to convert (lat,lon) to UTM and estimate odometry.
Step 2: ekf_localization_node to estimate nav_msgs/Odometry and extract pose
Step 3: Use pose to find the transform from base_link to odom to merge the velodyne point clouds in the world frame.
Is this the correct approach? If yes, these are my questions:
A key challenge I'm facing is regarding the inputs to the navsat_transform_node. Of the three required inputs, I have gps/fix and imu/data coming in. What data do I use for odometry/filtered?
An initial EKF instance used by others fuses the IMU data with compass, wheel encoder etc and broadcasts the odometry/filtered. For most applications, the wheel encoder provides displacement information for odometry. However, in my use case, I only have IMU, velocities and heading information. Should I estimate odometry information separately (by integrating velocities etc) and feed that into another EKF instance before Step 1?
What is the correct way to use RTK-fixed GPS and filtered IMU information with the robot_localization package?
Post score: 3