This repository provides guidance on configuring and using ROS packages for sensor fusion using an IMU (BNO055), SparkFun GPS RTK module, and the Robot Localization package. The fusion of data from these sensors enhances the accuracy of robot localization and navigation.
- ROS Noetic installed on your system.
-
ros_imu_bno055: A ROS package for interfacing with the BNO055 IMU sensor.
- GitHub Repository: ros_imu_bno055
- Installation instructions and usage are available in the package's README.
-
ublox_utils: A ROS package for configuring and interfacing with the SparkFun GPS RTK module.
- GitHub Repository: ublox_utils
- Installation instructions and usage are available in the package's README.
-
robot_localization: A ROS package for sensor fusion and robot state estimation.
- GitHub Repository: robot_localization
- Detailed instructions for configuration and usage are provided below.
-
Clone the
robot_localizationpackage into your ROS workspace:cd ~/catkin_ws/src git clone https://github.com/cra-ros-pkg/robot_localization.git
-
Build the ROS workspace:
cd ~/catkin_ws catkin_make
-
Launch the Robot Localization node with your IMU and GPS RTK topics:
roslaunch robot_localization ekf_template.launch
-
Configure the EKF parameters in the launch file to use the topics provided by
ros_imu_bno055andublox_utils.
-
Start your robot's ROS nodes to publish IMU and GPS RTK data.
-
Launch the Robot Localization node as mentioned in the previous section.
-
Visualize the robot's estimated pose using visualization tools like RViz.
- Use this setup for accurate robot localization in outdoor or GPS-denied environments.
- Implement autonomous navigation algorithms with improved localization accuracy.
This project is licensed under the MIT License.
- Special thanks to the authors and maintainers of the
ros_imu_bno055,ublox_utils, androbot_localizationpackages for their contributions to the ROS community.