Motion Models (cont) 2/16/2019.

Slides:



Advertisements
Similar presentations
Mobile Robot Localization and Mapping using the Kalman Filter
Advertisements

(Includes references to Brian Clipp
Lab 2 Lab 3 Homework Labs 4-6 Final Project Late No Videos Write up
Probabilistic Robotics Probabilistic Motion Models.
Probabilistic Robotics Probabilistic Motion Models.
Probabilistic Robotics Probabilistic Motion Models.
Introduction to Kalman Filter and SLAM Ting-Wei Hsu 08/10/30.
Discriminative Training of Kalman Filters P. Abbeel, A. Coates, M
Particle Filters for Mobile Robot Localization 11/24/2006 Aliakbar Gorji Roborics Instructor: Dr. Shiri Amirkabir University of Technology.
Probabilistic Robotics: Motion Model/EKF Localization
Mobile Robotics: 10. Kinematics 1
Probabilistic Robotics Bayes Filter Implementations Particle filters.
Mechatronics 1 Week 11. Learning Outcomes By the end of week 11 session, students will understand some sorts of mobile robot and locomotion of wheeled.
880.P20 Winter 2006 Richard Kass 1 Confidence Intervals and Upper Limits Confidence intervals (CI) are related to confidence limits (CL). To calculate.
/09/dji-phantom-crashes-into- canadian-lake/
1 Robot Motion and Perception (ch. 5, 6) These two chapters discuss how one obtains the motion model and measurement model mentioned before. They are needed.
Probabilistic Robotics Probabilistic Motion Models.
Recap: Reasoning Over Time  Stationary Markov models  Hidden Markov models X2X2 X1X1 X3X3 X4X4 rainsun X5X5 X2X2 E1E1 X1X1 X3X3 X4X4 E2E2 E3E3.
Recursive Bayes Filters and related models for mobile robots.
Mobile Robot Localization (ch. 7)
Real-Time Simultaneous Localization and Mapping with a Single Camera (Mono SLAM) Young Ki Baik Computer Vision Lab. Seoul National University.
COMP 417 – Jan 12 th, 2006 Guest Lecturer: David Meger Topic: Camera Networks for Robot Localization.
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 4)
Tracking with dynamics
Colorado Center for Astrodynamics Research The University of Colorado 1 STATISTICAL ORBIT DETERMINATION Kalman Filter with Process Noise Gauss- Markov.
Control. 3 Motion Control (kinematic control) for mobile platform The objective of a kinematic controller is to follow a trajectory described by its position.
3/11/2016CS225B Kurt Konolige Probabilistic Models of Sensing and Movement Move to probability models of sensing and movement Project 2 is about complex.
Learning Theory Reza Shadmehr Distribution of the ML estimates of model parameters Signal dependent noise models.
Lecture 22 Image Restoration. Image restoration Image restoration is the process of recovering the original scene from the observed scene which is degraded.
Autonomous Mobile Robots Autonomous Systems Lab Zürich Probabilistic Map Based Localization "Position" Global Map PerceptionMotion Control Cognition Real.
Probabilistic Robotics Bayes Filter Implementations Gaussian filters.
Velocity Propagation Between Robot Links 3/4 Instructor: Jacob Rosen Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA.
Uncertainty and Error Propagation
STATISTICAL ORBIT DETERMINATION Kalman (sequential) filter
Using Sensor Data Effectively
ASEN 5070: Statistical Orbit Determination I Fall 2014
Model Inference and Averaging
Classification of unlabeled data:
Department of Civil and Environmental Engineering
Probabilistic Robotics
Simultaneous Localization and Mapping
Fitting Curve Models to Edges
Introduction to particle filter
Non-parametric Filters
Particle Filter/Monte Carlo Localization
Hidden Markov Models Part 2: Algorithms
More about Posterior Distributions
Probabilistic Robotics
Particle filters for Robot Localization
Introduction to particle filter
Non-parametric Filters
Inverse Kinematics 12/30/2018.
A Short Introduction to the Bayes Filter and Related Models
Non-parametric Filters
Non-parametric Filters
Probabilistic Map Based Localization
Bayes and Kalman Filter
Hidden Markov Models Markov chains not so useful for most agents
Parametric Methods Berlin Chen, 2005 References:
Non-parametric Filters: Particle Filters
Kinematics of Wheeled Robots
Non-parametric Filters
Uncertainty and Error Propagation
Non-parametric Filters: Particle Filters
Simultaneous Localization and Mapping
9. Two Functions of Two Random Variables
Velocity Motion Model (cont)
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Generating Random Variates
Velocity Motion Model (cont)
Presentation transcript:

Motion Models (cont) 2/16/2019

Computing the Density to compute prob 𝑣− 𝑣 , 𝛼 1 𝑣 2 + 𝛼 2 𝜔 2 , prob 𝜔− 𝜔 , 𝛼 3 𝑣 2 + 𝛼 4 𝜔 2 , and prob 𝛾 , 𝛼 5 𝑣 2 + 𝛼 6 𝜔 2 use the appropriate probability density function; i.e., for zero- mean Gaussian noise: prob 𝑎, 𝑏 2 = 1 2𝜋 𝑏 2 𝑒 − 1 2 𝑎 2 𝑏 2 2/16/2019

Sampling from the Velocity Motion Model suppose that a robot has a map of its environment and it needs to find its pose in the environment this is the robot localization problem several variants of the problem the robot knows where it is initially the robot does not know where it is initially kidnapped robot: at any time, the robot can be teleported to another location in the environment a popular solution to the localization problem is the particle filter uses simulation to sample the state density 2/16/2019

Sampling from the Velocity Motion Model sampling the conditional density is easier than computing the density because we only require the forward kinematics model given the control ut and the previous pose xt-1 find the new pose xt 2/16/2019

Sampling from the Velocity Motion Model Eqs 5.7, 5.8 2/16/2019

Sampling from the Velocity Motion Model Eqs 5.9 *we already derived this for the differential drive! 2/16/2019

Sampling from the Velocity Motion Model as with the original motion model, we will assume that given noisy velocities the robot can also make a small rotation in place to determine the final orientation of the robot 2/16/2019

Sampling from the Velocity Motion Model 2/16/2019

Sampling from the Velocity Motion Model the function sample(b2) generates a random sample from a zero-mean distribution with variance b2 Matlab is able to generate random numbers from many different distributions help randn help stats 2/16/2019

How to Sample from Normal or Triangular Distributions? Sampling from a normal distribution Sampling from a triangular distribution Algorithm sample_normal_distribution(b): return Algorithm sample_triangular_distribution(b): return

Normally Distributed Samples

For Triangular Distribution 103 samples 104 samples 105 samples 106 samples

Rejection Sampling Sampling from arbitrary distributions Algorithm sample_distribution(f,b): repeat until ( ) return

Examples 2/16/2019

Odometry Motion Model many robots make use of odometry rather than velocity odometry uses a sensor or sensors to measure motion to estimate changes in position over time typically more accurate than velocity motion model, but measurements are available only after the motion has been completed technically a measurement rather than a control but usually treated as control to simplify the modeling odometry allows a robot to estimate its pose but no fixed mapping from odometer coordinates and world coordinates in wheeled robots the sensor is often a rotary encoder 2/16/2019

Example Wheel Encoders These modules require +5V and GND to power them, and provide a 0 to 5V output. They provide +5V output when they "see" white, and a 0V output when they "see" black. These disks are manufactured out of high quality laminated color plastic to offer a very crisp black to white transition. This enables a wheel encoder sensor to easily see the transitions. Source: http://www.active-robots.com/

Odometry Model when using odometry, the robot keeps an internal estimate of its pose at all time for example, consider a robot moving from pose 𝑥 𝑡−1 to 𝑥 𝑡 Note: bar indicates values in the robot's internal coordinate system

Odometry Model the internal pose estimates 𝑥 𝑡−1 to 𝑥 𝑡 are treated as the control inputs to the robot: Note: bar indicates values in the robot's internal coordinate system

Odometry Model we require a model of how the robot moves from 𝑥 𝑡−1 to 𝑥 𝑡 there are an infinite number of possible motions between 𝑥 𝑡−1 to 𝑥 𝑡 Note: bar indicates values in the robot's internal coordinate system

Odometry Model assume the motion is accomplished in 3 steps: rotate in place by 𝛿 𝑟𝑜𝑡1 Note: bar indicates values in the robot's internal coordinate system

Odometry Model assume the motion is accomplished in 3 steps: rotate in place by 𝛿 𝑟𝑜𝑡1 move in a straight line by 𝛿 𝑡𝑟𝑎𝑛𝑠 Note: bar indicates values in the robot's internal coordinate system

Odometry Model assume the motion is accomplished in 3 steps: rotate in place by 𝛿 𝑟𝑜𝑡1 move in a straight line by 𝛿 𝑡𝑟𝑎𝑛𝑠 rotate in place by 𝛿 𝑟𝑜𝑡2 Note: bar indicates values in the robot's internal coordinate system

Odometry Model Note: bar indicates values in the robot's internal coordinate system

Noise Model for Odometry the difference between the true motion of the robot and the odometry motion is assumed to be a zero-mean random value

Sampling from the Odometry Motion Model suppose you are given the previous pose of the robot in world coordinates ( 𝑥 𝑡−1 ) and the most recent odometry from the robot ( 𝑢 𝑡 ) how do you generate a random sample of the current pose of the robot in world coordinates ( 𝑥 𝑡 )? use odometry to compute motion parameters 𝛿 𝑟𝑜𝑡1 , 𝛿 𝑡𝑟𝑎𝑛𝑠 , 𝛿 𝑟𝑜𝑡2 use noise model to generate random true motion parameters 𝛿 𝑟𝑜𝑡1 , 𝛿 𝑡𝑟𝑎𝑛𝑠 , 𝛿 𝑟𝑜𝑡2 use random true motion parameters to compute a random 𝑥 𝑡 2/16/2019

Sample Odometry Motion Model Algorithm sample_motion_model( 𝑢 𝑡 , 𝑥 𝑡−1 ): 𝑥 ′ =𝑥+ 𝛿 𝑡𝑟𝑎𝑛𝑠 cos 𝜃+ 𝛿 𝑟𝑜𝑡1 𝑦 ′ =𝑦+ 𝛿 𝑡𝑟𝑎𝑛𝑠 sin 𝜃+ 𝛿 𝑟𝑜𝑡1 𝜃 ′ =𝜃+ 𝛿 𝑟𝑜𝑡1 + 𝛿 𝑟𝑜𝑡2 return 𝑥′ 𝑦′ 𝜃′ 𝑇

2/16/2019

Sampling from Our Motion Model Start

Odometry Motion Model the key to computing for the odometry motion model is to remember that the robot has an internal estimate of its pose robot’s internal poses 2/16/2019

Odometry Motion Model the key to computing for the odometry motion model is to remember that the robot has an internal estimate of its pose given poses 2/16/2019

Odometry Motion Model the key to computing for the odometry motion model is to remember that the robot has an internal estimate of its pose robot’s internal poses 2/16/2019

Odometry Motion Model the control vector is made up of the robot odometry use the robot’s internal pose estimates to compute the δ 2/16/2019

Odometry Motion Model use the given poses to compute the δ as with the velocity motion model, we have to solve the inverse kinematics problem here but the problem is much simpler than in the velocity motion model 2/16/2019

Odometry Motion Model recall the noise model which makes it easy to compute the probability densities of observing the differences in the δ 2/16/2019

Odometry Motion Model Algorithm motion_model_odometry(x,x’,u) return p1 · p2 · p3 odometry values (u) values of interest (x,x’)

2/16/2019

Recap velocity motion model control variables were linear velocity, angular velocity about ICC, and final angular velocity about robot center 2/16/2019

Recap odometric motion model control variables were derived from odometry initial rotation, translation, final rotation 2/16/2019

Recap for both models we assumed the control inputs ut were noisy the noise models were assumed to be zero-mean additive with a specified variance actual velocity commanded velocity noise 2/16/2019

Recap for both models we assumed the control inputs ut were noisy the noise models were assumed to be zero-mean additive with a specified variance actual motion commanded motion noise 2/16/2019

Recap for both models we studied how to derive given xt-1 current pose ut control input xt new pose find the probability density that the new pose is generated by the current pose and control input required inverting the motion model to compare the actual with the commanded control parameters 2/16/2019

Recap for both models we studied how to sample from given xt-1 current pose ut control input generate a random new pose xt consistent with the motion model sampling from is often easier than calculating directly because only the forward kinematics are required 2/16/2019