Matlab tool box for determining the workspace of Mitsubishi Robot RV-M1

Master's Thesis 2002 132 Pages

Engineering - Mechanical Engineering




List of figures

List of tables


1.1 Introduction
1.2 Literature Survey
1.3 Objective of the thesis
1.4 Organization of the thesis

2.1 Introduction
2.2 Robot Kinematics
2.2.1 Matrix Representations
2.2.2 Representations of Transformations
2.2.3 Links, Joints, and their Parameters
2.3 Finding Wrist Accessible Position Vector
2.4 Jacobian of the Wrist Accessible Output Set
2.4.1. Rank-Deficiency Singularity Set
2.4.2. Rank-Deficiency of Reduced-Order Accessible Set
2.5 Constraint Singularity Set
2.6 Total Singularities Set
2.7 Workspace Boundary

3.1 Introduction
3.2 Robot RV-M1 Mitsubishi
3.3 D-H Notations for RV-M
3.4 Wrist Point Vector of RV-M
3.5 Jacobian of Wrist Point Vector
3.6 Ranks-Deficiency Singularity Set of RV-M
3.7 Singularity Set of Reduced Order Rank-Deficient Jacobian of Rv-M
3.7.1. Singularities by Fixing First Link
3.7.2. Singularities by Fixing Second Link
3.7.3. Singularities by Fixing Third Link
3.7.4. Singularities by Fixing Fourth Link
3.8 RV-M1 Constraint Singularity Set

4.1 Introduction
4.2 Matlab Language
4.2.1. Features of Matlab
4.2.2. The Matlab System
4.2.3. High Level Graphics
4.3 Programming for Surface Plots
4.4 Developing the Workspace of RV-M

5.1 Results and Discussion
5.2 Robot Machine Integration
5.3 Loading and Unloading Application

6.1 Conclusions
6.2 Future Scope


A.1 Matlab Code for position vector of RV-M1
A.2 Matlab Code for Sub-Jacobian of wrist accessible output set
A.3 Matlab Code for full view of Workspace
A.4 Matlab Code for RV-M1 Model
A.5 Matlab Code for Machine Outline Figure


The workspace of RV-M1 Mitsubishi Robot is determined by an analytical method. The method is applicable to kinematic chains that can be modeled using the Denavit-Hartenberg representation for serial kinematic chains. This method is based upon analytical criteria for determining singular behavior of the mechanism. By manipulating the Jacobian of the robot by the row rank deficiency condition, the singularities are computed. Then these singularities are substituted into the constraint equations to parameterize singular surfaces. The boundary conditions of the joints are substituted to obtain the other set of singularities. These singularities are substituted in the wrist vector to obtain the range of motion of the robot wrist in three dimensional space, which is the workspace of the Mitsubishi Robot RV-M1. These singularities are plotted in Matlab to develop all the surfaces enveloping the workspace of the Robot. The toolbox developed also shows three dimensional view of the workspace, front view, and top view of the workspace. The utility of the workspace development is shown through a case study, in which, Robot wrist range is determined at different heights of Machine bed, for integration of Robot RV-M1 and VMC Machine. A loading and unloading application of the VMC Machine by the Robot can be planned using this data. This application is simulated using the developed toolbox.

Figure No. Figure

1.1 The work area of three-link robot

1.2 Workspace of cylindrical robot

2.1 Revolute and Prismatic Joints

2.2 The direct and inverse kinematics relationship

2.3 Vector in space

2.4 Fixed reference frame

2.5 Joint-link pair representation

2.6 Link coordinate system and its Parameters

2.7 Establishing coordinate system and four D-H parameters

2.8 Representation of a Point

3.1 Mitsubishi RV-M1 Robot joints and dimensions

3.2 D-H notations for RV-M1

4.1 Plot at (q3=0, q4=0)

4.2 Singularity plot at (q=-150, q4=0)

4.3 Singularity plot at (q1=150, q4=0)

4.4 Singularity plot at (q2=-30, q4=0)

4.5 Singularity plot at (q2=100, q4=0)

4.6 Singularity plot at (q3=-110, q4=0)

4.7 Singularity plot at (q3=0, q4=0)

4.8 Singularity plot at (q3=-110, q2=-90)

4.9 Singularity plot at (q4=-90, q3=0)

4.10 Singularity plot at (q4=90, q3=0)

4.11 Constraint singularity set 1 plot

4.12 Constraint singularity set 2 plot

4.13 Constraint singularity set 3 plot

4.14 Constraint singularity set 4 plot

4.15 Constraint singularity set 5 plot

4.16 Constraint singularity set 6 plot

4.17 Three dimensional view of workspace

5.1 Three dimensional view of workspace

5.2 Cross-sectional view of workspace

5.3 Plan of workspace

5.4 Elevation of workspace

5.5 Robot and Workspace

5.6 Robot Wrist Range

5.7 Graph between Range and Height

5.8 Robot and VMC Machine Integration

5.9 Robot Picking the workpiece

5.10 Robot arm in second configuration with workpiece

5.11 Robot arm in third configuration with workpiece

5.12 Robot arm placing the workpiece


Table3.1 D-H parameters for RV-M1

Table 5.1 Machine bed height and Robot wrist range


illustration not visible in this excerpt



An industrial robot is a general purpose programmable machine which possesses certain anthropomorphic characteristics for which the robot can be programmed to move its arm through a sequence of motions with in its workspace in order to perform some useful, complicated and precision tasks. Here, the geometric workspace is an important characteristic of a robotic manipulator since a small workspace can limit the possible applications of a given manipulator architecture.

For many robots, the size and shape of the reachable workspace of the end effector is not always readily apparent. These workspaces often occupy a space that is irregularly shaped, and it can be difficult for one to imagine these shapes. Often, a robot has constraints placed on the rotation or displacement of its joints, which further complicates the visualization of its workspace. The ability to see how link lengths and joint limits affect a robot’s workspace does not come easy, especially to persons unfamiliar with the subject of robotics. When designing or choosing a robot for a particular task, considerations must be made with regard to what points the robot must reach in order to complete the task. Hence the determination of extreme positions of the end-effector of a manipulator and the evaluation of the workspace is of great importance.

Robot RV-M1 Mitsubishi is installed in Production Engineering Department, Punjab Engineering College. A three dimensional view of its workspace needs to be developed. Such a visualization of workspace would help in designing various tasks e.g. loading and unloading of VMC Machine.


In order to study the workspace of a robot, the structure of the robot can be considered as consisting of the arm and the hand. The arm is the large

regional structure for global positioning of the hand, which is the small orientation structure for orienting the tool. The primary workspace of such a robot with a large regional structure and a small orientation structure is determined by the arm. The hand generates the secondary workspace of a robot.

In performing tasks, a manipulator has to reach a number of work pieces or fixtures. Workspace is a volume of space which the end-effector of the manipulator can reach. Workspace is also called work volume or work envelope.

The size and shape of the workspace depends on the coordinate geometry of the robot arm, and also on the number of degrees of freedom. Some workspaces are quite flat, confined almost entirely to one horizontal plane. Others are cylindrical; still others are spherical. Some workspaces have very complicated shapes.

When choosing a robot arm for a certain industrial purpose, it is important that the workspace be large enough to encompass all the points that the robot arm will need to reach. But it's wasteful to use a robot arm with a workspace much bigger than necessary.

The workspace of a robot is an important criterion in evaluating manipulator geometries. Manipulator workspace may be described in terms of the dexterous workspace and the accessible workspace. Dexterous workspace is the volume of space which the robot can reach with all orientations. That is, at each point in the dexterous workspace, the end-effector can be arbitrarily oriented.

The accessible workspace is the volume of space which the robot can reach in at least one orientation. In the dexterous workspace the robot has complete manipulative capability.

However, in the accessible workspace, the manipulator's operational capacity is limited because the terminal device can only be placed in a restricted range of orientations.

In other words, the dexterous workspace is a subset of the accessible workspace. The fig.1.1 shows the work areas of three link robot. The fig.1.2 shows a simple example for a robot arm using cylindrical coordinate geometry.

illustration not visible in this excerpt

Fig.1.1: The work area of three-link robot

illustration not visible in this excerpt

Fig.1.2: Workspace of cylindrical robot

The set of points that the end effector can reach lies within two concentric cylinders, labeled "inner limit" and "outer limit". The workspace for this robot arm is shaped something like part of a brand new roll of duct tape.


Numerical methods for determining the workspace boundaries of serial manipulators have been developed in recent years. Exact computation of the workspace and its boundary is of significant importance because of its impact on manipulator design, manipulator placement in an environment, and manipulator dexterity.

Ricard and Gosselin (1998) explained one method to determine the Workspace of complex planar Robotic Manipulators. In this paper the authors gave a method which is based on the use of joint limits to obtain equations describing the limiting curves. These limiting curves are then segmented at their mutual intersections and validated. The resulting set of curves from the envelope of the workspace. The algorithm is completely general but it can be only applied to only three degrees of freedom planar manipulator. This algorithm is not applicable for the manipulator having more than three degrees of freedom. The difficulty with this method is in finding the function describing the curves. This method uses direct kinematic equations which require certain input parameters which are difficult to determine in real time.

Haug et.al (1996) explained numerical algorithms for mapping boundaries of manipulator workspaces. In this paper, a numerical method is first developed for finding an initial point on the boundary. From this point, a continuation method that accounts for simple and multiple bifurcation of one dimensional solution curves is developed. Second order Taylor expansions are derived for finding tangents to solution curves at simple bifurcation points of continuation equations and for characterizing barriers to control of manipulators. A recently developed method for tangent calculation at multiple bifurcation points is employed. A planar redundantly controlled serial manipulator is analyzed, determining both the exterior boundary of the accessible out put set and interior curves that represent local impediments to motion control. Using these methods, more complex planar manipulators can be analyzed. The method has proved efficient for determining the general shape of workspace. The main difficulty is in determining the status of a singularity at point along continuation curve. Singular behavior occurring at points along the curves is not identical. In addition, this method is completely numerical and does not result in analytical surfaces bounding the workspaces.

Ceccarelli (1995) presented a synthesis algorithm for three revolute manipulators by using an algebraic formulation of workspace boundary and explained a synthesis algorithm for general three degree of freedom manipulator. The synthesis equations are formulated as a set of nonlinear algebraic equations whose unknowns are workspace structural coefficients. A further generalization includes the manipulator base position and orientation vectors as design parameters through a straightforward manipulation of the workspace boundary equations. Then the dimensional synthesis is completed by resolving algebraically the structural coefficient into the geometric parameters of a three revolute open chain manipulators by using a suitable procedure which allows evaluating multiple design solutions. The problem with this method is that this method uses iterative approach to solve the equations for the angles and variables and the solutions are not accurate. The other problem is that the author defined this method for only three degrees of freedom manipulators and not for higher degrees of freedom manipulators.

The authors Snyman and Plessis (2000) gave an optimization approach to the determination of the boundaries of manipulator workspace. This numerical method consists of finding a suitable radiating point in the output coordinate space and then determining the points of intersection of a representative pencil of rays, emanating from the radiating point, with the boundary of the accessible set. This is done by application of a novel constrained optimization approach that has the considerable advantage that it may easily be automated. The method is illustrated by its application to two planar mechanisms, namely a planar Stewart platform and a planar redundantly controlled serial manipulator. In addition to the external boundaries of the workspace, interior curves that represent configurations at which controllability and mobility may be limited, are also mapped. In this paper some aspects that are not explicitly addressed in the present paper that are currently receiving attention include the problem of non convexity of the boundary and the handling of holes or voids in the workspace that arise in the case of manipulators of more general geometry. The starting point is determined by the optimization technique which does not give accurate results. This method does not account to incorporate the mechanical limits of the passive joints as well as link interference as additional physical constraints limiting the parallel manipulator workspace.

In this work the algorithm which will be used to determine the analytical boundary of the workspace for general n-degree freedom mechanism is explained by Malek and Yeh (1997). An analytical method is presented to obtain all the surfaces enveloping the workspace of a general n degree of freedom mechanism. The method is applicable to kinematic chains that can be modeled using the Denavit-Hartenberg representation for serial link kinematic chains or its modifications for closed loop kinematic chains.

Kumar and Waldron (1981) presented another algorithm to compute the manipulator’s workspace. In their analysis, an imaginary force is applied to the reference point at the end effector in order to achieve the maximum extension in the direction of the applied force. The manipulator reaches its maximum extension when the force’s line of action intersects all the joint axes of the rotational joints and it is perpendicular to all joint axes of the prismatic joints (since the moment of the force about each joint axis must be zero). Every joint of the manipulator can settle in either of two possible positions under the force action. Hence, the algorithm results in 2n-1 different sets of joint variables for a manipulator of n joints in the direction of the applied force. The concept of stable and unstable equilibrium is used to select the set of joints variables that results in the maximum extension in the force direction. This algorithm has exponential time complexity and only deals with manipulators that have ideal joints (without limits). Also the algorithm determines only the workspace contours in two dimensions not three dimensional workspaces.

An efficient computation of 3D workspaces for redundant manipulators based on hybrid algorithm between direct kinematics and screw theory is presented by Alameldin et al. The authors combined the kinematic algorithm approach and the screw theory approach. The limitation is that this can only be applied to the manipulators with ideal joints. This algorithm can be extended to the manipulators with joint limits but it is very difficult to find the stable and unstable equilibrium in the case when the manipulator has different joint limit for different joints.

Ceccarelli (1996) proposed an algebraic formulation to describe the workspace boundary of general n degrees of freedom revolute open chain manipulators. The geometry of the generation process by revolving a figure about an axis has been used to deduce a recursive algorithm for the boundary of ring and hyper-rings by using the envelope concepts. The workspace boundary is obtained from the envelope of a torus family which is traced by the parallel circles cut in the boundary of a revolving hyper-ring. The formulation is a function of the dimensional parameters in the manipulator chain and specifically of the last revolute joint angle, only. This is not accurate method because it uses iterative computations for determining some angles, and iterative revolving process for the hyper-ring generation in manipulators.

The intersection curves between two parametric surfaces are determined by the method explained by Malek and Yeh (1995). This paper presents a method for determining the intersection curves of two intersecting parametric surfaces using continuation methods. A starting point to initiate the algorithm is determined using the Moore-Penrose pseudo inverse. Singularities along the curves are detected using a row rank deficiency of the Jacobian. At singular points where two or more curves intersect, bifurcation points are calculated. To numerically compute a multiple of curves at a bifurcation point, a second order expansion method is used to render the equation into a quadratic form, such that the tangents are computed. In the paper the method is demonstrated for two intersecting surfaces having two intersecting curves.

Malek and Yeh (1996) explained a broadly applicable formulation for representing the boundary of swept geometric entities using Jacobian rank deficiency conditions. A constraint function is defined as one entity is swept along another. Boundaries in terms of inequality constraints imposed on each entity are considered which gives rise to an ability of modeling complex solids. A rank deficiency condition is imposed on the constraint Jacobian of the sweep to determine singular sets. Because of the generality of the rank deficiency condition, the formulation is applicable to entities of any dimension. The boundary to the resulting swept volume, in terms of enveloping surfaces, is generated by substituting the resulting singularities into the constraint equation. Singular entities (hyperentities) are then intersected to determine sub-entities that may exist on the boundary of the generated swept volume. Physical behavior of singular entities is discussed. A perturbation method is used to identify the boundary envelope. The author has explained the method with certain examples.

Malek (1996) presented a criteria for determining an optimum locality of a manipulator arm with respect to an operating point. Often times in a manufacturing environment, the tools, fixtures, and targets that a manipulator has to deal with cannot be relocated. Thus, the choice of the manipulator locality is important. The method presented in this paper uses the notion of a service sphere to determine required orientability at an operating point. The boundary surfaces to the wrist-accessible output set is determined and positioned such that the service sphere is inside the wrist-accessible output set. To determine boundary surfaces of the wrist-accessible output set, manipulator singularities (internal, boundary, and higher order) are computed and substituted into the constraint equation to parameterize singular surfaces. Part of these surfaces may lie internal to the boundary while other parts are a subset of the boundary. Singular surfaces are then intersected to determine second-order singularities. Second-order singularities partition surfaces into sub surfaces. Those sub surfaces on the boundary are determined by perturbing a point on the surface and concluding whether the perturbed point satisfies the constraint equations. The boundary to the wrist-accessible output set is then located.

Malek and Yu (2000) presented the Criteria and implementation for the placement robot manipulators with the objective to reach specified target points are herein addressed. Placement of a serial manipulator in a working environment is characterized by defining the position and orientation of the manipulator’s base with respect to a fixed reference frame. The problem has become of importance in both the medical and manufacturing fields, where a robot arm must be appropriately placed with respect to targets that cannot be moved. A broadly applicable numerical formulation is presented. While other methods have used inverse kinematics solutions in their formulation for defining a locality for the manipulator base, this type of solution is difficult to implement because of the inherent complexities in determining al inverse kinematic solutions.

Determination of workspace boundaries is also referred by Jo et al (1989), Malek and Yeh (2002), Malek (1997), Tsai and Soni (1983).

Malek and Othmen (1999) demonstrated a mathematical formulation for creation of solid models. It is shown that Denavit-Hartenberg representation method adopted from kinematics is well suited for the representation of soid models that are created as a result of multiple sweeps.

Norberto (2001) programmed Robotic and Automation applications using Matlab. He found Matlab is most suitable language as it is one of those applications that provide to the user a powerful mathematics environment; very popular for teaching and research tasks on Robotics and Automation, and that is so because Matlab is a powerful linear algebra tool, with a very good collection of toolboxes that extend its basic functionality. In his paper he present a toolbox that enable access to real Robotics and Automation equipment from the Matlab shell. If it is used in conjunction with a robotics toolbox it will extend significantly their application i.e. besides robotic simulation and data analysis the user can interact on line with the equipment he is using. This tool shows its usefulness for research applications, but also for teaching projects. With students, using Matlab means taking advantage of the less training required to start using it, if we compare with other programming environments and languages we also use (like Microsoft, Visual C++ or Visual Basic)

The basics of Matlab are explained by Chapman (2002), Sigmon (1993). Which gives full explanation of using general Matlab commands.

The basics of Robotics and general mathematics is explained by Fu et al (1987), Groover (1986), Koren (1995), Schilling (1990), and Zeid (1998).


The objective of the thesis is to carry out the following:

1. To determine all the singularities of the RV-M1 Robot Mitsubishi.
2. To develop a Matlab tool box for determining the full three dimensional view of the workspace of RV-M1. The tool box also shows cross­sectional view, plan and elevation of the workspace.
3. Simulation of loading and unloading application. This is helpful in designing the application work-area, which sould be inside the robot workspace. It would be beneficial for integrating the robot with other manufacturing systems like CNC machines or assembly systems.


Methodology used to develop workspace is explained in chapter 2. In chapter 3, all the singularities of robot RV-M1 are determined. Matlab tool box development for developing the workspace is discussed in chapter 4. All the boundary surfaces are plotted in this chapter. Results are discussed in the chapter 5. The loading and unloading application is also discussed in this chapter. Different ranges of Robot wrist at different machine bed heights are determined and plotted in this chapter. Conclusions and future scope of the work done are given in chapter 6.



In order to analytically find expressions for the boundary surfaces of manipulators, it is necessary

1. To develop a set of analytical criteria to obtain the positioning of the wrist in terms of generalized coordinates.
2. Determine the boundary surfaces due to singularities associated with the set, and
3. Determine the subset of these surfaces due to joint limits. Combine all the surfaces to develop the workspace.

The mathematics to determine above is explained in the following sections.


Degrees of freedom

The number of degrees of freedom (DOF) of a manipulator is the number of independent variables required to define the location of all parts of the mechanism.

Because industrial robots are open kinematic chains, the number of joints generally = number of DOF.

The maximum (non redundant) DOF required to position an end-effector in space is six.

illustration not visible in this excerpt


A mechanical manipulator can be modeled as an open-loop articulated chain with several rigid bodies (links) connected in series by either revolute or prismatic joints driven by actuators.

Robot joints generally have one degree of freedom, and are either revolute or prismatic. A revolute joint, shown in fig.2.1, would have an angle q as a variable (or one DOF), and a prismatic joint a distance d as a variable. It is the joints that are represented by (and determine the orientation of) the kinematic coordinate frames.

illustration not visible in this excerpt

Fig.2.1 Revolute and Prismatic Joints

One end of the chain is attached to a supporting base while the other end is free and attached with a tool (the end-effector) to manipulate objects or perform assembly tasks. The relative motion of the joints results in the motion of the links that positions the hand in a desired orientation. In most robotic applications, one is interested in the spatial description of the end-effector of the manipulator with respect to a fixed reference coordinate system.

Robot arm kinematics deals with the analytical study of the geometry of motion of a robot arm with respect to a fixed reference coordinate system as a function of time without regard to the forces/moments that cause the motion. Thus, it deals with the analytical description of the spatial displacement of the robot as a function of time, in particular the relations between the joint-variable space and the position and orientation of the end-effector of a robot arm. The two fundamental problems in robot arm kinematics are:-

1. For a given manipulator, given the joint angle vector q(t) = (q-i(t), q2(t),

, qn(t))T and the geometric link parameters, where n is the number of degrees of freedom, what is the position and orientation of the end- effector of the manipulator with respect to a reference coordinate system.

2. Given a desired position and orientation of the end-effector of the manipulator and the geometric link parameters with respect to a reference coordinate system, can the manipulator reach the desired prescribed manipulator hand position and orientation. And if it can, how many different manipulator configurations will satisfy the same condition.

The first problem is usually referred to as the direct (or forward) kinematics problem, while the second is the inverse kinematics (or arm solution) problem. There is a relation between the forward kinematics and inverse kinematics. The output of one is the input to second and vice versa. A simple block diagram indicating the relationship between two is shown in fig.2.2.

illustration not visible in this excerpt

Fig.2.2: The direct and inverse kinematics relationship

2.2.1 MATRIX REPRESENTATIONS Vector in space:

illustration not visible in this excerpt

If the vector starts at the origin, it is described by the fig.2.3.

A frame centered at the origin of a reference frame is represented by three vectors (perpendicular to each other): n = normal vector o = orientation vector a = approach vector Frame F is the represented by three vectors in a matrix form: (2.1)

Frames in fixed reference frame:

The location of the origin of the frame relative to the reference frame must also be expressed. Vector P is expressed through its components relative to the reference frame.


A transformation is defined as a movement in space. When a frame is translated in space relative to a fixed reference frame, we can represent this translation in a matrix form.

Pure Translation

When a frame translates in space without any changes in its orientation it is called pure translation. The new location of the frame can be found by adding the vector representing the translation to the vector representing the original location of the frame. The first three columns of the matrix represent no rotation movement, while the last column represents the translation.

The transformation to accomplish a translation of a vector in space by a distance dx in x direction, dy in y direction, and dz in z direction is given by:

illustration not visible in this excerpt

Rotation matrices

A rotation matrix can be defined as a transformation matrix which operates on a position vector in a three-dimensional space and maps its coordinates expressed in a rotated coordinate system to a reference coordinate system. Rotations of a vector about each of the three axes by an angle • can be accomplished by rotation transformations.

illustration not visible in this excerpt

About x axis, the rotation transformation is:

Composite Homogeneous Transformation Matrix

The homogeneous rotation and translation matrices can be multiplied together to obtain a composite homogeneous transformation matrix (it is called T matrix). However, since matrix multiplication is not commutative, careful attention is paid to the order in which these matrices are multiplied. The following rules are useful for finding a composite homogeneous transformation matrix:

1. Initially both coordinate system are coincident, hence the homogeneous transformation matrix is a 4*4 identity matrix, I4.
2. If the rotating coordinate system(OUVW) is rotating/translating about the principle axes of the OXYZ, reference coordinate system, then premultiply the previous (resultant) homogeneous transformation matrix with an appropriate basic homogeneous rotation/translation matrix.
3. If the rotating coordinate system OUVW is rotating/translating about its own principle axes, then post multiply the previous (resultant) homogeneous transformation matrix with an appropriate basic homogeneous rotation/translation matrix.


A mechanical manipulator consists of a sequence of rigid bodies, called links, connected by either revolute or prismatic joints. Each join-link pair constitutes one degree of freedom. Hence, for an n degree of freedom manipulator, there are n joint-link pairs with link 0 (not considered part of the robot) attached to a supporting base where an inertial coordinate frame is usually established for this dynamic system, and the last link is attached with a tool (Fig.2.5.).

The joints and links are numbered outwardly from the base; thus, joint 1 is the point of connection between link 1 and the supporting base. Each link is connected to, at most, two other so that no closed loops are formed. In general, two links are connected by a lower pair joint which has two surfaces sliding over one another while remaining in contact.

illustration not visible in this excerpt

Revolute (rotary), Prismatic (sliding), Cylindrical, Spherical, Screw, and Planar. Of these, only rotary and prismatic are common in manipulators.

A joint axis (for joint i) is established at the connection of two links (Fig.2.6). This joint axis will have two normals connected to it, one for each of the links. The relative position of two such connected links (link i-1 and link i) is given by di which is the distance measured along the joint axis between the normals. The joint angle • j between the normals is measured in a plane normal to the joint
axis. Hence di which and • jmay be called the distance and the angle between the adjacent links, respectively. They determine the relative position of neighboring links.

A link j is connected to, at most, two other links (e.g., link /-land link j+1); thus, two joint axes are established at both ends of the connection. The significance of links, from a kinematic perspective, is that they maintain a fixed configuration between their joints which can be characterized by two parameters: ai and %• The parameter ai is the shortest distance measured along the common normal between the joint axes (i.e., the zM and Zi axes for joint j and joint j+1, respectively), and • i •is the angle between the joint axes measured in a plane perpendicular to ai. Thus, ai and • i may be called length and the twist angle of the link j, respectively. They determine the structure of link j.

illustration not visible in this excerpt

Thus four parameters, [illustration not visible in this excerpt] are associated with each link of a manipulator. These parameters constitute a sufficient set to completely determine the kinematic configuration of each link of a robot arm. These parameters come in pairs: the link parameters [illustration not visible in this excerpt] which determine the structure of the link and the joint parameters [illustration not visible in this excerpt] which determine the relative position of neighboring links.


To describe the translational and rotational relationships between adjacent links, Denavit-Hartenberg (D-H) representation is a matrix method of systematically establishing a coordinate system (body attached frame) to each link of an articulated chain. The D-H representation results in a 4*4 homogeneous transformation matrix representing each link’s coordinate system at the joint with respect to the previous link’s coordinate system. Thus, through sequential transformations, the end-effector expressed in the hand coordinates can be transformed and expressed in the base coordinates which make up the inertial frame of this dynamic system.

An orthonormal Cartesian coordinate system (xi, yi, zi) can be established for each link at its joint axis, where i=1, 2, 3, , n (n=number of degrees of freedom) plus the base coordinate frame. Since a rotary joint has only 1 degree of freedom, each (xi, yi, Zi) coordinate frame of a robot arm corresponds to joint i+1 and is fixed in link i(Fig.2.7). When the joint actuator activates joint i, link i will move with respect to link i-1. Since the ith coordinate system is fixed in link i, it moves together with the link i. Thus, the nth coordinate frame moves with the hand (link n). The base coordinates are defined as the 0th coordinate frame (x0, y0, z0) which is also the intertial coordinate frame of the robot arm. Thus for n- axis robot arm, the n coordinate systems are (x0, y0, Z0), (x1, y1, Z1), ,(xn, yn, zn).

illustration not visible in this excerpt

Fig.2.7: Establishing coordinate system and four D-H parameters

Every coordinate frame is determined and established on the basis of the three rules:

1. The zi-1 axis lies along the axis of motion of the ith joint.
2. The xi axis is normal to the zi-1 axis, and pointing away from it.
3. The yi axis completes the right handed coordinate system as required.

By these, rules, one is free to choose the location of coordinate frame 0 anywhere in the supporting base, as long as the z0 axis lies along the axis of motion of the first joint. The last coordinate frame (nth frame) can be placed anywhere in the hand, as long as the xn axis is normal to the zn-1 axis.

The D-H representation of a rigid link depends on four geometric parameters associated with each link. There four parameters completely describe any revolute or prismatic joint. Referring to fig.2.7, these four parameters are defined as:

- j is the joint angle from the xi-1 axis to the xi axis about the zi-1 axis (using the right hand rule)

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 axis along the zi-1 axis. ai is the offset distance from the intersection of the zi-i axis with the zi axis to the origin of the ith frame along the x axis (or the shortest distance between the zi-1 and zi axis).

- i is the offset angle from the zi-1 axis to the zi axis about the xi axis (using the right hand rule).

For a rotary joint, di, ai, and • i are the joint parameters and remain constant for a robot, while • j is the joint variable that changes when link i moves (or rotates) with respect to link i-1. for a prismatic joint, • j, a and • i are the joint parameters and remain constant for a robot, while di is the joint variable.

Once the D-H coordinate system has been established for each link, a homogeneous transformation matrix can easily be developed relating the ith coordinate frame to the (i-1 )th coordinate frame. Therefore, a point expressed in the (i-1)th coordinate system may be expressed in the ith coordinate system by performing the following successive transformations:

1. Rotate about the zi-1 axis an angle of • j to align the xi-1 axis with the x axis (xi-1 axis is parallel to xi and pointing in the same direction).

2. Translate along the zM axis a distance of di to bring the xM and Xi axes into coincidence.

3. Translate along the x axis a distance of ai to bring the two origins as well as the x axis into coincidence.

4. Rotate about the xi axis an angle of • i to bring two coordinate systems into coincidence.

Each of these four operations can be expressed by a basic homogeneous rotation-translation matrix and the product of these four basic homogeneous transformation matrices yields a composite homogeneous transformation matrix, i-1A, known as the D-H transformation matrix for adjacent coordinate frames, i and i-1.

Which is given as:

illustration not visible in this excerpt


The first step is to determine the wrist accessible position vector of the robot. For determining the wrist accessible output set the property that, two coordinate systems is orthogonal to the z-axis of the other system are related by a Euclidean motion depending on four parameters, is used. Consider two coordinate frames in space, the first denoted by xo, yo, zo with origin at Oo and

the second by x-i, yi, zi with origin at Oi. The point P is an arbitrary point in space. The vector 0v is the vector coordinates of P with respect to x0, y0, z0 reference frame. 1v is the vector of coordinates of P with respect to frame 1. 0b1 is the vector describing the origin of frame 1 with respect to frame 0 as shown in figure 2.8.

Using geometry, the position of point P with respect to frame 0 can be expressed as:

illustration not visible in this excerpt

Where 0R1 = [x1 y1 z1] is the rotation matrix relating the orientation of both frames. In order to achieve a compact representation and to simplify the mathematics between subsequent coordinate frames, the homogeneous representation of a generic vector v can be introduced as the vector v*=[vT 1]T formed by adding a fourth unit component. The coordinate transformation can be written as

Hence, transforming a vector from one coordinate frame to another is written as

illustration not visible in this excerpt

In order to generate the matrix relating any two transformations, a minimal representation of only four parameters is necessary to describe one coordinate system with respect to the other. These four parameters are called Denavit-Hartenberg (D-H) parameters. The D-H representation provides a systematic method for describing the relationship between adjacent links. The 4 x 4 transformation matrix describing a transformation from link (i-1) to link i for a revolute joint is :

illustration not visible in this excerpt

where • j,‘depicted in Fig. 2.7, is the joint angle from xi-i to the xi axis, dj is the distance from the origin of the (i-1)th coordinate frame to the intersection of the zi-1 axis with the xi , aj is the offset distance from the intersection of the zi-i axis with the xi axis, and • i •s the offset angle from the zi-i axis to the zi axis. The homogeneous transformation matrix 0Ti that specifies the configuration of the ith frame with respect to the base coordinate system is the product of successive transformation matrices of - Ti , where 0Ri is the rotational matrix from the i-1 coordinate frame to 0th coordinate frame. And 0Pi is the position vector with respect to the 0th coordinate frame. This is also called wrist accessible position vector when i=number of degrees of freedom of the robot.



ISBN (eBook)
File size
4.6 MB
Catalog Number
workspace robot workspace singularity singularity matrix jacobian jacobian vector d-h paramters d-h representation



Title: Matlab tool box for determining the workspace of Mitsubishi Robot RV-M1