ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino Mobile - - PowerPoint PPT Presentation

robotics 01peeqw
SMART_READER_LITE
LIVE PREVIEW

ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino Mobile - - PowerPoint PPT Presentation

ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino Mobile & Service Robotics Kinematics Fundamental problems in mobile robotics Locomotion : how the robot moves in the environment Perception : how the robot perceives the


slide-1
SLIDE 1

ROBOTICS 01PEEQW

Basilio Bona DAUIN – Politecnico di Torino

slide-2
SLIDE 2

Mobile & Service Robotics Kinematics

slide-3
SLIDE 3

Fundamental problems in mobile robotics

Locomotion: how the robot moves in the environment Perception: how the robot perceives the environment Mapping: how to build the map of the environment Localization: where is the robot wrt the map Representation: how the robot organizes the knowledge about the environment Path planning/action planning: what the robot shall do to go from here to there; what are the actions to be performed to complete a specified task Supervision and control: how are the command to actuators generated to perform simple or complex tasks. How to generate tasks

3 ROBOTICS 01PEEQW - 20152016 Basilio Bona - DAUIN - PoliTo

slide-4
SLIDE 4

Kinematics

robot kinematics depends on the adopted locomotion stuctures Almost all mobile robots are underactuated, i.e., they have less actuators (and the relative control signals) that is less than the number of degrees of freedom of the structure Various wheels arrangements exist Each one has a different kinematic model We will study the following structures

Differential drive robots Bicycle-like robots And a brief introduction to quadcopters

Basilio Bona - DAUIN - PoliTo 4 ROBOTICS 01PEEQW - 20152016

slide-5
SLIDE 5

Examples of underactuated structures

A car has two actuators, thrust and steer, and moves in a 2D space (3dof) A fixed-wing aircraft has four actuators, forward thrust, ailerons, elevator and rudder, and moves in a 3D space (6dof) A helicopter has four actuators: thrust vector magnitude and direction from the main rotor, and yaw moment from the tail rotor, and moves in a 3D space (6dof) A quadcopter has four actuators, the four rotor thrusts , and moves in a 3D space (6dof) A ship has three actuators: two propellers on parallel axes and

  • ne rudder, and moves in a 2D space (3dof)

Basilio Bona - DAUIN - PoliTo 5 ROBOTICS 01PEEQW - 20152016

slide-6
SLIDE 6

Instantaneous Curvature Centre (ICC)

Basilio Bona - DAUIN - PoliTo 6 ROBOTICS 01PEEQW - 20152016

ICC

If an ICC exists, each wheel rotates without slippage The wheel axes meet in a common point called ICC

slide-7
SLIDE 7

ICC

Basilio Bona - DAUIN - PoliTo 7 ROBOTICS 01PEEQW - 20152016

? wheels slip = skid steering

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

slide-8
SLIDE 8

Kinematics of a wheeled robot (aka rover)

the steering angle is the angle between the velocity vector and the steered wheel direction is equivalent to the angle between the normal to the velocity vector and the steered wheel rotation axis the robot pose is the position and the orientation (with respect to some give inertial axis)

( )

( ) cos sin sin cos 1

m

t x y θ θ θ θ θ =   −        =             p R

T

( ) t β

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW - 20152016 8

β θ

slide-9
SLIDE 9

Kinematics

Basilio Bona - DAUIN - PoliTo 9 ROBOTICS 01PEEQW - 20152016

d

m

ω α α δ rϕ = v ɺ

W

ω

m

i

m

j

W

i

W

j

R

m

R x y

W

R

slide-10
SLIDE 10

Kinematics – Fixed wheel

Basilio Bona - DAUIN - PoliTo 10 ROBOTICS 01PEEQW - 20152016

The kinematic model represents a rover frame with a generic active non- steering wheel, located at a given position, with a local orientation The kinematic equations describe the relations and constraints between the wheel angular velocity and the angular velocity of the frame

( )

x y

v v = v

T

( )

W Wx Wy

ω ω = ω

T

( )

m mz

ω = ω

T

Linear velocity of the wheel at the contact point with the plane Angular velocity of the wheel Angular velocity of the robot

, α δ

( )

cos sin d d α α = d

T

given constants

slide-11
SLIDE 11

Kinematic constraints

Basilio Bona - DAUIN - PoliTo 11 ROBOTICS 01PEEQW - 20152016

Hypothesis

m W

r θ ϕ ϕ = = = v ɺ ɺ ɺ ω ω

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

In the wheel reference frame we have

( ) ( ) ( )

T T T T

1 1 1

m W

r θ ϕ ϕ = = = v ɺ ɺ ɺ ω ω

slide-12
SLIDE 12

Differential Drive (DD) Rover

Basilio Bona - DAUIN - PoliTo 12 ROBOTICS 01PEEQW - 20152016

Left wheel, active, non steering Passive support (castor, omniwheel) Right wheel, active, non steering

slide-13
SLIDE 13

Differential Drive Rover

Basilio Bona - DAUIN - PoliTo 13 ROBOTICS 01PEEQW - 20152016

m

i

m

j

m

k

Left wheel

2 ℓ

r

Right wheel

2 ℓ

slide-14
SLIDE 14

Differential Drive Kinematics

Basilio Bona - DAUIN - PoliTo 14 ROBOTICS 01PEEQW - 20152016

( )

t θ ɺ

( )

t v

( )

t vℓ

( )

r t

v

ICC

R

m

R

slide-15
SLIDE 15

Differential Drive Kinematics

Basilio Bona - DAUIN - PoliTo 15 ROBOTICS 01PEEQW - 20152016

( )

t vℓ

( )

r t

v

( )

t θ ɺ

( )

t v

ICC

R

slide-16
SLIDE 16

Differential Drive Kinematics

Basilio Bona - DAUIN - PoliTo 16 ROBOTICS 01PEEQW - 20152016

vℓ

r

v v

ICC

i

C

i

ρ

Consider the generic time instant

slide-17
SLIDE 17

Differential Drive Kinematics

Basilio Bona - DAUIN - PoliTo 17 ROBOTICS 01PEEQW - 20152016

m

R

before after

vℓ

r

v v vℓ

r

v v

i

C

r >

v vℓ

r

> v v

Turn left Turn right

m

R

t δθ θ

slide-18
SLIDE 18

Differential Drive Kinematics

Basilio Bona - DAUIN - PoliTo 18 ROBOTICS 01PEEQW - 20152016

k

s A B AB = t

  • 2

k

δθ

ik

C

k

δθ

rk

s

k

sℓ

slide-19
SLIDE 19

Differential Drive Kinematics

Basilio Bona - DAUIN - PoliTo 19 ROBOTICS 01PEEQW - 20152016

ik

C

1 k+

t

k

θ

k

δθ i j

rk

t

ik

c

ik rk

ρ − j

ik rk

ρ j

R

k

θ

k

δθ

k

v

k

v

slide-20
SLIDE 20

Differential Drive Kinematics

Basilio Bona - DAUIN - PoliTo 20 ROBOTICS 01PEEQW - 20152016

slide-21
SLIDE 21

Differential Drive Kinematics

Considering the sampled time equations and assuming constant values during the time interval

Basilio Bona - DAUIN - PoliTo 21 ROBOTICS 01PEEQW - 20152016

( / 2) ( / 2)

k k rk k k k

v v ω ρ ω ρ + = − =

ℓ ℓ ICC sin cos

xk k k k k yk k k k

C x C y ρ θ ρ θ     −     = =     +         ; 2 ( ) 2 ( )

rk k rk k k k rk k k k rk k k k rk k

v v s s v v v v v v v v ω δθ ρ ω − − = = + = + = = −

ℓ ℓ ℓ ℓ ℓ

ℓ ℓ ℓ

slide-22
SLIDE 22

Differential Drive Kinematics

Basilio Bona - DAUIN - PoliTo 22 ROBOTICS 01PEEQW - 20152016

1

d d

k k k k k

T t ω θ ω θ θ δθ

+

= ⇒ − ≃ ≐

1 1 1

cos( ) sin( ) sin( ) cos( ) 1

k k k k xk xk k k k k yk yk k k k

x x C C y y C C δθ δθ δθ δθ θ θ δθ

+ + +

        − −                 = − +                                

Approximation when sampling period is small

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

t t t

x t v y t v t θ τ τ τ θ τ τ τ θ ω τ τ = = =

∫ ∫ ∫

(A)

slide-23
SLIDE 23

Differential Drive Kinematics

Basilio Bona - DAUIN - PoliTo 23 ROBOTICS 01PEEQW - 20152016

1 1 1

cos sin

k k k k k k k k k k k

x x v T y y v T T θ θ θ θ ω

+ + +

= + = + = +

EULER APPROXIMATION

slide-24
SLIDE 24

Differential Drive Kinematics

Basilio Bona - DAUIN - PoliTo 24 ROBOTICS 01PEEQW - 20152016

1 1 1

1 cos 2 1 sin 2

k k k k k k k k k k k k k

x x v T T y y v T T T θ ω θ ω θ θ ω

+ + +

    = + +            = + +        = +

RUNGE-KUTTA APPROXIMATION

slide-25
SLIDE 25

Differential Drive Kinematics

Basilio Bona - DAUIN - PoliTo 25 ROBOTICS 01PEEQW - 20152016

EXACT INTEGRATION

( ) ( )

1 1 1 1 1

sin sin cos cos

k k k k k k k k k k k k k k k

x x v y y v T ω θ θ ω θ θ θ θ ω

+ + + + +

= + − = − − = +

(B) (A) and (B) are the same

slide-26
SLIDE 26

Differential Drive Kinematics

Basilio Bona - DAUIN - PoliTo 26 ROBOTICS 01PEEQW - 20152016

slide-27
SLIDE 27

Path Planning

Basilio Bona - DAUIN - PoliTo 27 ROBOTICS 01PEEQW - 20152016

slide-28
SLIDE 28

Path Planning

Basilio Bona - DAUIN - PoliTo 28 ROBOTICS 01PEEQW - 20152016

initial pose final pose initial pose final pose

  • bstacles

free space

2D

slide-29
SLIDE 29

Path Planning

Basilio Bona - DAUIN - PoliTo 29 ROBOTICS 01PEEQW - 20152016

3D F I

slide-30
SLIDE 30

Path Planning A robot path from pose A to pose B can always be decomposed into a series

  • f arcs of different radius

arcs of zero radius represent turn-in-place maneuvers arcs of infinite radius represents straight line maneuvers

Basilio Bona - DAUIN - PoliTo 30 ROBOTICS 01PEEQW - 20152016

slide-31
SLIDE 31

Path Planning

Driving a vehicle to a goal (no orientation specified)

Basilio Bona - DAUIN - PoliTo 31 ROBOTICS 01PEEQW - 20152016

θ − (0,0) ,

f f

x y (0, ) ρ −

A

R

A

relative to frame R

slide-32
SLIDE 32

Path Planning

Driving a vehicle to a goal (orientation specified)

Basilio Bona - DAUIN - PoliTo 32 ROBOTICS 01PEEQW - 20152016

1

θ − (0,0)

1 1

,

f f

x y

1

(0, ) ρ −

A

R

2

θ

2

(0, )

y

r

B

R 2 2

,

f f

x y

A

relative to frame R

B

R

slide-33
SLIDE 33

Path Planning

Basilio Bona - DAUIN - PoliTo 33 ROBOTICS 01PEEQW - 20152016

slide-34
SLIDE 34

Path Planning

Basilio Bona - DAUIN - PoliTo 34 ROBOTICS 01PEEQW - 20152016

slide-35
SLIDE 35

Unicycle

Unicycle is the simplest example of a wheeled robot. It consists of a single actuated steering wheel ω is the steering velocity

Basilio Bona - DAUIN - PoliTo 35 ROBOTICS 01PEEQW - 20152016

m

R R

x y

θ

r

v cos sin 1 x y v θ θ ω θ                   = +                         ɺ ɺ ɺ

control commands (underactuated)

x y θ      

T

states/coordinates

slide-36
SLIDE 36

Unicycle motion

Basilio Bona - DAUIN - PoliTo 36 ROBOTICS 01PEEQW - 20152016

slide-37
SLIDE 37

Unicycle-like robot (polar coordinates)

Basilio Bona - DAUIN - PoliTo 37 ROBOTICS 01PEEQW - 20152016

x

θ δ

r

R

r

v

ρ α y

2 2

( , ) ( , ) x y y x y x ρ α θ δ θ α = + = − = + = atan2 atan2

θ′

slide-38
SLIDE 38

Bicycle-like robot

Basilio Bona - DAUIN - PoliTo 38 ROBOTICS 01PEEQW - 20152016

x y

r

R R θ L φ v cos sin tan x v y v v L θ θ θ φ = = = ɺ ɺ ɺ

NON HOLONOMIC CONSTRAINT

sin cos x y θ θ − = ɺ ɺ Lθ ɺ

f

y

f

x

steering angle

  • rientation
slide-39
SLIDE 39

Bicycle equations 1

Basilio Bona - DAUIN - PoliTo 39 ROBOTICS 01PEEQW - 20152016

1’) 2) 1)

slide-40
SLIDE 40

Bicycle equations 2

Basilio Bona - DAUIN - PoliTo 40 ROBOTICS 01PEEQW - 20152016

slide-41
SLIDE 41

Bicycle equations 3

Basilio Bona - DAUIN - PoliTo 41 ROBOTICS 01PEEQW - 20152016

slide-42
SLIDE 42

Bicycle equations 5

Basilio Bona - DAUIN - PoliTo 42 ROBOTICS 01PEEQW - 20152016

slide-43
SLIDE 43

Bicycle vs unicycle motion

Basilio Bona - DAUIN - PoliTo 43 ROBOTICS 01PEEQW - 20152016

slide-44
SLIDE 44

Quadcopters

Basilio Bona - DAUIN - PoliTo 44 ROBOTICS 01PEEQW - 20152016

slide-45
SLIDE 45

Quadcopter model

Basilio Bona - DAUIN - PoliTo 45 ROBOTICS 01PEEQW - 20152016

4

F

B

R

3

N

B

k

B

i

B

j

4

N

2

F

2

N

3

F

1

N

1

F

slide-46
SLIDE 46

Quadcopter equations

Basilio Bona - DAUIN - PoliTo 46 ROBOTICS 01PEEQW - 20152016

slide-47
SLIDE 47

Quadcopter equations

Basilio Bona - DAUIN - PoliTo 47 ROBOTICS 01PEEQW - 20152016

slide-48
SLIDE 48

Quadcopter equations

Basilio Bona - DAUIN - PoliTo 48 ROBOTICS 01PEEQW - 20152016

slide-49
SLIDE 49

Quadcopter equations

Basilio Bona - DAUIN - PoliTo 49 ROBOTICS 01PEEQW - 20152016

slide-50
SLIDE 50

Odometry

Odometry is the estimation of the successive robot poses based on the wheel motion. Wheel angles are measured and used for pose computation

Odometric errors increase with the distance covered, and are due to many causes, e.g.

Imperfect knowledge of the wheels geometry Unknown contact points: in the ideal DD robot there are two geometric contact points between wheels and ground. In real robots the wheels are several centimeters wide and the actual contact points are undefined Slippage of the wheel wrt the terrain

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

Basilio Bona - DAUIN - PoliTo 50 ROBOTICS 01PEEQW - 20152016

slide-51
SLIDE 51

Odometry Errors

Basilio Bona - DAUIN - PoliTo 51 ROBOTICS 01PEEQW - 20152016

Map Desired path Estimated path based only on odometry

slide-52
SLIDE 52

Visual odometry

Visual odometry is the estimation of the robot poses based only on the acquisition of successive images of the environment Stereo visual odometry uses two cameras to estimate the ego- motion of a camera by tracking features in a video sequence. If the camera system is calibrated then the full 3D Euclidean geometry can be reconstructed Using a single camera, the reconstruction is up to an unknown scale factor A RGB-D (Kinect or similar) camera can be used

Basilio Bona - DAUIN - PoliTo 52 ROBOTICS 01PEEQW - 20152016

slide-53
SLIDE 53

Other important problems that must be addressed

Basilio Bona - DAUIN - PoliTo 53 ROBOTICS 01PEEQW - 20152016

  • 1. Mapping: how to build environment maps (geometrical vs

semantic maps)

  • 2. Localization: where am I in the map?
  • 3. Simultaneous Localization and Mapping (SLAM): build a map

and at the same time localize the robot in the map while moving

  • 4. Path planning: the definition of an “optimal” geometric path

in the environment from A to B, and avoid obstacles

slide-54
SLIDE 54

Path Planning – A map is given

Path planning algorithm: it computes which route to take, from the initial to the final pose, based on the current internal representation of the terrain possibly considering a “cost function” (minimum time, minimum energy, maximum comfort, etc.) Complete path generation: the path is created as a sequence of successive moves from the initial pose to the final one Motion planning: is the execution of the above defined theoretical route; it translates the plan from the internal representation to the physical movement of the wheels Next move selection: at each step, the algorithm must decide which way to move next. An efficient dynamic implementation is required

Basilio Bona - DAUIN - PoliTo 54 ROBOTICS 01PEEQW - 20152016

slide-55
SLIDE 55

Path Planning

Basilio Bona - DAUIN - PoliTo 55 ROBOTICS 01PEEQW - 20152016

Introduction to AI Robotics (MIT Press) Robin Murphy 2000

Navigation

  • Where am I going? Mission

planning

  • What’s the best way there?

Path planning

  • Where have I been? Map

making

  • Where am I? Localization

Mission Planner Carto- grapher Behaviors Behaviors Behaviors Behaviors

deliberative reactive

How am I going to get there?

slide-56
SLIDE 56

Path Planning

Basilio Bona - DAUIN - PoliTo 56 ROBOTICS 01PEEQW - 20152016

A B

Fixed

  • bstacles

Mobile obstacles Acceleration constraints Velocity constraints

slide-57
SLIDE 57

Path Planning

Basilio Bona - DAUIN - PoliTo 57 ROBOTICS 01PEEQW - 20152016

i j k k = 1 k = 2 k = k N =

Which commands shall I give to the rover?

R

slide-58
SLIDE 58

Path Planning

Basilio Bona - DAUIN - PoliTo 58 ROBOTICS 01PEEQW - 20152016

Initial pose Final pose Path A Path B A B

slide-59
SLIDE 59

Motion Planning

Basilio Bona - DAUIN - PoliTo 59 ROBOTICS 01PEEQW - 20152016

Initial pose Final pose Move 1: rotation Move 3:rotation A B Move 2: go straight

slide-60
SLIDE 60

Non-holonomic constraints

Basilio Bona - DAUIN - PoliTo 60 ROBOTICS 01PEEQW - 20152016

Non-holonomic constraints limit the possible incremental movements in the configuration space of the robot Robots with differential drive move on a circular trajectory and cannot move sideways Omni-wheel robots can move sideways

slide-61
SLIDE 61

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

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW - 20152016 61

slide-62
SLIDE 62

62 ROBOTICS 01PEEQW - 20152016

Academic year 2010/11 by Prof. Alessandro De Luca

Basilio Bona - DAUIN - PoliTo

slide-63
SLIDE 63

63 ROBOTICS 01PEEQW - 20152016

Academic year 2010/11 by Prof. Alessandro De Luca

Basilio Bona - DAUIN - PoliTo

slide-64
SLIDE 64

64 ROBOTICS 01PEEQW - 20152016

Academic year 2010/11 by Prof. Alessandro De Luca

Basilio Bona - DAUIN - PoliTo

slide-65
SLIDE 65

65 ROBOTICS 01PEEQW - 20152016

Academic year 2010/11 by Prof. Alessandro De Luca

Basilio Bona - DAUIN - PoliTo