Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the...

51
Robotics Matteo Matteucci [email protected] Artificial Intelligence and Robotics Lab - Politecnico di Milano Robot Localization Wheels Odometry

Transcript of Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the...

Page 1: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

Robotics

Matteo [email protected]

Artificial Intelligence and Robotics Lab - Politecnico di Milano

Robot Localization – Wheels Odometry

Page 2: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 2

Where Am I?

To perform their tasks autonomous robots and unmanned vehicles need

• To know where they are (e.g., Global Positioning System)

• To know the environment map (e.g., Geographical Institutes Maps)

These are not always possible or reliable

• GNSS are not always reliable/available

• Not all places have been mapped

• Environment changes dynamically

• Maps need to be updated

How would you

program this robot?

Page 3: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 3

Sensors

What’s around?

Where am I?

A Simplified Sense-Plan-Act Architecture

Trajectory Planning

Lower Frequency

Trajectory

Trajectory Following

(and Obstacle Avoidance)

Motion CommandsCurrent

Position

Goal PositionMap

High Frequency

Localization

Mapping

Page 4: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 4

Localization with Knowm Map

Page 5: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 5

Mapping with Knwon Poses

Page 6: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 6

Simultaneous Localization and Mapping

Page 7: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 7

Dynamic Bayesian Networks and (Full) SLAM

L1

G1

z1

G2

u2

),|,,,(:Smoothing :1:11:1 ttNt UZllp G

map

z2

L2 L3

z3 z4

L4

G3

u3

L5

z6 z7

L6

z5

trajectory

Page 8: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 8

Dynamic Bayesian Networks and (Online) SLAM

G=G1:1

:1:11:1:1:11 ),|,,,(),|,,,(:Filteringt

ttNtttNt UZllpUZllp

L1

G1

z1

G2

u2

map

z2

L2 L3

z3 z4

L4

G3

u3

L5

z6 z7

L6

z5

pose

Motion Model

Sensor Model

Page 9: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 9

Localization with Knowm Map

Motion Model

Robot Kinematics

Page 10: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 10

Mobile Robots Classification

Wheeled robots

• Kind of wheels

• Kinematics

• Odometry

Legged robots

• Number of legs

• Type of joints

• Stability

• Coordination

Whegs

• ???

Page 11: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 11

Wheeled Mobile Robots

A robot capable of locomotion on a surface solely through the actuation of wheel assembliesmounted on the robot and in contact with the surface. A wheel assembly is a device which provides or allows motion between its mount and surface on which it is intended to have

a single point of rolling contact.

(Muir and Newman, 1986)

Robot Mobile AGV Unmanned vehicle

Page 12: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 12

Wheels Types

x

y

FixedOrientable

centered

Caster

omnidirectional

Swedish or

Meccanum

Page 13: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 13

Mobile Robots Types/Kinematics (some)

Two wheels (differential drive)• Simple model• Suffers terrain irregularities

• Cannot translate laterally

Tracks• Suited for outdoor terrains• Not accurate movements (with rotations)• Complex model• Cannot translate laterally

Omnidirectional (synchro drive)• Can exploit all degrees of freedom (3DoF)• Complex model• Complex structure

Page 14: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 14

Differential Drive (MRT – Politecnico di Milano)

Page 15: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 15

Differential Drive (MRT – Politecnico di Milano)

Page 16: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 16

Omnidirectional (Swedish wheels)

Page 17: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 17

Omnidirectional (Syncro drive)

Page 18: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 18

Some Definitions ...

Locomotion: the process of causing an autonomous robot to move

• To produce motion, forces must be applied to the vehicle

Dynamics: the study of motion in which forces are modeled

• Includes the energies and speeds associated with these motions

Kinematics: study of motion without considering forces that affect if

• Deals with the geometric relationships that govern the system

• Deals with the relationship between control parameters and the behavior of a

system in state space

We’ll focus on this

motion model!We’ll stick on

the plane!

Page 19: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 19

Kinematics

Direct kinematics

• Given control parameters, e.g., wheels and velocities, and a time of movement t,

find the pose (x, y, ) reached by the robot

Inverse kinematics

• Given the final pose (x, y, ) find control parameters to move there in a given time t

Direct

kinematics:

integrating

. . .

x(t), y(t), (t)

Inverse

kinematics

wheels parameters

wheels parameters

robot pose:

x(t), y(t), (t)

control variables:

angular velocity (t)

linear velocity (t)

Page 20: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 20

Wheeled robot assumptions

1. Robot made only by rigid parts

2. Each wheel may have a 1 link for steering

3. Steering axes are orthogonal to soil

4. Pure rolling of the wheel about its axis (x axis)

5. No translation of the wheel

y

roll

z motion

x

y

Wheel parameters:

r = radius

v = linear velocity

= angular velocity

Page 21: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 21

Instantaneous Center of Curvature (or Rotation)

For a robot to move on the plane (3DoF), without slipage, wheels axis have to intersect

in a single point named Instantaneous Center of Curvature (ICC) or Instantaneous

Center of Rotation (ICR)

ICC

Cannot moveCan move

Planar motion

is a rotation.

Page 22: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 22

(xb, yb) base reference frame

Representing a Pose

xb

yb

xm

ym

ICC

(xm, ym) robot

reference frame

Rotation is around the zm axis

𝑃 = 𝑥𝑏 , 𝑦𝑏, 𝜃 = 𝑥, 𝑦, 𝜃

Page 23: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 23

Differential Drive Kinematics (1)

Construction

• 2 wheels on the same axis

• 2 independent motors (one for wheel)

• 3rd passive supporting wheel

Variables independently controlled

• VR: velocity of the right wheel

• VL: velocity of the left wheel

Pose representation in base reference:

Control input are:

• v: linear velocity of the robot

• : angular velocity of the robot

𝑃 = 𝑥𝑏 , 𝑦𝑏, 𝜃 = 𝑥, 𝑦, 𝜃

Linearly related to VR and VL ...

Page 24: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 24

Right and left wheels follow a circular path with angular velocity and different curvature radius

(R + L/2) = VR

(R - L/2) = VL

Given VR and VL you can find solving for R and equating

=( VR - VL )/ L

Similarly you can find R solving for and equating

R = L/2 (VR + VL) / (VR - VL)

Differential Drive Kinematics (2)

Rotation in place

R = 0, VR = -VL

Linear movement

R = infinite, VR = VL

Page 25: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 25

Differential Drive ICC

Wheels move around ICC on a circumference

with istantaneous radius R and angular velocity

ICC = (x+R cos( +/2), y+R sin( +/2)=

(x – R sin(), y + R cos())

ICC

R

ICC

R

P(t)

P(t+dt)

+

=

t

ICCy

ICCx

tt

tt

y

x

y

x

y

x

d

dd

dd

ICC

ICC

100

0)cos()sin(

0)sin()cos(

'

'

'

Translate

robot in ICC

Rotate around

ICCTranslate

robot back

Page 26: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 26

Differential Drive Equations (Remember!)

R

ICC

(x,y)

y

L/2

x

VL

VR

L

VV

VVV

VV

VVLR

LRV

LRV

LR

LR

LR

LR

L

R

−=

+=

+=

−=

+=

2

)(

)(

2

)2/(

)2/(

))cos(),sin(( +−= RyRxICC

Page 27: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 27

Differential drive direct kinematics

Being know

Compute the velocity in the base frame

Integrate position in base frame

ICR

R

Vx = V(t) cos ((t))

Vy = V(t) sin ((t))

x(t) = ∫ V(t) cos ((t)) dt

y(t) = ∫ V(t) sin ((t)) dt

(t) = ∫ (t) dt

= ( VR - VL ) / L

R = L/2 ( VR + VL ) / ( VR - VL )

V = R = ( VR + VL ) / 2

'))'()'((1

)(

'))'(sin())'()'((2

1)(

'))'(cos())'()'((2

1)(

0

0

0

−=

+=

+=

t

LR

t

LR

t

LR

dttVtVL

t

dtttVtVty

dtttVtVtx

Can integrate

at discrete time

Page 28: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 28

Odometry Integration (1)

Assume constant linear velocity 𝑣𝑘and angular velocity 𝜔𝑘 in 𝑡𝑘 , 𝑡𝑘+1can use Euler integration to compute robot odometry

'))'()'((1

)(

'))'(sin())'()'((2

1)(

'))'(cos())'()'((2

1)(

0

0

0

−=

+=

+=

t

LR

t

LR

t

LR

dttVtVL

t

dtttVtVty

dtttVtVtx

𝑥𝑘+1 = 𝑥𝑘 + 𝑣𝑘𝑇𝑆 cos 𝜃𝑘

𝑦𝑘+1 = 𝑦𝑘 + 𝑣𝑘𝑇𝑆 sin 𝜃𝑘

𝜃𝑘+1 = 𝜃𝑘 + 𝜔𝑘𝑇𝑆

𝑇𝑆 = 𝑡𝑘+1 − 𝑡𝑘

Approximated

Exact

Page 29: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 29

Odometry Integration (2)

Assume constant linear velocity 𝑣𝑘and angular velocity 𝜔𝑘 in 𝑡𝑘 , 𝑡𝑘+1can use 2nd order Runge-Kutta integration to compute robot odometry

'))'()'((1

)(

'))'(sin())'()'((2

1)(

'))'(cos())'()'((2

1)(

0

0

0

−=

+=

+=

t

LR

t

LR

t

LR

dttVtVL

t

dtttVtVty

dtttVtVtx

𝑥𝑘+1 = 𝑥𝑘 + 𝑣𝑘𝑇𝑆 cos 𝜃𝑘 +𝜔𝑘𝑇𝑆2

𝑦𝑘+1 = 𝑦𝑘 + 𝑣𝑘𝑇𝑆 sin 𝜃𝑘 +𝜔𝑘𝑇𝑆2

𝜃𝑘+1 = 𝜃𝑘 +𝜔𝑘𝑇𝑆

𝑇𝑆 = 𝑡𝑘+1 − 𝑡𝑘

Better

approximation

Average

orientation

Page 30: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 30

Odometry Integration (3)

Assume constant linear velocity 𝑣𝑘and angular velocity 𝜔𝑘 in 𝑡𝑘 , 𝑡𝑘+1can use exact integration to compute the robot odometry

'))'()'((1

)(

'))'(sin())'()'((2

1)(

'))'(cos())'()'((2

1)(

0

0

0

−=

+=

+=

t

LR

t

LR

t

LR

dttVtVL

t

dtttVtVty

dtttVtVtx

𝑥𝑘+1 = 𝑥𝑘 +𝑣𝑘𝜔𝑘

sin 𝜃𝑘+1 − sin 𝜃𝑘

𝑦𝑘+1 = 𝑦𝑘 −𝑣𝑘𝜔𝑘

cos 𝜃𝑘+1 − cos 𝜃𝑘

𝜃𝑘+1 = 𝜃𝑘 + 𝜔𝑘𝑇𝑆

𝑇𝑆 = 𝑡𝑘+1 − 𝑡𝑘

Exact

Need to use Rugge

Kutta for 𝜔 ∼ 0

Page 31: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 31

Odometry Comparison

Euler Runge-Kutta exact

Page 32: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 32

Tips and Tricks

Proprioceptive measurements are used to compute linear 𝑣𝑘and angular velocity 𝜔𝑘

with Δ𝑠 is the traveled distance and Δ𝜃 is the orientation change

In a differential drive these become

with Δ𝜙𝑅 and Δ𝜙𝐿 the total rotations measured by wheel encoders

𝑣𝑘𝑇𝑆 = Δ𝑠, 𝜔𝑘𝑇𝑆 = Δ𝜃,𝑣𝑘𝜔𝑘

=Δ𝑠

Δ𝜃

Δ𝑠 =𝑟

2Δ𝜙𝑅 + Δ𝜙𝐿 , Δ𝜃 =

𝑟

𝐿Δ𝜙𝑅 − Δ𝜙𝐿

Nice but drifts

because of ...

... slipage ...

... calibration ...... integration...

Page 33: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 33

Kinematics

Direct kinematics

• Given control parameters, e.g., wheels and velocities, and a time of movement t,

find the pose (x, y, ) reached by the robot

Inverse kinematics

• Given the final pose (x, y, ) find control parameters to move there in a given time t

Direct

kinematics:

integrating

. . .

x(t), y(t), (t)

Inverse

kinematics

wheels parameters

wheels parameters

robot pose:

x(t), y(t), (t)

control variables:

angular velocity (t)

linear velocity (t)

Page 34: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 34

Inverse kinematics

Given a desired position or velocity, what can we do to achieve it?

Finding “some” solution is not hard,but finding the “best” solution can bevery difficult:

• Shortest time

• Most energy efficient

• Smoothest velocity profiles

Moreover we have non holonomicconstrains and only two control variables;we cannot directly reach any of the 3DoFfinal positions ...

VR(t)

VL (t)

Starting position Final position

x

y

VL (t)

tVR (t)

Page 35: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 35

Differential drive inverse kinematics

Decompose the problem and control only few DoF at the time

1. Turn so that the wheels are parallel

to the line between the original

and final position of robot origin

2. Drive straight until the robot’s origin coincides with destination

3. Rotate again in to achieve thedesired final orientation

VR(t)

VL (t)

Starting position Final position

x

y

-VL (t) = VR (t) = Vmax

VL (t) = VR (t) = Vmax

-VL (t) = VR (t) = Vmax

VL (t)

tVR (t)

Page 36: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 36

Vehicles with tracks

Vehicles with track have a kinematics

similar to the differential drive

• Speed control of each track

• Use the height of the track as

wheel diameter

• Often named Skid Steering

Need proper calibration and slippage modeling …

Page 37: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 37

Skid Steering (approximate) Kinematics

Let’ assume:

• Mass in the center of the vehicle

• All wheels in contact with the ground

• Wheels on the same side have same speed

While moving we have multiple ICR and all share 𝜔𝑧

𝜔𝑙 = 𝜔1 = 𝜔2 𝜔𝑟 = 𝜔3 = 𝜔4

𝑦𝐺 =𝑣𝑥𝜔𝑧

𝑦𝑙 =𝑣𝑥 − 𝜔𝑙𝑟

𝜔𝑧

𝑦𝑟 =𝑣𝑥 − 𝜔𝑟𝑟

𝜔𝑧

𝑥𝐺 = 𝑥𝑙 = 𝑥𝑟 = −𝑣𝑦

𝜔𝑧

𝑣𝑥𝑣𝑦𝜔𝑧

= 𝐽𝜔𝜔𝑙𝑟𝜔𝑟𝑟

𝐽𝜔 =1

𝑦𝑙 − 𝑦𝑟

−𝑦𝑟 𝑦𝑙𝑥𝐺 −𝑥𝐺−1 1

Page 38: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 38

Skid Steering (approximate) Kinematics

Let’ assume:

• Mass in the center of the vehicle

• All wheels in contact with the ground

• Wheels on the same side have same speed

Assume the robot is symmetric

𝜔𝑙 = 𝜔1 = 𝜔2 𝜔𝑟 = 𝜔3 = 𝜔4

𝑣𝑥𝑣𝑦𝜔𝑧

= 𝐽𝜔𝜔𝑙𝑟𝜔𝑟𝑟

𝐽𝜔 =1

2𝑦0

𝑦0 𝑦0𝑥𝐺 −𝑥𝐺−1 1

𝑦0 = 𝑦𝑙 = −𝑦𝑟

𝑣𝑥 =𝑣𝑙 + 𝑣𝑟

2𝑣𝑦 = 0

𝜔𝑧 =−𝑣𝑙 + 𝑣𝑟2𝑦0

Page 39: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 39

Skid Steering (approximate) Kinematics

Let’ assume:

• Mass in the center of the vehicle

• All wheels in contact with the ground

• Wheels on the same side have same speed

We can get the istantaneous radius of curvature

𝜔𝑙 = 𝜔1 = 𝜔2 𝜔𝑟 = 𝜔3 = 𝜔4

𝑅 =𝑣𝐺𝜔𝑧

=𝑣𝑙 + 𝑣𝑟−𝑣𝑙 + 𝑣𝑟

𝑦0

𝜆 =𝑣𝑙 + 𝑣𝑟−𝑣𝑙 + 𝑣𝑟

𝑣𝑥 =𝑣𝑙 + 𝑣𝑟

2𝑣𝑦 = 0

𝜔𝑧 =−𝑣𝑙 + 𝑣𝑟2𝑦0 𝜒 =

𝑦𝑙 − 𝑦𝑟𝐵

=2𝑦0𝐵

, 𝜒 ≥ 1

Page 40: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 40

Synchronous drive

Complex mechanical robot design

• (At least) 3 wheels actuated and steered

• A motor to roll all the wheels, a second motor to rotate them

• Wheels point in the same direction

• It is possible to control directly

Robot control variables

• Linear velocity v(t)

• Angular velocity (t)

Its ICC is always at the infinite and the robot is holonomic

Page 41: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 41

Synchronous drive kinematics

Robot control for the synchronous drive

• Direct control of v(t) and (t)

• Steering changes the direction of ICC

Particular cases:

• v(t)=0, (t) = for dt → robot rotates in place

• v(t)=v, (t) = 0 for dt → robot moves linearly

Compute the velocity in the base frame

Integrate position in base frame to getthe robot odometry (traversed path) ...

x

y v(t)

')'()(

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

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

0

0

0

=

=

=

t

t

t

dttt

dtttvty

dtttvtx

Vx = V(t) cos ((t))

Vy = V(t) sin ((t))

Calls odometry

also for diff drive!

Page 42: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 42

Synchro drive inverse kinematics

Decompose the problem and control only a few degrees of freedom at a time

1. Turn so that the wheels are parallel

to the line between the original

and final position of robot origin

2. Drive straight until the robot’s origin coincides with destination

3. Rotate again in to achieve thedesired final orientation

V(t)

(t)

starting position

final positionx

y

(t) = max

v(t) = vmax

(t) = max

v (t)

t (t)

Page 43: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 43

Omnidirectional (Syncro drive)

Page 44: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 44

Omnidirectional Robot

Simple mechanical robot design

• (At least) 3 Swedish wheels actuated

• One independent motor per wheel

• Wheels point in different direction

• It is possible to control directly x, y,

Robot control variables

• Linear velocity v(t) (each component)

• Angular velocity (t)

Page 45: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 45

Omnidirectional (Swedish wheels)

Page 46: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 46

Tricycle kinematics

The Tricycle is the typical kinematics of AGV

• One actuated and steerable wheel

• 2 additional passive wheels

• Cannot control independently

• ICC must lie on the line that passesthrough the fixed wheels

Robot control variables

• Steering direction (t)

• Angular velocity of steering wheel (t)

Particular cases:

• (t)=0, (t) = → moves straight

• (t)=90, (t) = → rotates in place

Page 47: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 47

Tricycle kinematics

Direct kinematics can be derived as:

In the robot frame

𝑟 = 𝑠𝑡𝑒𝑒𝑟𝑖𝑛𝑔 𝑤ℎ𝑒𝑒𝑙 𝑟𝑎𝑑𝑖𝑢𝑠

𝑉𝑠(𝑡) = 𝜔𝑠 𝑡 ∙ 𝑟

𝑅 𝑡 = 𝑑 ∙ tan(𝜋

2− 𝛼(𝑡))

𝜔 𝑡 =𝜔𝑠 𝑡 ∙ 𝑟

𝑑2 + 𝑅 𝑡 2=𝑉𝑠 𝑡

𝑑sin𝛼 𝑡

Angular velocity of

the moving frame

𝑉𝑥(𝑡) = 𝑉𝑠(𝑡) ∙ cos 𝛼(𝑡)

𝑉𝑦 (𝑡) = 0

ሶ𝜃 =𝑉𝑠 𝑡

𝑑∙ sin 𝛼(𝑡)

We assume

no slipage

Linear velocity v(t)

Angular

velocity (t)

Page 48: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 48

Tricycle kinematics

Direct kinematics can be derived as:

In the robot frame

𝑟 = 𝑠𝑡𝑒𝑒𝑟𝑖𝑛𝑔 𝑤ℎ𝑒𝑒𝑙 𝑟𝑎𝑑𝑖𝑢𝑠

𝑉𝑠(𝑡) = 𝜔𝑠 𝑡 ∙ 𝑟

𝑅 𝑡 = 𝑑 ∙ tan(𝜋

2− 𝛼(𝑡))

𝜔 𝑡 =𝜔𝑠 𝑡 ∙ 𝑟

𝑑2 + 𝑅 𝑡 2=𝑉𝑠 𝑡

𝑑sin𝛼 𝑡

ሶ𝑥 𝑡 = 𝑉𝑠 𝑡 ∙ cos 𝛼 𝑡 ∙ cos 𝜃 𝑡 = 𝑉(𝑡) ∙ cos 𝜃 𝑡

ሶ𝜃 =𝑉𝑠 𝑡

𝑑∙ sin 𝛼 𝑡 = 𝜔(𝑡)

ሶ𝑦 𝑡 = 𝑉𝑠 𝑡 ∙ cos 𝛼 𝑡 ∙ sin 𝜃 𝑡 = 𝑉(𝑡) ∙ s𝑖𝑛 𝜃 𝑡

Page 49: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 49

Ackerman steering

Most diffused kinematics on the planet

• Four wheels steering

• Wheels have limited

turning angles

• No in-place rotation

Similar to the Trycicle model

Derive the rest as:

VBL

VBR

VFR

VFL

x

y

ICC

R

L

R

d

bb

𝑅 =𝑑

tan𝛼𝑅+ 𝑏

𝜔𝑑

sin𝛼𝑅= 𝑉𝐹𝑅 Determines angular

velocity (t)

𝜔𝑑

sin𝛼𝐿= 𝑉𝐹𝐿 𝜔 𝑅 − 𝑏 = 𝑉𝐵𝑅𝜔 𝑅 + 𝑏 = 𝑉𝐵𝐿𝛼𝐿 = tan−1(

𝑑

𝑅 + 𝑏)

Page 50: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 50

Ackerman steering (bicycle approximation)

Most diffused kinematics on the planet

• Four wheels steering

• Wheels have limited

turning angles

• No in-place rotation

Bicycle approximation

Referred to the center of real wheels

VBL

VBR

VFR

VFL

x

y

ICC

R

L

R

d

bb

𝑅 =𝑑

tan𝛼

𝜔𝑑

sin𝛼= 𝑉𝐹

𝜔𝑅 = 𝑉 𝜔 = 𝑉 ∙tan𝛼

𝑑

VF

V

Page 51: Presentazione di PowerPoint - Chrome3. Steering axes are orthogonal to soil 4. Pure rolling of the wheel about its axis (x axis) 5. No translation of the wheel y roll z motion x Wheel

[email protected] 51

Mobile robots beyond the wheels

To move on the ground

• Multiple wheels

• Whegs

• Legs

To move in water

• Torpedo-like (single propeller)

• Bodies with thrusters

• Bioinspired

To move in air

• Fixed wings vehicles

• Mobile wings vehicles

• Multi-rotors