introduction to mobile robotics - unibo.it to mobile robotics ... a mobile robot is an automatic...

37
Introduction to Mobile Robotics Riccardo Falconi Dipartimento di Elettronica, Informatica e Sistemistica (DEIS) Universita di Bologna email: [email protected] Riccardo Falconi (DEIS) Introduction to Mobile Robotics 1 / 37

Upload: doancong

Post on 30-May-2018

226 views

Category:

Documents


1 download

TRANSCRIPT

Introduction to Mobile Robotics

Riccardo Falconi

Dipartimento di Elettronica, Informatica e Sistemistica (DEIS)

Universita di Bologna

email: [email protected]

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 1 / 37

From Industrial Robotics to Mobile Robotics

Starting from the ’70s, early industrial robots

Used to replace men in case of hazardous/repetivity/easy tasks

Typically used for tasks to be executed in loco

Workspaces were modeled considering robots capabilities and constraints

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 2 / 37

From Industrial Robotics to Mobile Robotics

Robotics for manipulation

Imitates the human arms (and hands)functionalities

Mobile Robotics

Himitates the animals locomotion

principles

Definition

A mobile robot is an automatic machine able to move into the surroundingenvironment.

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 3 / 37

Typical Applications

Indoor applications

Cleaning

Service robotics (museums, shops, etc.)

Surveillance

Stockings in warehouses

...

Applicazioni Outdoor

Military applications

Demining

Spatial and underwater exploration

Civil protection and fire surveillance

Automatic agricultural

...

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 4 / 37

How it all started...

Mobile robots starting from 40s

Rockets V1 - V2 (inertialautopilots)

Drive-by-wire

Electric motorsRemotely controlled tank

500 m far

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 5 / 37

Examples

AGV automatic warehouse

Automatic Guided Vehicle (AGV)Electric 80

Moves pallets from the loading bay tothe depot area and viceversa

Inside a warehouse there could be morethan 30 AGVs

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 6 / 37

Examples

Underwater robots

Recover wreckage (Titanic)

Pipes inspections

Water pollution monitoring

Space applications

Realized starting from 1965

Highly autonomous

Able to work without a supervisor

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 7 / 37

Examples

Agricultural robots (≈2015)

Mobile robots designed for agriculturalpurposes:

structured environments (ad hoc orchads)

large fields cultivated with cereals

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 8 / 37

Examples

Hazardous robots

Robot Pioneer

Developed by Stanford University

Chosen to explore Chernobylnuclear plant

First modular robot allowing to mount:

a robotic arm + a grippera stereo camera

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 9 / 37

Locomotion Principles

Natural solutions are difficult to be replied froman engineering point of view

The rolling is the most efficient solution, but itis not present in nature

Most of the robotic systems move using wheelsor tracks

The walking is the natural best approximationof the rolling

Walking

Crawling Running Jumping

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 10 / 37

Locomotion Principles

Human walking

It approximates rolling of a regularpolygon

Side of the polygon equal to the stepof the person

The shortest the step is, the better therolling is approximated

Walking robots:

can adapt to a variable environment

move slow on flat surfaces

overactuated

Robot with wheels/tracks:

move faster on flat surfaces

cannot adapt to a wide range ofenviromental conditions

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 11 / 37

Robot Modeling

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 12 / 37

Wheeled Mobile Robots - WMR

The wheel is the most suitable solution adopted for many applicationsThree wheels are enough to ensure vehicle stabilityHow many wheels? What kind of wheels?

Fixed wheel

Castor wheel

Centered orientable wheel

Swedish wheel

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 13 / 37

Space of the configurations

The dimension of the space of the configurations is equal to the minimumnumber of parameters needed to localize the robot configuration

It depens on the structure of the considered robot

Example: Unicycle

X

Y

xr

yr

θr

q = [xr , yr , θr ]T ∈ R

3

Example: Bicycle

X

Y

xr

yr

θr

φr

q = [xr , yr , θr , φr ]T ∈ R

4

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 14 / 37

Anolonomous constraints

Hipothesys

Each wheel rolls without sliding

Each wheel introduces a nonholonomic constraint in the system (it does notallow the robot to move perpendicularly to the rolling direction)Wheels reduce the instantaneous robot mobility without reducing themaneuvering capabilities (e.g. parallel parking)

vt = ψr

vn

θ

ψ

x

y

Without constraint:

x = vt cos θ + vn cos(

θ +π

2

)

y = vt sin θ + vn sin(

θ +π

2

)

As long as the sliding in the normal direction is not allowed vn = 0{

x = vt cos θy = vt sin θ

⇔ tan∂θ =∂y

∂x⇔

[

x sin θ − y cos θ = 0Mobility constraint

]

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 15 / 37

Pfaffian constraint

For each wheel the constraint can be written in a vectorial form as: a(q)q = 0

With N wheels, constraints can be expressed in matrix form as: A(q)q = 0

A constraint that can be written as A(q)q = 0 is called Pfaffian constraint

Nonholonomic constraint

It is not fully integrable

It cannot be written in the space ofthe configurations

It doesn’t limit the mobility but onlythe instantaneous mobility of therobot

Allowed velocities

They can be generated by using amatrix G(q) such that:

Im(G(q)) = Ker(A(q)), ∀q ∈ C

C = RN

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 16 / 37

Unicyle model

Constraint:x sin θ − y cos θ = [sin θ,− cos θ, 0] q = 0

Pfaffian form: A(q)q = 0

con:

{

A(q) = [sin θ,− cos θ, 0]

q = [x , y , θ]T

Ker(A(q)) = span

0

@

2

4

cos θ

sin θ

0

3

5 ,

2

4

001

3

5

1

A = Im(G(q))

Unicycle kinematic model

q =

cos θsin θ0

v +

001

ω =

cos θ 0sin θ 00 1

[

v

ω

]

v : wheel linear velocity

ω: angular velocity

One orientable wheel

X

Y

xr

yr

θr

v = ψr

ψω

x

y

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 17 / 37

Unicycle model

The real unicycle has statics stability problems

Structures kinematically equivalent are used

Synchronized Drive model

Parallel orientable and coupledwheels

Inputs [v , ω]T

[x , y , θ]T position and orientation.

x

y

xr

yr

θr

Differential Drive model

Two wheels indipendently driven

A third wheel to ensure stability

[x , y , θ]T position of the centerl ofthe robot + its orientation.

x

y

xr

yr

θr

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 18 / 37

Differential Drive unicycle model

Definite

ωR = Right wheel velocityωL = Left wheel velocityd = wheel axler = wheel radius

Inputs ωR , ωL[

v

ω

]

=

[

r2

r2

rd

− rd

] [

ωR

ωL

]

x

y

xr

yr

d

ωL

ωR

2r

θr

State space model

q =

x

y

θ

=

cos θ 0sin θ 00 1

[

r2

r2

rd

− rd

] [

ωR

ωL

]

=

r cos θ2

r cos θ2

r sin θd

r sin θd

rd

− rd

[

ωR

ωL

]

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 19 / 37

Mobile robot control

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 20 / 37

Control scheme

+

Task

Plan Control

Act. Robot

Model

EndEffector

Envi

ronm

ent

Sensors(Internal, Envirom.)

qd u τ

q

Ferr .

Low-Level Control

High-Level Control

Actuators (DC motors, step-by-step motot, ...)

End-Effector (gripper, hand, probe, etc.)Sensors

Internal state (encoder, gyro, ...)Enviromental (bumbers, rangefinders (infrared, ultrasuond), laser, vision(mono, stereo), ...)

ControlLow levelHigh level

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 21 / 37

Low level control

High levelControl Control

Act. Robot

Modelu τ

Low-Level Control

Foundamentals

High gain PI controllers are used to control robot motors such that it movesfollowing the desired velocity profile

If the gain is high enough, the low level control transforms the robot in akinematic system

Low level control is in charge of controlling the robot actuators following highlevel controller instructions

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 22 / 37

Low level vs. High level control

Foundamentals

The signal provided to the low level controlleris computed by analyzing informationgathered by sensors

Control signals are velocities

From a high level point-of-view the robot isconsidered as a kinematic system

+

Task

High levelControl qd

err .

High-Level Control

High level

it defines the robot behaviour

it takes into account the kinematicmodel

it is subject to wheels constraints

it has to control a complex non

linear system

Low level

it controls the motors

usually it is a PI control (linearsystem)

it is not affected by wheelsconstraints

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 23 / 37

Elementary motion action

Point-to-point transfer

Initial position

Final position

Trajectory Following

Initial position

Final positionParameter s Reference WMR

Trajectory Tracking

Initial position

Final positionParameter t

Reference WMR at time t

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 24 / 37

Motion control

Two different problems

Configuration

Starting from an initial configuration q0 = [x0, y0, θ0]T, the robot has to reach a

predefined desired configuration qd = [xd , yd , θd ]T .More difficult but generic problem

Trajectory

Starting from an initial configuration q0 = [x0, y0, θ0]T

that can be or not on thetrajectory, the robot has to reply asymptotically a cartesian trajectory[xd (t), yd (t)]

T:

Trajectory Following if the problem is position-dependent (s)

Trajectory Tracking if the problem is time-depentent (t)

Simpler and more practical problem

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 25 / 37

Trajectory following - I-O SFL

Basic idea

To define a point b out of thewheels axis

To control the point b

The point b pulls the vehicle

{

xb = xr + b cos θryb = yr + b sin θr

, b 6= 0

X

X

Y

xr

yr

xb

yb θr

b

The point b has no constraints andit can move instantaneously in allthe directions

The point b can move sidewayswith respect to the forwarddirection

It is possible to define two inputs tocontrol vx,b and vy,b{

xb = vx,b

yb = vy,b

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 26 / 37

Trajectory following - I-O SFL

xb = xr − b · ω sin θr = v cos θr − b · ω sin θryb = yr + b · ω cos θr = v sin θr + b · ω cos θrθr = ω

, b 6= 0

»

xb

yb

=

»

cos θ −b · sin θr

sin θ b · cos θr

– »

v

ω

= T (b, θr)

»

v

ω

It is possible to prove thatif b 6= 0, then det (T (b, θr )) 6= 0

the matrix T (b, θr ) is always invertible

X

X

Y

xr

yr

xb

yb θr

b

[

v

ω

]

= T (b, θr )−1

[

xb

yb

]

=

[

cos θ sin θr

−1

bsin θ

1

bcos θr

]

[

xb

yb

]

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 27 / 37

Trajectory following - I-O SFL

From the previous relationships the following linear system can be calculated

xb = vx,b

yb = vy,b

θr =1

b(vy,b cos θr − vx,b sin θr )

The x and y moving directions of thepoint b can be controlled indipendentlyby using the inputs vx,b and vy,b

Given a desired trajectory (xd (·), yd (·)) to be followed, it is possible to define vx,b

and vy,b in order to ensure the asymptotic trajectory tracking by using thefollowing linear control laws:

{

xb = vx,b = xd + K1 (xd − xb)yb = vy,b = yd + K2 (yd − yb)

Error dynamics

By defining

{

ex = xd − xb

ey = yd − yb⇒

{

ex + K1ex = 0ey + K2ey = 0

{

ex → 0ey → 0

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 28 / 37

Trajectory following - I-O SFL

Once the inputs to control b have beendefined, it is possible to calculate thecontrol inputs to be provided to theunicycle in order to move b as desired

[

v

ω

]

=

[

cos θ sin θr

−1

bsin θ

1

bcos θr

]

[

xb

yb

]

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 29 / 37

Navigation

Interaction with the environment

Usually a robot has to move in an environment with static or moving obstacles.By exploiting its knowledge of the environment and by exploiting the dataprovided by the on-board sensors, the robot has to detect and avoid the obstaclesin order to safety navigate the workspace, i.e. avoiding collisions.

qstart

qgoal

Navigation problem

Given a starting and final configuration, the navigation problem deals with thepossibility of finding a collision free path that can be followed by the robot inorder to move from the starting to the final configuration.

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 30 / 37

Navigation: the Braitenberg Algorithm

Valentino Braitenberg (Bolzano, 1924). Neuropsychiatric.

A simple neural network elaborates the signals provided by the sensors on theright and left side of the robot and it applies the results directly to the motor

Braitenberg, V. (1984) I veicoli pensanti. Saggio di psicologia sintetica.Garzanti, Milano

Braitenberg, V. (1984) Vehicles: Experiments in synthetic psychology.Cambridge, MA: MIT Press.

+ +

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 31 / 37

Navigation: Potential Fields

The path planning based on the potential field approach it it possible to plan thepath even for fully actuated robots

Potential fields allow to generate the the path incrementally by changing it everytime an obstacle is detected

Potential function

U : Rm → R

Gradient of U

∇U(q) =

[

∂U

∂q1(q) . . .

∂U

∂qn

(q)

]T

q = [q1, q2]

U(q) =1

2qTq

∇U(q) = [q1, q2]

U(q) is equivalent to an energy function defined over the space configuration

∇U(·) represents the forces generated by the potential field

∇U(q) points in the U growing direction

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 32 / 37

Navigation: Potential Fields

Gradient descent

Potential functions are like landscapes where the robot is immersed

The robot has to move from a higher point to a lower point

The robot has to follow a downhill path (negative gradient)

q

U(q)

q(t) = −∇U(q)qstart

LocalMinimum

GlobalMinimum

qstart

qgoal

The robot moves in a potential field defined as the sum of all the potential fieldpresent in the environment

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 33 / 37

Navigation: Potential Fields

To create the potential field to drive a robot from qstart to qgoal while avoiding

obstacles we have to consider two kind of potential fields

Attractive Potential Field

Uatt(q)It has the minimum is in qgoal

It has to attract the robot toward the goalposition

Repulsive Potential Field

Urep =∑Nobst

i=1 Urepi(q)

It is calculated as the sum of all the repulsivepotential field generated by each obstacle

It has to push the robot away from the obstacles

Potential field based control law

q(t) = −∇U(q), dove: U(q) = Uatt(q) + Urep(q)

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 34 / 37

Navigation: Potential Fields

Attractive Potential Field

Monotonically increasing with ∆(q, qgoal)

Robot attracted in ∆(q, qgoal)

qgoal isolated minimum: no critical points

Example

Uatt =1

2Ka∆(q, qgoal) ∇Uatt =

1

2Ka∇∆2(q, qgoal) = Ka(q − qgoal)

When the robot is far from the goal, it moves slowly

When the robot is close to the goal, it moves fast

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 35 / 37

Navigation: Potential Fields

Repulsive Potential Field

Given by the sum of the potential field associated to each obstacle

The repulsive force increases as long as the robot moves closer to the obstacle

The repulsive force is null after a certain predefined distance

Example

Urepi(q) =

8

<

:

1

2Kri

1

di(q)−

1

q∗

«2

di(q) ≤ q∗

0 di(q) > q∗

∇Urepi(q) =

8

<

:

Kri

1

q∗

−1

di(q)

«2

∇di(q) di(q) ≤ q∗

0 di(q) > q∗

If di(q) = 0, then ∇Urep(q) → ∞

Local minima

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 36 / 37

Navigation: Potential Fields and Local Minima

The algorithm based on the gradient descent could be stuck in a local minima,that is a particular configuration where attractive and repulsive field are equal

qstart qgoal

This is not a complete planningmethod

Except some particular cases, thelocal minima are always present

Generically could be avoided byusing convex obstacles

Possible solutions

Best first algorithm

Best first randomized algorithm

Navigation functions

Adding noise

Escape window algorithm

Riccardo Falconi (DEIS) Introduction to Mobile Robotics 37 / 37