Introduction to Mobile Robotics Wheeled...

20
1 Wheeled Locomotion Introduction to Mobile Robotics Wolfram Burgard

Transcript of Introduction to Mobile Robotics Wheeled...

Page 1: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

1

Wheeled Locomotion

Introduction to Mobile Robotics

Wolfram Burgard

Page 2: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

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 m otion

x

y

we also allow wheels to rotate around the z axis

Page 3: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

3

Instantaneous Center of Curvature

ICC

For rolling motion to occur, each wheel has to move along its y-axis

Page 4: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

4

Differential Drive

R

ICC w

(x,y)

y

l/2

q x

v l

v r

w(R+ l / 2) = vr

w(R- l / 2) = vl

R =l

2

(vl + vr)

(vr - vl)

w =vr - vl

l

v =vr + vl

2

]cos,sin[ICC qq RyRx

Page 5: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

5

Differential Drive: Forward Kinematics

ICC

R

P(t)

P(t+dt)

t

y

x

tt

tt

y

x

y

x

y

x

wdq

wdwd

wdwd

q

ICC

ICC

ICC

ICC

100

0)cos()sin(

0)sin()cos(

'

'

'

')'()(

')]'(sin[)'()(

')]'(cos[)'()(

0

0

0

t

t

t

dttt

dtttvty

dtttvtx

wq

q

q

Page 6: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

6

Differential Drive: Forward Kinematics

ICC

R

P(t)

P(t+dt)

t

y

x

tt

tt

y

x

y

x

y

x

wdq

wdwd

wdwd

q

ICC

ICC

ICC

ICC

100

0)cos()sin(

0)sin()cos(

'

'

'

')]'()'([1

)(

')]'(sin[)]'()'([2

1)(

')]'(cos[)]'()'([2

1)(

0

0

0

t

lr

t

lr

t

lr

dttvtvl

t

dtttvtvty

dtttvtvtx

q

q

q

Page 7: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

7

qq

tan

]cos,sin[ICC

dR

RyRx

Ackermann Drive

R

ICC

(x,y)

y

l/2

q x

v l

v r l

vv

vv

vvlR

vlR

vlR

lr

lr

rl

l

r

w

w

w

)(

)(

2

)2/(

)2/(w

d

Page 8: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

8

Synchronous Drive

q

y

x

v(t)

w( ) t

')'()(

')]'(sin[)'()(

')]'(cos[)'()(

0

0

0

t

t

t

dttt

dtttvty

dtttvtx

wq

q

q

Page 9: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

9

XR4000 Drive

q

y

x

vi(t)

wi(t)

')'()(

')]'(sin[)'()(

')]'(cos[)'()(

0

0

0

t

t

t

dttt

dtttvty

dtttvtx

wq

q

q

ICC

Page 10: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

11

Mecanum Wheels

4

4

4

4

3210

3210

3210

3210

/)vvvv(v

/)vvvv(v

/)vvvv(v

/)vvvv(v

error

x

y

q

Page 11: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

The Kuka OmniRob Platform

Page 12: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

15

Example: KUKA youBot

Page 13: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

17

Tracked Vehicles

Page 14: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

18

Other Robots: OmniTread

[courtesy by Johann Borenstein]

Page 15: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

20

Non-Holonomic Constraints

Non-holonomic constraints limit the possible incremental movements within the configuration space of the robot.

Robots with differential drive or synchro-drive move on a circular trajectory and cannot move sideways.

Mecanum-wheeled robots can move sideways (they have no non-holonomic constraints).

Page 16: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

21

Holonomic vs. Non-Holonomic

Non-holonomic constraints reduce the control space with respect to the current configuration

E.g., moving sideways is impossible.

Holonomic constraints reduce the configuration space.

E.g., a train on tracks (not all positions and orientations are possible)

Page 17: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

22

Drives with Non-Holonomic Constraints

Synchro-drive

Differential drive

Ackermann drive

Page 18: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

23

Drives without Non-Holonomic Constraints

Mecanum wheels

Page 19: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

24

Dead Reckoning and Odometry

Estimating the motion based on the issued controls/wheel encoder readings

Integrated over time

Page 20: Introduction to Mobile Robotics Wheeled Locomotionais.informatik.uni-freiburg.de/teaching/ss19/robotics/... · 2018-05-04 · Mecanum wheels y roll z motion x y we also allow wheels

25

Summary

Introduced different types of drives for wheeled robots

Math to describe the motion of the basic drives given the speed of the wheels

Non-holonomic constraints

Odometry and dead reckoning