-
Notifications
You must be signed in to change notification settings - Fork 7
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:
- Differential Drive ( forward / inverse )
- Ackerman/Tricycle ( forward / inverse )
- Omnidirectional ( forward / inverse )
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)
- {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
Linear and angular displacements of the robot
Odometry estimation for the robot's pose
Inverse kinematics (up)
Linear velocity of the wheels
Angular velocity of the wheels
Ackerman/Tricycle (up)
- {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
Linear and angular displacements of the robot
Odometry estimation for the robot's pose
Inverse kinematics (up)
Steering angle
Linear velocity of the driven/front wheel
Angular velocity of the wheels
Omnidirectional (up)
Three-wheeled omnidirectional robot
Four-wheeled omnidirectional robot
- {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
- (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)
Linear displacement of the wheels
Linear and angular displacements of the robot
Odometry estimation for the robot's pose
Inverse kinematics (up)
Linear velocity of the wheels
Angular velocity of the wheels
(back)
Copyright © 2021 Ricardo Sousa, Marcelo Petry, António Moreira, Paulo Costa