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
Table of Contents
XV.1.1 History of Swept Volumes
XV.2.0 Determining the Workspace in closed form
XV.2.1 Denavit-Hartenberg Method
XV.2.2 The Jacobian Rank Deficiency method
XV.3.0 Simple Example (Planar 3 DOF arm)
XV.5.0 Implementation on Santos™
A lot of swept volume
formulations were developed lately, some of which has its own approach in
visualizing the volume of sweeping solids, and some builds up on others 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.
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. Thats 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.
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 axiss intersecting at the center of the sphere. This way, all anatomical joints can be modeled using basic kinematic pairs [Yang et al, 2004].
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 ![]()
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).
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].
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:

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:

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
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.
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 |