Professional Documents
Culture Documents
Robotics Control
Learning Outcomes
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Robots
• Manufacturing robots
• Autonomous mobile robots
• Humanoid robots
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Manufacturing robots
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Autonomous mobile robots
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
:: QUESTION ::
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Humanoid robots
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Robot Architecture
Perception
The
Cognition Physical
World
Action
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
How Do You Design Smart Robots?
n icate
o mmu Sense Reason Act
C
Environment
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
How Does a Robot “Sense”?
Can use vision…
Raw
data
Camera
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
How Does a Robot “Sense”?
Can use laser range scanner…
Raw data
(multiple scans)
Laser range
scanner
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Example of Robots Using Laser
Range Scanners to
Cooperatively Follow the Leader
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
And, there are lots of other
sensors…
• “Low-end” camera
• Infrared
• Sonar
• Microphone
• DGPS
• Compass
• Odometry (wheel encoders)
• Inclinometer (tilt)
• Tactile
• Chemical, radiation, wind, …
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
But it’s not so easy to sense…
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
How Does a Robot “Reason”?
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Other ways to “reason”…
• Constraint propagation
• Production (“expert”)
systems
• Decision networks
• Probabilistic reasoning
• Dynamic Bayesian networks
• Hidden Markov Models
• Genetic algorithms
• Neural networks
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
But it’s not so easy to reason…
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
How Does a Robot Convert
“Potential Fields” to Motion?
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
And, there are lots of other ways to
move…
• Legs
• Tracks
• Arms
• Wings…
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Example of Robots Using Grippers to
Cooperate
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
But, it’s not so easy to cooperate…
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Why do we care about
Cooperating Autonomous Mobile
Robots?
• Teams of robots for search and rescue:
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Teams of robots for hazardous
duty
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Teams of Robots for
Reconnaissance
and Homeland Security
DARPA’s vision
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Teams of Robots for Space
Exploration
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
And, Robots to Entertain You!
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
“Old View” of Perception vs. “New
View”
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
“New View” of Perception
• Active perception
– Agent can use motor control to enhance perceptual
processing via sensor positioning
• Perceptual classes
– Partition world into various categories of potential
interaction
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
“Open-loop” vs. “Closed-loop”
Control
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Sensing/Perception Definitions
•Action-oriented perception
•Expectation-based perception
•Focus-of-attention methods
•Active perception
•Perceptual classes
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Localization : Using
Kalman filter
Initial state
detects nothing:
Moves and
detects landmark:
Moves and
detects nothing:
Moves and
detects landmark:
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
The Kalman Filter
• Motion model is Gaussian…
• Sensor model is Gaussian…
• Each belief function is uniquely characterized
by its mean m and covariance matrix
• Computing the posterior means computing a
new mean m and covariance from old data
using actions and sensor readings
• What are the key limitations?
1) Unimodal distribution
2) Linear assumptions
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Kalman Filter Components
(also known as: Way Too Many Variables…)
xt 1 Ft xt Bt ut Gt wt
zt 1 H t 1 xt 1 nt 1
Sensor function Note:Write these down!!!
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
The Kalman Filter…
T T
Pt 1/ t Ft Pt / t Ft Gt Qt Gt - Uncertainty estimate GROWS
T 1
K t 1 Pt 1/ t H t 1 St 1 - Compute the Kalman Gain (how much to correct est.)
xˆt 1/ t 1 xˆt 1/ t K t 1rt 1 - Multiply residual times gain to correct state estimate
T 1
Pt 1/ t 1 Pt 1/ t Pt 1/ t H t 1 S t 1 H t 1 Pt 1/ t - Uncertainty estimate SHRINKS
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Kalman Filter Block Diagram
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Some observations
• The larger the error, the smaller the effect on the final
state estimate
– If process uncertainty is larger, sensor updates will dominate
state estimate
– If sensor uncertainty is larger, process propagation will
dominate state estimate
• Improper estimates of the state and/or sensor
covariance may result in a rapidly diverging estimator
– As a rule of thumb, the residuals must always be bounded
within a ±3s region of uncertainty
– This measures the “health” of the filter
• Many propagation cycles can happen between
updates
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Problems with the
Linear Model Assumption
• Many systems of interest are highly non-
linear, such as mobile robots
• In order to model such systems, a linear
process model must be generated out of the
non-linear system dynamics
• The Extended Kalman filter is a method by
which the state propagation equations and
the sensor models can be linearized about
the current state estimate
• Linearization will increase the state error
residual because it is not the best estimate
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Q&A
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions
Next Topic
CT002-3.5-2 AI-Methods
CE00371-1: Introduction to Software Development Problem Solving using programmed solutions