Automated Parameterization of the Joint Space Dynamics of a Robotic Arm. Josh Petersen

Similar documents
UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

DESIGN AND MODELLING OF A 4DOF PAINTING ROBOT

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

NATIONAL UNIVERSITY OF SINGAPORE. (Semester I: 1999/2000) EE4304/ME ROBOTICS. October/November Time Allowed: 2 Hours

Theory and Design Issues of Underwater Manipulator

Control of Industrial and Mobile Robots

INSTITUTE OF AERONAUTICAL ENGINEERING

13. Learning Ballistic Movementsof a Robot Arm 212

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

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

Optimization of a two-link Robotic Manipulator

Automatic Control Industrial robotics

PRACTICAL SESSION 4: FORWARD DYNAMICS. Arturo Gil Aparicio.

Theory of Robotics and Mechatronics

Applications. Human and animal motion Robotics control Hair Plants Molecular motion

MTRX4700 Experimental Robotics

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

Forward kinematics and Denavit Hartenburg convention

Introduction to Robotics

Adaptive Control of 4-DoF Robot manipulator

Robotics I. March 27, 2018

Kinematics and dynamics analysis of micro-robot for surgical applications

ROBOTICS 01PEEQW Laboratory Project #1. Basilio Bona DAUIN Politecnico di Torino

ROBOTICS 01PEEQW Laboratory Project #1. Basilio Bona DAUIN Politecnico di Torino

Learning Inverse Dynamics: a Comparison

Matlab Simulator of a 6 DOF Stanford Manipulator and its Validation Using Analytical Method and Roboanalyzer

CHAPTER 3 MATHEMATICAL MODEL

Exercise 2b: Model-based control of the ABB IRB 120

1 Trajectories. Class Notes, Trajectory Planning, COMS4733. Figure 1: Robot control system.

State Estimation and Parameter Identification of Flexible Manipulators Based on Visual Sensor and Virtual Joint Model

Simulation-Based Design of Robotic Systems

Singularity Handling on Puma in Operational Space Formulation

Constrained Dynamic Parameter Estimation using the Extended Kalman Filter

Spline Curves. Spline Curves. Prof. Dr. Hans Hagen Algorithmic Geometry WS 2013/2014 1

Design of a Three-Axis Rotary Platform

ON THE RE-CONFIGURABILITY DESIGN OF PARALLEL MACHINE TOOLS

Drawing using the Scorbot-ER VII Manipulator Arm

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 3: Forward and Inverse Kinematics

Robot Manipulator Collision Handling in Unknown Environment without using External Sensors

Research Subject. Dynamics Computation and Behavior Capture of Human Figures (Nakamura Group)

AC : ADAPTIVE ROBOT MANIPULATORS IN GLOBAL TECHNOLOGY

PSO based Adaptive Force Controller for 6 DOF Robot Manipulators

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

TRAINING A ROBOTIC MANIPULATOR

Analysis of Six-legged Walking Robots

The Denavit Hartenberg Convention

Trajectory Tracking Control of A 2-DOF Robot Arm Using Neural Networks

PERFORMANCE IMPROVEMENT THROUGH SCALABLE DESIGN OF MUTLI-LINK 2-DOF AUTOMATED PEDESTRIAN CROWD CONTROL BARRIERS

15-780: Problem Set #4

AUTONOMOUS PLANETARY ROVER CONTROL USING INVERSE SIMULATION

1. Introduction 1 2. Mathematical Representation of Robots

10/25/2018. Robotics and automation. Dr. Ibrahim Al-Naimi. Chapter two. Introduction To Robot Manipulators

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

MODELLING AND CONTROL OF A DELTA ROBOT

Finding Reachable Workspace of a Robotic Manipulator by Edge Detection Algorithm

Supplementary Figure 1. Decoding results broken down for different ROIs

On-line Dynamic Model Learning for Manipulator Control

Parallel Robots. Mechanics and Control H AMID D. TAG HI RAD. CRC Press. Taylor & Francis Group. Taylor & Francis Croup, Boca Raton London NewYoric

[2] J. "Kinematics," in The International Encyclopedia of Robotics, R. Dorf and S. Nof, Editors, John C. Wiley and Sons, New York, 1988.

DYNAMICS OF SPACE ROBOTIC ARM DURING INTERACTIONS WITH NON COOPERATIVE OBJECTS

7-Degree-Of-Freedom (DOF) Cable-Driven Humanoid Robot Arm. A thesis presented to. the faculty of. In partial fulfillment

Control of a Robot Manipulator for Aerospace Applications

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions.

Dynamic Analysis of Manipulator Arm for 6-legged Robot

Industrial Robots : Manipulators, Kinematics, Dynamics

Prototyping a Three-link Robot Manipulator

ME 597/747 Autonomous Mobile Robots. Mid Term Exam. Duration: 2 hour Total Marks: 100

Calibration of Inertial Measurement Units Using Pendulum Motion

Whole-Arm Dexterous Manipulation In The Plane

Ch. 6: Trajectory Generation

ROBOTICS 9/2/2015. Last and First Name Matricola

Cross-validation. Cross-validation is a resampling method.

Quaternions & Rotation in 3D Space

Carnegie Mellon University

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial

CS283: Robotics Fall 2016: Robot Arms

Motion Analysis. Motion analysis. Now we will talk about. Differential Motion Analysis. Motion analysis. Difference Pictures

Video 11.1 Vijay Kumar. Property of University of Pennsylvania, Vijay Kumar

Table of Contents. Chapter 1. Modeling and Identification of Serial Robots... 1 Wisama KHALIL and Etienne DOMBRE

Redundancy Resolution by Minimization of Joint Disturbance Torque for Independent Joint Controlled Kinematically Redundant Manipulators

Prof. Mark Yim University of Pennsylvania

RESAMPLING METHODS. Chapter 05

Mechanisms. Updated: 18Apr16 v7

Freely Available for Academic Use!!! March 2012

Control of industrial robots. Kinematic redundancy

Articulated Robots! Robert Stengel! Robotics and Intelligent Systems! MAE 345, Princeton University, 2017

Simulation. x i. x i+1. degrees of freedom equations of motion. Newtonian laws gravity. ground contact forces

Lecture VI: Constraints and Controllers

FORCE CONTROL OF LINK SYSTEMS USING THE PARALLEL SOLUTION SCHEME

A popular method for moving beyond linearity. 2. Basis expansion and regularization 1. Examples of transformations. Piecewise-polynomials and splines

Learning to Track Motion

Lecture «Robot Dynamics»: Multi-body Kinematics

In Homework 1, you determined the inverse dynamics model of the spinbot robot to be

Robot mechanics and kinematics

Intermediate Desired Value Approach for Continuous Transition among Multiple Tasks of Robots

KINEMATIC AND DYNAMIC SIMULATION OF A 3DOF PARALLEL ROBOT

Chapter 1: Introduction

2. Motion Analysis - Sim-Mechanics

Lecture «Robot Dynamics»: Kinematics 3

Developing a Robot Model using System-Level Design

Transcription:

Automated Parameterization of the Joint Space Dynamics of a Robotic Arm Josh Petersen Introduction The goal of my project was to use machine learning to fully automate the parameterization of the joint space dynamics of a robotic arm. When given a set of joint angles, joint velocities, and motor torques, the program would determine the A, B, C and G matrices of the dynamics. A(q)[q ] + B(q)[q q ] + C(q)[q 2 ] + G(q) = τ This was accomplished in several parts. First, two methodologies were created which could automatically smooth noisy positions, velocities, and accelerations. Next, two methodologies for creating the feature vector for finding the matrices using least squares were developed. Lastly, a structure was setup to combine these elements into one streamlined process. Automated Position, Velocity, and Acceleration Smoothing The first goal was to automatically smooth the position, velocity, and acceleration profiles. If this program were to be used in practice on a real robotic arm, smoothing these profiles would allow for better results by reducing the effect of noise in the sensor data. Two methods were developed to accomplish this. First, weighted linear regression was used. To automatically choose τ such that high bias and high variance was avoided, leave one out cross validation was used. The optimal fit occurs when the training error is close to the test error where the test error is the defined to be the average of the squared differences between the left out data point and the test prediction at that point and the training error is the average of the squared differences between all the training data and the predicted points at those locations. min τ ε Test ε Train ε Test = y(i) (i) 2 m i=1 y p m ε Train = y (j) 2 m m,i j (j) i=1 j=1 y p (i) m(m 1) Next, n-th order polynomial fitting was tried using the same criteria. Fits between 0 order to 10 th order polynomials were tried and checked using LOOCV. min n ε Test ε Train

Above are the results for a set of data points generated from a third order polynomial with some noise added. Additional testing with varying noise revealed that the weighted linear regression was still susceptible to high variance in some cases as discussed in the project milestone. Also, weighted linear regression was much more time intensive than the n-th order polynomial fit in general since it required a larger number of τ to try to fit and computing the value at a particular point required calculations from each point in the data set. Generating Feature Vectors Next, two methods were developed to create feature vectors for performing least squares to find the components of the matrices. First, a function was created that would use the Denavit-Hartenberg Parameters, general center of mass directions for each joint and the direction of gravity to form the matrices in symbolic form and another function was created to turn these matrices into the feature vector. Second, a method was developed to generate a general feature vector for an n degree of freedom robotic arm. Several properties of the dynamic matrices were used as well as some simplifying assumptions.

The i-th row and column of the mass matrix, A(q), can not contain joint angles at or below the i-th joint angle. Additionally, the Coriolis and centripetal matrices, B(q) and C(q), are simply derivatives of particular components of the A(q) matrix. To simply the problem further, the auto-generated feature vectors would be restricted to arms consisting of revolute joints only. This restricted the A(q) matrix s components to be linear combinations of cosines of the joint angles. Additionally, a base frame in which the x-direction is perpendicular to gravity was assumed. This led to the G(q) matrix components being linear combinations of cosines of the joint angles. f(q 2,..., q n ) f(q 2,..., q n ) f(q 2,.., q n ) f(q 2,, q n ) f(q 2,..., q n ) f(q 3,, q n ) f(q 3,, q n ) f(q 3,..., q n ) A(q) = f(q 2,..., q n ) f(q 3,, q n ) f(q n ) f(q n ) f(q 2,..., q n ) f(q 3,..., q n ) f(q n ) C n f(q i,, q n ) = C + a 1 cos(q i ) + a 2 cos(q i + q i+1 ) + + a n i cos (q i + + q n ) 2b 1,12 2b 1,13 2b 1,1n 2b 1,23 2b 1,2n 2b 1,(n 1)1 B(q) = 2b 2,12 2b 2,13 2b 2,1n 2b 2,23 2b 2,2n 2b 2,(n 1)n 2b n,12 2b n,13 2b n,1n 2b n,23 2b n,2n 2b 2,(n 1)n b 1,11 b 1,22 b 1,nn C(q) = b 2,11 b 2,22 b 2,nn b n,11 b n,22 b n,nn b ijk = 1 2 m ij + m ik m jk q k q j q i g 11cos(q 1 ) + g 12 cos(q 1 + q 2 ) + + g 1n cos (q 1 + + q n ) G(q) = g 21 cos(q 1 + q 2 ) + + g 2(n 1) cos (q 1 + + q n ) g n1 cos (q 1 + + q n ) Code Structure A generalized code structure was then setup to allow any of these methodologies to be used in combination. The user can pass in the data and the options desired for smoothing and feature vector creation and the program returns the matrices found and plots of the smoothed velocity, the smoothed acceleration, and simulated motion from the resulting computed matrices.

One Degree of Freedom Results After the basic structure for the program was setup, a one degree of freedom robotic arm was simulated to test the effects of the differences between the two smoothing methods. Noise was added to the simulated position and velocity data and the feature vector in both cases was created using the specified DH parameters. Simulation Equations of Motion N-th Order Polynomial Fit Weighted Linear Regression

While both result it close approximations of the simulated equations of motion, the n-th order polynomial fit slightly out performs the weighted linear regression in this case. Weighted linear regression also took a much longer time than the n-th order polynomial fit. The test revealed another important aspect of finding the matrices. Initially, the simulated trajectory inputted into the program was a more ideal trajectory from a controls point of view, with no overshoot or oscillation. The calculated parameters were not as close to the actual values as in the above case. Further testing with higher degree of freedom systems and varying gains revealed that to get more accurate results from this methodology, the trajectory coming in must have all the modes activated. That is, more oscillation helped to get better parameter estimations. Two Degree of Freedom Results To test the auto-generated feature vector, a two degree of freedom, planar revolute joint arm was simulated. The following equations are the simulation equation of motion and the computed equation of motion respectively.

Other cases in which extra terms existed that were not in the simulated dynamic model performed well but not as well as this case. The extra terms tended to have very small coefficients that affected the resulting simulation to a greater degree than that above but still not large enough to cause significant deviation. Further Work One thing to notice is that the mass matrix is not symmetric in the two degree of freedom example. For simulation, the mass matrix was made symmetric using the worse estimate but further work could improve up the current process by ensuring the mass matrix is symmetric. Additionally, since the B(q) and C(q) matrices are derivatives of the A(q) matrix, a more accurate set of equations may be able to be found by try to learn just A(q) and then derivating to find B(q) and C(q). Further work could also be done to ensure that trajectories coming into the program activate all modes. Commanding oscillatory torques and recording the output to be put into the currently developed may lead to better matrix estimations and would lead to a more completely automated system.