Localization & Mapping


Stay tuned for future updates!

Types of Localization
Types of Frame and Transformation
Reference

  • Where is the car with relation to a static reference frame (local or global map)?
  • Where are static objects with relation to the car?
  • Where are dynamic objects with relation to the car?

  • Types of Localization

    (1) Global Localization
  • Position relative to Earth
  • Latitude, Longitude, Altitude/Elevation, Heading
  • Sources
  • GNSS: GPS(USA), BeiDou(China), GLONASS(Russia), Galileo(EU)
  • GNSS Corrections: Ground-based RTK (Real-Time Kinematic) corrections,
    Satellite-based Subscription Services (TERRASTAR)

  • (2) Absolute Local Localization
  • Position relative to local landmarks (maps)
  • X,Y,Z, orientation (RPY/Quaternion) in map frame
  • Algorithms: Perfect Match (PM), Normal Distribution Transform (NDT),
    Iterative Closest Point (ICP)
  • Sources
  • LiDAR: relative to point-cloud-based map
  • Radar: relative to return-based map
  • Camera (with classification and depth sensing): relative to object-based map

  • (3) Relative Local Localization
  • Position relative to arbitrary origin (starting location)
  • X,Y,Z, orientation (RPY/Quaternion) in odometry frame
  • Local map is built dynamically, so measurements must be integrated over time
  • Algorithms: Simultaneous Localization and Mapping (SLAM),
    LiDAR Odometry and Mapping (LOAM)
  • Sources
  • IMU (Inertial Measurement Unit): measures velocity and acceleration in RPY
  • Wheel Encoder: measures rotation speed of individual wheels
  • Camera (image-based odometry): measures relative movement from frame-to-frame

  • Types of Frame and Transformation

  • Inertial reference frames
  • Global or local, fixed or relative
  • Measurement system relative to some origin

  • (1) Body frame
    (2) Sensor frame
    (3) Map frame
    (4) Odometry frame
    (5) Earth frame

    Coordinate Frames

    Shared conventions for coordinate frames provide a specification for developers creating drivers and models for mobile bases.

    (1) base_link: The coordinate frame called base_link is rigidly attached to the mobile robot base. The base_link can be attached to the base in any arbitrary position or orientation; for every hardware platform there will be a different place on the base that provides an obvious point of reference.

    (2) odom: The coordinate frame called odom is a world-fixed frame. The pose of a mobile platform in the odom frame can drift over time, without any bounds. This drift makes the odom frame useless as a long-term global reference. However, the pose of a robot in the odom frame is guaranteed to be continuous, meaning that the pose of a mobile platform in the odom frame always evolves in a smooth way, without discrete jumps.

    In a typical setup the odom frame is computed based on an odometry source, such as wheel odometry, visual odometry or an inertial measurement unit. The odom frame is useful as an accurate, short-term local reference, but drift makes it a poor frame for long-term reference.

    (3) map: The coordinate frame called map is a world fixed frame, with its Z-axis pointing upwards. The pose of a mobile platform, relative to the map frame, should not significantly drift over time. The map frame is not continuous, meaning the pose of a mobile platform in the map frame can change in discrete jumps at any time.

    In a typical setup, a localization component constantly re-computes the robot pose in the map frame based on sensor observations, therefore eliminating drift, but causing discrete jumps when new sensor information arrives. The map frame is useful as a long-term global reference, but discrete jumps in position estimators make it a poor reference frame for local sensing and acting.

    (4) earth: The coordinate frame called earth is the origin of ECEF (Earth-centered, Earth-fixed coordinate system). This frame is designed to allow the interaction of multiple robots in different map frames. If the application only needs one map the earth coordinate frame is not expected to be present. In the case of running with multiple maps simultaneously the map and odom and base_link frames will need to be customized for each robot.

    If the map frame is globally referenced the publisher from earth to map can be a static transform publisher. Otherwise the earth to map transform will usually need to be computed by taking the estimate of the current global position and subtracting the current estimated pose in the map to get the estimated pose of the origin of the map.

    In case the map frame’s absolute positon is unknown at the time of startup, it can remain detached until such time that the global position estimation can be adaquately evaluated. This will operate in the same way that a robot can operate in the odom frame before localization in the map frame is initialized.

    Relation between Frames

    The map frame is the parent of odom, and odom is the parent of base_link. Although intuition would say that both map and odom should be attached to base_link, this is not allowed because each frame can only have one parent.


    Example: AVP TF Tree

    Reference

    [1] AutowareAutoClass2020, Localization Link
    [2] Frames for Self-Driving Cars, Coordinate Frames for Mobile Platforms Link
    [3] AVP 2020 Demo Localization Design Link


    Back to top of the page