Skip to content

Kinematics

Ricardo B. Sousa edited this page Jan 25, 2021 · 13 revisions

Kinematics

(back)

This page defines the kinematics for the steering geometries implemented in the repository and in the article. These geometries are the following ones:

Note: the positive direction of the motors and data from the encoders is defined by the direction of vi (linear velocity of the wheel i)! This consideration is crucial for the method to work properly.

Differential Drive (up)

kin-diff(compressed)

  • {Xr,Yr}: local coordinate frame of the robot
  • {Xw,Yw}: world's coordinate frame
  • Di: diameter of the wheels
  • b: distance between the right and left wheels
  • n: reduction ratio ([n:1]) of the transmission coupled with each motor of the wheels
  • Ce: resolution (ppr) of the encoder coupled with each motor of the wheels
  • #ii: number of thicks counted from the encoder of the wheel i
  • Δdi: linear displacement of the wheel i
  • Δd: linear displacement of the robot
  • Δθ: angular displacement of the robot
  • {xk,yk,θk}: odometry estimations for the robot's pose (position and orientation) at the time instant k
  • v: linear velocity of the robot
  • ω: angular velocity of the robot
  • vi: linear velocity of the wheel i
  • dot{φi}: angular velocity of the wheel i

Forward kinematics (up)

Linear displacement of the wheels

kin-diff-wh-w-displac

Linear and angular displacements of the robot

kin-diff-rob-v-displac

kin-diff-rob-w-displac

Odometry estimation for the robot's pose

kin-diff-rob-odo

Inverse kinematics (up)

Linear velocity of the wheels

kin-diff-rob-vw

Angular velocity of the wheels

kin-diff-wh-w

Ackerman/Tricycle (up)

kin-tricyc(compressed)

  • {Xr,Yr}: local coordinate frame of the robot
  • {Xw,Yw}: world's coordinate frame
  • D: diameter of the driven/front wheel
  • l: distance between the front and the rear wheels
  • αoff: steering angle offset
  • n: reduction ratio ([n:1]) of the transmission coupled with each motor of the wheels
  • Ce: resolution (ppr) of the encoder coupled with each motor of the wheels
  • #ii: number of thicks counted from the encoder of the wheel i
  • Δdf: linear displacement of the driven/front wheel
  • Δd: linear displacement of the robot
  • Δθ: angular displacement of the robot
  • {xk,yk,θk}: odometry estimations for the robot's pose (position and orientation) at the time instant k
  • v: linear velocity of the robot
  • ω: angular velocity of the robot
  • α: steering angle (without considering αoff)
  • vf: linear velocity of the driven/front wheel
  • dot{φf}: angular velocity of the driven/front wheel

Forward kinematics (up)

Linear displacement of the wheels

kin-diff-wh-w-displac

Linear and angular displacements of the robot

kin-ackertricyc-rob-v-displac

kin-ackertricyc-rob-w-displac

Odometry estimation for the robot's pose

kin-diff-rob-odo

Inverse kinematics (up)

Steering angle

kin-ackertricyc-wh-alpha

Linear velocity of the driven/front wheel

kin-ackertricyc-rob-wh-v

Angular velocity of the wheels

kin-diff-wh-w

Omnidirectional (up)

Three-wheeled omnidirectional robot

kin-omni(3)(compressed)

Four-wheeled omnidirectional robot

kin-omni(4)(compressed)

  • {Xr,Yr}: local coordinate frame of the robot
  • {Xw,Yw}: world's coordinate frame
  • Di: diameter of the wheels
  • l: distance from the robot's geometric center to the wheels' contact point with the ground
  • l1: distance between the robot's front and rear wheels
  • l2: distance between the robot's left and right wheels
  • n: reduction ratio ([n:1]) of the transmission coupled with each motor of the wheels
  • Ce: resolution (ppr) of the encoder coupled with each motor of the wheels
  • #ii: number of thicks counted from the encoder of the wheel i
  • Δdi: linear displacement of the wheel i
  • Δd: linear displacement of the robot
  • Δθ: angular displacement of the robot
  • {xk,yk,θk}: odometry estimations for the robot's pose (position and orientation) at the time instant k
  • v: linear velocity of the robot
  • vn: linear normal velocity of the robot
  • ω: angular velocity of the robot
  • vi: linear velocity of the wheel i
  • dot{φi}: angular velocity of the wheel i

Parameters of an omnidirectional wheel

kin-omni-wh(compressed)

  • (li,αi): polar coordinates of the wheel i relative to the robot coordinate frame
  • βi: angle of the wheel i plane relative to the robot chassis
  • γi: angle between the roller axis and the wheel i plane

Three-wheeled omnidirectional robot:

i l (m) α (rad) β (rad) γ (rad)
1 l -pi/3 0 0
2 l pi/3 0 0
3 l pi 0 0
  • Four-wheeled omnidirectional robot:
i l (m) α (rad) β (rad) γ (rad)
1 sqrt( (l1/2)^2 + (l2/2)^2 ) α = atan(l2/l1) pi/2 - α -pi/4
2 sqrt( (l1/2)^2 + (l2/2)^2 ) -pi/2 + α pi/4
3 sqrt( (l1/2)^2 + (l2/2)^2 ) pi - α -pi/2 + α pi/4
4 sqrt( (l1/2)^2 + (l2/2)^2 ) pi + α pi/2 - α -pi/4

Forward kinematics (up)

kin-omni-j-inv

kin-omni-j-inv(3)

kin-omni-j-inv(4)

Linear displacement of the wheels

kin-diff-wh-w-displac

Linear and angular displacements of the robot

kin-omni-rob-vvnw-displac

kin-omni-j(3)

kin-omni-j(4)

Odometry estimation for the robot's pose

kin-omni-rob-odo

Inverse kinematics (up)

Linear velocity of the wheels

kin-omni-rob-v

Angular velocity of the wheels

kin-diff-wh-w

(back)