Control of industrial robots. Kinematic redundancy

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

Automatic Control Industrial robotics

Lecture «Robot Dynamics»: Kinematic Control

CS545 Contents IX. Inverse Kinematics. Reading Assignment for Next Class. Analytical Methods Iterative (Differential) Methods

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

Introduction to Robotics

1724. Mobile manipulators collision-free trajectory planning with regard to end-effector vibrations elimination

A New Algorithm for Measuring and Optimizing the Manipulability Index

Written exams of Robotics 2

Robotics I. March 27, 2018

Written exams of Robotics 1

STABILITY OF NULL-SPACE CONTROL ALGORITHMS

Workspace Optimization for Autonomous Mobile Manipulation

Kinematic Model of Robot Manipulators

1498. End-effector vibrations reduction in trajectory tracking for mobile manipulator

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

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

Dipartimento di Elettronica Informazione e Bioingegneria Robotics

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

Lecture 18 Kinematic Chains

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T

Dipartimento di Ingegneria Aerospaziale Politecnico di Milano

Inverse Kinematics without matrix inversion

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

Smooth Transition Between Tasks on a Kinematic Control Level: Application to Self Collision Avoidance for Two Kuka LWR Robots

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

A New Algorithm for Measuring and Optimizing the Manipulability Index

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

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

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

A Detailed Look into Forward and Inverse Kinematics

Kinematic Control Algorithms for On-Line Obstacle Avoidance for Redundant Manipulators

Jacobian: Velocities and Static Forces 1/4

1. Introduction 1 2. Mathematical Representation of Robots

autorob.github.io Inverse Kinematics UM EECS 398/598 - autorob.github.io

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

Properties of Hyper-Redundant Manipulators

Planar Robot Kinematics

Dynamic Analysis of Manipulator Arm for 6-legged Robot

Inverse Kinematics of Robot Manipulators with Multiple Moving Control Points

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

CS283: Robotics Fall 2016: Robot Arms

Control of Industrial and Mobile Robots

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

Prof. Fanny Ficuciello Robotics for Bioengineering Trajectory planning

Lecture «Robot Dynamics»: Multi-body Kinematics

Lecture «Robot Dynamics»: Kinematics 3

Forward kinematics and Denavit Hartenburg convention

Jacobian: Velocities and Static Forces 1/4

Kinematics. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

PPGEE Robot Dynamics I

Lecture «Robot Dynamics»: Kinematics 3

Robot. A thesis presented to. the faculty of. In partial fulfillment. of the requirements for the degree. Master of Science. Zachary J.

Chapter 3: Kinematics Locomotion. Ross Hatton and Howie Choset

Singularity Handling on Puma in Operational Space Formulation

Kinematics Analysis of Free-Floating Redundant Space Manipulator based on Momentum Conservation. Germany, ,

Robotics kinematics and Dynamics

Finding Reachable Workspace of a Robotic Manipulator by Edge Detection Algorithm

On the use of functional redundancy in industrial robotic manipulators for optimal spray painting

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

Mobile Robotics. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

Mobile Manipulation A Mobile Platform Supporting a Manipulator System for an Autonomous Robot

Robotics Tasks. CS 188: Artificial Intelligence Spring Manipulator Robots. Mobile Robots. Degrees of Freedom. Sensors and Effectors

Inverse KKT Motion Optimization: A Newton Method to Efficiently Extract Task Spaces and Cost Parameters from Demonstrations

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 1: Introduction

Resolution of spherical parallel Manipulator (SPM) forward kinematic model (FKM) near the singularities

KINEMATICS FOR ANIMATION. Rémi Ronfard, Animation, M2R MOSIG

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

A Comparative Study of Prediction of Inverse Kinematics Solution of 2-DOF, 3-DOF and 5-DOF Redundant Manipulators by ANFIS

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

EEE 187: Robotics Summary 2

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

Kinematic Modeling and Control Algorithm for Non-holonomic Mobile Manipulator and Testing on WMRA system.

Inverse Kinematics Based on Fuzzy Logic and Neural Networks for the WAM-Titan II Teleoperation System

2. REVIEW OF LITERATURE

Motion Control (wheeled robots)

Constraint-Based Task Programming with CAD Semantics: From Intuitive Specification to Real-Time Control

Session #5 2D Mechanisms: Mobility, Kinematic Analysis & Synthesis

Table of Contents Introduction Historical Review of Robotic Orienting Devices Kinematic Position Analysis Instantaneous Kinematic Analysis

Computer Animation. Rick Parent

3/12/2009 Advanced Topics in Robotics and Mechanism Synthesis Term Projects

-SOLUTION- ME / ECE 739: Advanced Robotics Homework #2

IN-SITU CALIBRATION OF A REDUNDANT MEASUREMENT SYSTEM FOR MANIPULATOR POSITIONING

Stability Analysis for Prioritized Closed-Loop Inverse Kinematic Algorithms for Redundant Robotic Systems

Robot mechanics and kinematics

KINEMATIC AND DYNAMIC SIMULATION OF A 3DOF PARALLEL ROBOT

The University of Missouri - Columbia Electrical & Computer Engineering Department EE4330 Robotic Control and Intelligence

Inverse Kinematics of 6 DOF Serial Manipulator. Robotics. Inverse Kinematics of 6 DOF Serial Manipulator

Chapter 2 Intelligent Behaviour Modelling and Control for Mobile Manipulators

Centre for Autonomous Systems

ANALYTICAL MODEL OF THE CUTTING PROCESS WITH SCISSORS-ROBOT FOR HAPTIC SIMULATION

Robot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering

4 Kinematic Linkages. Chapter 4. Kinematic Linkages. Department of Computer Science and Engineering 4-1

ÉCOLE POLYTECHNIQUE DE MONTRÉAL

Spacecraft Actuation Using CMGs and VSCMGs

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

SCREW-BASED RELATIVE JACOBIAN FOR MANIPULATORS COOPERATING IN A TASK

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

Inverse Kinematics (IK)

Transcription:

Control of industrial robots Kinematic redundancy Prof. Paolo Rocco (paolo.rocco@polimi.it) Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria

Kinematic redundancy Direct kinematics of the manipulator: r = f n ( q) R R m Joint space Task space A robot is kinematically redundant if: n > m i.e. if it has more degrees of freedom than those strictly necessary to perform a task. Redundancy is a relative concept: the number of task variables may be less than the dimension of the operational space. A 3 d.o.f. planar manipulator is functionally redundant if the task is specified with respect to the end-effector position only.

Why kinematic redundancy? Kinematic redundancy can be exploited to: increase dexterity and manipulability avoid obstacles avoid kinematic singularities minimize energy consumption increase safety.

Redundancy of the human arm The human arm is a 7 d.o.f. system (if we do not consider the degrees of freedom of the fingers). It is thus kinematically redundant. If we fully constrain the hand (both in terms of position and orientation), there is still one degree of freedom available (elbow or swivel angle).

Some redundant robots KUKA LBR iiwa

Some redundant robots ABB YuMi

Some redundant robots Yaskawa Motoman

Some redundant robots Universal Robots

Some redundant robots Rethink Robotics: BAXTER

Some redundant robots DLR JUSTIN

Inverse kinematics problem The inverse kinematics problem is to find: q ( t ): f ( q( t )) = r ( t ), t When the robot is redundant: infinite solutions exist the robot has self-motions, i.e. internal motions in the joint space which do not affect the task variables How to select a solution of the inverse kinematics problem?

Inverse kinematics problem The problem is usually addressed at velocity level. Given the differential kinematics equation: r = J( q)q where: J ( q) = f q is the (task) Jacobian, we want to solve the equation for q Not trivial! because the Jacobian is a lower rectangular matrix m { { n

Null space Consider again the differential kinematics equation: r = J( q)q For a given configuration q the equation establishes a linear mapping from the space of joint velocities to the space of task velocities. This mapping can be characterized in terms of range and null spaces: N(J).. q r R(J) O ( ( )) = m dim R J dim N ( ( J )) = n m if the Jacobian is full rank: rank(j) = m The null space exists only if the robot is redundant (n > m). It is the space of joint velocities that do not produce task velocities.

Null space motions Consider now a matrix P such that:. and let q * be a solution of: r = Then: ( P ) N ( J ) R = J( q)q q = q * + Pq 0. where q 0 is an arbitrary vector, is also a solution. Easy to prove! Jq Jq * + JPq = Jq = = * r 0 P is a projection matrix: it projects any joint velocity into the null space of the Jacobian

Null space motions q = q * + Pq 0. The effect of q 0 is to generate internal motions of the manipulator, so called null space motions, which do not change the end effector position and orientation. Three questions arise:. How to generate a particular solution q *? How to assign an expression to the projection matrix P? How to generate the null space motions?

Finding a particular solution The problem to find a particular solution can be set as the optimization of a cost function in the joint velocities, subject to the constraint given by the differential kinematics equations. Find: q = q * + Pq 0 q such that g( q ) is minimized and: for a given r. r = J( q)q

Pseudo inverse We can take the following cost function: g 1 T = q q = 2 ( q) 1 2 q 2 The problem is solved with the method of the Lagrange multipliers, introducing the modified cost function: g 1 2 ( q ) q T q T, λ = + λ ( r Jq ) The solution has to satisfy the necessary conditions: g q g λ T T = 0 = 0 q T J λ r Jq = 0 = 0 m m matrix of rank m if J is full rank r = JJ T λ ( ) T 1 λ = JJ r

Pseudo inverse The solution of the optimization problem is thus: q J T 1 ( JJ ) r = J r T # = Matrix: J ( ) 1 # T JJ T = J is called right (Moore Penrose) pseudo inverse of the Jacobian matrix J, since JJ # = I. J # always exists. if the Jacobian is not full rank, J # can be computed numerically using Singular Value Decomposition (SVD) of matrix J (instruction pinv in Matlab) In this case J # is defined as the only matrix such that: JJ # J = J J # JJ # = J # # T # # T # ( JJ ) = JJ ( J J ) = J J

Weighted pseudo inverse If we take the alternative cost function: g # = Jw q ( q ) = q T Wq where W is a n n symmetric positive definite matrix, we obtain the following solution: 1 2 r Matrix: J 1 T ( JW J ) 1 # 1 T w = W J is called weighted pseudo inverse of the Jacobian matrix J. If W is diagonal it can be used to relatively weigh the joint velocities (a large W i corresponds to small q. i ). The Moore-Penrose pseudo-inverse corresponds to the special case W = I.

Null space methods q = q * + Pq 0 How to specify the projection matrix? Consider the following cost function: g 1 2 T ( q ) = ( q q ) ( q q ) Using again the method of the Lagrange multipliers, we can obtain: 0 0. q 0 is a sort of privileged solution q # = J r + n # ( I J J ) q 0 I n particular solution J # J is a projection. matrix: it projects the velocities q 0 into the null space of the Jacobian homogeneous solution: self-motions of the manipulator

Null space methods. How to specify vector q 0? q # = J r + n # ( I J J ) q 0 One possible choice is the projected gradient method: q 0 = k q U( q) T where U(q) is a differentiable objective function and k >0. We try to locally maximize U(q) while executing the time varying task r(t).. Notice that we will project the velocity q 0 that locally maximizes the task in the null-space of the main task: the main task will not be disturbed

Possible objective functions Manipulability measure (maximizes the distance from singularities): U ( ) T ( q) = det J( q) J ( q) Distance from joint limits: ( ) U q = n 1 q 2 n q i = 1 i im q q i im 2 Distance from the closest obstacle: U generic point on the robot (direct kinematics) ( q) min p( q) o = p, o potential differentiability issues (min-max problem) obstacle

Cyclicity One potential problem in the use of redundant robots is that the motion can be unpredictable: A closed trajectory in the task space can be mapped into an open trajectory in joint space Any trajectory from the same initial and final task positions may end with different joint configurations Methods that avoid these problems are called repeatable or cyclic repeatable non repeatable

Cyclicity Non repeatability of kinematic inversion methods is a source of problems: the task trajectory is usually cyclic: a repeatable joint motion is more predictable and simplifies the programming with a repeatable method many characteristics of the motion (joint and velocity limits, singularities) can be verified by simulating only the first cycle The repeatability of the method has connections with the concept of holonomy of constraints in differential geometry and analytical mechanics. Basically, in order to be repeatable, the method must enforce a holonomic constraint among the joint variables.

Extended Jacobian A way to solve the kinematic inversion problem is to add an auxiliary task: r y ( q) = f main task, r R m = h( q) auxiliary task, y R n-m The differential kinematics for the augmented task is: r r y ( q) J h q q A = = = J A ( q)q where the augmented Jacobian J A has been used. A solution of the inverse kinematics is thus: 1 = J A q ( q) r A

Extended Jacobian If the auxiliary task variables y are constant, the method is: q = ( q) J h q 1 r 0 and enforces the holonomic constraint: h( q) = const Therefore the extended Jacobian is a repeatable method. the holonomic constraints can be selected as the conditions for constrained optimality of a given objective function the inversion of the augmented Jacobian may introduce new singularities (algorithmic singularities)

Solutions at the acceleration level So far we have addressed the inverse kinematic problem at velocity level. The same problem can also be addressed at acceleration level. Given the differential kinematics equation: r = J( q)q we also have: r = J q q + J q Then: J ( ) ( )q ( q) q = r J ( q) q = x to be determined given (at time t) known (at time t) For example, with null-space methods: minimum-norm solution q = J ( ) q 0 ( q) x # + I J ( q) J( q) # projected gradient

Kinematic control In order to recover errors with respect to an assigned task r d due to initial mismatches, drifts, inaccuracies of the solution, etc., a closed loop system has to be used. feedback At velocity level: q where: r = f ( q) ( ) q 0 # ( q) [ r + K( r r )] + I J ( q) J( q) # = J d d n. r d. q 0 I n J # (q)j(q) r + K + + d J # (q) + + q. q Similarly for the solution at acceleration level. r f(q)

Human-like redundancy resolution

Human-like redundancy resolution