Skip to content
This repository has been archived by the owner on Apr 24, 2023. It is now read-only.

ekf_localization_node

Alejandro Escontrela edited this page Oct 28, 2018 · 6 revisions

From robot_localization's documentation for the ekf_localization_node:

ekf_localization_node is an implementation of an extended Kalman filter. It uses an omnidirectional motion model to project the state forward in time, and corrects that projected estimate using perceived sensor data.

Further explanation of the node can be obtained through their documentation.

Launch Information: ekf_localization_node currently launched from localization.launch.

This entry will serve to document the parameters used by the igvc-software repository in our implementation of the ekf_localization_node.

Subscribed Topics

  • /imu [sensor_msgs/Imu]
    • Provides information regarding the robot's linear acceleration, orientation, and angular velocity.
  • /odometry/gps [nav_msgs/odometry]
    • Contains coordinates in the robot's world frame. Publishing of /odometry/gps handles by navsat_transform_node.
  • /tf [tf2_msgs/TFMessage]
    • Transform tree topic. Provides transforms to child_frame_id from header.frame_id.
  • /tf_static [tf2_msgs/TFMessage]
    • Contains transform information relating the robot's static frames (assumed to never change and be valid for all timestamps). Topic msg contains geometry_msgs/TransformStamped[] array where each element expresses a transform from coordinate frame header.frame_id to the coordinate frame child_frame_id.

Published Topics

Parameters

  • base_link_frame (string, "base_footprint")
    • robot's body-fixed reference frame.
  • freqeuency (float, 30)
    • desired hz for node.
  • two_d_mode (boolean, true)
    • For when robot is operating in a planar environment and comfortable with ignoring the subtle variations in the ground (as reported by an IMU).
  • publish_acceleration (boolean, true)
    • Whether or not to publish acceleration information.

Wheel Odomety Parameters

  • odom0 (string, /wheel_odometry/)
    • Source of odometry data.
  • odom0_differential (boolean, false)
    • Whether to integrate pose variables differentially. That is, whether consecutive pose variables should be subtracted from their preceding value and converted to a velocity.
    • set to false as we are fusing gps data from navsat_transform_node.
  • odom0_config ([bool], [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false])
    • what variables of messages should be fused into the final state estimate. Order of fused messages defined in the robot_localization docs.

IMU Parameters

  • imu0 (string, /imu/)
    • Source of imu data.
  • imu0_differential (boolean, false)
    • Whether to integrate pose variables differentially. That is, whether consecutive pose variables should be subtracted from their preceding value and converted to a velocity.
    • set to false as we are fusing gps data from navsat_transform_node.
  • imu0_remove_gravitational_acceleration (boolean, false)
    • this parameter determines whether or not acceleration due to gravity is removed from the acceleration measurement before fusing it.
  • imu0_config ([bool], [false, false, false, false, false, true, false, false, false, false, false, true, false, false, true])
    • what variables of messages should be fused into the final state estimate. Order of fused messages defined in the robot_localization docs.

GPS Parameters

  • odom1 (string, "/odometry/gps")
    • source of gps data.
  • odom1_config ([bool], [true, true, false, false, false, false, false, false, false, false, false, false, false, false, false])
    • what variables of messages should be fused into the final state estimate. Order of fused messages defined in the robot_localization docs.
  • odom1_differential (boolean, false)
    • Whether to integrate pose variables differentially. That is, whether consecutive pose variables should be subtracted from their preceding value and converted to a velocity.