03 locomotion
TRANSCRIPT
-
8/12/2019 03 Locomotion
1/24
1
Wheeled Locomotion
Introduction toMobile Robotics
Wolfram Burgard, Cyrill Stachniss, Maren
Bennewitz, Diego Tipaldi, Luciano Spinello
-
8/12/2019 03 Locomotion
2/24
2
Locomotion of Wheeled Robots
Locomotion (Oxford Dict.):Power of motion from place to place
! Differential drive (AmigoBot, Pioneer 2-DX)! Car drive (Ackerman steering)! Synchronous drive (B21)! XR4000! Mecanum wheels
y
roll
z motion
x
y
we also allow wheels torotate around the z axis
-
8/12/2019 03 Locomotion
3/24
3
Instantaneous Center of Curvature
ICC
! For rolling motion to occur, each wheel has tomove along its y-axis
-
8/12/2019 03 Locomotion
4/24
4
Differential Drive
R
ICC !
(x,y)
y
l /2
" x
v l
v r
! ( R + l / 2) = v r
! ( R ! l / 2) = v l
R =l
2
(v l + v r )
(v r ! v l )
! =v r ! v l
l
v =v r + v l
2
]cos,sin[ICC ! ! R y R x +"=
-
8/12/2019 03 Locomotion
5/24
5
Differential Drive: Forward Kinematics
ICC
R
P(t)
P(t+ #t)
!!!
"
#
$$$
%
&+
!!!
"
#
$$$
%
&''
!!!
"
#
$$$
%
& '=
!!!
"
#
$$$
%
&
t
y x
t t t t
y x
y
x
y
x
() *
() () () ()
*
ICCICC
ICCICC
100
0)cos()sin(0)sin()cos(
'
''
')'()(
')]'(sin[)'()(
')]'(cos[)'()(
0
0
0
! !
!
=
=
=
t
t
t
dt t t
dt t t vt y
dt t t vt x
" #
#
#
-
8/12/2019 03 Locomotion
6/24
6
Differential Drive: Forward Kinematics
ICC
R
P(t)
P(t+ #t)
!!!
"
#
$$$
%
&+
!!!
"
#
$$$
%
&''
!!!
"
#
$$$
%
& '=
!!!
"
#
$$$
%
&
t
y x
t t t t
y x
y
x
y
x
() *
() () () ()
*
ICCICC
ICCICC
100
0)cos()sin(0)sin()cos(
'
''
')]'()'([1
)(
')]'(sin[)]'()'([21
)(
')]'(cos[)]'()'([21)(
0
0
0
!
!
!
"=
+=
+=
t
l r
t
l r
t l r
dt t vt vl
t
dt t t vt vt y
dt t t vt vt x
#
#
#
-
8/12/2019 03 Locomotion
7/247
!
" "
tan
]cos,sin[ICC
d R
R y R x
=
+#=Ackermann Drive
R
ICC
(x,y)
y
l /2
" x
v l
v r l vv
vv
vvl R
vl R
vl R
l r
l r
r l
l
r
!=
!+
=
=!
=+
"
"
"
)(
)(
2
)2/(
)2/(! $
d
$
-
8/12/2019 03 Locomotion
8/248
Synchronous Drive
"
y
x
v(t)
! ( ) t ')'()(
')]'(sin[)'()(
')]'(cos[)'()(
0
0
0
!
!
!
=
=
=
t
t
t
dt t t
dt t t vt y
dt t t vt x
" #
#
#
-
8/12/2019 03 Locomotion
9/249
XR4000 Drive
"
y
x
vi(t) ! i(t)
')'()(
')]'(sin[)'()(
')]'(cos[)'()(
0
0
0
!
!
!
=
=
=
t
t
t
dt t t
dt t t vt y
dt t t vt x
" #
#
#
ICC
-
8/12/2019 03 Locomotion
10/2410
XR4000
[courtesy by Oliver Brock & Oussama Khatib]
-
8/12/2019 03 Locomotion
11/2411
Mecanum Wheels
4
4
4
4
3210
3210
3210
3210
/ )vvvv( v
/ )vvvv( v / )vvvv( v
/ )vvvv( v
error
x
y
+!!=
!!+=
!+!=
+++=
"
-
8/12/2019 03 Locomotion
12/2412
Example: Priamos (Karlsruhe)
-
8/12/2019 03 Locomotion
13/2413
Example
-
8/12/2019 03 Locomotion
14/24
14
Example: KUKA youBot
-
8/12/2019 03 Locomotion
15/24
15
Example: Segway Omni
-
8/12/2019 03 Locomotion
16/24
16
Tracked Vehicles
-
8/12/2019 03 Locomotion
17/24
17
Other Robots: OmniTread
[courtesy by Johann Borenstein]
-
8/12/2019 03 Locomotion
18/24
18
Other Robots: Humanoids
-
8/12/2019 03 Locomotion
19/24
19
Non-Holonomic Constraints!
Non-holonomic constraints limit the possibleincremental movements within theconfiguration space of the robot.
! Robots with differential drive or synchro-drive move on a circular trajectory andcannot move sideways.
! XR-4000 or Mecanum-wheeled robots canmove sideways (they have no non-holonomic constraints).
-
8/12/2019 03 Locomotion
20/24
-
8/12/2019 03 Locomotion
21/24
21
Drives with Non-HolonomicConstraints
! Synchro-drive! Differential drive! Ackermann drive
-
8/12/2019 03 Locomotion
22/24
22
Drives without Non-HolonomicConstraints
! XR4000 drive! Mecanum wheels
-
8/12/2019 03 Locomotion
23/24
23
Dead Reckoning and Odometry!
Estimating the motion based on the issuedcontrols/wheel encoder readings! Integrated over time
-
8/12/2019 03 Locomotion
24/24
24
Summary!
Introduced different types of drives forwheeled robots! Math to describe the motion of the basic
drives given the speed of the wheels! Non-holonomic Constraints! Odometry and dead reckoning