Linear Algebra and Robotics Module


 

Introduction  

The purpose of this project is to provide engineering, technology, and mathematics students with insightful understanding of the subject matter and promote student based learning style with less dependent on lectures.
Before starting with the model development we will give you some definitions that can be useful to understand the purposes of our project. Please note that vector quantities are written in bold (like A ) to distinguish them from the scalar quantities (A ).

 

The dot product  (or scalar product) of two vectors A  and B  is defined as ABcosq  , where  A  and B  are the magnitudes of the vectors A  and B,  and q is the angle between them.

Dot product   AB


ABcosq
=A
´ projection of B  to A
=B
´ projection of A  to B
 
(In either case, the result is a scalar quantity.)

 

The cross product  (or vector product) of  A  and B  is written A´B  and is defined as a vector having magnitude ABsinq , where q is the angle between the two given vectors. The product vector acts in a direction perpendicular to A  and B  in such a sense that  A, B  and (A´B) in that order, form a right-handed set.

Cross product  

|A´B | = ABsinq

Note that B ´A  reverses the direction of rotation and the product vector would now act downward, i.e. (B ´A ) = -(A ´B ).

 

The equation of the plane  is a linear equation that defines a unique plane in the 3-D space. The equation is written using the following form: ax + by + cz = d  where a , b , c  and d  are the coefficients of the plane.

The intersection between three planes results in a point in the space and is evaluated using a system of the three linear equations as follows:

a1  x +

a2  x +

a3  x +
 

b1  y +

b2  y +

b3  y +
 

c1  z =

c2  z =

c3  z =
 

d1

d2

d3
 

From this intersection you can evaluate x , y  and z  of the point of intersection.

 

Abstract  

Industrial robots are cost effective, facilitate and expedite many manufacturing and maintenance processes, reduce tedious manual tasks, and enhance quality of various engineering applications. However, due to number of sources of error in the design, manufacturing, and assembly of robotic systems, they experience a lack of accuracy in the positioning of their end effectors. Robot's pose calibration is a process by which robot accuracy can be improved by modifying the robot positioning software rather than changing the design of the robot hardware or its control system.
This calibration method is based on a 3D fixture and calibration bar technique. A mathematical algorithm is developed to evaluate the spatial direction and magnitude of the vector presenting the axis of the calibration bar. A computer program was also developed to compute the error vector in the manipulator's Tool Center Point (TCP) location and the orientation of the robot's end effector.

 

Precision of a robot  

Most robotic applications require robots to perform a task, then return, with high accuracy, back to their starting point for the next cycle. There are many sources of errors in the robotics systems; the most common ones are:

This ability of the robot to return to the same start position is called repeatability . Following is a description of an inexpensive method to mathematically measure the repeatability.

 

Experimental Set Up  

The experimental set up consists of a 3D fixture with three perpendicular sides denoted by ZX, ZY, XY planes. Three digital indicators with 0.0001" resolution and one inch range each were mounted on each side of the fixture through three different holes and were zeroed off at the inner surface plane of the fixture. A highly finished acrylic calibration bar with a square cross-section was mounted on the manipulator and securely held by the gripper of the robot , such that, the TCP of the robot coincided with the center of the squared ended calibration bar. The calibration bar was carried and moved by the robot such that the other end of the bar was located between the nine indicators and causing each indicator to be depressed about 0.5". At this location the robot arm position is recorded and replayed from different locations in the space within the work envelope of the robot. All the indicator readings are then recorded in relation to the origin point of the 3D fixture. Click on the image to see an animation of the robot's movement.

 

Mathematical Modelling and Formulation  

Vector representationA mathematical model was formulated to yield both the displacement and the orientation error vectors from two sets of indicator readings. Each set contains nine indicator readings and eighteen coordinate values to locate each indicator with respect to the fixture origin. The first set of readings is collected when the robot is initially located the end of the calibration bar between the indicators in the fixture. The second set is collected after the robot moves the bar away from the fixture and is commanded to return to that previously recorded point. The model development starts by evaluating the perpendicular vector for each of the fixture's three main planes ZX , ZY  and XY . The figure shows the relative positioning of the digital indicators for a plane and the two vectors V1   and V2  residing in that plane as follows:

V1  = [ (x2-x1 ), (y2-y1 ), (z2-z1 ) ]
V2  = [ (x3-x1 ), (y3-y1 ), (z3-z3 ) ]

The cross product of the above two vectors will generate a perpendicular vector to the plane of the calibration bar and is presented in the following matrix:

i  j  k 
(x2-x1 ) (y2-y1 ) (z2-z1 )
(x3-x1 ) (y3-y1 ) (z3-z1 )

The expansion of the above matrix is given in the following:

V1 ´V2  = i [(y2-y1 )(z3-z1 ) - (y3-y1 )(z2-z1 )] + j [(x3-x1 )(z2-z1 ) - (x2-x1 )(z3-z1 )] + k [(x2-x1 )(y3-y1 ) - (x3-x1 )(y2-y1 )]

Therefore the equation of the plane p  containing the two originary vectors has the a , b  and c  values equivalent to the coefficients of i , j  and k  in the perpendicular vector's equation respectively:

[(y2-y1 )(z3-z1 ) - (y3-y1 )(z2-z1 )] x p  + [(x3-x1 )(z2-z1 ) - (x2-x1 )(z3-z1 )] y p  + [(x2-x1 )(y3-y1 ) - (x3-x1 )(y2-y1 )] z p d 

To obtain the d  coefficient in the equation, simply substitute any of the three points in the space, in the equation of the plane and solve it. Using this method you can evaluate all the relative positions of the three planes of the calibration bar from the fixture origin. Click here to see a wireframe representation of this concept applied to the calibration bar.

 

Evaluation of the TCP location and the end link orientation  

To obtain the two TCPs you have to shift the two lateral planes (A and C) inside the bar aby half its dimension. Also, TCP(1) is found intersecting the shifted planes with the front plane (B) of the calibration bar, while TCP(2) is found using the intersection between the above two planes and the rear one, which is the front plane shifted back by the length of the plane. Basically, to shift a plane along its perpendicular axis you have to change only the d  coefficient.
To find the d S  of the shifted lateral planes you have to evaluate the following equation:

d S   = d  + h/2  * Ö (a ²  + b ²  + )

where a , b , c  and d  are the original coefficients of the plane and h  is the dimension of the calibration bar. Using this method you can evaluate all the planes needed to find the axis where the two TCPs lay.

In order to find the exact position of the two TCPs you have to intersect the axis found above with the front and rear planes of the calibration bar, thus solving the following systems:

a A  x + b A   y + c A   z = d AS  
a B  x + b B   y + c B  z = d B  
a C  x + b C   y + c C  z = d CS  
  for TCP(1)

 

a A   x + b A  y + c A   z = d AS  
a B  x + b B  y + c B   z = d BS 
a C  x + b C  y + c C   z = d CS  
  for TCP(2)

The solution of these three planes will provide the exact location of TCP(1) and TCP(2), and provide the x, y and z values for their coordinates. Utilizing Cramer's rule and the use of determinants to calculate the X, Y and Z coordinate values for TCP(1) is as follows:

  

For the X value, solve this equation: 

|dAS   bA   cA|
|dBS   bB   cB|
|dCS   bC   cC|

|dA   bA   cA|
|dB   bB   cB|
|dC   bC   cC|

  

  

For the Y value, solve this equation: 

|dA   bAS   cA|
|dB   bBS   cB|
|dC   bCS   cC|

|dA   bA   cA|
|dB   bB   cB|
|dC   bC   cC|

  

  

For the Z value, solve this equation: 

|dA   bA   cAS|
|dB   bB   cBS|
|dC   bC   cCS|

|dA   bA   cA|
|dB   bB   cB|
|dC   bC   cC|

  

  

Conclusions  

  1. The 3D fixture and the calibration bar technique is a simple and inexpensive method that cam be used for accurate pose calibration of robots in both industrial and laboratory environments.
  2. The mathematical algorithm is easy to use, accurate and self checking and provides great sense of confidence to the user.
  3. The current technique can be used for routine checking of robots accuracy and repeatability as well as for predictive maintenance scheduling and planning scheme.