Introduction to Robotics
Narendiran Anandan
Serkan Ergun
Automation System
ENVIRONMENT
SENSE PROCESS ACTUATE
(700.820) Introduction to Robotics 2
Measurement
• The objective of a measurement is to determine the value of the
measurand.
• Measurand – Particular quantity subjected to measurement (Eg:
Temperature of the Room, Distance to an object, etc.)
• Measurement – A set of operations taken to determine the value of
the measurand.
• Example: Temperature of the room is 24.5°C
(700.820) Introduction to Robotics 3
Measurement Example
Sensor(k) Reading(tk) Mean = 24.23
1 24.3 Std.Deviation = 0.08
2 24.01
3 24.37
4 24.32
5 24.49
6 23.61
7 24.23
8 24.38
9 24.29
10 24.33
(700.820) Introduction to Robotics 4
Measurement Errors and Uncertainty
(700.820) Introduction to Robotics 5
Measurement Errors and Uncertainty
• Measurements have imperfections that give rise to an error in the measurement.
• Error = Measured value – True value
• True Value – value attributed to a particular quantity and accepted, sometimes by
convention, as having an uncertainty appropriate for a given purpose.
• Random Error:
• Arises from unpredictable variations of influence quantities.
• Can be reduced by increasing number of measurements.
• Systematic Error:
• Arise due to imperfections in measurement process and instruments. (Bias,
Nonlinearity, etc.)
• Cannot be eliminated fully but can be often corrected.
• Uncertainty:
• parameter, associated with the result of a measurement, that characterizes the
dispersion of the values that could reasonably be attributed to the measurand.
• Example: Temperature of the room is 24°C (± 0.5 °C)
(700.820) Introduction to Robotics 6
Analog to Digital Conversion
ANALOG
SENSING DIGITAL
SYSTEM
(700.820) Introduction to Robotics 7
A small introduction to computers - Transistor
HIGH TRUE ON 1
LOW FALSE OFF 0
(700.820) Introduction to Robotics 8
A small introduction to computers – Boolean Logic
(700.820) Introduction to Robotics 9
Decimal Number System
5207 This is a base-10 number
system.
103 102 101 100 Each digit has 10 possible
5 2 0 7 values: 0,1,2,3,4,5,6,7,8,9
5×103 + 2×102 + 0×101 +7x101
5×1000 + 2×100 + 0×10 +7x1
There are 10 types of people in the world … those who
understand binary and those who don’t.
(700.820) Introduction to Robotics 10
Binary Number System
110111012 = 22110 This is a base-2 number
system.
2 7 26 2 5 24 2 3 2 2 2 1 2 0
Each bit has 2 possible
1 1 0 1 1 1 0 1 values: 0,1
1×27 + 1×26 + 0×25 + 1×24 + 1×23 + 1×22 + 0×21 + 1×20
1×128 + 1×64 + 0×32 + 1×16 + 1×8 + 1×4 + 0×2 + 1×1
There are 10 types of people in the world … those who
understand binary and those who don’t.
(700.820) Introduction to Robotics 11
Exercise
•What is 1101012 in base 10?
There are 10 types of people in the world … those who
understand binary and those who don’t.
(700.820) Introduction to Robotics 12
Signal Processing
• A signal is a set of information or data.
• Signals can be scalar or vector.(Temperature, Pressure,
Position, Velocity).
• Signals can be analog or digital (or discreet!)
(700.820) Introduction to Robotics 13
Signals – (Analog / Continuous)
• A finite, real-valued,
smooth function s(t) of a
variable t which usually
represents time.
• Both s and t in s(t) are
continuous.
(700.820) Introduction to Robotics 14
Sampling
• Sampling is the process of acquiring information at periodic
intervals.
(700.820) Introduction to Robotics 15
Signals - Discreet
• A discrete-time signal is a
bounded, continuous-valued
sequence s[n] . Alternately, it
may be viewed as a continuous-
valued function of a discrete
index n.
• We often refer to the index n as
time, since discrete-time signals
are frequently obtained by
taking samples of a continuous-
time signal.
(700.820) Introduction to Robotics 16
Signals – Discreet vs Digital
• We will work with digital signals but develop theory mainly around discrete-time
signals.
• Digital computers deal with digital signals, rather than discrete-time signals.
• A digital signal is a sequence s[n], that can only take a finite set of values.
• Digital signals are discrete-time signals obtained after “quantization.“
• Digital signals too are usually obtained by taking measurements from real-world
phenomena. However, unlike the accepted norm for analog signals, digital
signals may take complex values.
(700.820) Introduction to Robotics 17
Quantisation
• Quantisation is the process discretising the amplitude of the signal
(700.820) Introduction to Robotics 18
Common Signals - DC
The “DC” or constant signal
simply takes a constant
value.
The DC signal typically
represents any constant
offset from 0 in real-world
signals.
(700.820) Introduction to Robotics 19
Common Signals - Unit Step
• The “unit step”, also often
referred to as a Heaviside
function, is literally a step.
• It has 0 value until time 0, at
which point, it abruptly
switches to 1.0.
• The unit step represents
events that change state, e.g.
the switching on of a system,
or of another signal.
(700.820) Introduction to Robotics 20
Common Signals - Sinusoid
s(t) = A × cos(ωt + ɸ)
Most important signal in all of
signal processing.
A: Amplitude
ω: Angular frequency
ω = 2πf
f: Frequency
ɸ: Phase
A sine wave is completely described by its amplitude, frequency and phase.
(700.820) Introduction to Robotics 21
Composite Signals
• A composite signal is a sum of many simple sinusoidal signals with different
frequencies, amplitude and phases.
• A composite signal can be periodic or nonperiodic.
• A periodic composite signal can be decomposed into a series of simple sine
waves with discrete frequencies that have integer values (1, 2, 3, and so on).
• Nonperiodic composite signal can be decomposed into a combination of an
infinite number of simple sine waves with continuous frequencies, frequencies
that have real values.
(700.820) Introduction to Robotics 22
Sampling theorem
The theorem states that the sample rate must be at least twice the
highest frequency component of the signal to capture all information.
In practice, because of the finite time available, a sample rate
somewhat higher than this is necessary.
(700.820) Introduction to Robotics 23
Filtering
• In signal processing, a filter is a device or process that removes some
unwanted components or features from a signal.
• Filtering is a class of signal processing, the defining feature of filters
being the complete or partial suppression of some aspect of the
signal.
• Most often, this means removing some frequencies or frequency
bands.
(700.820) Introduction to Robotics 24
Filtering
(700.820) Introduction to Robotics 25
Filters
(700.820) Introduction to Robotics 26
Filters
(700.820) Introduction to Robotics 27
Fourier Transform
The Fourier Transform is a mathematical technique that transforms a
function of time, x(t), to a function of frequency, X(ω).
(700.820) Introduction to Robotics 28
Path Planning
Source: Path Planning Faigl, 2020.
(700.820) Introduction to Robotics 29
Real Mobile Robots
• In a real deployment, the problem is more complex
• The world is changing
• Robots update the knowledge about the environment
• localization, mapping and navigation
• New decisions have to made based on the feedback from the
environment
• Motion planning is a part of the mission replanning loop
• How to deal with real-world complexity?
• Relaxing constraints and considering realistic assumptions
(700.820) Introduction to Robotics 30
Motion Planning / Path Planning Notation
• W – World model describes the robot workspace and its boundary
determines the obstacles (O)
• A Robot is defined by its geometry, parameters (kinematics) and it is
controllable by the motion plan
• Configuration space (C-space) - A concept to describe possible
configurations of the robot. The robot’s configuration completely
specify the robot location in W including specification of all degrees
of freedom.
• Collision-free configurations Cfree = C \ CO
(700.820) Introduction to Robotics 31
Motion Planning / Path Planning Notation
• Path is a continuous mapping in C-space
• Trajectory is a path with explicate parametrization of time, e.g.,
accompanied by a description of the motion laws
• Additional requirements can be given:
• Smoothness of the path
• Kinodynamic constraints, e.g., considering friction forces
• Optimality criterion – shortest vs fastest (length vs curvature)
• Path planning – planning a collision-free path in C-space
• Motion planning – planning collision-free motion in the state space
(700.820) Introduction to Robotics 32
Graph theory
• Graphs are data structures that are composed of nodes and edges.
E
B
C
A
D F
(700.820) Introduction to Robotics 33
Graph theory
• Graphs are data structures that are composed of nodes and edges.
3 E
B
4
3
1
9 C
A 2
1 3 F
D
(700.820) Introduction to Robotics 34
Graph theory
• Graphs are data structures that are composed of nodes and edges.
3 E
B
4
3
1
9 C
A 2
1 3 F
D
(700.820) Introduction to Robotics 35
Path planning - Visibility Graph
• Start, goal, vertices of obstacles are graph nodes
• Edges are “visible” connections between nodes, including obstacle
edges
(700.820) Introduction to Robotics 36
Path planning - Visibility Graph
• Search for shortest path via visible vertices.
(700.820) Introduction to Robotics 37
Reduced visibility Graph
• The standard visibility graph has many
needless edges which are not going to be
used in any case
• The lines that are useful for path planning
are the ones going around the obstacles,
or passing through the vertices that are
extremes around the obstacles
Eliminate unnecessary obstacle vertices
• Shortest path doesn't change!
• The required time to find it considerably
decreases
(700.820) Introduction to Robotics 38
Visibility Graph
The common Visibility-Graph algorithm
assumes point robots.
The algorithm places waypoints on the
obstacle boundaries that increases the risk
of collision.
Use C-space (expand each obstacle by the
size of the robot).
Graph search then now find the shortest
path if one exists using the grown obstacle
set.
(700.820) Introduction to Robotics 39
Voronoi Graph
• The roadmap is the basis for the Voronoi graph that maximizes
clearance from the obstacles
• Start and goal positions are connected to the graph
• Path is found using a graph search algorithm
(700.820) Introduction to Robotics 40
Comparison
Visibility graph
• Shortest path, but it is close to obstacles. We have to consider safety
of the path. An error in plan execution can lead to a collision
• Complicated in higher dimensions
Voronoi graph
• It maximizes clearance, which can provide conservative paths
• Small changes in obstacles can lead to large changes in the graph
• Complicated in higher dimensions
(700.820) Introduction to Robotics 41
Visibility Graph Exercise
17,9
(10,8)
(3,6)
(16,4)
(7,2)
(0,0)
(700.820) Introduction to Robotics 42