XV.   Workspace Analysis

by

 

Tariq Sinokrot, Jingzhou Yang, and Rebecca Fetter

 

Virtual Soldier Research Program

Center for Computer-Aided Design

The University of Iowa

116 Engineering Research Facility

Iowa City, IA 52242-1000

Tel:  (319) 353-2249

Fax:  (319) 384-0542

www.digital-humans.org

 

E-mail: tsinokro@engineering.uiowa.edu

 

 

 

 

Table of Contents

 

 

XV.1.0 Literature Review.. 3

XV.1.1 History of Swept Volumes. 3

XV.2.0 Determining the Workspace in closed form.. 13

XV.2.1 Denavit-Hartenberg Method. 13

XV.2.2 The Jacobian Rank Deficiency method. 15

XV.3.0 Simple Example (Planar 3 DOF arm) 21

Visualizing the Envelope. 25

XV.4.0 Complex Examples. 33

XV.4.1 Workspace of Human Arm.. 33

XV.5.0 Implementation on Santos™. 46

References. 50

 

XV.1.0 Literature Review

A lot of swept volume formulations were developed lately, some of which has it’s own approach in visualizing the volume of sweeping solids, and some builds up on other’s work. In this section we will review the literature of swept volumes, discuss the various formulations developed so far in this area, and emphasize the implications of the developed swept volume theories on engineering applications especially in the fields of Computer Aided Design, Computer science, and mathematics. Also, the limitations of current formulations will be underlined.

 

XV.1.1 History of Swept Volumes

Swept volume is defined as the volume generated from the sweeping of an object -which in this case is called Generator- along a trajectory curve possibly with changing orientation, scale, or shape. The sweeping of solids has proved to be essential in the fields of geometric modeling, robots motion planning, ergonomics, robots workspace analysis, and cutting tool visualization in CNC machining. However, the methods for computing the sweep envelope of moving objects have always been obstructed by barriers that affected the development of this field. The difficulties in computing swept volumes can be generalized in the identification of the boundary surfaces of the swept entity. Identifying the boundaries of a swept entity is not easy especially when complex self-intersections are encountered in the sweep boundary. Also the computational speed becomes unproductive when dealing with complex objects with high degree surfaces, which is the case in most CAD models [Lee et al, 2000].

 

Researches in the swept volume field have been carried on more than forty years ago, but most of these researches were hindered by the complex mathematics needed in this field and by the lack of fast computational techniques at that time. Wellman (1957) did some work in the descriptive geometry field and that was the first related work to swept volumes. However, it was not until around twenty years back when the research in this field started growing, and that was due to the fact that faster computational techniques started to show up at that time. Another factor that helped moving this kind of research forward was the fact that the development of robots at that time which increased the interest shown in the swept volume research especially those related to robots workspace, and robots path planning that were strongly needed at that time.

 

In the early eighties several researches were held in the swept volume field. However, these researches addressed specific problems in the robotics. One of the researches was a one related to robots path planning [Brooks and Rodney, 1983]. Brooks work included an algorithm to compute collision free paths for 6 degrees of freedom manipulators. [Herman and Martin, 1986] developed a fast collision detection algorithm. Herman and Martin used primitive to approximate the swept volume path of the robot. A workspace analysis for three-link robot arm was introduced by [Freudenstein and Primrose, 1984].

 

The first major work in Swept Volume field was done by [Wang and Wang, 1986]. Wang developed an analytical technique to compute swept volumes. In addition, a real time verification of NC programs was developed using the analytical approach introduced by the authors. The method developed by Wang and Wang was an extension of some earlier work of both authors [Leu et al, 1984] and [Wang and Wang, 1984]. In there work Wang and Wang concentrated on studying the new surfaces generated during the motion of the object. So as it is always the case in swept volumes the main concern is to find a way for determining the boundary surfaces of the sweeping volume. In order to solve this problem Wang and Wang formulated their approach by considering that the envelope is generated from a group of curves they called critical. These critical curves are tangent to the object at any contact point. However, their derivation was limited to regular surfaces only. And it fails when dealing with self-intersection or when dealing with objects that have sharp edges on its boundary. Based on the Envelope Theory developed by Wang and Wang [Wang and Sambandan, 1989] developed a simulator for graphic verification of five-axis Numerical Control Machining, where the swept volume computed for the cutter is subtracted from the stock after being determined using the Envelope Theory. The envelope theory was then used by [Hu et al, 1994] in their work to generate swept volumes with instantaneous screw axes.

 

Following the developed method by Wang and Wang, lots of works were followed trying to build up on the Envelope Theory. [Kieffer and Litvin, 1990] developed an approach for determining swept volumes using an interference detection method. Another work was done by [Martin and Stephenson, 1990] who developed a new algorithm that generates new 3D models of the swept volume out of sweeping the individual surfaces of the solid body. However, the most remarkable work to extend on the work done by Wang and Wang was the one done by [Weld et al, 1990]. In their formulation, the swept volume of a compact n-manifold in Rn is equal to the union of the swept volume of its boundary with one location of the compact n-manifold in the sweep. Thus the problem is reduced to developing a geometric representation of swept volumes for (n-1) dimensional objects in Rn. This formulation was good to determine the swept volumes of polyhedral objects by combining the swept volumes of their polygonal faces.

 

A differential equation approach for computing swept volumes was developed by [Blackmore and Leu, 1990]. [Blackmore and Leu, 1990] used the fact that any smooth euclidean motion can be represented by a first order, linear, ordinary differential equation. Based on the properties of the sweep differential equations the sweeps are classified accordingly. Then independent sweeps are identified and analyzed. The SDE -Sweep Differential Equation- approach has proved to have great potential in analyzing swept volumes and their intersections. The method was then implemented by the authors in NC machining applications, and robot swept volume analysis. Later on, in (1994) the two authors together with a third one (Shih) extended the sweep differential equation approach, which they developed to include deformed bodies. The swept volumes for objects experiencing deformations were achieved by extending the Lie group structure of the sweeps. The SDE method was then modified to a new one SEDE-Sweep Envelope Differential Equation- [Blackmore et al 1997]. The modified method solved the expensive computations problem that the SDE method appeared to have with autonomous sweeps where grazing point curves must be calculated every time along the sweep. The deformed swept volume analysis was then integrated with machining mechanics to account for cutter deflection in NC simulation [Blackmore et al, 1998]. The SEDE method which works only for smooth objects was later extended by [Wang et al, 2000] to handle deformed bodies. Although the SEDE method enhanced on its previous version (The SDE method) but still it has some limitations that hinder its applicability. The SEDE theory is limited to three-dimensional smooth objects subject to sweeping in smooth paths. Even though the method was extended to include piecewise smooth objects, still the swept volume is just an approximation of swept smooth objects instead of its real geometry.

 

An approach for evaluating the swept volumes of moving obstacles using octrees was presented by [Celenk and Wei, 1990]. The work was part of an algorithm developed by the authors for robot guidance in dynamic environment. In this algorithm, volumes generated of the moving object are recorded in an octree data structure. One of the limitations of this approach is the memory space for octree manipulation.

 

Another approach for computing swept volumes of moving polygons was developed by [Liu et al, 1991]. In this technique the swept volume is constructed through a series of overlapped swept volume segments. The swept volume segments were developed by checking the inner products of polygon outward boundary normals with velocity vectors for polygon vertices. The technique was used by the authors in calculating dynamic distance for obstacle avoidance problems.

 

[Shroeder and Lorensen, 1994] developed a numerical algorithm to generate swept surfaces and volumes using implicit modeling techniques. The algorithm works for any geometric representation for which a distance function can be computed. The algorithm was implemented in many applications including maintainability design and robot spatial planning.

 

[Kawashima et al, 1995] discussed a new technique for swept volume calculation. In this formulation, the object boundary faces are divided into two groups, forehead faces, and rearend faces. The division is later on used in determining the boundaries of the swept volume. This technique gave essential understanding for NC machining simulation, optimization of the cutter path, and kinematic simulation.

 

One of the largely applicable formulations done in the swept volume field was the Jacobian rank-deficiency method –also referred to as the singularity theory or manifold stratification- [Abdel-Malek et al, 1997] and [Abdel-Malek and Othman 1999]. A Jacobian row rank deficiency condition is implemented in order to determine all entities that appear internal or external to the swept volume. Entities that are boundary to the swept volume are then identified by the means of a perturbation method. The singularity theory developed by the authors solves the general case of geometric entities with multiple parameters. In addition the formulation takes into consideration parametric limits of the surfaces imposed in terms of inequality constraints. The singularity theory has proved to handle self-intersections, multiple parameter sweeping, and solid property computations. Based on this formulation [Abdel-Malek et al, 1998] discussed the determination of voids inside the volume based on the concept of a normal acceleration function on singular surfaces. The Jacobian rank deficiency method was later extended to compute swept volumes for implicit surfaces [Abdel-Malek et al, 2000]. The formulation for implicit surfaces was done by reformulating the parameterization method in implicit form. Although, the manifold stratification method can work with any numbers of parameters in an entity, it becomes very difficult to implement because the number of non-linear equations resulting from the determinants of the sub-Jacobian matrices increases and it becomes very difficult to solve for the singularities of these sub-matrices simultaneously. [Yang et al, 2001] added on this method to include Non-Uniform rational B-Spline curves and surfaces (known as NURBS). In addition, a multiple sweeping approach was also introduced by [Abdel-Malek and Othman, 1999] using the Denavit-Hartenberg (D-H) method. The multiple sweeping was done by first defining the swept entity, swept axes, and sweep parameters. Based on the previous inputs a D-H table is formulated. After formulating the D-H table, Jacobian rank deficiency conditions are computed. Boundaries and voids are then identified and plotted resulting in the solid model.

 

[Abrams and Allen, 2000] presented a new method for computing swept volumes based on a polyhedral sweep algorithm. The formulation can accept polyhedral objects as an input and generates the output as a polyhedral object too without any restrictions on the type of the sweep trajectory. One of main benefits of this algorithm is its validity when dealing with complicated situations.

 

One of the most recent works done in the field of swept volumes is the Voxmap PointShellTM {VPS) Swept Volume Generation method [McNeely and Troy, The Boeing Company]. This work has been produced in the form of commercial software that is available from The Boeing Company. The software is addressed to solve problems in collision detection, swept volume generation, and force modeling. The VPS approach relies on the idea of dividing the inhabited volume of the sweeping object into a set of voxels. In this software the swept volume generation of a sweeping object is visualized by after going through two main algorithms written inside the software. The first algorithm is called “Voxelization” in which the swept object is voxelized into a set of voxels. The voxel size here can be specified by the user depending on the desired accuracy. Next, after the voxelized swept object has been prepared it goes through another algorithm called “Tessellation”. In the tessellation step the sweep envelope gets filled with triangles that connect every voxel with its neighboring ones, thus, resulting in a tessellated object. One of the most remarkable features of this software is its computational speed, and its efficient memory usage, which was enhanced by the usage of the octree method. This software has been widely used by The Boeing Company especially with its fast computation speed and it is commercially available by the Company.

 

[Troy and Guerin, The Boeing Company, 2004] built on the Voxel PointShell method by developing a Human Swept Volume (HSV) software. The software makes benefit from the developed VPS method in the generation of the volume occupied by humans while undertaking specific motion sequences. The software was mainly used by the Boeing Company in their seating designs for different classes where the space occupancy of the passenger is of great importance. The Voxmap PointShell TM (VPS) software appeared to be successful in applications like collision detection, swept volume generation, and force modeling. However, the algorithm had some limitations. Since the algorithm generates the swept volume out from voxels, one of the big limitations is the requirement of high system storage. In addition, holes and some topological anomalies can appear in some applications where the voxel cushion size is small. Suggestions to improve the previous limitations were discussed by the developers of the software [McNeely and Troy, The Boeing Company].

 

The VPS method developed by the Boeing Company was not the only one that used the voxelization principle. [Winter and Chen, 2002] developed a method for swept volume creation out from image templates. A voxelization technique was used here in the rendering process of the swept volumes. Self-intersections problem was also addressed in this work. The self-intersections were solved in this method by using Constructive Volume Geometry (CVG) operators. This method has proved to be handy in the modeling of complex objects.

 

An isosurface based method for visualizing the swept volume for trivariate solids was developed by [Joy and Conkey, 2000]. The method combines two methods together. One of the methods is an algorithm developed by [Joy and Duchaineau, 1999] and the second is the Jacobian rank-deficiency method presented by [Abdel-Malek and Yeh, 1997]. The calculation of the sweep envelope is based on isolating rectilinear cells within the domain by subdividing it according to the desired accuracy. Four simplices are then generated from the cells and an isosurface is computes for each simplex. The Jacobian rank-deficiency method is used here in determining the isosurfaces.

 

[Kim et al, 2004] presented a new mathematical approach for approximating the swept volume of complex polyhedral objects. The approach presented by the authors consisted of five steps. Initially, surface primitives were calculated and then triangulated using a bounded error triangulation method. This step is called surface generation. Next, the 3D space where the surface primitives were found is discretized, and a graphics hardware is used to compute unsigned distance fields with respect to the surface primitives. Signed distance fields are computed in the next step by the means of a fast marching method. In the fourth step iso-surfaces are computed using an extended marching cubes algorithm. In the final step a refinement process for the swept volume topology is achieved. This algorithm was implemented using C++ programming language. The main advantages of this formulation as defined by the authors can be summarized in the ability to handle polyhedral objects in general, and to handle complex entities. That’s in addition to its simplicity, efficiency, and its good approximation of the swept volume.

 

As seen in the literature a lot of formulations have been developed for determining swept volumes. Each of which has its own approach in determining the boundaries of the envelope, and dealing with self-intersections and complex 3D entities. However, none of these formulations was able to achieve the computations in real time. Yet the main problem in swept volume formulations remain the same, which is the robustness of the math behind it and the expensive computations for this kind of calculations.

XV.2.0 Determining the Workspace in closed form

In this section, the method that we use for determining the workspace in closed form will be introduced. In our formulation we use the Jacobian rank deficiency method [abdel-Malek and Yeh 1997] in finding the singular surfaces that form the boundary of the workspace. The Denavit-Hartenberg method is also used in determining the position vector of the tracking point (end effector).

 

In our formulation a kinematic pair is employed at the limbs joints as used in the field of robotics (which indicates a constrained kinematics joint), because of the complexity of the limbs anatomy. According to that, a rotational joint is modeled as a revolute joint. While a spherical joint is modeled as three revolute joints with all their axis’s intersecting at the center of the sphere.  This way, all anatomical joints can be modeled using basic kinematic pairs [Yang et al, 2004].

 

XV.2.1 Denavit-Hartenberg Method

Using only four parameters to describe one coordinate system with respect to another, the position and orientation of each axis determine the four parameters , and hence, determine the resulting  transformation matrix.  To establish this matrix, it is possible to observe that a vector  resolved in the ith coordinate system may be expressed in the (i-1)th coordinate system () by performing four successive transformations as follows.

(a) A rotation about the  axis by an angle of  to align the  axis with the  axis  (as shown in Figure 3,  and pointing in the same direction).

(b) A translation along the  by a distance of   units to make  and  aligned.

(c) A translation along the  axis by a distance of  units to make the two origins of the  and  systems coincide (the  and the  will also be aligned).

(d) A rotation about the  axis by an angle  to coincide the two coordinate systems.

Figure 1 Establishing coordinate systems and the four D-H parameters

In order to obtain a systematic representation of any serial kinematic chain, we define  as the vector of n-generalized coordinates defining the motion of a limb with respect to another, where  is the individual DOF variable. The position vector function (shown in Figure 4) generated by a point of interest (typically on one of the fingers) is written as a multiplication of rotation matrices and position vectors as

                                                                                   (1)

where both  and  are defined using the Denavit-Hartenberg (D-H) representation method (Denavit and Hartenberg 1955, Paul 1981, and Fu et al. 1987) such that

                                                               (2a)

and           (2b)

where  is the joint angle from  axis to the  axis,  is the shortest distance between  and  axes,  is the offset distance  between  and  axes, and  is the offset angle from   and  axes.

 

 


Figure 2 Definition of the position vector function

 

XV.2.2 The Jacobian Rank Deficiency method

After computing the vector function [], which characterizes the set of all points touched by the point of interest, we need to determine the envelope of this set.  At a specified position in space given by , Eq. 1 can be written as a constraint function as

                                                                                                                  (3)

In mathematical terms, the expression defined by Eq. (3) is indeed a Manifold with boundary and cannot readily be visualized, because of the relatively large number of DOFs used to model the upper extremity.

 

Joint limits (ranges of motion) are imposed in terms of inequality constraints in the form of

                                                                                                                       (4)

where  and  are the lower and upper limits, respectively, and where , where n is the number of DOFs. Note that one joint could have more than one degrees of freedom (e.g., shoulder joint is modeled as three DOF).  In order to include the range of motion in the formulation, we transform the inequalities above into equalities by introducing a new set of generalized coordinates  such a joint variable is parameterized as

                                                            (5)

where if , then   and when , then .  In order to include the effect of joint limits, it is proposed to augment the constraint equation with the parameterized inequality constraints of Eq. (5) such that

,                 (6)

where   is the vector of all generalized coordinates.  Note that although new variables () have been added, equations have also been added to the constraint vector function without loosing the dimensionality of the problem.

 

The Jacobian (named after the German Mathematician Carl G. Jacobi) of the constraint function  at a specific point  is the  matrix

                                             (7)

where the subscript denotes a derivative.  Note that the Jacobian is defined in mathematical terms as the derivative of the transformation (Taylor and Mann 1972) between x and q.  With the modified formulation including joint limits, the Jacobian is expanded as

                                                                                                           (8)

where , ,  is a  zero matrix, I is the identity matrix, and

                                                                                       (9)

           (10)

Because the Jacobian is not square (more than three DOFs), rank deficiency criteria were developed for surfaces that are swept in space (Abdel-Malek and Yeh, 1997). These surfaces are called “barriers” provide significant insight towards better understanding reach and comfort within the workspace. Before addressing these criteria, however, it is important to show why the singularity of the Jacobian has a direct effect on identifying barriers and human reach. A singularity (in the pure mathematical sense) is when the Jacobian has no inverse, i.e., a solution cannot be found.  To further explain, consider the differentiation of Eq. (1) with respect to time as

                                                                                                                             (11)

where  is the vector of joint velocities.  Given the hand velocity (i.e., given ), the calculation of  requires computing an inverse of the Jacobian .  For a singular Jacobian, it is not possible to compute the required velocities for such a path. It will be observed that such behavior is associated with barriers within the reach envelope (e.g., when the arm is fully extended and cannot extend any further, or when some joints in the arm have reached their limits).

 

We will use the idea of a singular Jacobian to identify all barriers inside and on the boundary of the workspace.  Because the Jacobian is nonsquare, we define such barriers as a subset of the workspace at which the Jacobian of the constraint function of Eq. (7) is row rank deficient; i.e., barriers defined by a subset of the reach envelope  and characterized by

                                      (12)

where k is at least . Because of the form of the Jacobian characterized by Eq. (12), three distinct conditions arise:

 

(1) Type I singularity sets: If no joints have reached their limits, the diagonal sub-matrix  is full row rank.  Therefore, the only possibility for  to be row-rank deficient is when the block matrix  is row rank deficient.  Type I singularity set is defined as

                                          (13)

where p is within the specified joint limit constraints and may contain joints that are functions of others or constant values.

 

(2) Type II singularity sets: When certain joints reach their limits, e.g., , the corresponding diagonal elements in the matrix  will be equal to zero. Therefore, the corresponding matrix is subjected to the rank-deficiency criterion, where  will take on the following form

                                                                       (14)

and where the three columns pertaining to , , and  are removed such that the rank deficiency criteria are applied again. From the foregoing observation, the second type of singular sets are formulated.  Define a new vector , which is a sub-vector of  where              .

The type II singularity set is defined as

(15)

where  is the singular set as a result of applying the rank deficiency criteria to Eq. (14).

 

(3) Type III singularity sets: are all sets that are composed of the combination of joints at their limits and is defined by:

; where                                             (16)

 

As can be noticed from the formulation the more parameters (Degrees of Freedom) in the problem the more complicated the computation becomes. Dealing with a high number of DOF results in a big number of sub-jacobians, which in turn become very difficult to solve simultaneously. One of the other limitations that hinder this formulation –as well as the other formulations- is the disability to solve the problem in real time. Thus, we are forced to do the calculations offline in order to achieve the real time scheme. That is in addition to the fact that the formulation fail to work with closed loop mechanisms [Abdel-Malek et al, 1997].

 

 

XV.3.0 Simple Example (Planar 3 DOF arm)

 To illustrate our formulation, an simple example will be shown below for computing the workspace of a planar 3 DOF arm using the Jacobian rank deficiency method. The three types of singular behaviors will be computed according to the described methods in the previous section. Figure 3 below shows the model of the 3 DOF arm.

 

As can be seen fro the figure q1 is the relative joint angle associated with the shoulder or link 1. While q2 is the relative joint angle associated with the second link and q3 is the one associated with the wrist or the third link. Also the joints shown above are subject to the following constraints:

Based on the model shown in (fig. 4) one can easily derive the X(q) vector that describes the location of end effector with respect to the origin:

                                                  (17)

Now we can construct our constraint function:

=0                                                   (18)

Next we construct the G(q) augmented matrix. Before we do that we need to transform the inequality constraints described above into equality constraints. This will result in the following equality constraints:

                                                                                                         

The G(q) matrix can now be constructed by adding the equality constraints obtained above to eq (18). This will result in:

                                   (19)

where:

Next the Jacobian matrix can be calculated:

                                                                                            (20)

Where:

and

Since the resultant Jacobian matrix is non-square matrix. Three types of singularity sets must be computed for this case.

(1) Type I singularity sets:

As described in (13) the first singularity set can be found by equating all the three possible (2x2) sub-jacobians to zero and then solve the three resultant equations simultaneously as follows:

Calculating these determinants will result in the following three equations:

Solving these three equations simultaneously will result in the following set of singularities which forms the first type of singular behavior:


 


As we see from the results, nine singularities were found for this Jacobian matrix. However, not all theses singularities lie within the joint limits of each joint. So if we excluded these singularities that do not satisfy the joints constraints we will end up with only one singularity which is:

 

 

(2) Type II singularity sets:

The first case in this singularity set will be when joint 1 {q1} reaches one of its limits {p/3 or -p/3}. This will result in eliminating the first column in [Xq], which becomes:

Equating the determinant of this matrix to zero will result in:

Solving this equation yields the following singularities:

Since q3 can not be equal to p -since its exceeds the limits of q3- the resulting singularities are:

Applying the same procedure for joint 2 {q2} will result in the following singularities:

And for Joint :

 

(3) Type III singularity sets:

The last singularity set is the combination of all joint limits taken two at a time, which is:

 

Visualizing the Envelope

After all the singularities have been found we can start plotting the singular surfaces or curves that forms the envelope -which in this case are all curves-. The first singular curve is the one associated with , here if we substituted the values of q2 and q3 in eq. (17) yields:

Where:

Figure 4 shows how this curve looks like:

 

Figure 4 singular curve associated with s1

 

 

Substituting all the other singularities in the way described above and plotting will result in:

Figure 5 the singular curve associated with s2        Figure 6 the singular curve associated with s3

                                    

Figure 7 the singular curve associated with s4        Figure 8 the singular curve associated with s7

                        

Figure 9 the singular curve associated with s6      Figure 10 the singular curve associated with s5

                   

Figure 11 the singular curve associated with s8   Figure 12 the singular curve associated with

                                                                                                            s11

                                          

Figure 13 the singular curve associated with s10        Figure 14 the singular curve associated        with s9

Figure 15 the singular curve associated with s12        Figure 16 the singular curve associated                    

                                                                                    with s15

                    

Figure 17 the singular curve associated with s14        Figure 18 the singular curve associated

                                                                                                            with s13

Figure 19 the singular curve associated with s16    Figure 20 the singular curve associated with

                                                                                                            s19

                                                      

Figure 21 the singular curve associated with s18        Figure 22 the singular curve associated

                                                                                                            with  s17

Adding all these curves together will result in the visualized workspace of the described 3DOF planar arm, which is:

 Figure 23 the Final Workspace

 

 

XV.4.0 Complex Examples

In this section a more complex examples will be shown. The workspace for a human arm with respect to the shoulder will be shown. The same problem will be done for different Range Of Motions (ROM) of different percentiles.

 

XV.4.1 Workspace of Human Arm

In the following example the rank deficiency method described earlier is used to visualize the workspace for the human arm. The arm model used in this example is of Santos™ a 101 DOF virtual human, Figure 24. As can be seen in the figure below Santos™ arm taken with respect to the shoulder consists of 9DOF joints. Two DOF in the clavicle, three in the shoulder, one in the elbow, and three in the wrist. In order to simplify the computation, and since we are interested in computing the boundaries of the workspace the wrist joint was assumed to be rigid -since its workspace will always lie inside the outside surfaces of the workspace-. Also since the clavicle is coupled with the shoulder, the range of motion of the clavicle joint was added to the range of motion of the shoulder joint. This results in a simplified 4DOF model.     

Figure 24 Santos™ (Virtual Human)

Figure 25 below shows the new 4DOF model of the arm.

Figure 25 Simplified Model

Where:

a: is the distance between the shoulder joint and the elbow joint. As shown in Fig() above.

b: is the distance from the elbow joint to the tracking point. As shown in Fig().

The joints are subject to the following constraints:

 , , ,

The DH Table

Before going through the Jacobian rank deficiency method to compute the singularity surfaces that form the envelope, we need to calculate [X(q)] which is the vector that describes the location of the tracking point with respect to the origin -which in this case is at the shoulder joint-. The Denavit-Hartenberg method described earlier in this chapter is used to calculate the transformation matrix  from which the required position vector can be obtained. Table 1 below shows the corresponding DH-Table for the 4DOF arm described before.

Table 1 Corresponding DH-Table

Now the position vector [X(q)] can be computed from the following equation:

Which is:

Before computing the Jacobian we need to transform the inequality constraints (joints limits) into equality constraints. Which are:

Now we can construct the constraint function, which is:

The next step is to find the Jacobian of [X(q)], which will be

Where:

(1) Type I singularity sets:

Since the matrix [Xq] is a 3x4 matrix we need to calculate the determinants of all possible 3x3 sub-matrices. Which are:

 

Equating the four equations to zero and solving that simultaneously yields:

(2) Type II singularity sets:

Substituting the first joint limit (q1u or q1l) in [X(q)] and calculating the Jacobian again will result in a 3x3 square matrix, since [X(q)] will loose one degree of freedom. Calculating the determinant of the resulting matrix and equating that to zero will result in the following set of singularities:

Applying the same procedure by substituting the joint limits of (q2) in [X(q)] will result in the following set of singularities:

Applying the same for (q3) yields:

Applying the same procedure for (q4) will not yield any singularities. So the singularities of the second type are

(3) Type III singularity sets:

The last singularity set is the singularities of the [ql] matrix, which is nothing more than all the possible combinations of the joints limits taken two at a time. The resulting singularities are:

These singularities  form forty-seven surfaces that form the reach envelope of the 4DOF arm model described before. These singularities work for any range of motion and any links length. However one should consider to check all the singularities if it satisfy the joint constraints or not.

 

In our application we will use different ranges of motions for different percentiles (5th percentile person to 95th percentile person). Table 2 below shows the joints limits and the links lengths used for computing the workspace for the specified percentiles [Chaffin and Andersson, 1984].

 

 

ROM q1

ROM q2

ROM q3

ROM q4

Link a (cm)

Link b (cm)

95%ile

-2.32<q1<0.96

-2.06<q2<3.04

-1.256<q3<2.67

-2.77<q4<0

34.78

47.50

90%ile

-2.25<q1<0.92

-2.02<q2<2.99

-1.20<q3<2.66

-2.73<q4<0

34.54

47.17

80%ile