Independent joint control and trajectory planning

The work provides a general analysis of the PUMA Robotic arm and their solution methodology. There is also a description of the Graphical User Interface (GUI) used, its functions and the code developed to further enhance its capabilities and functions. This project gives a full provision of the general modification of the 3-DOF Robotic arm with its solution and methodologies used. Also, there is an additional description of the graphical user interface applied and the code is implemented further so as to enhance its functions and capabilities. However, some of the changes made over the code functions so as give a more precise and complete solution through which methodologies such as inverse and forward kinematics have been applied. The graphical interface also has been implemented with new features such as radio buttons parameters. The 3-DOF Robotic arm has been transformed with a transformation matrix and the D-H parameters through the use of inverse kinematics so as to achieve the main objective of this project.
The main objective of this project experiment will be to have the capability to
• Solve the inverse kinematics problem to making the robotic arm to work perfectly.
• The application of additional parameters such as D-H will give a proper distance and positioning of the project.
• Tt is important to for the 3-DOF Robotic arm to display the final 06T transform matrix for the full implementation.
The PUMA 3-DOF Manipulator
The PUMA Robotic Manipulator is one of the most widely spread robots, used in production lines, mainly in automatic welding applications, but also in many university laboratories around the world.
The manipulator simulates the human arm, imitating the left or right side of the human body (torso, shoulder, elbow, and wrist) according to its setup. Originally developed for General Motors, it was based on drawings by Scheinman, while at the University.
The six joints of the robot are revolute with their limitations are illustrated in Figure below. The joints are properly positioned to give the arm six degrees of freedom. His workplace is roughly made up of a sphere with a radius of 1.25 meters

Robot Kinematics
The problem of kinematic in robotics can be sub-divided into 2 different problems namely: Inverse kinematic and the Forward kinematic problem. In deep definition of the Forward Kinematic Problem can be described as per variables such as displacement and angle of the joints. Furthermore, we will be able to calculate the direction and positions of frame end effector that is relative to the base line.
Nevertheless, inverse kinematics can be described as the direction and position of the 3-DOF robots end effector where we will calculate and determine all the possible displacement and angles variables of the joints within which the end-effector will be able to reach a given position. The following diagram demonstrates illustrates the two Kinematic problems.
One of the methods used in solving the kinematic problems is the D-H parameter method which makes use of homogeneous four by four orthogonal transformations. Certainly, for the D-H method the axis is attached at every joint (i) and Z-axis pointing to the rotation axis so as to revolute the axis of translation or the axis for prismatic joints. The point xi is positioned along the along zi and zi-1 which are common and normal hence they are perpendicular to it. However, the axis yi is positioned and located well so as to satisfy the right hand rule as per the Puma robotic arm. Denavit & Hartenberg have been able to demonstrate its only four parameters that are required so as to find the robotic arm displacement. The following are the four parameters that have been used on the 3-DOF Robotic arm;
• αi is the angle from the zi-1 axis to the zi axis about the xi axis
• θi is the joint angle from the xi-1 axis to the xi about the zi-1 axis (using the right-hand rule)
• ai is the distance from the intersection of the zi-1 axis with the xi axis to the origin of the ith frame along the xi axis.
• di is the distance from the origin of the (i−1)th coordinate frame to the intersection of the zi-1 axis with the xi-1 axis along the zi-1 axis.
Solving the Forward Kinematics Problem
In order to solve the direct kinematic equations on this experiment we use the D-H method whereby we have to fix the axes on the joints of the robotic arm by ensuring that all the aforementioned rules are observed keenly. The figure below depicts how the axes look like in the robotic arm with all of the joints.

The position of the End-effector
(x, y, z)T
The angles αi of the actuated joints have been selected as state-variables to describe the robot dynamic:
q = (α1, α2, α3)T

Equation of the sphere centered in P:

Hence we obtain the control equation

Which gives the point trajectory

Control equation:
τCT = M(q)q¨d + C(q,q˙)q˙ + G(q) + Kpe + Kv e˙
KP = 500, KD = 100

To find that Ci coordinates are given by the intersection of three circles of radius LA belonging to the plane πi and the sphere centred in P having radius LB . Those conditions give a three equations system that can be solved to find the coordinates of the end-effector.
The next phase of the calculation need the creation of the homogeneous individual transformations. However, the transformation matrices are given by the following equation.

Where Dx and Q denote the translation along the x and z axes respectively and Rx, and Rz denote the rotation around the x and z axes respectively. After the whole calculation the following operation for the matrix follows.

Having been able to calculate the matrices of:

Then we can be able to find the direction and the position of any joint of the robotic arm which is more relative to the reference frame which is on the robots base, but can also be done multiplying any other frame with matrices from the reference frame to the requested link. Therefore, the position of end effector of the robotic arm is relative to the given reference frame which is given by the table:

Hence we obtain the final solution given table two.
In table T which is shown in figure 6 whereby we have the elements of the last column p which demonstrates the Cartesian positions of end effector which is relative to the basic coordinate frame. Nevertheless, the elements of columns 3 and 1, n and a give the normalized form of orientation vectors. While, the product seen in 2nd column are the element of the normalized orientation vectors n and a hence comprises of no further information.
Solving the Inverse Kinematics Problem
Just as the forward kinematic problem has a unique solving and solution, the inverse kinematic method has a more difficult way and may have more than solution. However, it is for this reason that it is the non-linearity of the problem or methodology. A requirement for solution of inverse kinematic is only for the desired position and location which has to be in the MATLAB workspace.
The inverse kinematics methodology problem can be solved using two methods namely: analytical and numerical through which they are sub divided into other two approaches namely: algebraic and geometric. In this case and this project we used the geometric approach to solve the problem. We arrived at this decision since this approach gives a clear indication of the optimal solution for every layout of the 3-DOF robot as compared to the algebraic approach that mostly requires more experience by the operator and more calculations have to be done. Consequentially, the closed form solution gives us a room to develop rules for selecting a particular solution from the many.
Kinematic Decoupling
It is important to note that the solving process of Inverse Problem can be sub divided or rather simplified for robot arm with six degrees of freedom, with the last three links intersecting at the same position or point. As for these case it is easy to make use of kinematic decoupling which by dividing the original problem in to 2 simpler problems. The sub division of these 2 problems can be described as Inverse orientation kinematic and inverse position kinematic. The first one calculates the orientation of the wrist whole the second calculates the intersection of the wrist axes. The separation of the intersection is able to simplify the calculations. One of the basic prerequisites of the application of the kinematic decoupling method is wrist of the robotic arm that is spherical, hence only three of the axes can be able to interact at the same point. Nevertheless, arrangement of wrist which is inform of a sphere comprises of z3, z4, z5 intersect at a common point as demonstrated in the figure below.

The 3-DOF Puma robotic arm has only possible solutions for the first 3 joints where each of four has two possible solutions for the last 3 links as shown in figures below. However, so as to be able to select the appropriate solutions it is important to introduce the some indicators depending on the robotic arm setup, through which they are translated with signs with positive and negative for the equations. Nevertheless, some of the indicators are obtained according to the arrangement of the members hands of the normal human body where we have the position of the shoulder, wrist as seen below.
   d δT δT δV
− + = Qi (7)
dt δqi δqi δqi
Where T is the kinetic energy, V is the potential energy, Qi is the i-th generalized force and qi id the i-th generalized coordinate. As generalized force we consider two torques acting on the plate (Qα = τα,Qβ = τβ). As generalized coordinates we select two ball position coordinates [x,y] on the frame fixed to the plate and two plate inclination [α,β].
Kinetic energy of the arm:
Tb (8)
Kinetic energy of the plate:
Tp (9)
Potential energy:
V = mgh = mg(x sinα + y sinβ) (10)
After some derivations we find the following non-linear system of equations:
mg sinα = 0
mg sinβ = 0 (11)
Ip mgx cosα = τα
Ip mgy cosβ = τβ

Hence we present the above in form of a matrix as shown below

MATLAB/Simulink programs used in the project
All the Matlab scripts have been provided in the Appendix

The table of Inverse Kinematics table was added to the Matlab interface so that any user can be able to enter any position he wants to with any value desired for the position. Also, it is important to input all the 9 variables namely: (Px, Py, Pz, r11, r21, r31, r13, r23, r33) that are required to determine the final position of the endpoint which is in the inverse kinematic table. The required input can be done in 2 different ways; one by changing the slider bar and by entering the value corresponding to the field as in the forward kinematic table. Also, to the right and left of every slider bar are the maximum and minimum values that every variable is able to receive and each entered input can be controlled through the check_edit function. The diagram below demonstrates the 3-DOF PUMA Robotic arm with radio buttons, input fields through which the user can be able to select the solution for the problem they want. Precisely, the 1st radio button provides and option of referring the solution to which the elbow is up and down in the final robot arm arrangement where the elbow is the main device. While the 2nd radio button gives the choice of the rotating and not the end element.


In addition, there is parameter opportunity at which the transformation matrix can be displayed on the workspace. Although, their main function is to give education notch and give a better compliment to the GUI environment.
It is important however, to note that parameter table is able to display each of the links in the table. As demonstrated in the transformation matrix table the values can all seen for the 6 transformations. Most the time the values are used so as to correlate and verify the solutions of the two methods of kinematic.
In conclusion, in the whole project we have managed to develop the 3-DOF robotic arm simulation which allows the user to determine the inverse kinematic and forward kinematic methods for one of the most used robotic arms. Using the code given we taken a step further to give and pave way for future improvements of the code and the project as whole.
Craig, J. J. (2005). Introduction to Robotics.
Cubero, S. (2007). Industrial Robotics: Theory. Modelling and Control Germany: pro literatur Verlag.
Dolinsky, J. U. (2001). The development of a genetic programming method for kinematic robot calibration (Doctoral dissertation, Liverpool John Moores University).
Wang, J., Hu, Q., & Jiang, D. (1999). A Lagrangian network for kinematic control of redundant robot manipulators. IEEE Transactions on Neural Networks, 10(5), 1123-1132.
CS, G. L., & Ziegler, M. (1983). A geometric approach in solving the inverse kinematics of PUMA robot. Department of electrical and computer engineering-The university of Michigan.

Leave a Comment

Your email address will not be published. Required fields are marked *