Professional Documents
Culture Documents
20201019-03 - ETHZ - Odometry Calibration
20201019-03 - ETHZ - Odometry Calibration
20201019-03 - ETHZ - Odometry Calibration
calibration
Big picture
Modeling Class
Duckietown
2
Intuition
Odometry = ὁδός + μέτρον = measurement of the road/path
“Reality”
Dynamic
model
Constrained
Dynamic
model
Kinematic
model
Duckietown
3
Problem Definition (General formulation)
Given a model of the Duckiebot and a set of discrete measurement from which the
output can be estimated, find the most likely calibration parameters.
Calibration parameters
"̇ = $ %; ", (
Model of the system:
) = *(")
Measurements (not necessarily evenly spaced in time)
Duckietown
4
Different cases
Calibration parameters
"̇ = $ %; ", (
Model of the system:
) = *(")
* ⋅ : • Robot pose
• Sensor pose
Measurements (not necessarily evenly spaced in time)
Duckietown
5
Different cases (Typical solution)
Calibration parameters
"̇ = $ %; ", (
Model of the system:
) = *(")
* ⋅ : • Robot pose
• Sensor pose
Measurements (not necessarily evenly spaced in time)
Duckietown
6
Odometry calibration with encoders
Δ"
• Encoder measures a “tick” every Δ", there
are #$%$ ticks in 2'( Number of ticks
measured in Δ)
/0/1
• Travelled distance in Δ): *+/- = 2'(+/-
/232
Distance travelled by A
in time interval
http://www.robotc.net
H1 IH0 K1 IK0
FG = →* =
C C 2R P
• Kinematic model: E H1 AH0 K1 AK0 WX
M=̇ → ΔM =
CN CN vP
yT x T
θ
x t + Δt = x t + d cosθ W
A
• y t + Δt = y t + d sinθ vQ
?@ A?B
θ t + Δt = θ t + 2L
CD
2R Q
Y
V VX
Duckietown
7
Odometry calibration with encoders
• Calibration parameters: p = (R E , R G , L)
;:
• q from: 7 3
Coordinates of points known in world frame
Drive parallel to line on points 8 2 6 4
x t + Δt = x t + dcosθ
• q! (p) from y t + Δt = x t + dsinθ 1 5
3 53
θ t + Δt = θ t + 4 6 9:
78
Duckietown
8
Manual odometry calibration for
Duckiebots (gain / trim model)
Voltage to left/right motors
Increase ; Decrease ;
Δ
Duckietown
10
Kinematic model with motors at steady
state
• Geometric hypothesis: • Kinematic hypothesis
1. Identical wheels (of diameter 2") 5. Rigid body • Motor dynamics
2. Equally spaced wheels (axle length = 2#) • Kinematic constraints 8. Steady State
3. Symmetric along longitudinal axis 6. No skidding
4. Center of mass on symmetry axis 7. No slipping
Duckietown
11
The math (for reference)
() 0 45
• ! " =$% " +' " + +, .̇ " → % = (! − 7)
(* 1 6
D
• .̇ " = Pure rolling
6 <A
;A = ? = CA ?A
4: 45 < =>,A A
• 9 " = +) % " = !− 7 →;= ? ⇒ <<
1 6 => ;< = ? = C< ?<
G =>,< <
• E.̈ = 7̇ = 9 − 9()H*
6
Ignore disturbance for now
From kinematics:
0
7J = (7L − M') !J = (7 − M') Let K = KR = 1
OP L 1
• I ⇒N =K+" =1+"
76 = (7L + M') !6 =
0
(7 + M') TJ
OQ L C−V
1 U=
!J = (K + ")(7L − M') =K−" =1−" C+V
• Trim and Gain model: I T6
!6 = (K − ")(7L + M') C<
C=
CA
Duckietown
12
Summary
• All models are wrong, some are useful
https://docs.duckietown.org/da
! Try it yourself! ffy/opmanual_duckiebot/out/whe
el_calibration.html
Duckietown