up:: RDL MOC
lecture04-odometry-0.pdf

Introduction

Robot Pose

For simplicty we use two-dimensional plane.
With position (xR, yR) and orientation θ.

Types of Localization

Relative Localization (also called incremental Localization or pose tracking) The change of position at successive points in time is incrementally calculated and integrated relative to the starting position.
Odometry

Global Localization The robot position is determined with respect to an external reference system, e.g. to a given map or a global coordinate system.
Localization

Odometry

Definition

“Odometry is the use of data from motion sensors to estimate the change in position over time.”

The word Odometry comes from the Greek words:
hodos meaning travel or journey, and
metron meaning measure.

Odometry is also known as dead reckoning

Odometry Models

Odometry Basic Concept

Odometry is used in robotics by wheeled or legged robots to estimate their position relative to a starting location.

Basic concept:

  • Develop a mathematical model of how the motion of the robot’s wheels, joints, etc. induce motion of the vehicle itself.
  • Integrate (add up) these motions over time to calculate the robot current position with respect to the previous (initial) location.

What sensors can be used to measure the robot’s motion?

  • Wheel Encoder (wheel odometry) → in this lecture
  • Joint encoders (leg odometry)
  • IMU: Accelerometer and Gyroscope (inertial odometry)
  • Camera (visual odometry)
  • Laser scanner (lidar odometry)
    Sensor Fusion

The odometry estimation varies by vehicle design:

Unicycle Model

Unicycle Model

  • Composed by a single upright wheel rolling without sideways slip.

  • This type of robot is unstable without dynamic control to maintain balance.

  • The robot state is described by its position (x, y) and orientation θ.

  • We can control its linear velocity v and angular velocity ω.



Link to original

Differential Drive Model

Setup

  • It has two driveable wheels which are independently controllable, mounted along a common axis.
  • One or more low-friction caster wheels are used to keep the robot horizontal.

From a point robot to two wheels Instead of a point robot, the TurtleBot is now modeled as a robot with:

  • two wheels,
  • two motors, and
  • a motor controller.



also see: Wheel Encoder

Odometry

Wheel speed

Link to original

Bicycle model

steerable front wheel and active rear wheel

Link to original

Ackermann Steering Model

two fixed active back wheels and two passive front wheels steered at different angles

Link to original

Omnidirectional Model

three or more Swedish wheels.

Link to original

Robot Motion Constraints

Based on the motion they can perform, wheeled robots can be:

  • Holonomic (omnidirectional robot)
  • Nonholonomic (car-like robot)

This depends in part on the robot wheels type:

  • Nonholonomic mobile robots employ conventional wheels without sideways slip.
  • Holonomic mobile robots employ Swedish wheels that allow sideways sliding.

Link to original

Wheel Encoder

Overview

Pros:

  • Cheap
  • High frequency

Cons:

  • Drift due to wheel slippage
  • Only reliable on short term.

Function

The encoder outputs the number of resolutions n (tick counts) that the motor has turned in a time interval ∆t.

We know:

  • the encoder number of ticks N
  • angular resolution Ra = 2π/N [rad/tick]
  • on-ground distance resolution Rd = 2πr/N [m/tick]

How far has the robot traveled?

Wheel Velocity

Link to original

Localization

What is Localization?

Given: Map (model) of the environment.
Task: Estimate the robot pose relative to the given map.
Robot pose:

  • position (xR, yR)
  • orientation θ.

Typs of Localization

with mapping SLAM

Sensors for Localization

Proprioceptive Sensors





particle filter

Overview

Based on Bayesian statistics.
Methods: Kalman filter, particle filter (Monte Carlo Localization).
Sensors measurements: wheel encoder, IMU, GPS, laser scanner, camera, etc.

Pros:

  • Model sensor noise.
  • Fuse multimodal sensor data.

Cons:

  • Complex algorithms and models.
  • Computationally expensive.

Function Approximation

Probabilistic method used for non-parametric function approximation.
An arbitrary function can be described by a set of particles at time :


Pros

  • Estimates any posterior distribution (i.e. not limited to Gaussian distribution).
  • Able to cope with noisy sensor data and inaccurate odometry.
  • Easy to implement.

Cons:

  • Large number of particles slows down localization.
  • Requires large storage space.
  • High computational resources.

Further Problems

Adaptive Monte Carlo Localization

AMCL ROS Package

Link to original

Link to original

Odometry Drift

Real World Problems

  • For our models, we assume the robot drives in a perfect world where we can measure exactly how far the robot moved.

  • In time, the odometry drifts away from the real robot position due to errors incrementally adding up at every time step → the error is unbounded!

  • A source of errors is the integration of velocity measurements over time to give position estimates (velocity is assumed to be constant for the time interval ∆t).

Problems that can occur in wheel odometry:

  • Incorrect wheel size (e.g. wheel compaction).
  • Wheel slippage on icy or wet surfaces.
  • Losing contact to the ground. I Encoder inaccuracies (e.g. low resolution).

Odometry can be hard to obtain in different environments:

  • Wind/water currents move flying/diving robots.
  • More difficult to calculate on walking robots (forward kinematics).
Link to original

Summary

  • Odometry provides the robot’s incremental change in position and orientation.
  • For wheel odometry computation, the robot motion model is needed.
  • Some of the most important wheeled robot models are the Unicycle Model, the differential drive, the Bicycle model, the Ackermann Steering Model, and the omnidirectional drive.
  • Odometry Drift occurs due to time integration of velocity measurements and failures of wheel odometry (e.g. wheel slip, inaccurate wheel dimensions).
  • Robots often use both local and global Localization methods

next: RDL VL 05 Mapping