Dependencies

  • ROS2 Humble
  • C++
  • rclcpp (ROS2 C++ client library)
  • rclpy (ROS2 python3 client library)
  • python3

Kalman Filter in ROS2 Humble

Steps involved in implementation

  • used synthetic_data_publisher.py to create synthetic IMU and GPS data with added guassian noise
  • recorded the imu, gps and baseline data in ROS bag file
  • built package ros2 package kalman_filter
  • created launch file kalman_launch_file.py to run kalman_filter package and store results in a bag file
  • finally plotted results for low and high gaussian noise data points using plot_kalman_filter.py

Results

  • with low sensor noise
    Figure_2
  • with high sensor noise
    Figure_1