32
CY 02CFIC MOBILE & SERVICE ROBOTICS CFIDV ROBOTICS CA – 01 Kinematics OBOTIC Basilio Bona RO DAUIN – Politecnico di Torino Basilio Bona – DAUIN – Politecnico di Torino 001/1

Mobile robotics 03 - PoliTO

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mobile robotics 03 - PoliTO

CY

02

CFI

C

MOBILE & SERVICEROBOTICS

CFI

DV

ROBOTICS

CA

–0

1

Kinematics

OB

OTI

C

Basilio Bona

RO

DAUIN – Politecnico di Torino

Basilio Bona – DAUIN – Politecnico di Torino 001/1

Page 2: Mobile robotics 03 - PoliTO

KinematicsC

Y0

2C

FIC

CFI

DV

C

A –

01

OB

OTI

CR

O

Basilio Bona – DAUIN – Politecnico di Torino 001/2

Page 3: Mobile robotics 03 - PoliTO

Instantaneous Curvature Centre (ICC)C

Y0

2C

FIC

ICC

CFI

DV

?

CA

–0

1O

BO

TIC

RO

no slippage occursh l li

Basilio Bona – DAUIN – Politecnico di Torino 001/3

some wheel slips

Page 4: Mobile robotics 03 - PoliTO

ICCC

Y

If an ICC exists, the wheel motion occurs without slippage

02

CFI

CC

FID

V

CA

–0

1O

BO

TIC

RO

Basilio Bona – DAUIN – Politecnico di Torino 001/4

Page 5: Mobile robotics 03 - PoliTO

ICCC

Y

If an ICC does not exist, the wheel motion occurs with slippage

02

CFI

CC

FID

V

CA

–0

1O

BO

TIC

RO

Basilio Bona – DAUIN – Politecnico di Torino 001/5

Page 6: Mobile robotics 03 - PoliTO

the steering angle is the one between the velocity vector and the

Kinematics

( )tβ

CY

the steering angle is the one between the velocity vector and the steered wheel direction

is equivalent to the angle between the normal to the velocity vector

( )tβ

02

CFI

C is equivalent to the angle between the normal to the velocity vector and the steered wheel rotation axis

we indicate with robot pose the position and the orientation (with

CFI

DV

respect to some give inertial axis)

CA

–0

1

( )( )t x y θ=pT

OB

OTI

C ( )

0

( )

0

0

c sθ θ⎛ ⎞− ⎟⎜ ⎟⎜ ⎟⎜ ⎟RR

O 0 0

0 0 1m

s cθ θ⎜ ⎟= ⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎟⎜⎝ ⎠

R

Basilio Bona – DAUIN – Politecnico di Torino 001/6

⎝ ⎠

Page 7: Mobile robotics 03 - PoliTO

KinematicsC

Y

wj

R

02

CFI

C

αδw

WR

CFI

DV

d wωr

j wi

CA

–0

1

ωα

rϕ=v

ir

Ry

OB

OTI

C

ri

RO

0R x

Basilio Bona – DAUIN – Politecnico di Torino 001/7

Page 8: Mobile robotics 03 - PoliTO

Kinematics – Fixed wheel

The kinematic model represents a rover

CY

The kinematic model represents a rover frame with a generic active non-steering wheel, located at a given position, with a local orientation

,α δ

( )T

02

CFI

C

The kinematic equations describe the relations and constraints between the

h l l l it d th l

( )0dc dsα α=d

given constants

CFI

DV

wheel angular velocity and the angular velocity of the frame around its rotation axis

given constants

CA

–0

1

( )T0

x yv v=vLinear velocity of the wheel

at the contact point with the plane

OB

OTI

C

( )T0

w wx wyω ω=ω

p

Angular velocity of the wheel

RO

( )

( )T

0 0 ω=ωAngular velocity of the robot

Basilio Bona – DAUIN – Politecnico di Torino 001/8

( )r rzg y

Page 9: Mobile robotics 03 - PoliTO

Vincoli cinematici

Hypothesis Constraints:

CY

Hypothesis

θ=ω

Constraints:The tangential velocity at the wheel contact point, due to the rover rotation around its center, must be equal to the advance

l f h h l d l

02

CFI

C r

w

θ

ϕ=

ω

ωvelotity of the wheel, to avoid slippage.

CFI

DV

rϕ=v

CA

–0

1 In the wheel reference frame we have

( )T

T

OB

OTI

C ( )( )

T

T

0 0 1

0 1 0

ϕ

=

=

ω

ω

RO ( )

( )T

0 1 0

1 0 0

r

r

ϕ

ϕ

=

=v

ω

Basilio Bona – DAUIN – Politecnico di Torino 001/9

( )

Page 10: Mobile robotics 03 - PoliTO

Differential Drive RoverC

Y

Left wheel, active, non steering

02

CFI

C

Passive support

CFI

DV

Passive support(castor, omniwheel)

CA

–0

1O

BO

TIC

RO

Right wheel, active, non steering

Basilio Bona – DAUIN – Politecnico di Torino 001/10

g g

Page 11: Mobile robotics 03 - PoliTO

Differential Drive RoverC

Y

j

02

CFI

C

rj

Left wheel

CFI

DV

rk2

CA

–0

1

rir

2

OB

OTI

C

r

Right wheel

RO

Basilio Bona – DAUIN – Politecnico di Torino 001/11

Page 12: Mobile robotics 03 - PoliTO

Differential Drive KinematicsC

Y ( )tθ

ICC

02

CFI

C ( )tθ

( )

CFI

DV

( )tvrR

CA

–0

1

( )tv

OB

OTI

CR

O ( )rtv

Basilio Bona – DAUIN – Politecnico di Torino 001/12

0R

Page 13: Mobile robotics 03 - PoliTO

Differential Drive KinematicsC

Y0

2C

FIC

( )tv( )θ

CFI

DV

( )tθICC

CA

–0

1

( )tv( )tv

OB

OTI

C ( )rtv

RO

Basilio Bona – DAUIN – Politecnico di Torino 001/13

0R

Page 14: Mobile robotics 03 - PoliTO

Differential Drive KinematicsC

Y

ICCConsider the generic time instant

02

CFI

C ICCiC

CFI

DV

CA

–0

1

rv

viρ

OB

OTI

CR

O

Basilio Bona – DAUIN – Politecnico di Torino 001/14

Page 15: Mobile robotics 03 - PoliTO

Differential Drive KinematicsC

Y vrv

v

02

CFI

C

rRafterC

CFI

DV

afteriC

CA

–0

1 vv

r>v v

>v v

Turn left

Turn right

OB

OTI

C

Rrv

r>v v Turn right

RO r

Rbefore

Basilio Bona – DAUIN – Politecnico di Torino 001/15

Page 16: Mobile robotics 03 - PoliTO

Differential Drive KinematicsC

Y0

2C

FIC

C

CFI

DV

tδθ

iC

CA

–0

1 t

OB

OTI

C

θ

RO

Basilio Bona – DAUIN – Politecnico di Torino 001/16

Page 17: Mobile robotics 03 - PoliTO

Differential Drive KinematicsC

Y

kδθ

02

CFI

C

ikC

kδθ

ik rkρ− j k

CFI

DV

1k+tk

CA

–0

1

0j ik

c

ik kρ j k

θ

OB

OTI

C

0

ik rkρ j k

RO

0i

0rkt

0R

Basilio Bona – DAUIN – Politecnico di Torino 001/17

00

Page 18: Mobile robotics 03 - PoliTO

Differential Drive KinematicsC

Y

A

ikC

02

CFI

C

B

AB = tk

δθ

CFI

DV

B

ks

CA

–0

1

ks

A s

OB

OTI

C A 2k

δθ rks

RO

Basilio Bona – DAUIN – Politecnico di Torino 001/18

Page 19: Mobile robotics 03 - PoliTO

Differential Drive KinematicsC

Y

sinICC

cosxk k k k

k

C x

C y

ρ θρ θ

⎡ ⎤ ⎡ ⎤−⎢ ⎥ ⎢ ⎥= =⎢ ⎥ ⎢ ⎥+⎢ ⎥ ⎢ ⎥

02

CFI

C cosyk k k kC y ρ θ+⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

v v s s

CFI

DV

;rk k rk kk k

v v s s

v v

ω δθ− −

= =

+

CA

–0

1

( / 2)

( / )k k rk

vω ρ + =2( )

rk kk

v vv

+=

+

OB

OTI

C ( / 2)k k k

vω ρ − =( )

2 ( )k rk k

kk rk k

v v v

v vρ

ω+

= =−

RO

Basilio Bona – DAUIN – Politecnico di Torino 001/19

Page 20: Mobile robotics 03 - PoliTO

Differential Drive Kinematics

t t

CY 0 0

( ) cos ( ) ( ) d ; ( ) sin ( ) ( ) d ;t t

x t v y t vθ τ τ τ θ τ τ τ= =∫ ∫

02

CFI

C 0 0

( ) ( ) dt

tθ ω τ τ= ∫

CFI

DV

Approximation when sampling period is small 0∫

CA

–0

1

1

ddk k k k k

Tt

ω θ ω θ θ δθ+= ⇒ −

OB

OTI

C dt

1cos( ) sin( ) 0

k k k k xk xkx x C Cδθ δθ+⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤− −⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥R

O

1sin( ) cos( ) 0

0 0 1k k k k yk yky y C Cδθ δθθ θ δθ

+⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − +⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

Basilio Bona – DAUIN – Politecnico di TorinoAA 2007/08 001/20

10 0 1

k k kθ θ δθ+⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

Page 21: Mobile robotics 03 - PoliTO

Mecanum WheelsC

Y0

2C

FIC

CFI

DV

0 1 2 3( ) / 4

( ) / 4yv v v v v

v v v v v

= + + += +

CA

–0

1 0 1 2 3

0 1 2 3

( ) / 4

( ) / 4xv v v v v

v v v v vθ

= − + −= + − −

OB

OTI

C

0 1 2 3( ) / 4

errorv v v v v= − − +

RO

Basilio Bona – DAUIN – Politecnico di Torino 001/21

Page 22: Mobile robotics 03 - PoliTO

OdometryC

Y

Odometry is the estimation of how the individual wheel motions produce a change in the robot pose. In the ideal robot there are two geometric contact points between wheels and ground In real robots

02

CFI

C geometric contact points, between wheels and ground. In real robots the wheels are several centimeters wide and the actual contact points are undefined.

CFI

DV

Odometric errors increase with the distance covered, and are determined by many causes

I f t k l d f th h l t

CA

–0

1 Imperfect knowledge of the wheels geometry

Imperfect contact point

OB

OTI

C Slippage

Errors can be compensated sensing the environment around the robot and comparing it with known data (maps etc )R

O and comparing it with known data (maps, etc.)

Basilio Bona – DAUIN – Politecnico di TorinoAA 2007/08 001/22

Page 23: Mobile robotics 03 - PoliTO

Odometry ErrorsC

Y0

2C

FIC

CFI

DV

C

A –

01

OB

OTI

CR

O

GridmapDesired path

Actual pathodometry only

Basilio Bona – DAUIN – Politecnico di Torino 001/23

Gridmap

Page 24: Mobile robotics 03 - PoliTO

Other TasksC

Y

1. Task/action planning: how to decompose a task/action into elementary sub-tasks and moves

02

CFI

C y

2. Path planning: the search for a geometric path in the environment

CFI

DV

3. Mapping: how to build environment maps (geometrical vssemantic)

CA

–0

1 4. Localization: where am I?

5. Simultaneous Localization and Mapping (SLAM): build a map and localize itself in it while moving

OB

OTI

C map and localize itself in it while moving

RO

Basilio Bona – DAUIN – Politecnico di TorinoAA 2007/08 001/24

Page 25: Mobile robotics 03 - PoliTO

Path PlanningC

Y

Path planning: is the art of deciding which route to take, based on and expressed in terms of the current internal representation of the terrain

02

CFI

C

Motion planning: is the execution of this theoretical route, by translating the plan from the internal representation in terms of physical movement in the environment

CFI

DV

in the environment

Complete path generation: the complete route to be taken is created as a sequence of moves from the initial position.

CA

–0

1 as a sequence of moves from the initial position.

Next move selection: at each step, the algorithm must decide which way to move next. An efficient dynamic implementation is required

OB

OTI

C

Forward planning: the properties of the path can be taken into account by a deliberative thinking module, responsible for making founded decisions For example path lengths can be used to estimate travel time

RO decisions. For example, path lengths can be used to estimate travel-time,

which influences the agent's decision to move to a particular location.

Basilio Bona – DAUIN – Politecnico di Torino 001/25

Page 26: Mobile robotics 03 - PoliTO

Path PlanningC

Y

NavigationWhere am I going? Mission planningWhat’s the best way there?

02

CFI

C What s the best way there? Path planningWhere have I been? Map

ki Mi iCarto tive

CFI

DV

makingWhere am I? Localization

MissionPlanner

Carto-grapher

elib

erat

CA

–0

1 de

OB

OTI

C

BehaviorsBehaviorsBehaviorsB h i ctiv

eHow am I going to getthere?

RO Behaviors

reac

there?

Basilio Bona – DAUIN – Politecnico di Torino 001/26

Introduction to AI Robotics (MIT Press), copyright Robin Murphy 2000

Page 27: Mobile robotics 03 - PoliTO

Path PlanningC

Y B

02

CFI

C

Fixed obstacles

Mobile obstacles

CFI

DV

Velocity constraints

CA

–0

1

Acceleration constraints

OB

OTI

C

A

RO

Basilio Bona – DAUIN – Politecnico di Torino 001/27

Page 28: Mobile robotics 03 - PoliTO

Path PlanningC

Y 2k =

k N=

02

CFI

C

1k =

CFI

DV

j

1k =

CA

–0

1 0j

0k =R

OB

OTI

C

0i0k0

R

RO

Which commands to the rover?

Basilio Bona – DAUIN – Politecnico di Torino 001/28

Page 29: Mobile robotics 03 - PoliTO

Path PlanningC

Y0

2C

FIC

Final pose

B

CFI

DV

Final pose

Path B

CA

–0

1 Path A

OB

OTI

C

Initial poseA

RO

Basilio Bona – DAUIN – Politecnico di Torino 001/29

Page 30: Mobile robotics 03 - PoliTO

Motion PlanningC

Y0

2C

FIC

Final poseMove 3B

CFI

DV

Move 2

CA

–0

1

Move 1A

OB

OTI

C

Initial pose

A

RO

Basilio Bona – DAUIN – Politecnico di Torino 001/30

Page 31: Mobile robotics 03 - PoliTO

Non-holonomic constraintsC

Y Non-holonomic constraints limit the possible

02

CFI

C pincremental movements within the configuration space of the robot

CFI

DV

Robots with differential drive move on a circular trajectory and cannot move sideways

CA

–0

1

Omni-wheel robots can move sideways

OB

OTI

CR

O

Basilio Bona – DAUIN – Politecnico di Torino 001/31

Page 32: Mobile robotics 03 - PoliTO

Holonomic vs. Non-HolonomicC

Y

Non holonomic constraints reduce the control

02

CFI

C Non-holonomic constraints reduce the control space with respect to the current configuration (e.g., moving sideways is impossible).

CFI

DV

(e.g., moving sideways is impossible).

Holonomic constraints reduce the configuration space

CA

–0

1 space.

OB

OTI

CR

O

Basilio Bona – DAUIN – Politecnico di Torino 001/32