Mobile & Service Robotics 02

Download as pdf or txt
Download as pdf or txt
You are on page 1of 65

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

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 3


Kinematics

Locomotion depends on the robot kinematics


Almost all mobile robots are underactuated, i.e., they have
a number of 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 two wheeled structures
Differential drive robots
Bicycle-like robots
A brief introduction to quadcopters
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 4
Underactuated robots

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 two propellers on parallel axes and one rudder,
and moves in a 2D space (3dof)
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 5
Kinematics

the steering angle(t ) 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
we indicate with robot pose the position and the
orientation (with respect to some give inertial axis)

( )
T
p(t ) = x y
c s 0


Rm = s c 0
0


0 0 1

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 6


Instantaneous Curvature Centre (ICC)

If an ICC exists, the wheel motion occurs without slippage

ICC

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 7


ICC

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


slippage

wheels slip
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 8
Kinematics

jW
RW

W
iW
jr d
Rr v = r
y
r ir

R0
x
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 9
Kinematics Fixed wheel
The kinematic model
represents a rover ,
frame with a generic
( )
T

active non-steering d = d cos d sin 0


wheel, located at a
given position, with given constants
a local orientation

( )
T
The kinematic
equations describe
Linear velocity of the wheel
at the contact point with the v = vx vy 0
plane
the relations and
constraints between
( )
T
the wheel angular Angular velocity of the wheel W = Wx Wy 0
velocity and the
angular velocity of
( )
T
the frame Angular velocity of the robot r = 0 0 rz

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 10


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

v = r
In the wheel reference frame we have

( )
T
r = 0 0 1 T

= (0 1 0)
T

v = (1 0 0) r
T

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 11


Differential Drive (DD) Rover
Left wheel, active, non steering

Passive support
(castor, omniwheel)

Right wheel, active, non steering

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 12


Differential Drive Rover

jr
Left wheel

r
2

kr ir
2
Right wheel

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 13


Differential Drive Kinematics
ICC

(t )

v (t )
Rr

v (t )

R0 vr (t )
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 14
Differential Drive Kinematics

v (t )
ICC (t )

v (t )
vr (t )

R0
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 15
Differential Drive Kinematics

ICC
Consider the generic time instant
Ci

v
i v
vr

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 16


Differential Drive Kinematics
vr
v
v
Rr
after
Ci

vr > v Turn left v


v
v > vr Turn right
vr
Rr
before

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 17


Differential Drive Kinematics

Ci

t

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 18


Differential Drive Kinematics
vk

k
C ik ik jrk
k
k
tk +1
vk
j0 cik
ik jrk k

trk0
R0 i0

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 19


Differential Drive Kinematics

C ik
AB = t
k
B
s k
sk

A s rk
k 2

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 20


Differential Drive Kinematics

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 21


Differential Drive Kinematics

Considering the sampled time equations and assuming


constant values during the time interval

C x sin
xk
ICCk = = k k k
C y + cos
yk k k k

v rk v k s rk s k
k = ; k =

v rk + v k k ( k + / 2) = v rk
vk = k ( k / 2) = v k
2
vk (v rk + v k )
k = =
k 2 (v rk v k )
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 22
Differential Drive Kinematics
t t

x (t ) = cos ( )v( ) d; y(t ) = sin ( )v( ) d;


0 0
t

(t ) = ( ) d
0
Approximation when sampling period is small
d
k = kT k +1 k k
dt

x cos( ) sin( ) 0 x C C
k +1 k k k xk xk
y = sin( ) cos( ) 0 y C + C
k +1 k k k yk yk (A)
0 0 1
k +1 k k
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 23
Differential Drive Kinematics

EULER APPROXIMATION

x k +1 = x k + vkT cos k
yk +1 = yk + vkT sin k
k +1 = k + kT

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 24


Differential Drive Kinematics

RUNGE-KUTTA APPROXIMATION

1
x k +1 = x k + vkT cos k + kT
2
1
yk +1 = yk + vkT sin k + kT
2
k +1 = k + kT

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 25


Differential Drive Kinematics

EXACT INTEGRATION

k
x k +1 = x k + (sin k +1 sin k )
vk
k
yk +1 = yk (cos k +1 cos k ) (B)
vk
k +1 = k + kT

(A) and (B) are the same


Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 26
Differential Drive Kinematics

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 27


Path Planning

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 28


Path Planning
free space obstacles

final pose final pose

2D

initial pose initial pose

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 29


Path Planning

3D

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 30


Path Planning

A robot path from pose A to


pose B can always be
decomposed into a series of
arcs of different radii

arcs of zero radius


represent turn-in-place
maneuvers

arcs of infinite radius


represents straight line
maneuvers
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 31
Path Planning
Driving a vehicle to a goal (no orientation)

relative to frame RA x f , yf


RA

(0, 0) (0, )

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 32


Path Planning
Driving a vehicle to a goal (with orientation)
(0, r2y )R
relative to frame RA B

2
x f 1, y f 1 x f 2, y f 2
RB

1
RA

(0, 0) (0, 1 )

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 33


Path Planning

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 34


Path Planning

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 35


Unicycle

Unicycle is the simplest example of wheeled robot.


It consists of a single actuated steering wheel
is the steering velocity

x cos 0 vr

y = sin v + 0
Rr
0 1

y
states/coordinates
x y
T
R0
x
control commands

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 36


Unicycle motion

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 37


Unicycle-like robot (polar coordinates)

= x +y
2 2

vr
= atan2(y, x )
Rr = + = atan2(y, x )
x
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 38
Bicycle-like robot

x = v cos NON HOLONOMIC CONSTRAINT

y = v sin x sin y cos = 0

= v tan steering angle


L Rr
L v

yf

y
L
orientation

R0
x xf
Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 39
Bicycle equations 1

1)
2)

1)

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 40


Bicycle equations 2

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 41


Bicycle equations 3

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 42


Bicycle equations 5

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 43


Bicycle vs unicycle motion

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 44


Quadcopters

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 45


Quadcopter model

F4
N3 N1
F3 RB N4 F1
iB
F2 jB
kB
d
N2

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 46


Quadcopter equations

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 47


Quadcopter equations

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 48


Quadcopter equations

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 49


Quadcopter equations

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 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 ROBOTICS 01PEEQW 51
Odometry Errors

Estimated path
Desired path based only on odometry
Map

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 52


Other important problems that must be addressed

1. Path planning: the definition of an optimal geometric


path in the environment

2. Mapping: how to build environment maps (geometrical


vs semantic)

3. Localization: where am I?

4. Simultaneous Localization and Mapping (SLAM): build a


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

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 53


Path Planning

Path planning: it computes which route to take, from the


initial to the final pose, based on the current internal
representation of the terrain and considering a cost
function (minimum time, minimum energy, maximum
comfort, etc)
Complete path generation: this path is created as a
sequence of successive moves from the initial pose
Motion planning: is the execution of this theoretical route,
by translating 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 ROBOTICS 01PEEQW 54
Path Planning
Where am I going? Mission
planning Navigation
Whats the best way there?
Path planning

deliberative
Where have I been? Map
making Carto- Mission
grapher Planner
Where am I? Localization

How am I going to get Behaviors

reactive
Behaviors
there? Behaviors
Behaviors

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


2000

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 55


Path Planning

B
Fixed Mobile obstacles
obstacles

Velocity
constraints

Acceleration
constraints

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 56


Path Planning

k =N
k =2

k =1

j0

k =0
R0
k0
i0
Which commands shall I give to the rover?

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 57


Path Planning

B
Final pose

Path B
Path A

A
Initial pose

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 58


Motion Planning

B Move 3:rotation

Final pose

Move 2: go straight

Move 1: rotation
A
Initial pose

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 59


Non-holonomic constraints

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

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 60


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 61


Academic year 2010/11 by Prof. Alessandro De Luca

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 62


Academic year 2010/11 by Prof. Alessandro De Luca

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 63


Academic year 2010/11 by Prof. Alessandro De Luca

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 64


Academic year 2010/11 by Prof. Alessandro De Luca

Basilio Bona - DAUIN - PoliTo ROBOTICS 01PEEQW 65

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy