Odometry Calibration by Least Square Estimation

Σχετικά έγγραφα
Numerical Analysis FMN011

Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

Homework 3 Solutions

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

2 Composition. Invertible Mappings

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

Section 8.3 Trigonometric Equations

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1

The Simply Typed Lambda Calculus

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

Partial Differential Equations in Biology The boundary element method. March 26, 2013

Concrete Mathematics Exercises from 30 September 2016

6.1. Dirac Equation. Hamiltonian. Dirac Eq.

CHAPTER 48 APPLICATIONS OF MATRICES AND DETERMINANTS

Exercises 10. Find a fundamental matrix of the given system of equations. Also find the fundamental matrix Φ(t) satisfying Φ(0) = I. 1.

Chapter 6: Systems of Linear Differential. be continuous functions on the interval

Other Test Constructions: Likelihood Ratio & Bayes Tests

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

6.3 Forecasting ARMA processes

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

derivation of the Laplacian from rectangular to spherical coordinates

Econ 2110: Fall 2008 Suggested Solutions to Problem Set 8 questions or comments to Dan Fetter 1

EE512: Error Control Coding

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Areas and Lengths in Polar Coordinates

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

Areas and Lengths in Polar Coordinates

Matrices and Determinants

Partial Trace and Partial Transpose

Mean bond enthalpy Standard enthalpy of formation Bond N H N N N N H O O O

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Overview. Transition Semantics. Configurations and the transition relation. Executions and computation

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Section 7.6 Double and Half Angle Formulas

ES440/ES911: CFD. Chapter 5. Solution of Linear Equation Systems

Chapter 6: Systems of Linear Differential. be continuous functions on the interval

Reminders: linear functions

4.6 Autoregressive Moving Average Model ARMA(1,1)

Approximation of distance between locations on earth given by latitude and longitude

PARTIAL NOTES for 6.1 Trigonometric Identities

( ) 2 and compare to M.

k A = [k, k]( )[a 1, a 2 ] = [ka 1,ka 2 ] 4For the division of two intervals of confidence in R +

Jesse Maassen and Mark Lundstrom Purdue University November 25, 2013

TMA4115 Matematikk 3

Solutions to Exercise Sheet 5

Queensland University of Technology Transport Data Analysis and Modeling Methodologies

w o = R 1 p. (1) R = p =. = 1

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit

9.09. # 1. Area inside the oval limaçon r = cos θ. To graph, start with θ = 0 so r = 6. Compute dr

Correction Table for an Alcoholometer Calibrated at 20 o C

Parametrized Surfaces

Problem Set 9 Solutions. θ + 1. θ 2 + cotθ ( ) sinθ e iφ is an eigenfunction of the ˆ L 2 operator. / θ 2. φ 2. sin 2 θ φ 2. ( ) = e iφ. = e iφ cosθ.

C.S. 430 Assignment 6, Sample Solutions

Math221: HW# 1 solutions

Figure A.2: MPC and MPCP Age Profiles (estimating ρ, ρ = 2, φ = 0.03)..

Homework 8 Model Solution Section

ECE Spring Prof. David R. Jackson ECE Dept. Notes 2

Math 6 SL Probability Distributions Practice Test Mark Scheme

5.4 The Poisson Distribution.

ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ

상대론적고에너지중이온충돌에서 제트입자와관련된제동복사 박가영 인하대학교 윤진희교수님, 권민정교수님

Notes on the Open Economy

Instruction Execution Times

EE 570: Location and Navigation

SCITECH Volume 13, Issue 2 RESEARCH ORGANISATION Published online: March 29, 2018

Modbus basic setup notes for IO-Link AL1xxx Master Block

Srednicki Chapter 55

Απόκριση σε Μοναδιαία Ωστική Δύναμη (Unit Impulse) Απόκριση σε Δυνάμεις Αυθαίρετα Μεταβαλλόμενες με το Χρόνο. Απόστολος Σ.

If we restrict the domain of y = sin x to [ π, π ], the restrict function. y = sin x, π 2 x π 2

1) Formulation of the Problem as a Linear Programming Model

Solution Series 9. i=1 x i and i=1 x i.

ΗΜΥ 220: ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ Ι Ακαδημαϊκό έτος Εαρινό Εξάμηνο Κατ οίκον εργασία αρ. 2

Section 8.2 Graphs of Polar Equations

Statistical Inference I Locally most powerful tests

New bounds for spherical two-distance sets and equiangular lines

If we restrict the domain of y = sin x to [ π 2, π 2

Second Order Partial Differential Equations

Right Rear Door. Let's now finish the door hinge saga with the right rear door

Nowhere-zero flows Let be a digraph, Abelian group. A Γ-circulation in is a mapping : such that, where, and : tail in X, head in

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά.

Fourier Series. MATH 211, Calculus II. J. Robert Buchanan. Spring Department of Mathematics

ΟΡΓΑΝΙΣΜΟΣ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΔΙΟΚΤΗΣΙΑΣ

EU-Profiler: User Profiles in the 2009 European Elections

b. Use the parametrization from (a) to compute the area of S a as S a ds. Be sure to substitute for ds!

Exercises to Statistics of Material Fatigue No. 5

Bounding Nonsplitting Enumeration Degrees

The challenges of non-stable predicates

1 String with massive end-points

[1] P Q. Fig. 3.1

Section 9.2 Polar Equations and Graphs

FSM Toolkit Exercises

Testing for Indeterminacy: An Application to U.S. Monetary Policy. Technical Appendix

Written Examination. Antennas and Propagation (AA ) April 26, 2017.

Advanced Subsidiary Unit 1: Understanding and Written Response

Econ Spring 2004 Instructor: Prof. Kiefer Solution to Problem set # 5. γ (0)

Models for Probabilistic Programs with an Adversary

D Alembert s Solution to the Wave Equation

Transcript:

Robotics 2 Odometry Calibration by Least Square Estimation Giorgio Grisetti Kai Arras Gian Diego Tipaldi Cyrill Stachniss Wolfram Burgard SA-1

Least Squares Minimization The minimization algorithm proceeds by repeatedly performing the following steps: Linearizing the system around the current guess x and computing the following quantities for each measurement Computing the terms for the linear system Solving the system to get a new optimal increment Updating the previous estimate

Odometry Calibration We have a robot which moves in an environment, gathering the odometry measurements u i,affected by a systematic error. For each u i we have a ground truth u * i There is a function f i (x) which, given some bias parameters x, returns a an unbiased odometry for the reading u i as follows

Odometry Calibration (cont) The state vector is The error function is Its derivative is:

Exercise Write a program to calibrate the odometry We provide an input file obtained from a real robot. Format of z.dat: Every line is a single odometry measurement u x u y u t u x u y u t u and u are respectively the true and the measured odometry of the system in relative coordinates (e.g. motion of the robot between two consecutive frames).

Exercise (in sequential steps) Load the measurement matrix Write a function A=v2t(u) that given a transformation expressed as a vector u=[u x u y u t ] returns an homogeneous transformation matrix A. Write a function u=t2v(a) dual of the previous one. Write a function T=compute_odometry_trajectory(U) that computes a trajectory in the global frame by chaining up the measurements (rows) of the Nx3 matrix U. Hint: use the two functions defined above. Test it on the input data by displaying the trajectories. Define the error function e i (X) for a line of the measurement matrix. Call it error_function(i,x,z). Define the Jacobian function for the measurement i (call it jacobian(i,z). Write a function X=ls_calibrate_odometry(Z) which constructs and solves the quadratic problem. It should return the calibration parameters X. Write a function Uprime=apply_odometry_correction(X,U) which applies the correction to all odometries in the Nx3 matrix U. Test the computed calibration matrix and generate a trajectory. Plot the real, the estimated and the corrected odometries. In the directory you will find an octave script LsOdomCalib which you can use to test your program.

v2t & t2v function v=t2v(a) v(1:2, 1)=A(1:2,3); v(3,1)=atan2(a(2,1),a(1,1)); endfunction function A=v2t(v) c=cos(v(3)); s=sin(v(3)); A= [c, -s, v(1) ; s, c, v(2) ; 0 0 1 ]; endfunction

compute_odometry_trajectory function T=compute_odometry_trajectory(U) T=zeros(size(U,1),3); P=v2t(zeros(1,3)); for i=1:size(u,1), u=u(i,1:3)'; P*=v2t(u); T(i,1:3)=t2v(P)'; end end

Trajectories odometry ground truth

Error function function e=error_function(i,x,z) uprime=z(i,1:3)'; u=z(i,4:6)'; e=uprime-x*u; end

Jacobian function A=jacobian(i,Z) u=z(i,4:6); A=zeros(3,9); A(1,1:3)=-u; A(2,4:6)=-u; A(3,7:9)=-u; end

Quadratic Solver function X=ls_calibrate_odometry(Z) #accumulator variables for the linear system H=zeros(9,9); b=zeros(9,1); #initial solution (can be anything, se set it to the identity transformation) X=eye(3); #loop through the measurements and update the #accumulators for i=1:size(z,1), e=error_function(i,x,z); A=jacobian(i,Z); H=H+A'*A; b=b+a'*e; end #solve the linear system deltax=-h\b; #this reshapes the 9x1 increment vector in a 3x3 atrix dx=reshape(deltax,3,3)'; #computes the cumulative solution X=X+dX; end

applyodometrycorrection function C=applyOdometryCorrection(bias, U) C=zeros(size(U,1),3); for i=1:size(u,1), end u=u(i,1:3)'; uc=bias*u; C(i,:)=uc'; endfunction

Plots odometry calibrated ground truth

Questions Did you find this practical useful? Would you feel confident to apply least squares to more complex problems? Which one of the wheels of the robot was deflated (right or left)? For the next lecture you must have understood the basic concepts on least square minimization: we will do SLAM.