0% found this document useful (0 votes)
25 views22 pages

Module3 ID6040 Week1

Uploaded by

Gopesh Krishna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views22 pages

Module3 ID6040 Week1

Uploaded by

Gopesh Krishna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Book Topics: Chapter 2

ID6040- Week1
Recursive State Estimation
Nirav Patel
Assistant Professor, Department of Engineering Design
IIT Madras

Moodle page available at: https://coursesnew.iitm.ac.in/


ID6040 Niravkumar Patel Copyright © 2023
ID6040

Robot !!
• Perceive environment using sensors
– Distance: ultrasound, laser, lidar etc.
– Temperature: infrared, thermocouple etc.
– Image: camera-> this is a higher dimensional data !!, the image itself
without further processing doesn’t provide any valuable information

• Take action/s based on those sensor measurements to


manipulate the environment
– Move around: wheels
– Pick/place: manipulator, grasper etc.
Niravkumar Patel Copyright © 2023
2
ID6040

But But But!!!


• Modern robots have to deal with
– Highly dynamic environment: people moving around, other robots moving around, some objects
moving around !!
– Sensors might not provide reliable measurements
• Someone dropped cold water on the temperature sensor !!!
• Someone accidently poured oil on the floor: robot wheel slip!!
– Actuators might not be reliable

• How do we deal with these uncertainties??

Image sources: images.google.com Niravkumar Patel Copyright © 2023


3
ID6040

What will we cover I this module?


• Recursive state estimation
• Gaussian filters
• Non-Parametric filters
• Motion models
• Mapping
• Localization
• Path planning

• We will touch upon all these topics: you can take a follow-up
courses to dive deeper into some of these topics!
– Introduction to Motion Planning: ED 5215

Niravkumar Patel Copyright © 2023


4
ID6040

Recursive State Estimation


• Estimate the state of a robot using sensor data
– Can we measure robot state directly?? NO
– How do we measure it then? -> sensors

• State of the robot is given by


– State (x0, x1, x2,…,xt)
– Xt could consists of
• Robot Pose/location
• Configuration/state of the actuators
• Object/obstacle locations
• Information of dynamic obstacles/objects such as position and velocity
• Other robot status information such as amount of batter left, temperature etc.
• Complete state: A state representation is ‘complete’ id the future is
independent of the history {(x0,.., xt-1), (u1,.., ut-1), (z1,.., zt-1)} given the
present state xt
Niravkumar Patel Copyright © 2023
5
ID6040

Recursive State Estimation


• Interactions
– Measurement data: (z1, z2,..,zt) help localize the robot and perceive the
environment
• Distance: ultrasound, laser, lidar etc.
• Temperature: infrared, thermocouple etc.
• Image: camera-> this is a higher dimensional data !!, the image itself without
further processing doesn’t provide any valuable information
– Control Actions: (u1, u2,..,ut) result in
• Robot motion: move from one location to another location
• Manipulation of objects: pick/place/throw/catch an object

Niravkumar Patel Copyright © 2023


6
ID6040

Recursive State Estimation


• We assume that x0 + u1 ->z1
– Measurements are taken after the action
– Applying control input u1 from state x0 gets us
observations/measurements z1
– Then we use these measurements and action to find next possible
state/s
• Notations
– x0:t : x0,.., xt-1
– u1:t : u1,.., ut-1
– z1:t : z1,.., zt-1
Niravkumar Patel Copyright © 2023
7
ID6040

Recursive State Estimation


• We are dealing with a dynamical stochastic system consisting of
robot/s in a dynamic environment
• We can describe such a system using
– State transition probability
• P(xt|x0:t-1, u1:t, z1:t-1) = p(xt|xt-1, ut) -> assuming the Markov property
• Probability of going to state xt given the state xt-1 and control input ut
– Measurement probability
– P(zt|x0:t, u1:t, z1:t-1) = p(zt|xt) -> assuming the Markov property
– Probability of getting measurement data zt given the state xt

Niravkumar Patel Copyright © 2023


8
ID6040

Recursive State Estimation


• Belief
– Robot’s state can not be measured directly
– A Belief reflects/infers the robot’s internal knowledge about the state
of the environment
• Belief Distributions
– Assigns a probability to each possible state variable, conditioned on
the available data : bel(xt) = p(xt|z1:t, u1:t)
– We can also look at the posterior, before incorporating zt and just
after executing the control ut : bel(xt) = p(xt|z1:t-1, u1:t) -> “prediction”
– Calculating bel(xt) from bel(xt) is called correction or “measurement
update”

Niravkumar Patel Copyright © 2023


9
ID6040

The Bayes Filter Algorithm


• Calculates the belief distribution from
– Measurement
– Control data
• Recursively calculates bel(xt) from bel(xt-1)
• Two steps
– Prediction
– Measurement update

Niravkumar Patel Copyright © 2023


10
ID6040

The Bayes Filter Algorithm


• Prediction

P(xt|x0:t-1, u1:t, z1:t-1) = p(xt|xt-1, ut)

bel(xt) = p(xt|z1:t-1, u1:t)


Niravkumar Patel Copyright © 2023
11
ID6040

The Bayes Filter Algorithm


• Measurement update

Niravkumar Patel Copyright © 2023


12
ID6040

The Bayes Filter Algorithm


• Algorithm

Prediction
Measurement update

Niravkumar Patel Copyright © 2023


13
ID6040

The Bayes Filter Algorithm: example


• Consider a simple door world
• A door can be in two possible states
– Open
– Closed
• A robot uses a sensor (camera) to
estimate the state of the door
• Door’s state can change only by the
robot’s action push

Niravkumar Patel Copyright © 2023


14
ID6040

The Bayes Filter Algorithm: example


• Robot doesn’t know the state of the door when its powered on
– bel(X0 = open) = 0.5
– bel(X0 = closed) = 0.5
• Robot’s sensing/perception is noisy
– There are some reflections or background colour of the room doesn’t
allow the algorithm to predict the state of door precisely
– p(Zt = sense-open|Xt = open) = 0.6
– p(Zt = sense-closed|Xt = open) = 0.4
– p(Zt = sense-open|Xt = closed) = 0.2
– p(Zt = sense-clsoed|Xt = closed) = 0.8
Niravkumar Patel Copyright © 2023
15
ID6040

The Bayes Filter Algorithm: example


• Robot tries to open a door (takes some action), but it could fail in
taking a desired action (slippage, could not apply enough force)
– p(Xt = open|Ut = push, Xt-1 = open) = 1
– p(Xt = closed|Ut = push, Xt-1 = open) = 0
– p(Xt = open|Ut = push, Xt-1 = closed) = 0.8
– p(Xt = closed|Ut = push, Xt-1 = closed) = 0.2

• What id robot doesn’t take any action: do-nothing


– p(Xt = open|Ut = do-nothing, Xt-1 = open) = 1
– p(Xt = closed|Ut = do-nothing, Xt-1 = open) = 0
– p(Xt = open|Ut = do-nothing, Xt-1 = closed) = 0
– p(Xt = closed|Ut = do-nothing, Xt-1 = closed) = 1
Niravkumar Patel Copyright © 2023
16
ID6040

The Bayes Filter Algorithm: example

Niravkumar Patel Copyright © 2023


17
ID6040

The Bayes Filter Algorithm: example

Niravkumar Patel Copyright © 2023


18
ID6040

The Bayes Filter Algorithm: example

Niravkumar Patel Copyright © 2023


19
ID6040

The Bayes Filter Algorithm: example

Niravkumar Patel Copyright © 2023


20
ID6040

The Bayes Filter Algorithm: example

Niravkumar Patel Copyright © 2023


21
ID6040

Credits!!

Content of many of the slides in this presentation are either adapted or


copied from the lecture notes by Prof. Ravindran's offering of ID6040

Niravkumar Patel Copyright © 2023


22

You might also like