Homework: Ball Predictor for Robot Soccer

Similar documents
1 Kalman Filter Introduction

Kalman Filter. Predict: Update: x k k 1 = F k x k 1 k 1 + B k u k P k k 1 = F k P k 1 k 1 F T k + Q

CALIFORNIA INSTITUTE OF TECHNOLOGY Control and Dynamical Systems. CDS 110b

Nonlinear Identification of Backlash in Robot Transmissions

Bayes Filter Reminder. Kalman Filter Localization. Properties of Gaussians. Gaussians. Prediction. Correction. σ 2. Univariate. 1 2πσ e.

CALIFORNIA INSTITUTE OF TECHNOLOGY Control and Dynamical Systems. CDS 110b

UAVBook Supplement Full State Direct and Indirect EKF

Understanding and Application of Kalman Filter

RECURSIVE ESTIMATION AND KALMAN FILTERING

From Bayes to Extended Kalman Filter

Kalman Filter Computer Vision (Kris Kitani) Carnegie Mellon University

Optimization-Based Control

the robot in its current estimated position and orientation (also include a point at the reference point of the robot)

Miscellaneous. Regarding reading materials. Again, ask questions (if you have) and ask them earlier

The Kalman Filter ImPr Talk

Linear Discrete-time State Space Realization of a Modified Quadruple Tank System with State Estimation using Kalman Filter

SYSTEMTEORI - KALMAN FILTER VS LQ CONTROL

Ch. 2 The Laws of Motion

A Crash Course on Kalman Filtering

L06. LINEAR KALMAN FILTERS. NA568 Mobile Robotics: Methods & Algorithms

ELEC4631 s Lecture 2: Dynamic Control Systems 7 March Overview of dynamic control systems

Automatic Control II Computer exercise 3. LQG Design

Sensor Fusion, 2014 Lecture 1: 1 Lectures

2D Image Processing (Extended) Kalman and particle filter

Handling robot collisions in the state estimator module of the MI20 robotsoccer system

ROBUST CONSTRAINED ESTIMATION VIA UNSCENTED TRANSFORMATION. Pramod Vachhani a, Shankar Narasimhan b and Raghunathan Rengaswamy a 1

Sequential State Estimation (Crassidas and Junkins, Chapter 5)

Autonomous Mobile Robot Design

CIS 390 Fall 2016 Robotics: Planning and Perception Final Review Questions

Implicit sampling for particle filters. Alexandre Chorin, Mathias Morzfeld, Xuemin Tu, Ethan Atkins

Online monitoring of MPC disturbance models using closed-loop data

6.435, System Identification

TSRT14: Sensor Fusion Lecture 6. Kalman Filter (KF) Le 6: Kalman filter (KF), approximations (EKF, UKF) Lecture 5: summary

Final Exam Solutions

KEY CONCEPTS. Factoring is the opposite of expanding.

Work. Objectives. Assessment. Assessment. Equations. Physics terms 6/3/14. Define the joule in terms of force and distance.

Motion *All matter in the universe is constantly at motion Motion an object is in motion if its position is changing

Optimal control and estimation

For final project discussion every afternoon Mark and I will be available

Topic: Force PHYSICS 231

Vlad Estivill-Castro. Robots for People --- A project for intelligent integrated systems

Particle Filters; Simultaneous Localization and Mapping (Intelligent Autonomous Robotics) Subramanian Ramamoorthy School of Informatics

Deterioration estimation for remaining useful lifetime prognosis in a friction drive system

Data Fusion of Dual Foot-Mounted Zero Velocity Update (ZUPT) Aided Inertial Navigation Systems (INSs) using Centroid Method

Real-time Attitude Estimation Techniques Applied to a Four Rotor Helicopter

VISION TRACKING PREDICTION

EE5585 Data Compression April 18, Lecture 23

Moving Horizon Estimation (MHE)

Time Series Examples Sheet

OPTIMAL CONTROL AND ESTIMATION

Outline. 1 Full information estimation. 2 Moving horizon estimation - zero prior weighting. 3 Moving horizon estimation - nonzero prior weighting

Linear-Optimal State Estimation

Nonlinear Parameter Estimation for State-Space ARCH Models with Missing Observations

Optimization-Based Control

= m(0) + 4e 2 ( 3e 2 ) 2e 2, 1 (2k + k 2 ) dt. m(0) = u + R 1 B T P x 2 R dt. u + R 1 B T P y 2 R dt +

DESIGNING A KALMAN FILTER WHEN NO NOISE COVARIANCE INFORMATION IS AVAILABLE. Robert Bos,1 Xavier Bombois Paul M. J. Van den Hof

Physics 1A Lecture 10B

Identification of ARX, OE, FIR models with the least squares method

A Study of Covariances within Basic and Extended Kalman Filters

6.241 Dynamic Systems and Control

Industrial Model Predictive Control

Lecture 4: Numerical Solution of SDEs, Itô Taylor Series, Gaussian Approximations

Pose Tracking II! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 12! stanford.edu/class/ee267/!

Probabilistic Fundamentals in Robotics. DAUIN Politecnico di Torino July 2010

Moving Horizon Estimation with Decimated Observations

4 Derivations of the Discrete-Time Kalman Filter

There are none. Abstract for Gauranteed Margins for LQG Regulators, John Doyle, 1978 [Doy78].

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

LQ Control of a Two Wheeled Inverted Pendulum Process

Optimal Control with Learned Forward Models

Model-building and parameter estimation

Automated Tuning of the Nonlinear Complementary Filter for an Attitude Heading Reference Observer

Evaluation of different wind estimation methods in flight tests with a fixed-wing UAV

Kalman Filters. Derivation of Kalman Filter equations

Statistical Visual-Dynamic Model for Hand-Eye Coordination

Kalman Filtering. Namrata Vaswani. March 29, Kalman Filter as a causal MMSE estimator

Estimation for Nonlinear Dynamical Systems over Packet-Dropping Networks

DATA ASSIMILATION FOR FLOOD FORECASTING

COS Lecture 16 Autonomous Robot Navigation

Lecture 4: Numerical Solution of SDEs, Itô Taylor Series, Gaussian Process Approximations

State Estimation of DFIG using an Extended Kalman Filter with an Augmented State Model

Nonlinear State Estimation! Extended Kalman Filters!

Robot Localisation. Henrik I. Christensen. January 12, 2007

Robot Localization and Kalman Filters

EEE 187: Take Home Test #2

13. Nonlinear least squares

12. Prediction Error Methods (PEM)

Physics Exam #1 review

ML Estimation of Process Noise Variance in Dynamic Systems

Chapter 4 State Estimation

Optimization-Based Control

The Ensemble Kalman Filter:

EKF, UKF. Pieter Abbeel UC Berkeley EECS. Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics

ECE531 Lecture 11: Dynamic Parameter Estimation: Kalman-Bucy Filter

Directed Reading B. Section: Newton s Laws of Motion NEWTON S FIRST LAW OF MOTION

EKF, UKF. Pieter Abbeel UC Berkeley EECS. Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics

Steady State Kalman Filter

EQUATIONS OF MOTION: RECTANGULAR COORDINATES

Factor Analysis and Kalman Filtering (11/2/04)

What do we know about EnKF?

Transcription:

Homework: Ball Predictor for Robot Soccer ECEn 483 November 17, 2004 1 Introduction The objective of this homework is to prepare you to implement a ball predictor in the lab An extended Kalman filter will be used to estimate the current position of the ball and to predict the future position of the ball T seconds into the future 2 Mathematical Model When the ball is not in contact with a wall or another robot, its dynamics are governed by Newton s second law: m b = F, where b = (b x, b y ) T is the position of the ball in world coordinates, m is the mass of the ball, and F = (F x, F y ) T is the external force exerted on the ball The external forces will be composed of a term due to static friction term and a variety of other forces, which we will assume to be small The force due to static friction is constant, assuming the ball has a non-zero velocity, and in the direction opposing motion The static friction term can be expressed as F s = µ ḃ ḃ Therefore the total force is F = µ ḃ + δf, ḃ where we assume that δf can be modeled as a zero mean, Gaussian random variable with covariance Q In component form we have ( bx by ) = µ m b x ḃ2 x +ḃ2 y b y ḃ2 x +ḃ2 y + 1 m ( ) δfx δf y 1

The constant µ m is unknown A common trick is to assume that this constant is also a state of the system and then use the Kalman filter to predict the constant, along with the other states The dynamics for a constant are Defining the state vector as and the process disturbance as d(µ/m) dt x 1 x = x 3 x 4 x 5 = = 0 b x b y ḃx ḃyµ m, ( ) q1 = 1 ( ) δfx, q 2 m δf y we can write the nonlinear state space equations as ẋ x 3 1 ẋ 2 x 4 ẋ 3 ẋ 4 = x3x5 3 + 4 + x 4x 5 1 0 0 1 (1) ẋ 3 + 4 5 0 Assuming that an overhead camera is used to measure b, the output equation is ( ) ( ) ( ) bx 1 rx y = = x +, 0 1 0 b y where r = (r x, r y ) T is the measurement noise and is assumed to be a zero mean Gaussian random variable with covariance R The application of the extended Kalman filter will require the computation of the Jacobian of f: f x = f x = r y Given f in Equation (1) we have 1 0 1 0 x 5 + x2 3 x 5 x 3 x 4 x 5 x 3 + ( 4 3 +x2 4 )3/2 ( 3 3 +x2 4 )3/2 x 3 x 4 x 5 x ( 5 + x2 4 x 5 x 3 +x2 4 )3/2 3 + ( 4 4 3 +x2 4 )3/2 0 3 + 4 3 + 4 2

3 Extended Kalman Filter The continuous-discrete extended Kalman filter is given by the following algorithm System Model where q N (0, Q) and r k N (0, R) ˆx = f(ˆx, u) + Gq z(kt ) = C ˆx(kT ) + r k, Initialization The first step is to initialize ˆx and P to ˆx 0 and P 0 Time update In between measurements, the state estimate ˆx and the covariance matrix P are propagated according to the differential equations ˆx = f(ˆx, u) A = f x (x=ˆx,u) P = AP + P A T + GQG T In simulation and in the lab, these differential equations will need to solved numerically This can be done by approximating the time derivative with an Euler approximation, and propagating the following difference equations ˆx[k + 1] = ˆx[k] + T p (f(ˆx, u[k])) (2) A = f (3) x (x= x[k+1],u[k]) ˆ P [k + 1] = P [k] + T p ( AP [k] + P [k]a T + GQG T ), (4) where T p is the sample rate of propagation, T p << T s, and T s is the sample rate of the measurement Measurement update When a measurement is received, we stop the time propagation and let ˆx and P be the values of ˆx as currently computed by Equations (2) and (4), respectively The values of ˆx and P are revised, according to the measurement, as follows: L = P C T [CP C T + R] 1 (5) P = (I LC)P (6) ˆx = ˆx + L(z k C ˆx ) (7) 3

4 Prediction Equations If at time t, we would like to predict the state at time t + T, where T > 0, then we need to add an additional step In particular we need to integrate the system equations ˆx = f(ˆx, û) with initial condition ˆx(t) for T seconds into the future Pseudo code for the complete algorithm is shown below Algorithm 1 Ball Predictor 1: Input: (1) Measurement z, (2) Prediction time T 2: In between measurements: 3: for i = 1 to N do 4: Compute ˆx = ˆx + T s N f(ˆx, u) 5: Correct ˆx to take into account wall bounces 6: Compute A = f(ˆx,u) x ( 7: Compute P = P + T s n AP + P A T + GQG ) T 8: end for 9: At a measurement 10: L = P C ( T CP C T + R ) 1 11: P = (I LC)P 12: ˆx = ˆx + L (z C ˆx) 13: Correct ˆx to take into account wall bounces 14: At each time t, predict ahead T seconds given the current estimate 15: ˆx p = ˆx 16: while t p < T do 17: Compute ˆx p = ˆx p + T s N f(ˆx p, u p ) 18: Correct ˆx p to take into account wall bounces 19: Update t p = t p + Ts N 20: end while 5 Application to Ball Prediction Download the matlab/simulink files associated with this homework set Problems 1 Implement the extended Kalman filter using the Matlab/Simulink code provided with this homework set Use matrix notation 2 Modify your code to allow you to return the predicted state T seconds into the future 3 Explicitly write out the formula for each element of the matrix update equations Ie, multiply out the matrix equations and derive an equation for each term 4

4 Modify your simulation so that it does not use any matrix multiplies Turn in your code for kalman filterm and sample plots of the estimation error for each state 5