PR2 Base Odometry

Introduction

This component computes odometry for the base.

Status: REVIEWED, NOT STABLE. .

ROS API

Parameters

odometer/initial_distance (double, default: 0.0)
  • Initial value for the distance traveled by the robot (in m)
odometer/initial_angle (double, default: 0.0)
  • Initial value for the total angular distance traveled by the robot (in radians)
odom/initial_x (double, default: 0.0)
  • Initial X position of the robot in an odometric frame
odom/initial_y (double, default: 0.0)
  • Initial Y position of the robot in an odometric frame
odom/initial_yaw (double, default: 0.0)
  • Initial yaw position of the robot in an odometric frame
ils_max_iterations (int, default: 3)
  • max number of iterations for iterative least squares
odom_frame (string, default: odom)
  • The odometric frame id
base_footprint_frame (string, default: base_footprint)
  • The id for a frame that is below the base link and coincident with the ground
base_link_frame (string, default: base_link)
  • the id of the base frame on the robot
x_stddev (double, default: 0.002)
  • the standard deviation for odometry in X direction (higher values for this term implies odometry is doing worse)
y_stddev (double, default: 0.002)
  • the standard deviation for odometry in Y direction (higher values for this term implies odometry is doing worse)
rotation_stddev (double, default: 0.017)
  • the standard deviation for odometry in yaw (higher values for this term implies odometry is doing worse)
cov_xy (double, default: 0.0)
  • the off-axis values in the covariance matrix
cov_xrotation (double, default: 0.0)
  • the off-axis values in the covariance matrix
cov_yrotation (double, default: 0.0)
  • the off-axis values in the covariance matrix
odom_publish_rate (double, default: 100.0)
  • Odometry publish rate (Hz)
odometer_publish_rate (double, default: 1.0)
  • Odometer publish rate (Hz)
state_publish_rate (double, default: 1.0)
  • Odometry state publish rate (Hz)
wheel_radius_multiplier (double, default: 1.0)
  • A correction multiplier for the radius of the wheels on the robot
caster_calibration_multiplier (double, default: 1.0)
  • A correction multiplier for the reduction ratio for the caster rotation joint

Example Configuration:

base_odometry:
  caster_names: fr_caster_rotation_link fl_caster_rotation_link bl_caster_rotation_link br_caster_rotation_link
  type: Pr2Odometry
  ils_max_iterations: 3
  odom_frame: odom
  base_footprint_frame: base_footprint
  base_link_frame: base_link
  x_stddev: 0.002
  y_stddev: 0.002
  rotation_stddev: 0.017
  cov_xy: 0.0
  cov_xrotation: 0.0
  cov_yrotation: 0.0
  verbose: false
  wheel_radius_multiplier: 1.0
  caster_calibration_multiplier: 1.0
  odom_publish_rate: 100.0
  state_publish_rate: 1.0
  odometer_publish_rate: 1.0

Published Topics

<name>/odom (nav_msgs/Odometry)
  • Odometry is published on this topic in addition to being published directly to tf
<name>/odometer (pr2_mechanism_controllers/Odometer)
  • The odometer published on this topic contains the total translational and rotational distance traveled
/tf (tf/tfMessage)
  • Two transforms are published to tf, a constant transform from the base_footprint frame to the base_link frame and the transform from the odom frame to the base footprint frame.
<name>/state (pr2_mechanism_controllers/BaseOdometryState)
  • The odometry state contains information about wheel drive errors (difference in predicted and actual wheel speeds) and longitudinal slip errors (amount by which the wheels are predicted to be slipping sideways)

Wiki: pr2_mechanism_controllers/Pr2Odometry (last edited 2010-01-21 03:08:59 by SachinChitta)