Introduction to Mobile Robotics - unibo.it to Mobile Robotics ... A mobile robot is an automatic...
Transcript of Introduction to Mobile Robotics - unibo.it to Mobile Robotics ... A mobile robot is an automatic...
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
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
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