Mobile Robotics
Mobile Robotics
2 groups: at 10 a.m. for those with surnames beginning with A-K, at 11 a.m. for those with
surnames beginning with L-W
• u(·) - represents the control input applied to the robot. It is a function that maps the
time interval [0, T ] to a space Lm (the set of admissible control inputs in a function
space).
It describes how the robot’s taskspace coordinates evolve over time in response to the ap-
plied control.
q̇ = g(q, u,t)
, where:
• q represents the configuration of the robot
• t is time
1
• g(q, u, t) describes the dynamics of the system
Velocity(control) affine system with drift
q̇ = G(q)u + g0 (q)
• G(q) is a matrix that relates the velocity of the configuration to the control input,
making it an affine term.
• g0 (q) represents a drift term, which is a vector that captures any additional motion or
behavior not directly dependent on the control input.
Driftless system:
q̇ = G(q)u
The driftless system simplifies the model by excluding the drift term, considering only the
relationship between the configuration’s velocity and the control input
2
Robots with three wheels:
3
4 What are definitions of fundamental concepts in proba-
bility?
4.1 Axioms
0 ≤ P(X) ≤ 1 (1)
P(True) = 1 (2)
P(False) = 0 (3)
P(X ∪Y ) = P(X) + P(Y ) − P(X ∩Y ) (4)
4.4 Expectation
4
4.5 Entropy
Entropy is a scientific concept that is most commonly associated with a state of disorder,
randomness, or uncertainty.
• p(x, y) = p(x|y)p(y)
P(B|A)P(A)
P(A|B) = (16)
P(B)
5
5 How are normal distributions defined and parameter-
ized?
The general form of density function for normal distribution is:
1 1 x−µ 2
f (x) = √ exp{− ( ) } (17)
σ 2π 2 σ
where
σ — standard deviation (σ2 — variance)
µ — mean/expected value
1 1
N ∼ P(X) = p exp{− (x − µ)T Σ−1 (x − µ)} (18)
(2π)n det Σ 2
canonical parametrization:
Ω = Σ−1 — information matrix Ω
ξ = Σ−1 µ — information vector ξ
• linear (Y = AX + B):
if
P(X) = N (µ, Σ)
then
P(Y ) = N (Aµ + B, AΣAT ) (19)
6
• sum (Y = X1 + X2 ):
if
P(X1 ) = N (µ1 , Σ1 )
P(X2 ) = N (µ2 , Σ2 )
then
P(Y ) = N (µ1 + µ2 , Σ1 + Σ2 ) (20)
• Markov chain - it is a specific type of Markov process where the state space is dis-
crete, and the transitions between states are governed by fixed probabilities.
• Hidden Markov Model (HMM)
Markov process in which the state chain cannot be observed directly, but through an
output function.
7
• Markov decision process (MDP)
Markov chain with added controls (actions) – a new state depends on a pair (old state,
action).
• Partially observable Markov decision process (POMDP)
MDP with hidden states
8
To minimize influence of the drift, additional localization methods or sensor fusion tech-
niques, such as incorporating external sensor data (e.g., GPS, visual odometry), may be
used to correct and refine the pose estimation.
9
The primary goal of sensor fusion is to enhance the quality and accuracy of the informa-
tion obtained. By combining data from multiple sensors, the system can compensate for
limitations and errors associated with individual sensors. This leads to a more reliable and
comprehensive understanding of the surroundings.
Example: By combining data from lidar, cameras and GPS it is possible to improve the
autonomous mobile robot perception and decision-making capabilities.
2. correction with current measurements - adjust the predicted state using the most re-
cent sensor measurements. This step corrects the estimate, aligning it with the actual
data obtained from sensors.
10
1. transfer function is linear with Gaussian noise
xt = At xt−1 + Bt ut + εt , εt → N (0, RT )
zt = Ct xt + δt , δt → N (0, ∑)
0
p(x0 ) = N (µ0 , ∑)
0
3. Resulting state
13.1 Chat:
Assumptions:
1. the system is assumed to be linear
4. perturbations affecting both the system dynamics and the sensor measurements are
Gaussian and white
Properties:
1. KF provides the best linear unbiased estimate (BLUE) of the true state of the system
2. KF updates the state estimate recursively and doesn’t need to store the entire history
of measurements
11
14 What is EKF and how it differs from KF?
The Extended Kalman Filter (EKF) is an extension of the Kalman Filter designed to handle
nonlinear system models and measurement equations. It linearizes the system dynamics
and measurement equations around the current estimate of the state, allowing it to apply
the standard Kalman Filter algorithm.
KF EKF
state prediction At µt−1 + Bt ut g(ut , µt−1 )
measurement prediction Ct µt h(µt )
∂g(ut ,xt−1 )
state matrix (lin.) At ∂xt−1
h(∂xt )
output matrix (lin.) CT ∂xt
Table 1: KF vs EKF
bel(xt−1 ) - Prior belief or probability distribution over the robot’s state at time t − 1.
ut - Control input or action taken by the robot at time t.
zt - Observation or sensor measurement received by the robot at time t.
m - Map of the environment.
12
15.1.3 Correction Phase:
In the correction phase, the estimate is updated based on the observation zt . The observed
data from sensors is incorporated to adjust the predicted state, resulting in a more accurate
belief about the robot’s state.
15.1.4 Outputs:
bel(xt ) - Posterior belief or probability distribution over the robot’s state at time t. This
represents the refined estimate after combining the prediction and correction phases.
15.2 Mapping:
For mapping, the primary goal is to create or update a map of the environment based on the
robot’s sensor measurements.
15.2.1 Inputs:
15.2.2 Outputs:
m - updated map The mapping process involves incorporating new sensor measurements to
improve and refine the map of the environment.
Properties:
13
• Gaussian is unimodal – suitable for position tracking and cases when the approximate
pose may be restricted to a small region
Example: Imagine a robot starting in the corner of a room. It predicts it will move forward,
but it has uncertainty in its movement. As it moves, it takes a measurement of a known
object, like a chair. The EKF combines this measurement with its prediction to refine its
estimate. The robot repeats this process as it explores the room, continuously updating its
position based on movement and sensor observations.
2. Structure:
3. Representation of distances:
14
17.2 Comparison of topological and metric maps
Grid metric map:
• ease of creation, representation, updates
p(m|z1:t , x1:t )
Divide a map into cells m= mi , each one marked with occupancy probability (1 - occupied,
0 - empty).
Assume independence of map cells and calculate each cell separately. Map is updated with
binary Bayes filter.
Representation of cell value:
1. probability p(x) ∈ [0, 1]
p(x) p(x)
l(x) = log = log
p(¬x) 1 − p(x)
with probabilities recovered by
1
p(x) = 1 −
1 + exp{l(x)}
15
1. Objective:
Maximize the probability p(m|z1:t , x1:t ) to create a static map.
2. Grid Division:
Divide the map into cells m = mi , each marked with an occupancy probability (1 for
occupied, 0 for empty).
3. Independence Assumption:
Assume independence of map cells, allowing the calculation of each cell’s probabil-
ity separately.
6. Hit/Misses Representation:
Hit/miss observations ((h(x), f (x))) represent confirmation of occupancy and empti-
ness, respectively.
- Hit (Occupied): Observation confirming occupancy.
- Miss (Empty): Observation indicating emptiness.
16
20 What are the main approaches to SLAM problem?
• online SLAM - estimating posterior of current pose
• Filter-Based Approaches:
• Graph-Based Approaches:
• Direct Methods:
17
• assumes metric map representation with distinct features included in parameter space
vector.
• robot pose and features coordinates are described by a random variable with Gaussian
distribution
p(xt , m|ZT ,UY ) ∼ N(µt , ∑)
t
2. Initialization: Set initial estimates for the robot’s pose and landmark positions.
3. Prediction (Motion Update): Use motion model to predict the next state. Adjust
state covariance based on the prediction.
• new poses of particles are calculated using odometry and assumed noise distribution
[k] [k]
xt ∼ p(xt |xt−1 , ut ) (23)
18
• with new observation importance weights are calculated based on probability of mea-
surement of n in given pose
[k]
[k] [k] [k]
wt = N(zt |xt , µt,n , ∑)
t,n
next, set of particles is resampled with new probability distribution defined by nor-
malized wi .
Particle Filter adapts to uncertainty, adjusting particles based on motion and sensor data,
providing a probabilistic estimate of the robot’s pose and mapping the environment.
• collect information
• make a decision
Motion planning:
• kinematics aspects of the robot’s movement, considering obstacle and constrains the
enviromental
Task planning involves deciding what needs to be done and the general approach at a high
level. Motion planning, at a lower level, turns this plan into specific, detailed robot move-
ments. It considers the robot’s mechanics, navigates around obstacles, and ensures precise,
obstacle-aware movements. Both planning levels are crucial for successful robotic tasks,
with task planning setting the strategy and motion planning handling the tactical details.
19
24 How are actions defined in the predicate logic?
(not finished)
Paradigm shift:
Instead of describing sequences of events or predefined strategies, defining the available
actions and goals Goal Oriented Action Planning (GOAP)
20
4. Prefix notation
(beside a b)
(not (beside a b))
(and (beside a b) (beside b c))
(beside ?x ?y)
PDDL - components:
1. Domain :
2. Task:
21