Humanoid Robotics. Least Squares. Maren Bennewitz

Similar documents
Robot Mapping. Least Squares Approach to SLAM. Cyrill Stachniss

Graphbased. Kalman filter. Particle filter. Three Main SLAM Paradigms. Robot Mapping. Least Squares Approach to SLAM. Least Squares in General

ICRA 2016 Tutorial on SLAM. Graph-Based SLAM and Sparsity. Cyrill Stachniss

Advanced Techniques for Mobile Robotics Graph-based SLAM using Least Squares. Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz

Humanoid Robotics. Monte Carlo Localization. Maren Bennewitz

Least Squares and SLAM Pose-SLAM

Humanoid Robotics. Projective Geometry, Homogeneous Coordinates. (brief introduction) Maren Bennewitz

Camera calibration. Robotic vision. Ville Kyrki

g2o: A General Framework for Graph Optimization Rainer Kümmerle Giorgio Grisetti Hauke Strasdat Kurt Konolige Wolfram Burgard

Robot Mapping. Graph-Based SLAM with Landmarks. Cyrill Stachniss

L15. POSE-GRAPH SLAM. NA568 Mobile Robotics: Methods & Algorithms

Nonlinear State Estimation for Robotics and Computer Vision Applications: An Overview

Colorado School of Mines. Computer Vision. Professor William Hoff Dept of Electrical Engineering &Computer Science.

Robot Mapping. Graph-Based SLAM with Landmarks. Cyrill Stachniss

From Least-Squares to ICP

Autonomous Mobile Robot Design

CS 395T Lecture 12: Feature Matching and Bundle Adjustment. Qixing Huang October 10 st 2018

Humanoid Robotics. Inverse Kinematics and Whole-Body Motion Planning. Maren Bennewitz

Robot Mapping. TORO Gradient Descent for SLAM. Cyrill Stachniss

Visual Tracking (1) Tracking of Feature Points and Planar Rigid Objects

Humanoid Robotics. Inverse Kinematics and Whole-Body Motion Planning. Maren Bennewitz

Introduction to Optimization

Robot Mapping. SLAM Front-Ends. Cyrill Stachniss. Partial image courtesy: Edwin Olson 1

Contents. 1 Introduction Background Organization Features... 7

Srikumar Ramalingam. Review. 3D Reconstruction. Pose Estimation Revisited. School of Computing University of Utah

Autonomous Navigation for Flying Robots

Contents. I Basics 1. Copyright by SIAM. Unauthorized reproduction of this article is prohibited.

Robert Collins CSE598G. Intro to Template Matching and the Lucas-Kanade Method

Two-view geometry Computer Vision Spring 2018, Lecture 10

Capturing, Modeling, Rendering 3D Structures

Today. Today. Introduction. Matrices. Matrices. Computergrafik. Transformations & matrices Introduction Matrices

Visual Tracking (1) Feature Point Tracking and Block Matching

Robot Mapping. Grid Maps. Gian Diego Tipaldi, Wolfram Burgard

Image Registration Lecture 4: First Examples

Introduction to Mobile Robotics Iterative Closest Point Algorithm. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Kai Arras

Matching. Compare region of image to region of image. Today, simplest kind of matching. Intensities similar.

Towards a visual perception system for LNG pipe inspection

(Sparse) Linear Solvers

Hartley - Zisserman reading club. Part I: Hartley and Zisserman Appendix 6: Part II: Zhengyou Zhang: Presented by Daniel Fontijne

calibrated coordinates Linear transformation pixel coordinates

Multiview Stereo COSC450. Lecture 8

(Sparse) Linear Solvers

Robot Mapping. A Short Introduction to the Bayes Filter and Related Models. Gian Diego Tipaldi, Wolfram Burgard

Robot Mapping. A Short Introduction to Homogeneous Coordinates. Gian Diego Tipaldi, Wolfram Burgard

Euclidean Reconstruction Independent on Camera Intrinsic Parameters

Interlude: Solving systems of Equations

Mysteries of Parameterizing Camera Motion - Part 1

Visual Tracking (1) Pixel-intensity-based methods

CS231A Course Notes 4: Stereo Systems and Structure from Motion

Image processing and features

An idea which can be used once is a trick. If it can be used more than once it becomes a method

Basics of Localization, Mapping and SLAM. Jari Saarinen Aalto University Department of Automation and systems Technology

Optimization and least squares. Prof. Noah Snavely CS1114

GTSAM 4.0 Tutorial Theory, Programming, and Applications

Srikumar Ramalingam. Review. 3D Reconstruction. Pose Estimation Revisited. School of Computing University of Utah

L10. PARTICLE FILTERING CONTINUED. NA568 Mobile Robotics: Methods & Algorithms

Contents. I The Basic Framework for Stationary Problems 1

CS201: Computer Vision Introduction to Tracking

High-precision, consistent EKF-based visual-inertial odometry

Smoothing and Mapping using Multiple Robots

Dealing with Scale. Stephan Weiss Computer Vision Group NASA-JPL / CalTech

Simultaneous Localization

EE795: Computer Vision and Intelligent Systems

Fundamental matrix. Let p be a point in left image, p in right image. Epipolar relation. Epipolar mapping described by a 3x3 matrix F

L17. OCCUPANCY MAPS. NA568 Mobile Robotics: Methods & Algorithms

CVPR 2014 Visual SLAM Tutorial Efficient Inference

Deep Learning: Image Registration. Steven Chen and Ty Nguyen

Introduction to Mobile Robotics

Horn-Schunck and Lucas Kanade 1

EE795: Computer Vision and Intelligent Systems

Autonomous Navigation in Complex Indoor and Outdoor Environments with Micro Aerial Vehicles

Computational Optical Imaging - Optique Numerique. -- Single and Multiple View Geometry, Stereo matching --

Peripheral drift illusion

Optimizations and Lagrange Multiplier Method

Augmented Reality, Advanced SLAM, Applications

Simultaneous Localization and Mapping (SLAM)

Machine Learning for Signal Processing Lecture 4: Optimization

COS Lecture 13 Autonomous Robot Navigation

arxiv: v1 [cs.cv] 2 May 2016

Overview. EECS 124, UC Berkeley, Spring 2008 Lecture 23: Localization and Mapping. Statistical Models

Motion and Optical Flow. Slides from Ce Liu, Steve Seitz, Larry Zitnick, Ali Farhadi

THE COMPUTER MODELLING OF GLUING FLAT IMAGES ALGORITHMS. Alekseí Yu. Chekunov. 1. Introduction

Probabilistic Robotics

CSE 554 Lecture 6: Fairing and Simplification

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 263

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala)

Chapter 3 Numerical Methods

Serial Manipulator Statics. Robotics. Serial Manipulator Statics. Vladimír Smutný

CS 231A: Computer Vision (Winter 2018) Problem Set 2

Jacobians. 6.1 Linearized Kinematics. Y: = k2( e6)

Game Mathematics. (12 Week Lesson Plan)

COMPUTER VISION > OPTICAL FLOW UTRECHT UNIVERSITY RONALD POPPE

Advanced Computer Graphics Transformations. Matthias Teschner

Optimum Array Processing

Comparison between Motion Analysis and Stereo

Robotic Perception and Action: Vehicle SLAM Assignment

3D Transformations. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 11

Stereo and Epipolar geometry

Computer Vision I - Algorithms and Applications: Multi-View 3D reconstruction

Surfaces, meshes, and topology

Transcription:

Humanoid Robotics Least Squares Maren Bennewitz

Goal of This Lecture Introduction into least squares Use it yourself for odometry calibration, later in the lecture: camera and whole-body self-calibration Odometry is the use of data from motion sensors to estimate the change in position over time Robots typically execute motion commands inaccurately, systematic errors might occur, i.e., due to wear

Motion Drift Use odometry calibration with least squares to reduce such systematic errors

Least Squares in General Approach for computing a solution for an overdetermined system Linear system More independent equations than unknowns, i.e., no exact solution exists

Least Squares in General Approach for computing a solution for an overdetermined system Linear system More independent equations than unknowns, i.e., no exact solution exists Minimizes the sum of the squared errors in the equations Standard approach to a large set of problems Developed by Carl Friedrich Gauss in 1795 (he was 18 years old)

Problem Definition Given a system described by a set of n observation functions Let be the state vector (unknown) be a measurement of the state x be a function that maps to a predicted measurement Given n noisy measurements the state Goal: Estimate the state that bests explains the measurements about

Graphical Explanation state (unknown) predicted measurements real measurements

Example : position of 3D features : coordinates of the 3D features projected on camera images Estimate the most likely 3D position of the features based on the image projections (given the camera poses) and the actual measurements

Error Function Error is typically the difference between the predicted and the actual measurement Assumption: The error has zero mean and is normally distributed Gaussian error with information matrix The squared error of a measurement depends only on the state and is a scalar

Goal: Find the Minimum Find the state x* that minimizes the error given all measurements global error (scalar) squared error terms (scalar) error terms (vector)

Goal: Find the Minimum Find the state x* that minimizes the error given all measurements Possible solution: Derive the global error function and find its zeros In general complex and no closed-form solution Use a numerical approach

Assumption A good initial guess is available The error functions are smooth in the neighborhood of the (hopefully global) minima Then: Solve the problem by iterative local linearizations

Solve via Iterative Local Linearizations Linearize the error terms around the current solution/initial guess Compute the first derivative of the squared error function Set it to zero and solve the linear system Obtain the new state (that is hopefully closer to the minimum) Iterate

Linearizing the Error Function Approximate the error functions around an initial guess via Taylor expansion

Reminder: Jacobian Matrix Given a vector-valued function The Jacobian matrix is defined as

Reminder: Jacobian Matrix Orientation of the tangent plane to the vector-valued function at a given point Generalizes the gradient of a scalar valued function

Squared Error With the previous linearization, we can fix and carry out the minimization in the increments We replace the Taylor expansion in the squared error terms:

Squared Error With the previous linearization, we can fix and carry out the minimization in the increments We replace the Taylor expansion in the squared error terms:

Squared Error (cont.) All summands are scalar so the transposition has no effect By grouping similar terms, we obtain:

Global Error Sum of the squared error terms corresponding to the individual measurements Form a new expression that approximates the global error in the neighborhood of the current solution

Global Error (cont.) with

Quadratic Form We can write the global error terms as a quadratic form in We need to compute the derivative of w.r.t. (given )

Deriving a Quadratic Form Assume a quadratic form The first derivative is See: The Matrix Cookbook, Section 2.4.2

Quadratic Form We can write the global error terms as a quadratic form in The derivative of the approximated global error w.r.t. is then:

Minimizing the Quadratic Form Derivative of Setting it to zero leads to Which leads to the linear system The solution for the increment is

Gauss-Newton Solution Iterate the following steps: Linearize around x and compute for each measurement Compute the terms for the linear system Solve the linear system Update state

How to Efficiently Solve the Linear System? Linear system Can be solved by matrix inversion (in theory) In practice: Cholesky factorization QR decomposition Iterative methods such as conjugate gradients (for large systems)

Cholesky Decomposition for Solving a Linear System symmetric and positive definite System to solve Cholesky leads to with being a lower triangular matrix Solve first and then

Gauss-Newton Summary Method to minimize a squared error: Start with an initial guess Linearize the individual error functions This leads to a quadratic form Setting its derivative to zero leads to a linear system Solving the linear systems leads to a state update Iterate

Example: Odometry Calibration Odometry measurements Eliminate systematic error through calibration Assumption: Ground truth odometry is available Ground truth by motion capture, scanmatching, or a SLAM system

Example: Odometry Calibration There is a function that, given some bias parameters, returns a an unbiased (corrected) odometry as follows To obtain the correction function need to find the parameters, we

Odometry Calibration (cont.) The state vector is The error function is Accordingly, its Jacobian is: Does not depend on x, why? What are the consequences? e is linear, no need to iterate!

Questions How do the parameters look like if the odometry is perfect? How many measurements are (at least) needed to find a solution for the calibration problem?

Reminder: Rotation Matrix 3D Rotations along the main axes IMPORTANT: Rotations are not commutative! The inverse is the transpose (can be computed efficiently)

Matrices to Represent Affine Transformations Describe a 3D transformation via matrices rotation matrix translation vector Such transformation matrices are used to describe transforms between poses in the world

Example: Chaining Transformations Matrix A represents the pose of a robot in the world frame Matrix B represents the position of a sensor on the robot in the robot frame The sensor perceives an object at a given location p, in its own frame Where is the object in the global frame? p

Example: Chaining Transformations Matrix A represents the pose of a robot in the world frame Matrix B represents the position of a sensor on the robot in the robot frame The sensor perceives an object at a given location p, in its own frame Where is the object in the global frame? Bp gives the pose of the object wrt the robot B

Example: Chaining Transformations Matrix A represents the pose of a robot in the world frame Matrix B represents the position of a sensor on the robot in the robot frame The sensor perceives an object at a given location p, in its own frame Where is the object in the global frame? B Bp gives the pose of the object wrt the robot A ABp gives the pose of the object wrt the world

Summary Technique to minimize squared error functions Gauss-Newton is an iterative approach for solving non-linear problems Uses linearization (approximation!) Popular method in a lot of disciplines Exercise: Apply least squares for odometry calibration

Literature Least Squares and Gauss-Newton Basically every textbook on numeric calculus or optimization Wikipedia (for a brief summary) Part of the slides: Based on the course on Robot Mapping, Cyrill Stachniss, Uni Freiburg