Automatic Robotic arm calibration using parameter optimization techniques

Similar documents
What is Candidate Sampling

8.5 UNITARY AND HERMITIAN MATRICES. The conjugate transpose of a complex matrix A, denoted by A*, is given by

A hybrid global optimization algorithm based on parallel chaos optimization and outlook algorithm

v a 1 b 1 i, a 2 b 2 i,..., a n b n i.

Inter-Ing INTERDISCIPLINARITY IN ENGINEERING SCIENTIFIC INTERNATIONAL CONFERENCE, TG. MUREŞ ROMÂNIA, November 2007.

Vision Mouse. Saurabh Sarkar a* University of Cincinnati, Cincinnati, USA ABSTRACT 1. INTRODUCTION

NMT EE 589 & UNM ME 482/582 ROBOT ENGINEERING. Dr. Stephen Bruder NMT EE 589 & UNM ME 482/582

Support Vector Machines

Feature selection for intrusion detection. Slobodan Petrović NISlab, Gjøvik University College

The Development of Web Log Mining Based on Improve-K-Means Clustering Analysis

On the Optimal Control of a Cascade of Hydro-Electric Power Stations

Institute of Informatics, Faculty of Business and Management, Brno University of Technology,Czech Republic

CS 2750 Machine Learning. Lecture 3. Density estimation. CS 2750 Machine Learning. Announcements

Point cloud to point cloud rigid transformations. Minimizing Rigid Registration Errors

A Simple Approach to Clustering in Excel

The Virtual Movable Human Upper Body for Palpatory Diagnostic Training

Forecasting the Direction and Strength of Stock Market Movement

Logistic Regression. Steve Kroon

A Multi-Camera System on PC-Cluster for Real-time 3-D Tracking

Logistic Regression. Lecture 4: More classifiers and classes. Logistic regression. Adaboost. Optimization. Multiple class classification

where the coordinates are related to those in the old frame as follows.

Loop Parallelization

Heuristic Static Load-Balancing Algorithm Applied to CESM

Damage detection in composite laminates using coin-tap method

Logical Development Of Vogel s Approximation Method (LD-VAM): An Approach To Find Basic Feasible Solution Of Transportation Problem

DEFINING %COMPLETE IN MICROSOFT PROJECT

The Greedy Method. Introduction. 0/1 Knapsack Problem

An Analysis of Dynamic Severity and Population Size

Fault tolerance in cloud technologies presented as a service

Faraday's Law of Induction

An Enhanced Super-Resolution System with Improved Image Registration, Automatic Image Selection, and Image Enhancement

Face Verification Problem. Face Recognition Problem. Application: Access Control. Biometric Authentication. Face Verification (1:1 matching)

Traffic State Estimation in the Traffic Management Center of Berlin

How To Know The Components Of Mean Squared Error Of Herarchcal Estmator S

Optimization-based Motion Retargeting Integrating Spatial and Dynamic Constraints for Humanoid

Conversion between the vector and raster data structures using Fuzzy Geographical Entities

An Integrated Semantically Correct 2.5D Object Oriented TIN. Andreas Koch

Distributed Multi-Target Tracking In A Self-Configuring Camera Network

CHOLESTEROL REFERENCE METHOD LABORATORY NETWORK. Sample Stability Protocol

Improved SVM in Cloud Computing Information Mining

LITERATURE REVIEW: VARIOUS PRIORITY BASED TASK SCHEDULING ALGORITHMS IN CLOUD COMPUTING

J. Parallel Distrib. Comput.

Learning from Multiple Outlooks

Rotation Kinematics, Moment of Inertia, and Torque

An interactive system for structure-based ASCII art creation

Chapter 4 ECONOMIC DISPATCH AND UNIT COMMITMENT

L10: Linear discriminants analysis

Closed-loop Servoing using Real-time Markerless Arm Tracking

A heuristic task deployment approach for load balancing

An Efficient Recovery Algorithm for Coverage Hole in WSNs

Module 2 LOSSLESS IMAGE COMPRESSION SYSTEMS. Version 2 ECE IIT, Kharagpur

Software project management with GAs

Linear Circuits Analysis. Superposition, Thevenin /Norton Equivalent circuits

Research Article Enhanced Two-Step Method via Relaxed Order of α-satisfactory Degrees for Fuzzy Multiobjective Optimization

A machine vision approach for detecting and inspecting circular parts

Biometric Signature Processing & Recognition Using Radial Basis Function Network

1 Example 1: Axis-aligned rectangles

Optimal Provisioning of Resource in a Cloud Service

A fast method for binary programming using first-order derivatives, with application to topology optimization with buckling constraints

On the Solution of Indefinite Systems Arising in Nonlinear Optimization

INSTITUT FÜR INFORMATIK

Learning Permutations with Exponential Weights

Document Clustering Analysis Based on Hybrid PSO+K-means Algorithm

Period and Deadline Selection for Schedulability in Real-Time Systems

This circuit than can be reduced to a planar circuit

SCHEDULING OF CONSTRUCTION PROJECTS BY MEANS OF EVOLUTIONARY ALGORITHMS

Ants Can Schedule Software Projects

In the rth step, the computaton of the Householder matrx H r requres only the n ; r last elements of the rth column of A T r;1a r;1 snce we donothave

Support vector domain description

Compiling for Parallelism & Locality. Dependence Testing in General. Algorithms for Solving the Dependence Problem. Dependence Testing

APPLICATION OF COMPUTER PROGRAMMING IN OPTIMIZATION OF TECHNOLOGICAL OBJECTIVES OF COLD ROLLING

Formulating & Solving Integer Problems Chapter

Energies of Network Nastsemble

How To Calculate The Accountng Perod Of Nequalty

Forecasting the Demand of Emergency Supplies: Based on the CBR Theory and BP Neural Network

GRAVITY DATA VALIDATION AND OUTLIER DETECTION USING L 1 -NORM

Patterns Antennas Arrays Synthesis Based on Adaptive Particle Swarm Optimization and Genetic Algorithms

8 Algorithm for Binary Searching in Trees

APPLICATION OF PROBE DATA COLLECTED VIA INFRARED BEACONS TO TRAFFIC MANEGEMENT

SOLVING CARDINALITY CONSTRAINED PORTFOLIO OPTIMIZATION PROBLEM BY BINARY PARTICLE SWARM OPTIMIZATION ALGORITHM

A Programming Model for the Cloud Platform

Recurrence. 1 Definitions and main statements

Intelligent Method for Cloud Task Scheduling Based on Particle Swarm Optimization Algorithm

Data Visualization by Pairwise Distortion Minimization

Regression Models for a Binary Response Using EXCEL and JMP

Section 5.3 Annuities, Future Value, and Sinking Funds

A Comparative Study of Data Clustering Techniques

ON THE ACCURACY, REPEATABILITY, AND DEGREE OF INFLUENCE OF KINEMATICS PARAMETERS FOR INDUSTRIAL ROBOTS

Software Alignment for Tracking Detectors

SMOOTH TRAJECTORY PLANNING ALGORITHMS FOR INDUSTRIAL ROBOTS: AN EXPERIMENTAL EVALUATION

1. Fundamentals of probability theory 2. Emergence of communication traffic 3. Stochastic & Markovian Processes (SP & MP)

Testing and Debugging Resource Allocation for Fault Detection and Removal Process

New Approaches to Support Vector Ordinal Regression

21 Vectors: The Cross Product & Torque

Implementation of Deutsch's Algorithm Using Mathcad

Examensarbete. Rotating Workforce Scheduling. Caroline Granfeldt

PREDICTION OF MISSING DATA IN CARDIOTOCOGRAMS USING THE EXPECTATION MAXIMIZATION ALGORITHM

O(n) mass matrix inversion for serial manipulators and polypeptide chains using Lie derivatives Kiju Lee, Yunfeng Wang and Gregory S.

An Energy Aware Framework for Virtual Machine Placement in Cloud Federated Data Centres

A Fast Incremental Spectral Clustering for Large Data Sets

Transcription:

Automatc Robotc arm calbraton usng parameter optmzaton technques Project by: Chetan Kalyan Introducton: Robotc manpulaton tasks need accurate calbraton between sensors (eyes) and arms. Standard manual methods of calbraton requre recordng 3D coordnates of the end effector and n the arm and eye frames. We propose to perform ths calbraton usng optmzaton technques on the parameters of the robotc arm: There are a few parameters n the arm whch are assured to be accurate, such as the jon angles of each lnk n the arm and the length of some of the lnks n the arm. However, the length of the last lnk can vary due to wear and tear or due to the user addng add-ons at the tps of the arm. The state-of-the-art s to manually measure the length of these lnks and feed them to the arm. Ths s unrelable as manual measurements are prone to errors. The scope of ths project s thus to reduce the calbraton error of the arm to a neglgble level. Ths nvolves optmzaton over the lengths of the lnks of the arm, usng as few parameters as possble. Ths wll allow us to use the arm wthout havng to perform tme-ntensve manual measurements. Normally, such an optmzaton over a large number of varables s a farly complcated process, snce t nvolves fndng gradents and hessans of all the parameters nvolved n order to optmze. For our purposes, snce the optmzaton s prmarly over numerc data, we opted to choose the Levenberg-Marquardt algorthm, whch performs numerc mnmzaton over repeated teratons of the algorthm. Ths suted our purposes, snce the functons governng the knematcs of the arm are suffcently complcated to prevent easy calculaton of gradents. Optmzng the lengths of all the lnks as well as the rotaton and translaton matrces returned the best results. Ths shows that the transformaton of co-ordnates from the arm frame to the sensor frame s also prone to errors and can be optmzed. In subsequent sectons, we descrbe the settng up of the optmzaton problem, the expermental set-up and the results that we obtaned.

Fundamentals: Fgure 1 Schematc of arm parameters We make the assumpton that, even though the lengths of the lnks are not entrely accurate, the errors n θ 1 to θ n are small and can be used to tran our model effectvely. Let JЄR s be the vector of the 5 jon angles of the arm. The measurements of J are assumed to be accurate. In order to predct the length of θ 0, we need to frst fnd the poston of the arm n a 3D space. Ths means that we need to be able to accurately say what the (x,y,z) co-ordnates of the end-effector are. We have 2 frames of reference n ths problem- the frame of the robotc arm R and the frame of the on-board sensor S: Let X S be the value of (x,y,z) returned by the sensor for the th tranng sample; X R be the co-ordnates of the arm n the robot space. We need to fnd X R n terms of X S, and match the two, n order to fnd the correct (x,y,z) for computaton of θ 0. How do we do ths? We know the value of J, the jon angles of the th tranng sample of the data set. We also know θ, the vector of lnk lengths. We can hence fnd X R as a functon of J and θ as: x r = cos(j(1)) * [ θ(1)*sn(j(2)) + θ(2)*sn(j(3)) + (θ(3)+θ(4))*sn(j(4)) ]; y r = sn(j(1)) * [ θ(1)*sn(j(2)) + θ(2)*sn(j(3)) + (θ(3)+θ(4))*sn(j(4)) ]; z r = θ(1)*cos(j(2)) + θ(2)*cos(j(3)) + (θ(3)+θ(4)) * cos(j(4)); We can use the rotaton matrx R Є R 3x3 and the translaton vector T Є R 3 to transform the robot space to the sensor space, and thus match our robot and sensor co-ordnates: R s= R * X r + T

Optmzng ths reduces to a least squares problem, and once the optmal soluton has been found, we can proceed to use R,T and J to fnd the optmzed value of θ,as : Mn R,T,θ [ k*(actual dst. between 2 pts on the board) + ( R S (X r ) X s ) 2 ] Here, k s a scalng factor whch mposes a constrant on the optmzaton and ensures that the matrces are not changed too much. We measure the dstance between any 2 ponts on the board and use ths dstance to constran the optmzer to fnd the length of the lnks satsfyng the dstance equaton. In ths optmzaton, we cannot fnd the gradent or the hessan effcently, snce the functon governng X R s complex. So, we use the Levenberg-Marquardt algorthm to fnd local optma wthout fndng gradent or hessans. We terate over ths step tll we reach the global optmum. Expermental Set-up: Procedure for executon of project: Data Collecton Transform coordnates to requred frames of reference Optmze the varables usng ths data Verfy aganst orgnally measured calbraton error Data collecton. Collect jon angles of the arm at varous postons, n order to fnd J. o On a board, draw some crosses, representng the X S s. These wll be used as the ponts for data collecton. o Scan the board wth the laser and record the postons of each data pont. Ths gves us the coordnates n the sensor frame.

o Move the arm to each of the crosses and record jon angles and pose at that poston. Ths gves us the parameters of the robot frame. Transform co-ordnates from robot space to sensor space. The transformaton to sensor frame of reference allows us to compare the values from the arm and the sensor values. Optmze the transformaton, usng Levenberg-Marquardt algorthm, n Matlab. We ran the Levenberg-Marquardt algorthm on the collected data for 1000 teratons, ntalzng each of the 3 optmzaton parameters (R,T, theta) to some default values, not assured to be accurate. We found that the algorthm stablzed somewhere around 800 teratons. Test the optmzed parameters n calbraton and fnd change n calbraton error. The output of the optmzaton was the 3 parameters- (R,T, theta). We used ths output to re-calbrate the robot and check the calbraton error aganst the orgnal error. Results: We collected 87 dstnct data ponts. We ran the Levenberg-Marquardt algorthm on ths dataset wth default ntalzatons and performed 1000 teratons on the optmzer. We then gave faulty ntalzatons to the optmzer and checked for convergence to the correct values. We found that the length of the last lnk was optmzed to an error of less than 1mm and the rotaton and translaton matrces were also optmzed to get better results. Calbraton error = mean error between the predcted co-ordnates and actual co-ordnates of each sample n the sensor frame Knematcs error= mean error between the predcted co-ordnates and actual co-ordnates of each sample n the arm frame Intal Optmzed Intal Optmzed Length of last lnk 134.3 135.3 167 135.2011 Rotaton matrx change 0.4410 0.4357 Translaton vector change 0.0120 0.0173 Calbraton error 7.552966 mm 0.079319 mm 7.552966 mm 0.752 mm

Knematcs error 0 0.816763 mm 1.0693 mm 0.87 mm Concluson and further work: Thus, Parameter optmzaton of robotc arm parameters s much more relable and effcent than manual confguratons. In the future, we plan to expand the optmzaton technque to help n calbratng most, f not all, parameters of the arm, thus reducng tme and effort n calbraton. We also plan to devse more sophstcated ways of measurng calbraton errors n a more vared envronment. Acknowledgements: I would lke to thank Mr. Quoc Vet Le for hs patence and hs counsel throughout the project. I would also lke to thank everyone at the Robot learnng lab for ther support, encouragement and help durng my work. References: 1. The Levenberg-Marquardt algorthm: Implementaton and theory, Jorge J.More, Sprnger Berln / Hedelberg, 1978. 2. Ng, Andrew, Least squares method, Parameter optmzaton, CS 229: Machne Learnng Course Notes (2008 Aut), Avalable at http://www.stanford.edu/class/cs229/materals.html