Mobile & Service Robotics 02
Mobile & Service Robotics 02
Mobile & Service Robotics 02
01PEEQW
Basilio Bona
DAUIN Politecnico di Torino
Mobile & Service Robotics Kinematics
Fundamental problems in mobile robotics
( )
T
p(t ) = x y
c s 0
Rm = s c 0
0
0 0 1
ICC
wheels slip
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 8
Kinematics
jW
RW
W
iW
jr d
Rr v = r
y
r ir
R0
x
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 9
Kinematics Fixed wheel
The kinematic model
represents a rover ,
frame with a generic
( )
T
( )
T
The kinematic
equations describe
Linear velocity of the wheel
at the contact point with the v = vx vy 0
plane
the relations and
constraints between
( )
T
the wheel angular Angular velocity of the wheel W = Wx Wy 0
velocity and the
angular velocity of
( )
T
the frame Angular velocity of the robot r = 0 0 rz
v = r
In the wheel reference frame we have
( )
T
r = 0 0 1 T
= (0 1 0)
T
v = (1 0 0) r
T
Passive support
(castor, omniwheel)
jr
Left wheel
r
2
kr ir
2
Right wheel
(t )
v (t )
Rr
v (t )
R0 vr (t )
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 14
Differential Drive Kinematics
v (t )
ICC (t )
v (t )
vr (t )
R0
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 15
Differential Drive Kinematics
ICC
Consider the generic time instant
Ci
v
i v
vr
Ci
t
k
C ik ik jrk
k
k
tk +1
vk
j0 cik
ik jrk k
trk0
R0 i0
C ik
AB = t
k
B
s k
sk
A s rk
k 2
C x sin
xk
ICCk = = k k k
C y + cos
yk k k k
v rk v k s rk s k
k = ; k =
v rk + v k k ( k + / 2) = v rk
vk = k ( k / 2) = v k
2
vk (v rk + v k )
k = =
k 2 (v rk v k )
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 22
Differential Drive Kinematics
t t
(t ) = ( ) d
0
Approximation when sampling period is small
d
k = kT k +1 k k
dt
x cos( ) sin( ) 0 x C C
k +1 k k k xk xk
y = sin( ) cos( ) 0 y C + C
k +1 k k k yk yk (A)
0 0 1
k +1 k k
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 23
Differential Drive Kinematics
EULER APPROXIMATION
x k +1 = x k + vkT cos k
yk +1 = yk + vkT sin k
k +1 = k + kT
RUNGE-KUTTA APPROXIMATION
1
x k +1 = x k + vkT cos k + kT
2
1
yk +1 = yk + vkT sin k + kT
2
k +1 = k + kT
EXACT INTEGRATION
k
x k +1 = x k + (sin k +1 sin k )
vk
k
yk +1 = yk (cos k +1 cos k ) (B)
vk
k +1 = k + kT
2D
3D
relative to frame RA x f , yf
RA
(0, 0) (0, )
2
x f 1, y f 1 x f 2, y f 2
RB
1
RA
(0, 0) (0, 1 )
x cos 0 vr
y = sin v + 0
Rr
0 1
y
states/coordinates
x y
T
R0
x
control commands
= x +y
2 2
vr
= atan2(y, x )
Rr = + = atan2(y, x )
x
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 38
Bicycle-like robot
R0
x xf
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 39
Bicycle equations 1
1)
2)
1)
F4
N3 N1
F3 RB N4 F1
iB
F2 jB
kB
d
N2
Estimated path
Desired path based only on odometry
Map
3. Localization: where am I?
deliberative
Where have I been? Map
making Carto- Mission
grapher Planner
Where am I? Localization
reactive
Behaviors
there? Behaviors
Behaviors
B
Fixed Mobile obstacles
obstacles
Velocity
constraints
Acceleration
constraints
k =N
k =2
k =1
j0
k =0
R0
k0
i0
Which commands shall I give to the rover?
B
Final pose
Path B
Path A
A
Initial pose
B Move 3:rotation
Final pose
Move 2: go straight
Move 1: rotation
A
Initial pose