**T**HIS PAPER proposes an analytical methodology of inverse kinematic computation for 7-DOF redundant manipulators with joint limits. Specifically, the paper addresses how to obtain all of the feasible inverse solutions in the global configuration space where joint movable ranges are limited.

This research is motivated by the problem of the insufficient reachable region of a humanoid robot's arm, which is a 7-DOF redundant arm. The joint movable ranges of the arm are severely limited in order to avoid collisions of the arm with the body. Since the reachable region of the arm's tip depends on the selection of the redundancy, if the redundancy is ill-chosen, the reachable region would be insufficient for a required task. To overcome this problem, we have to address how to select the redundancy so that the maximum movable range is ensured under the joint limits.

Although the problem of joint limits has been addressed so far, most of the previous methods provide only joint velocities to avoid the joint limits. In general, it is difficult for velocity-based approaches to exactly evaluate the reachable region of the manipulator tip in the global configuration space under joint limits, because the region is considerably complicated and may be dispersed due to the joint limits. In addition, since our robot is controlled by a position controller like most industrial robots, it is easier to employ a position-based inverse solution rather than a velocity-based one. Thus, a position-based inverse kinematic computation method that can be applied to maximizing the reachable region under joint limits is needed.

### A. Related Work

It has long been thought that it is too difficult to derive an inverse kinematic solution for a redundant manipulator in an analytic way. For this reason, the inverse kinematic problem has usually been solved by linearizing the configuration space around a point. Namely, the problem is first mapped onto the velocity domain by using the linearized first-order instantaneous kinematic relation, which is represented by the *Jacobian matrix*, and then the instantaneous inverse solution is sought in the linearized velocity domain [1]. For a redundant manipulator, the Jacobian matrix has a null space, and effective use of the null space enables us to achieve various subtasks such as manipulability enhancement [2], torque optimization [3], obstacle avoidance [4], and singularity avoidance [5].These Jacobian-based redundancy resolutions are usable for tracking a trajectory of the manipulator tip, which may be generated dynamically. However, these methods are not suitable for the analysis of the global configuration space constrained by joint limits. To handle the global reachable region under joint limits, we have to solve the inverse kinematic problem in the position domain.

Several approaches to solving the inverse kinematic problem in the position domain have been presented. Lee and Bejczy [6] proposed an approach to deriving a closed-form inverse kinematic solution for redundant manipulators based on a joint parametrization technique. Although their method may be applicable to any DOF manipulator, selection of the joint parameters is not simple and applying the method to joint limit analysis will be quite difficult.

Dahm and Joublin [7] derived a closed-form inverse solution of a 7-DOF manipulator using the redundancy angle parameter. They also analyzed the limitation of the parameter caused by a joint limit based on a geometric construction. The analysis was, however, done for only one of the wrist joint limits, and applicability to the other joint limits was not described.

Moradi and Lee [9] developed a redundancy resolution method for minimizing elbow movement based on Dahm and Joublin's closed-form solution. They analyzed the limitation of the redundancy angle parameter for the shoulder joint limits, which were not addressed by Dahm and Joublin. But the analysis was not complete because they only addressed one of the self-motion manifolds [15].It has been shown that multiple self-motion manifolds exist for a specific tip pose, and we have to select an appropriate manifold depending on the joint configurations when solving the inverse problem. Hence, their method will not always be usable.

Asfour and Dillmann [8] analytically solved the inverse kinematics of a humanoid robot arm using a description method of the human arm's posture. But their concern is not the problem of joint limits but a redundancy resolution for human-like motion.

Tondu [10] investigated some closed-form inverse kinematic modeling methods for an anthropomorphic arm and concluded that a joint parametrization method is good for conserving the vector space nature. But it can be shown that this conclusion is not generally correct. The reason will be given in the last part of this paper.

The problem of joint limits itself has been addressed by many researchers. The most known approach to this problem is based on some kind of potential functions. Namely, the inverse solution is determined by minimizing a function that has a huge potential at every joint limit. Many methods based on this approach have been proposed [11], [12], [13], [14], but the previous methods address the problem only in the velocity domain by using the Jacobian.

There are little researches that address the problem generally in the position domain. Lück and Lee [16] studied the topological properties of a self-motion in the global configuration space constrained by joint limits. They showed that each c-bundle [15] is split into separate regions by the joint limits. The result will be helpful to know abstracted characteristics of inverse solutions, but it does not provide how to solve the actual inverse problem.

### B. Overview

As reviewed earlier, the inverse kinematic problem has to be resolved in the position domain in order to address the problem of joint limits. However, the previous inverse kinematic methods are not sufficient to obtain all the feasible solutions for a generic case taking the joint limits into account. The objective of this paper is to propose a formal and complete methodology for analytically computing all the feasible inverse solutions of 7-DOF redundant manipulators in the global configuration space constrained by joint limits. Additionally, the paper presents how to apply the method to resolving the redundancy in the position domain. As an example, a redundancy resolution method for avoiding the joint limits is also developed.

This paper is organized in the following manner. In Section II, a parameterized inverse kinematic solution is derived for a 7-DOF manipulator model. In Section III, the relations between the redundancy and the joint displacements are investigated to develop a method for identifying feasible inverse solutions under joint limits. In Section IV, how the inverse kinematic computation method is applied to the redundancy resolution problem is described. In addition, as an example, analytical redundancy resolutions for avoiding joint limits are developed. Finally, in Section V, kinematic simulations are conducted to show that the proposed methods are indeed useful for inverse kinematic computation of a 7-DOF manipulator with joint limits.

SECTION II

## Parameterized Inverse Kinematic Solution

A parameterized inverse kinematic solution for a 7-DOF manipulator model is derived in this section. First, the manipulator model assumed in this paper is described. Second, how to represent the redundancy is discussed. Then, kinematic analysis is conducted to derive a parameterized inverse kinematic solution for the manipulator model.

### A. Manipulator Model

Since the kinematic equations are highly dependent on the manipulator structure, we restrict the 7-DOF manipulator considered in this paper to the S-R-S model. A S-R-S manipulator is also known as an anthropomorphic manipulator and is often used as a humanoid's arm because the manipulator has a similar structure as a human arm. As shown in Fig. 1, seven revolute joints are arranged to form the shoulder, elbow, and wrist portions in analogy with a human arm. The shoulder joints (1, 2, and 3) can be regarded as a virtual spherical joint, because these joint axes intersect at a single point. The wrist joints (5, 6, and 7) also have the same structure. Moreover, the two adjacent joint axes are placed perpendicularly.

To describe the kinematic relation between the joint angles and the pose (position and orientation) of the manipulator's tip, let us define coordinate systems. First, the base coordinate system Σ_{0} is fixed to the ground, as shown in Fig. 1. Second, each joint coordinate system Σ_{i} (*i* = 1,⋅⋅⋅,6) is defined based on the Denavit–Hartenberg rules [17].Namely, the origin of the coordinate system Σ_{i} is placed on the joint axis *i*+1, and the *z*-axis is aligned with the joint axis. The *x*-axis is aligned with the common normal to the joint axes *i* and *i*+1.The *y*-axis is determined so that a right-hand coordinate system is formed. Finally, the tip coordinate system Σ_{7} is attached to the tip so that all the coordinate axes are aligned with the base ones when all the joint angles are zero. With these definitions, the link parameters of the manipulator are represented, as listed in Table I.It should be noted that the link parameters shown here are not unique, and therefore, different parameters may also be valid equivalently. This is because the D-H notation is not unique.

### B. Parameterization of Redundancy

To describe the redundancy of the manipulator, a parameter for representing the redundancy is required. Several parameterization methods have been developed. Lee and Bejczy [6] proposed a joint parametrization method. In their method, redundant joints are selected appropriately and the joint displacements themselves are regarded as the redundancy parameters. This approach may work well for some manipulators, but it is not suitable, at least, for a S-R-S manipulator. Though the convincing reason will be given later in Section VI, the joint parameterization approach cannot uniquely represent the redundancy of the manipulator.

Another approach to redundancy parameterization is based on a self-motion in the Cartesian space. Asfour and Dillmann [8] parameterized the self-motion of their custom-designed arm equipped with their humanoid robot. However, applying this method to a S-R-S manipulator seems to be unsuitable, since the method is specialized to the specific arm. Instead, a better parameterization method for a generic anthropomorphic manipulator has already been proposed [18].In this method, a self-motion of the manipulator is represented by an *arm angle.*As shown in Fig. 2, the arm angle ψ is defined as the angle between the arm plane, which is spanned by the shoulder, elbow, and wrist, and the reference plane. Since the arm angle is equivalent to the redundancy of the manipulator, it can be arbitrarily chosen for any pose of the manipulator's tip. In the following, this parameter is used to describe the redundancy of the S-R-S manipulator.

A troublesome problem when using this parameter is the algorithmic singularity. In the original definition [18], the reference plane is determined by a fixed vector. If this vector and the axis connecting the shoulder and wrist are collinear, the reference plane is indeterminate. To deal with this problem, an alternative definition of the reference plane is used in this paper. The S-R-S manipulator shown in Fig. 1 can be regarded as a nonredundant manipulator when the joint 3 is fixed so that the joint axes 2 and 4 are parallel. With the link parameters given in Table II, this constraint is represented by θ_{3} = 0. It can be verified that the virtual nonredundant manipulator can realize any tip pose within the movable region if no joint limits are imposed. In this case, if the tip pose is specified, the arm plane is uniquely determined without exceptions. Thus, the arm plane provided by the virtual nonredundant manipulator can always be used as the reference plane.

### C. Kinematic Equations Using Arm Angle Parameter

The tip pose can be represented by the position and orientation of the tip coordinate system viewed from the base coordinate system. Let ^{0}*x*_{7} ∊ ℜ^{3} and ^{0}*R*_{7} ∊ *SO*(3) be the tip position and orientation, respectively. The conventional forward kinematic analysis provides the kinematic relations between the joint angles and the tip pose
TeX Source
$$\eqalignno{{}^0{\bm x}_7 &= {}^0{\bm l}_{bs}+{}^0{\bm R}_3\left\{{}^3{\bm l}_{se}+{}^3{\bm R}_4\left({}^4{\bm l}_{ew}+{}^4{\bm R}_7{}^7{\bm l}_{wt}\right)\right\}\phantom{\sum}&\hbox{(1)}\cr{}^0{\bm R}_7 &= {}^0{\bm R}_3{}^3{\bm R}_4{}^4{\bm R}_7,&\hbox{(2)}}$$ where the superscript on the left side of each vector/matrix denotes the reference coordinate system; thus,^{i}*R*_{j} is the orientation of the coordinate system Σ_{j} viewed from the coordinate system Σ_{i}, and^{0}*l*_{bs}, ^{3}*l*_{se},^{4}*l*_{ew}, and ^{7}*l*_{wt} are constant vectors given by
TeX Source
$$\eqalignno{{}^0{\bm l}_{bs}&=\left[\matrix{0& 0& d_{bs}}\right]^T\cr{}^3{\bm l}_{se}&=\left[\matrix{0& -d_{se}& 0}\right]^T\cr{}^4{\bm l}_{ew}&=\left[\matrix{0& 0& d_{ew}}\right]^T\cr{}^7{\bm l}_{wt}&=\left[\matrix{0& 0& d_{wt}}\right]^T.}$$

The rotation matrix between the coordinate systems Σ_{i−1} and Σ_{i} is given by
TeX Source
$${}^{i-1}{\bm R}_i=\left[\matrix{\cos\theta_i & -\sin\theta_i\cos\alpha_i & \sin\theta_i\sin\alpha_i\cr\sin\theta_i & \cos\theta_i\cos\alpha_i & -\cos\theta_i\sin\alpha_i \cr0 & \sin\alpha_i & \cos\alpha_i}\right].\eqno{\hbox{(3)}}$$

Since a self-motion of the S-R-S manipulator is a rotation around the axis connecting the shoulder and wrist, let us first derive the axis. Let ^{0}*x*_{sw}∊ℜ^{3} be the vector from the shoulder to the wrist. This vector is computed from (1) as
TeX Source
$$\eqalignno{{}^0{\bm x}_{sw}&={}^0{\bm x}_7-{}^0{\bm l}_{bs}-{}^0{\bm R}_7\,{}^7{\bm l}_{wt}&\hbox{(4)}\cr&={}^0{\bm R}_3\left({}^3{\bm l}_{se}+{}^3{\bm R}_4{}^4{\bm l}_{ew}\right).&\hbox{(5)}}$$ Suppose that the tip position and orientation are fixed. Then, ^{0}*x*_{sw} is also fixed because all the variables in (4) are constant. Thus, any self-motion of the S-R-S manipulator for a fixed tip pose does not change the wrist position, while the wrist orientation viewed from the base does vary depending on the rotation angle around the shoulder–wrist axis. The orientational change resulting from the rotation by the angle ψ is given by
TeX Source
$${}^0{\bm R}_{\psi}={\bm I}_3+\sin\psi\left[{}^0{\bm u}_{sw}\times\right]+\left(1-\cos\psi\right)\left[{}^0{\bm u}_{sw}\times\right]^2\eqno{\hbox{(6)}}$$ where *I*}_{3} ∊ ℜ^{3 × 3} is the identity matrix,^{0}*u*_{sw} ∊ ℜ^{3} is the unit vector of ^{0}*x*_{sw}, and [^{0}*u*_{sw} ×] denotes the skew-symmetric matrix of the vector ^{0}*u*_{sw}.As a result, the wrist orientation viewed from the base coordinate system is described by
TeX Source
$${}^0{\bm R}_4 = {}^0{\bm R}_{\psi}{}^0{\bm R}_4^o\eqno{\hbox{(7)}}$$ where ^{0}*R*_{4}^{o} is the wrist orientation when the arm plane coincides with the reference plane.

As inferred from Fig. 2, the elbow joint angle is constant if the tip pose is fixed. This can be verified by computing the norm of (5), which is given by
TeX Source
$$\Vert {}^0{\bm x}_{sw}\Vert =\Vert {}^3{\bm l}_{se}+{}^3{\bm R}_4{}^4{\bm l}_{ew}\Vert .\eqno{\hbox{(8)}}$$ Since the right side of this equation includes only the elbow joint angle, it must be constant if the tip pose is fixed. Using this result, we have^{3}*R*_{4} = ^{3}*R*_{4}^{o}.Therefore, the relation (7) is simplified to
TeX Source
$${}^0{\bm R}_3 = {}^0{\bm R}_{\psi}{}^0{\bm R}_3^o.\eqno{\hbox{(9)}}$$ Substituting (9) into (1) and (2), we have the kinematic equations using the arm angle parameter
TeX Source
$$\eqalignno{{}^0{\bm x}_7 &= {}^0{\bm l}_{bs}{+}{}^0{\bm R}_{\psi}{}^0{\bm R}_3^o\left\{{}^3{\bm l}_{se}{+}{}^3{\bm R}_4\left({}^4{\bm l}_{ew}+{}^4{\bm R}_7{}^7{\bm l}_{wt}\right)\right\}\phantom{\sum}&\hbox{(10)}\cr{}^0{\bm R}_7 &= {}^0{\bm R}_{\psi}{}^0{\bm R}_3^o\,{}^3{\bm R}_4{}^4{\bm R}_7.&\hbox{(11)}}$$

### D. Inverse Kinematic Computation

Suppose that the desired tip position and orientation are specified by ^{0}*x*_{7}^{d} and ^{0}*R*_{7}^{d}, respectively. Based on the aforesaid results, we can compute the joint angles satisfying the desired tip pose in the following manner.

*1) Elbow Joint*

As shown previously, the wrist position is fixed if the tip pose is specified, and the elbow joint angle is readily derived from (8).Thus, the elbow joint angle (θ_{4})can be uniquely computed from
TeX Source
$$\cos\theta_4={\left\Vert {}^0{\bm x}_{sw}\right\Vert ^2 - d_{se}^2 - d_{ew}^2\over 2 d_{se} d_{ew}}\eqno{\hbox{(12)}}$$ where ^{0}*x*_{sw} is given by
TeX Source
$${}^0{\bm x}_{sw}={}^0{\bm x}_7^d-{}^0{\bm l}_{bs}-{}^0{\bm R}_7^d\,{}^7{\bm l}_{wt}.\eqno{\hbox{(13)}}$$

*2) Shoulder Joints*

Since the shoulder joint angles depend on the arm angle, we first have to compute the reference joint angles when the arm angle is zero. As mentioned before, the reference joint angles are determined by fixing the joint angle 3 to zero. Hence, it is derived from (5)that the reference shoulder joint angles have to satisfy the equation
TeX Source
$${}^0{\bm x}_{sw}={}^0{\bm R}_1^o\,{}^1{\bm R}_2^o\left.{}^2{\bm R}_3\right\vert _{\theta_3=0}\left({}^3{\bm l}_{se}+{}^3{\bm R}_4{}^4{\bm l}_{ew}\right).\eqno{\hbox{(14)}}$$ Since the elbow joint angle θ_{4} is given by (12), the unknown variables on the right side are only θ_{1}^{o} and θ_{2}^{o}, while the left side is the constant vector given by (13).Thus, we can compute the reference shoulder joint angles from (14).

Next, the shoulder joint angles are derived when the arm angle is given by ψ.Substituting (6) into (9), we have
TeX Source
$${}^0{\bm R}_{3}={\bm A}_s\sin\psi+{\bm B}_s\cos\psi+{\bm C}_s\eqno{\hbox{(15)}}$$ where *A*_{s}, *B*_{s}, and *C*_{s} are constant matrices given by
TeX Source
$$\eqalignno{{\bm A}_s&=\left[{}^0{\bm u}_{sw}\times\right]\,{}^0{\bm R}_3^o\cr{\bm B}_s&=-\left[{}^0{\bm u}_{sw}\times\right]^2\,{}^0{\bm R}_3^o\cr{\bm C}_s&=\left[{}^0{\bm u}_{sw}{}^0{\bm u}_{sw}^T\right]\,{}^0{\bm R}_3^o}$$ and the rotation matrix ^{0}*R*_{3} is given by
TeX Source
$${}^0{\bm R}_3=\left[\matrix{{}* & -\cos\theta_1\sin\theta_2 & {}* \cr{}* & -\sin\theta_1\sin\theta_2 & {}* \cr-\sin\theta_2\cos\theta_3 & -\cos\theta_2 & \sin\theta_2\sin\theta_3}\right]$$ where the elements denoted by * are omitted here. Combining some elements of this matrix, we can get the relations between the arm angle and the shoulder joint angles
TeX Source
$$\eqalignno{\tan\theta_1&={-a_{s22}\sin\psi-b_{s22}\cos\psi-c_{s22}\over -a_{s12}\sin\psi-b_{s12}\cos\psi-c_{s12}}&\hbox{(16)}\cr\cos\theta_2&=-a_{s32}\sin\psi-b_{s32}\cos\psi-c_{s32}&\hbox{(17)}\cr\tan\theta_3&={a_{s33}\sin\psi+b_{s33}\cos\psi+c_{s33}\over -a_{s31}\sin\psi-b_{s31}\cos\psi-c_{s31}}&\hbox{(18)}}$$ where *a*_{sij}, *b*_{sij}, and *c*_{sij} are the (*i*, *j*) elements of the matrices *A*_{s}, *B*_{s}, and *C*_{s}, respectively. Given the arm angle, we can compute the shoulder joint angles from these equations.

*3) Wrist Joints*

Substituting (6) into (11) yields
TeX Source
$${}^4{\bm R}_{7}={\bm A}_w\sin\psi+{\bm B}_w\cos\psi+{\bm C}_w\eqno{\hbox{(19)}}$$ where *A*_{w}, *B*_{w}, and *C*_{w} are constant matrices given by
TeX Source
$$\eqalignno{{\bm A}_w&={}^3{\bm R}_4^T\,{\bm A}_s^T\,{}^0{\bm R}_7^d\cr{\bm B}_w&={}^3{\bm R}_4^T\,{\bm B}_s^T\,{}^0{\bm R}_7^d\cr{\bm C}_w&={}^3{\bm R}_4^T\,{\bm C}_s^T\,{}^0{\bm R}_7^d}$$ and the rotation matrix ^{4}*R*_{7} is given by
TeX Source
$${}^4{\bm R}_7=\left[\matrix{{}* & {}* & \cos\theta_5\sin\theta_6\cr{}* & {}* & \sin\theta_5\sin\theta_6\cr-\sin\theta_6\cos\theta_7 & \sin\theta_6\sin\theta_7 & \cos\theta_6}\right].$$ Thus, the relations between the arm angle and the wrist joint angles are derived as
TeX Source
$$\eqalignno{\tan\theta_5&={a_{w23}\sin\psi+b_{w23}\cos\psi+c_{w23}\over a_{w13}\sin\psi+b_{w13}\cos\psi+c_{w13}}&\hbox{(20)}\cr\cos\theta_6&=a_{w33}\sin\psi+b_{w33}\cos\psi+c_{w33}&\hbox{(21)}\cr\tan\theta_7&={a_{w32}\sin\psi+b_{w32}\cos\psi+c_{w32}\over -a_{w31}\sin\psi-b_{w31}\cos\psi-c_{w31}}.&\hbox{(22)}}$$ Given the arm angle, we can compute the wrist joint angles from these equations.

### E. Dealing With Singularity

It is well known that one of the big problems in inverse kinematic computation is kinematic singularity. For a S-R-S manipulator, three distinct types of singularity exist, which are the shoulder, elbow, and wrist singularities [19]. Since the elbow singularity occurs only when the tip reaches the boundary of its workspace [20], we do not consider this type of singularity here. However, the other singularities could occur inside the workspace.

In the inverse kinematic computation presented earlier, the wrist singularity does not cause any trouble, while the shoulder singularity causes a difficulty in deriving the closed-form solution. If the wrist lies on the extended line of the joint axis 1, the reference angle of the joint 1 is not uniquely determined. In this case, the joint angle 1 is equivalent to the arm angle;thus, the reference joint angles can be uniquely determined by constraining θ_{1} to zero. With this remedy, we can cope with the difficulty about the singularities.

SECTION III

## Feasible Inverse Solutions Under Joint Limits

When the joint movable ranges are limited, not all the inverse kinematic solutions are feasible. For a S-R-S manipulator, even if the tip pose is specified, the arm angle is still arbitrary. Hence, we have to know feasible arm angles to compute a feasible inverse solution. This section discusses how to identify the set of feasible arm angles under joint limits. First, the relations between the arm angle and the joint angles are investigated. Then, a method to identify the set of feasible arm angles is developed.

### A. Relation Between Arm Angle and Joint Angles

As shown in the previous section, the elbow joint angle is independent on the arm angle, while the other joint angles are subject to the arm angle. As described by (16)– (18)and (20)– (22), each of the shoulder and wrist joint angles can be represented generally by
TeX Source
$$\tan\theta_i={a_n\sin\psi+b_n\cos\psi+c_n\over a_d\sin\psi+b_d\cos\psi+c_d}\eqno{\hbox{(23)}}$$ or
TeX Source
$$\cos\theta_i=a\sin\psi+b\cos\psi+c.\eqno{\hbox{(24)}}$$ This suggests that we have only to investigate these two functions to know the relations between the arm angle and all the joint angles. In the following, the joint angles represented by (23) and (24)are referred to as the *tangent type* and the *cosine type*, respectively, and each type is analyzed in detail.

*1) Tangent Type*

Suppose that a joint angle θ_{i} is given by
TeX Source
$$\tan\theta_i={f_n\left(\psi\right)\over f_d\left(\psi\right)}\eqno{\hbox{(25)}}$$ where *f*_{n}(ψ) and *f*_{d}(ψ) are described by
TeX Source
$$\eqalignno{f_n\left(\psi\right)&=a_n\sin\psi+b_n\cos\psi+c_n \cr f_d\left(\psi\right)&=a_d\sin\psi+b_d\cos\psi+c_d.}$$ Differentiating (25) with respect to ψ yields
TeX Source
$${d\theta_i\over d\psi}={a_t\sin\psi+b_t\cos\psi+c_t\over f_n^2\left(\psi\right)+f_d^2\left(\psi\right)}\eqno{\hbox{(26)}}$$ where *a*_{t}, *b*_{t}, and *c*_{t} are constants given by
TeX Source
$$\eqalignno{a_t&=b_dc_n-b_nc_d \cr b_t&=a_nc_d-a_dc_n \cr c_t&=a_nb_d-a_db_n.}$$

It can be verified that stationary points of the joint angle θ_{i} exist if the following condition is satisfied:
TeX Source
$$a_t^2+b_t^2-c_t^2 > 0.\eqno{\hbox{(27)}}$$ If this is the case, the joint angle θ_{i} is minimized or maximized at the two arm angles
TeX Source
$$\eqalignno{\psi_0^{-}&=2\tan^{-1}\displaystyle{a_t-\sqrt{a_t^2+b_t^2-c_t^2}\over b_t-c_t}&\hbox{(28)}\cr\psi_0^{+}&=2\tan^{-1}\displaystyle{a_t+\sqrt{a_t^2+b_t^2-c_t^2}\over b_t-c_t}.&\hbox{(29)}}$$

Computing the second-order differential coefficient, we can see that the function θ_{i}(ψ) is globally minimized at either one of the two points ψ_{0}^{−} and ψ_{0}^{+}, while it is globally maximized at the other point. Thus, if the condition (27) is ensured, the profile of the joint angle with respect to the arm angle is drawn, as shown in Fig. 3(a).

Next, suppose that
TeX Source
$$a_t^2+b_t^2-c_t^2 < 0.\eqno{\hbox{(30)}}$$ If this is the case, no stationary point exists. Hence, the function θ_{i}(ψ) is monotonic. Thus, if the condition (30) is ensured, the profile of the joint angle is drawn, as shown in Fig. 3(b).

Lastly, suppose that
TeX Source
$$a_t^2+b_t^2-c_t^2 = 0.\eqno{\hbox{(31)}}$$ If this is the case, a single stationary point exists. The arm angle associated with the stationary point is given by
TeX Source
$$\psi_0=2\tan^{-1}{a_t\over b_t-c_t}.\eqno{\hbox{(32)}}$$ It can be verified that both the numerator and denominator in (25) are zero at this arm angle. This means that the arm angle is a singular point because the joint angle θ_{i} is indeterminate at this arm angle.

To examine the profile around the singular arm angle, let us conduct the limit analysis. Computing the function (25) at the arm angle ψ_{0}+δ, we have
TeX Source
$$\tan\theta_i={{\sin\delta\over c_t}\left\{\left(1+\cos\delta\right)\left(a_tb_n-b_ta_n\right)+c_tc_n\sin\delta\right\}\over {\sin\delta\over c_t}\left\{\left(1+\cos\delta\right)\left(a_tb_d-b_ta_d\right)+c_tc_d\sin\delta\right\}}.\eqno{\hbox{(33)}}$$ Thus, the left-hand and right-hand limits are given, respectively, by
TeX Source
$$\eqalignno{\lim_{\delta \to -0}\tan\theta_i&={-{1\over c_t}\left(a_tb_n-b_ta_n\right)\over -{1\over c_t}\left(a_tb_d-b_ta_d\right)}&\hbox{(34)}\cr\lim_{\delta \to +0}\tan\theta_i&={{1\over c_t}\left(a_tb_n-b_ta_n\right)\over {1\over c_t}\left(a_tb_d-b_ta_d\right)}.&\hbox{(35)}}$$ This indicates that the joint angles at the left and right sides of the singular arm angle are π radians apart. It can also be verified that the gradient of the joint angle has the same sign at any arm angle except the singular one. Since the magnitudes of the left-hand and right-hand limits depend on the various parameters appearing in (34) and (35), two different profiles of the joint angle are possible, as shown in Fig. 3(c) and (d).

*2) Cosine Type*

Suppose that a joint angle θ_{i} is given by
TeX Source
$$\cos\theta_i=a\sin\psi+b\cos\psi+c.$$ Differentiating both sides with respect to ψ, we get
TeX Source
$${d\theta_i\over d\psi}=-{1\over \sin\theta_i}\left(a\cos\psi-b\sin\psi\right).\eqno{\hbox{(36)}}$$

If sin θ_{i} is not zero, two stationary points exist, and the corresponding arm angles are given by
TeX Source
$$\eqalignno{\psi_0^{-}&=2\tan^{-1}{-b-\sqrt{a^2+b^2}\over a}&\hbox{(37)}\cr\psi_0^{+}&=2\tan^{-1}{-b+\sqrt{a^2+b^2}\over a}.&\hbox{(38)}}$$ It can be proven that the function θ_{i}(ψ) is globally minimized at either one of the two arm angles ψ_{0}^{−} and ψ_{0}^{+}, while it is globally maximized at the other one. Thus, the profile of the joint angle for the cosine type is drawn, as shown in Fig. 4(a).

Next, let us consider the singular case where sin θ_{i} = 0.It can be proven that this singularity occurs if
TeX Source
$$a^2+b^2-\left(c-1\right)^2=0\eqno{\hbox{(39)}}$$ or
TeX Source
$$a^2+b^2-\left(c+1\right)^2=0.\eqno{\hbox{(40)}}$$

If the condition (39) is satisfied, θ_{i} = 0 at the arm angle
TeX Source
$$\psi_0=2\tan^{-1}{a\over b-\left(c-1\right)}.\eqno{\hbox{(41)}}$$ It can be verified that the arm angles described by (38) and (41) are equal. This indicates that the gradient at the arm angle is indeterminate. But we can know the left-hand and right-hand limits with respect to the singular arm angle by the limit analysis. The gradient at ψ_{0}^{+}+δ is given by
TeX Source
$$\left.{d\theta_i\over d\psi}\right\vert _{\psi_0^{+}+\delta}={\sin\delta\sqrt{1+\cos\delta}\sqrt{1-c}\over \sqrt{\sin^2\delta}\sqrt{1+\cos\theta_i}}.$$ Thus, the left-hand and right-hand limits of the gradient are given, respectively, by
TeX Source
$$\eqalignno{\lim_{\delta \to -0}{d\theta_i\over d\psi}&=-\sqrt{1-c}&\hbox{(42)}\cr\lim_{\delta \to +0}{d\theta_i\over d\psi}&=\sqrt{1-c}.&\hbox{(43)}}$$

On the other hand, if the condition (40)is satisfied, θ_{i} = π at the arm angle
TeX Source
$$\psi_0=2\tan^{-1}{a\over b-\left(c+1\right)}\eqno{\hbox{(44)}}$$ which is equal to ψ_{0}^{−}, given by (37).Although the gradient at the arm angle is indeterminate, we can get the left-hand and right-hand limits with respect to the singular arm angle. Since the gradient at ψ_{0}^{−}+δ is given by
TeX Source
$$\left.{d\theta_i\over d\psi}\right\vert _{\psi_0^{-}+\delta}={-\sin\delta\sqrt{1+\cos\delta}\sqrt{1+c}\over \sqrt{\sin^2\delta}\sqrt{1-\cos\theta_i}}$$ the left-hand and right-hand limits are given, respectively, by
TeX Source
$$\eqalignno{\lim_{\delta \to -0}{d\theta_i\over d\psi}&=\sqrt{1+c}&\hbox{(45)}\cr\lim_{\delta \to +0}{d\theta_i\over d\psi}&=-\sqrt{1+c}.&\hbox{(46)}}$$

As a consequence, the profile of the joint angle for the singular case is classified into two types corresponding to the conditions (39) and (40). Each of the profiles is drawn, as shown in Fig. 4(b) and (c).

### B. Feasible Arm Angles

Assume that the joint movable ranges are given by
TeX Source
$$\theta_i^l\le\theta_i\le\theta_i^u,\quad\quad (i=1,2,\cdots,7)\eqno{\hbox{(47)}}$$ where θ_{i}^{l} and θ_{i}^{u} are the lower and upper bounds of the *i* th joint angle θ_{i}, respectively. In the following, we discuss how to obtain the set of feasible arm angles to satisfy these constraints.

As shown earlier, the relations between the arm angle and the joint angles are generally classified into two types. One is represented by a monotonic function. Namely, a joint angle monotonically varies with the variation of the arm angle, as shown in Fig. 3(b). The other type is represented by a cyclic function. In this case, a joint angle cyclically varies with the variation of the arm angle, as shown in Fig. 3(a) or 4(a). Since the regions of feasible arm angles differ from the function type, we investigate feasible arm angles for each type separately.

*1) Feasible Arm Angles for Monotonic Function*

If the function type of a joint angle is monotonic, a one-to-one correspondence between the joint angle and the arm angle is ensured. Namely, there exists a unique arm angle associated with a joint angle, or inversely, there exists a unique joint angle associated with an arm angle. Hence, we can obtain the unique arm angles ψ^{l} and ψ^{u} associated with the lower and upper bounds θ_{i}^{l} and θ_{i}^{u}, respectively. Moreover, the property of monotonicity guarantees that the closed region bounded by these arm angles is the sole region of feasible arm angles.

*2) Feasible Arm Angles for Cyclic Function*

If the function type of a joint angle is cyclic, one-to-one correspondence between the joint angle and the arm angle is not ensured. As shown previously, there exist the global minimum and maximum, and the corresponding arm angles are both unique within a range of 2π radians. Let ψ_{0}^{min} and ψ_{0}^{max} be the arm angles associated with the global minimum θ_{i}^{min} and the global maximum θ_{i}^{max}, respectively. It can be verified that the regions of feasible arm angles are classified into the following five cases, depending on the lower bound θ_{i}^{l} and the upper bound θ_{i}^{u}, as well as the global minimum and maximum:

θ_{i}^{min} > θ_{i}^{u} or θ_{i}^{max} < θ_{i}^{l}:

No feasible regions of the arm angle exist.

θ_{i}^{min} < θ_{i}^{l} and θ_{i}^{l}≤θ_{i}^{max}≤θ_{i}^{u}:

Since ψ_{0}^{max} is feasible but ψ_{0}^{min} is not, a certain region including the point ψ_{0}^{max} is feasible. The boundaries of the region are given by solving θ_{i}(ψ) = θ_{i}^{l}.

θ_{i}^{l}≤θ_{i}^{min}≤θ_{i}^{u} and θ_{i}^{max} > θ_{i}^{u}:

Since ψ_{0}^{min} is feasible but ψ_{0}^{max} is not, a certain region including the point ψ_{0}^{min} is feasible. The boundaries of the region are given by solving θ_{i}(ψ) = θ_{i}^{u}.

θ_{i}^{min} < θ_{i}^{l} and θ_{i}^{max} > θ_{i}^{u}:

Since both ψ_{0}^{min} and ψ_{0}^{max} are infeasible but somewhere in between the two points is feasible, the feasible region is given by excluding two regions, which include ψ_{0}^{min} and ψ_{0}^{max}, respectively, from the entire domain of the arm angle. The boundaries of the infeasible regions are given by solving θ_{i}(ψ) = θ_{i}^{l} and θ_{i}(ψ) = θ_{i}^{u}.

θ_{i}^{l}≤θ_{i}^{min}≤θ_{i}^{u} and θ_{i}^{l}≤θ_{i}^{max}≤θ_{i}^{u}:

The entire domain is feasible.

*3) Dealing With Singularity*

As shown before, there is a special case that a joint angle cannot be uniquely determined even if the arm angle is specified. This singularity occurs only for joints of the tangent type. If the condition given by (31) is ensured, uniqueness and continuity of a joint angle are lost at the singular arm angle.

In general, avoiding singularity is not a simple problem. But, fortunately, we can identify the singular arm angle from (32).Since all the joint angles can be uniquely determined for any arm angle except the singular one, we should avoid the singular arm angle.

*4) Summary*

The set of the feasible arm angles satisfying the joint limit for a single joint is given by one of the following:the null set, a single region, the union of two or more separate regions. This is expressed generally by
TeX Source
$$\Psi_i=\bigcup_{j=1}^{n_i}\Psi_{ij}\eqno{\hbox{(48)}}$$ where Ψ_{i} is the set of feasible arm angles satisfying the joint limit described by θ_{i}^{l}≤θ_{i}≤θ_{i}^{u}, Ψ_{ij} is a closed region of feasible arm angles, and *n*_{i} is the number of the closed regions.

Since all the joint limits have to be satisfied simultaneously, the set of feasible arm angles has to be
TeX Source
$$\Psi=\bigcap_{i=1}^{7}\Psi_i.\eqno{\hbox{(49)}}$$ If the arm angle is included in the set Ψ, all the joint limits are reliably satisfied. Moreover, if the set Ψ is empty, then the specified tip pose is never achieved for any joint angles satisfying the joint limits.

SECTION IV

## Application to Redundancy Resolution

For a redundant manipulator, how to resolve the redundancy is one of the major issues. This section presents how the inverse kinematic computation methodology discussed earlier is applied to the redundancy resolution problem. First, a general approach to resolving the redundancy is described. Then, an example of redundancy resolutions based on the approach is presented.

### A. General Approach

The most popular approach to the redundancy resolution problem is based on some kind of a cost function. Namely, the inverse solution is uniquely determined so that the cost function is optimized. Since most of the previous methods are based on the Jacobian, the problem is solved in the velocity domain. However, our goal in this paper is to solve the problem in the position domain.

The redundancy resolution problem based on a cost function in the position domain is described generally by
TeX Source
$$\matrix{{\rm minimize} & f\left({\bm \theta}\right)\cr\hbox{subject to} & g\left({\bm \theta}\right)={\bm x}^d\cr{} & {\bm \theta}^l\le{\bm \theta}\le{\bm \theta}^u}\eqno{\hbox{(50)}}$$ where *f*(*θ*) is the cost function, *g*(*θ*) is the forward kinematic mapping from joint angles to the generalized tip pose,*x*^{d} is the desired tip pose described in the generalized coordinate system, and *θ*^{l}≤*θ* ≤ *θ*^{u} denotes the joint limits. For a S-R-S manipulator, the problem is to find the optimal joint angles in the 7-D joint space constrained by six equality and 14 inequality constraints. Solving this constrained optimization problem in the global joint space may be extremely difficult, because, in most cases, the objective function *f* and the kinematic constraints *g* are nonlinear.

Using the inverse kinematic computation methodology proposed in this paper, we can incredibly simplify the optimization problem. The joint angles satisfying the desired tip pose are explicitly given by (12), (16)– (18), and (20)– (22).Since the joint angles are parameterized by the arm angle ψ, the objective function *f*(*θ*) is transformed into *f*(ψ). Furthermore, the kinematic constraints denoted by *g* are needless, because the closed-form joint angles ensure the kinematic constraints theoretically. Moreover, the feasible arm angles satisfying the joint limits can be analytically obtained, as shown in (49).

As a result, the redundancy resolution problem described by (50) is drastically simplified to
TeX Source
$$\matrix{{\rm minimize} & f\left(\psi\right)\cr\hbox{subject to} & \psi\in\Psi.}\eqno{\hbox{(51)}}$$ Therefore, we only have to solve the 1-D optimization problem to resolve the redundancy. The 1-D optimization problem is relatively easy and analytically solvable in some cases. An example is shown next.

### B. Application to Joint Limit Avoidance

When a joint angle reaches its limit, a special singularity called *semisingularity* occurs. Dealing with the semisingularity is difficult compared to a kinematic singularity, as discussed in [21].Thus, joint limits should be avoided as much as possible. In the following, methods to avoid joint limits are developed based on the approach described earlier.

*1) Approach*

We have observed that the elbow joint angle is not affected by the arm angle, while the shoulder and wrist joint angles are subject to the arm angle. This implies that the shoulder and wrist joint limits could be avoided by regulating the arm angle.

Each of the shoulder and wrist portions can be regarded as a virtual spherical joint. Let *R* ∊ *SO*(3) be the actual orientation of the virtual spherical joint. Also, let *R*^{d}∊ *SO*(3) be the desired orientation, where the three joints that constitute the spherical joint are at desired angles. If the desired angles are farthest from the limits, the problem of avoiding the joint limits is equivalent to that of making *R* close to *R*^{d}.It is also equivalent to the problem of making *R**R*^{dT} close to the identity matrix.

It is known that a rotation matrix is represented by the combination of an axis and a rotation angle around the axis. Since the magnitude of the rotation matrix is represented by the rotation angle, one of the indices that characterize the rotation matrix is the rotation angle.

Let φ≥ 0 be the rotation angle of *R**R*^{dT}.Then, the problem of making *R**R*^{dT} close to the identity matrix is reduced to that of making φ close to zero, because *R**R*^{dT} becomes the identity matrix if φ = 0 for any rotation axis. Thus, we only have to minimize the rotation angle φ to avoid the joint limits of the virtual spherical joint.

Based on this theory, joint limit avoidance methods for each of the shoulder and wrist joints are developed in the following. As an extension of these methods, a joint limit avoidance method for overall joints is also developed.

*2) Shoulder Joint Limit Avoidance*

Let θ_{1}^{d}, θ_{2}^{d}, and θ_{3}^{d} be the desired angles of joints 1, 2, and 3, respectively. Also, let ^{0}*R*_{3}^{d} be the desired orientation of the shoulder portion associated with the desired joint angles. The difference between the actual and desired orientations is described by
TeX Source
$${}^0{\bm R}_3\,{}^0{\bm R}_3^{dT}{=}{\bm I}_3{+}\sin\phi_s\left[{}^0{\bm u}_s{\times}\right]{+}\left(1-\cos\phi_s\right)\left[{}^0{\bm u}_s\times\right]^2\eqno{\hbox{(52)}}$$ where *u*_{s}∊ℜ^{3} and φ_{s} ≥ 0 are the unit vector of the rotation axis and the rotation angle around the axis, respectively.

Substituting (15) into (52) and computing its trace, we have
TeX Source
$$\eqalignno{\hbox{trace}\left({}^0{\bm R}_3\,{}^0{\bm R}_3^{dT}\right)&=a_s\sin\psi+b_s\cos\psi+c_s\cr&=1+2\cos\phi_s}$$ where*a*_{s} = trace(*A*_{s} ^{0}*R*_{3}^{dT}),*b*_{s} = trace(*B*_{s} ^{0}*R*_{3}^{dT}), and*c*_{s} = trace(*C*_{s} ^{0}*R*_{3}^{dT}).Hence, the problem of minimizing φ_{s} is equivalent to that of maximizing the objective function
TeX Source
$$f_s\left(\psi\right)=a_s\sin\psi+b_s\cos\psi+c_s.$$

It can be verified that the function has two stationary points and the corresponding arm angles are given by
TeX Source
$$\eqalignno{\psi_s^{-}&=2\tan^{-1}{-b_s-\sqrt{a_s^2+b_s^2}\over a_s}&\hbox{(53)}\cr\psi_s^{+}&=2\tan^{-1}{-b_s+\sqrt{a_s^2+b_s^2}\over a_s}.&\hbox{(54)}}$$ It can also be verified that the function is globally maximized at either of the two arm angles. Let ψ_{s}^{opt} be the arm angle to maximize the objective function *f*_{s}.Then, the optimal arm angle for shoulder joint limit avoidance is given by ψ_{s}^{opt}.

If the optimal arm angle is infeasible due to the joint limits, we have to modify the solution. Since the objective function *f*_{s} shows a monotonic increase within the range [ψ_{s}^{opt}−π, ψ_{s}^{opt}] and a monotonic decrease within the range [ψ_{s}^{opt}, ψ_{s}^{opt}+π], the feasible and optimal arm angle is the one that is included in the set of feasible arm angles and nearest to the optimal arm angle ψ_{s}^{opt}. Since the dimension of the arm angle space is 1, a search for the feasible solution is simple, as depicted in Fig. 5. If ψ_{i}^{max} is nearer to ψ_{s}^{opt} than ψ_{i+1}^{min}, the solution is ψ_{i}^{max}. Otherwise, the solution is ψ_{i+1}^{min}.

*3) Wrist Joint Limit Avoidance*

The optimal arm angle for wrist joint limit avoidance can be derived in a similar way. Let θ_{5}^{d}, θ_{6}^{d}, and θ_{7}^{d} be the desired angles of joints 5, 6, and 7, respectively. Let ^{4}*R*_{7}^{d} be the desired orientation of the wrist portion associated with the desired joint angles. In this case, the objective function is obtained from (19) as
TeX Source
$$f_w\left(\psi\right)=a_w\sin\psi+b_w\cos\psi+c_w$$ where*a*_{w} = trace(*A*_{w} ^{4}*R*_{7}^{dT}),*b*_{w} = trace(*B*_{w} ^{4}*R*_{7}^{dT}), and*c*_{w} = trace(*C*_{w} ^{4}*R*_{7}^{dT}).

It can be verified that the function is globally minimized or maximized at the arm angles
TeX Source
$$\eqalignno{\psi_w^{-}&=2\tan^{-1}{-b_w-\sqrt{a_w^2+b_w^2}\over a_w}&\hbox{(55)}\cr\psi_w^{+}&=2\tan^{-1}{-b_w+\sqrt{a_w^2+b_w^2}\over a_w}.&\hbox{(56)}}$$ Let ψ_{w}^{opt} be the arm angle to maximize the objective function *f*_{w}. If ψ_{w}^{opt} is feasible under the joint limits, it is the optimal arm angle to avoid the wrist joint limits. If it is infeasible, the solution is the arm angle that is feasible and nearest to ψ_{w}^{opt}.

*4) Overall Joint Limit Avoidance*

Finally, a method to avoid all the joint limits simultaneously is developed based on the aforesaid methods. As shown earlier, the problems of avoiding the shoulder and wrist joint limits are reduced to maximizing the objective functions*f*_{s} and *f*_{w}, respectively. Therefore, it is expected that the shoulder and wrist joint limits are simultaneously avoided by maximizing an objective function associated with *f*_{s} and *f*_{w}.A candidate of such objective functions is, for example
TeX Source
$$f\left(\psi\right)={r_sf_s\left(\psi\right)+r_wf_w\left(\psi\right)\over r_s+r_w}\eqno{\hbox{(57)}}$$ where *r*_{s}≥0 and *r*_{w}≥0 are the weighting factors.

This objective function is globally minimized or maximized at the arm angles
TeX Source
$$\eqalignno{\psi^{-}&=2\tan^{-1}{-b-\sqrt{a^2+b^2}\over a}&\hbox{(58)}\cr\psi^{+}&=2\tan^{-1}{-b+\sqrt{a^2+b^2}\over a}&\hbox{(59)}}$$ where *a* = *r*_{s} *a*_{s} + *r*_{w} *a*_{w} and *b* = *r*_{s} *b*_{s} + *r*_{w} *b*_{w}.Let ψ^{opt} be the arm angle to maximize the objective function *f.* If ψ^{opt} is feasible under the joint limits, it is the optimal arm angle to avoid the shoulder and wrist joint limits simultaneously. If it is infeasible, the optimal arm angle is the one that is feasible and nearest to ψ^{opt}.

To verify the availability of the methods proposed earlier, kinematic simulations are done in this section. As a realistic example, the methods are applied to a PA10-7C arm manufactured by Mitsubishi Heavy Industries. This manipulator has the same structure as shown in Fig. 1. The link parameters of the manipulator are obtained from its specifications as follows: *d*_{bs} = 0.317 (m),*d*_{se} = 0.45 (m), *d*_{ew} = 0.48 (m),*d*_{wt} = 0.07 (m). Although the mechanical joint movable ranges of the manipulator are adequately wide, assume here that the joint movable ranges are limited, as listed in Table II, due to environmental constraints.

In the following, how the feasible arm angles are obtained is shown. In addition, the effectiveness of the joint limit avoidance methods presented earlier is examined.

### A. Feasible Arm Angles

Suppose that the desired tip pose is specified by
TeX Source
$$\eqalignno{{}^0{\bm x}_7^d&=\left[\matrix{0.5 & 0.2 & 0.7}\right]^T \,{\rm (m)}&\hbox{(60)}\cr{}^0{\bm R}_7^d&=\left[\matrix{0.067 & 0.933 & 0.354\cr0.933 & 0.067 & -0.354\cr-0.354 & 0.354 & -0.866}\right].&\hbox{(61)}}$$ The set of feasible arm angles for each joint limit can be computed according to the method presented in Section III.The results are shown as
TeX Source
$$\eqalignno{\Psi_1&=\left[-180,\;-44.629\right]\cup\left[-27.875,\;180\right]\,\hbox{(degree)}\cr\Psi_2&=\left[-62.733,\;62.733\right]\,\hbox{(degree)}\cr\Psi_3&=\left[-89.286,\;89.286\right]\,\hbox{(degree)}\cr\Psi_4&=\left[-180,\;180\right]\,\hbox{(degree)}\cr\Psi_5&=\left[-145.538,\;82.690\right]\,\hbox{(degree)}\cr\Psi_6&=\left[-87.750,\;24.902\right]\,\hbox{(degree)}\cr\Psi_7&=\left[-180,\;3.472\right]\cup\left[133.540,\;180\right]\,\hbox{(degree)}}$$ where the domain of the arm angle is[−180, 180] (degree).

The set of feasible arm angles for every joint limit is the intersection of these regions. Computing the intersection yields
TeX Source
$$\Psi=\left[-62.733,\;-44.629\right]\cup\left[-27.875,\;3.472\right]\,\hbox{(degree)}.$$ The ranges of feasible postures of the manipulator are shown in Fig. 6. Notice that the set of feasible arm angles is composed of two separate regions. It may be technically difficult for numerical or Jacobian-based methods to find all of the globally dispersed regions. However, our analytical method can easily dig out all the regions, and moreover, the regions are theoretically exact.

### B. Joint Limit Avoidance

Suppose that the desired tip pose is specified by
TeX Source
$$\eqalignno{{}^0{\bm x}_7^d&=\left[\matrix{0.65 & 0 & 0.5}\right]^T \,{\rm (m)}\cr{}^0{\bm R}_7^d&=\left[\matrix{0 &- 1 & 0\cr-1 & 0 & 0\cr0 & 0 & -1}\right].}$$ The set of feasible arm angles for this tip pose is given by
TeX Source
$$\Psi=\left[-43.246,\;43.246\right].$$ The optimal arm angles ψ_{s}^{opt}, ψ_{w}^{opt}, and ψ^{opt} for avoiding the shoulder, wrist, and overall joint limits, respectively, can be computed by the methods presented in the previous section. The results are
TeX Source
$$\eqalignno{\psi_s^{\rm opt}&=0 \,\hbox{(degree)}\cr\psi_w^{\rm opt}&=43.246 \,\hbox{(degree)}\cr\psi^{\rm opt}&=25.017 \,\hbox{(degree)}}$$ where the weighting factors *r*_{s} and *r*_{w}in (57) are specified by *r*_{s} = *r*_{w} = 0.5.

To check the validity of the results, computing the joint angles at ψ = 0 and ψ^{opt}, we have
TeX Source
$$\eqalignno{{\bm \theta}\left(0 \right)&= [0, \; 25.666, \; 0, \; 82.872, \; 0, \; 71.463, \cr&\quad -90]^T\,\hbox{(degree)}\cr{\bm \theta}\left(\psi^{opt}\right)&=\left[\matrix{-32.325, & 32.687, & 46.864, & 82.872,}\right. \cr& \left. \phantom{[}\matrix{-24.101, & 74.814, & -73.709}\right]^T\,\hbox{(degree)}.}$$ As shown, the absolute value of the maximal joint angle at ψ = 0 is | θ_{7}| = 90, while the one at ψ^{opt} is | θ_{6} | = 74.814. Thus, the joint limit avoidance method is effective for keeping the joint angles away from the limits.

Lastly, let us investigate how the joint limit avoidance methods affect the reachable region of the tip.

Assume now that the tip rotates around the *z*-axis from the initial pose
TeX Source
$$\eqalignno{{}^0{\bm x}_7^d&=\left[\matrix{0.65 & 0 & 0.5}\right]^T \,\hbox{(m)}\cr{}^0{\bm R}_7^d&=\left[\matrix{-1 & 0 & 0\cr0 & 1 & 0\cr0 & 0 & -1}\right].}$$ Thus, the orientation of the tip is represented by
TeX Source
$${}^0{\bm R}_7^d=\left[\matrix{-\cos\gamma & -\sin\gamma & 0\cr-\sin\gamma & \cos\gamma & 0\cr0 & 0 & -1}\right]$$ where γ is the rotation angle around the *z*-axis. In this case, the reachable region of the tip is represented by the reachable range of the rotation angle.

When the arm angle is fixed to zero during the operation, the reachable range of γ is given by
TeX Source
$$\Gamma_0=\left[-120,\;120\right]\,\hbox{(degree)}.$$ For comparison, computing the reachable range when the arm angle is controlled to keep the optimal arm angle for avoiding the overall joint limits, i.e., ψ = ψ^{opt}, we have
TeX Source
$$\Gamma=\left[-147.693,\;147.693\right]\,\hbox{(degree)}.$$ This result suggests that the joint limit avoidance method is also effective for expanding the reachable region of the manipulator tip.

SECTION VI

## Discussion and Summary

### A. Parameterization of Redundancy

In this paper, the arm angle parameterization method was used to represent the redundancy of a S-R-S manipulator. As mentioned before, a joint parameterization approach has also been proposed for the redundancy parameterization. Tondu [10] examined the two methods and concluded that the joint parameterization approach was suitable for a S-R-S manipulator. This result was obtained from the observation of the vector space nature. He constructed an augmented vector to represent both the wrist position and the redundancy, and showed that the augmented vector does not preserve the vector space nature. However, as shown in this paper, the redundancy of the S-R-S manipulator should be associated with the orientation of the wrist, not the wrist position. This implies that the vector space nature is not affected by the parameterization methods.

In addition, there is a serious problem in the joint parameterization approach. As shown in the paper, there exist two types of the profile of a joint angle with respect to an arm angle. The profile types are monotonic and cyclic, as shown in Fig. 3(b) and (a), respectively. The monotonic profile guarantees the one-to-one correspondence between the joint angle and the arm angle, while the cyclic one does not. Hence, if a joint angle of the cyclic type is selected as the redundancy parameter, the uniqueness of the redundancy representation is not ensured, because, even if the joint angle is specified, the corresponding arm angle is not unique. Although Tondu [10] concluded that either of the joint angle 1 and 3can be used as the redundancy parameter, we have confirmed that both the joint angles can be of the cyclic type depending on the wrist position. For these reasons, the arm angle parameterization method was adopted in this paper.

### B. Applicability to Other Manipulators

In this paper, we have considered only a S-R-S manipulator model. Applicability of the inverse kinematic computation methodology to other types of 7-DOF redundant manipulators is one of the extended topics. However, since the inverse kinematic computation and its closed-form solution depend primarily on the structure of the manipulator, it may be impossible to have a generalized discussion. Nonetheless, we expect that the basic concept of the method is applicable to other types of manipulators if the redundancy can be parameterized independently of the tip pose and a closed-form solution at the reference state is obtainable.

### C. Summary of the Paper

This paper proposed an analytical methodology for obtaining all the feasible inverse kinematic solutions of a S-R-S redundant manipulator in the global configuration space constrained by joint limits. The paper also presented how the method is applied to the redundancy resolution problem. First, a parameterized inverse kinematic solution was derived using the arm angle parameter. Second, the relations between the arm angle and the joint angles were investigated in detail, and how to obtain feasible inverse solutions satisfying joint limits was discussed. Third, how to apply the inverse kinematic computation method to the redundancy resolution problem was presented. Analytical methods for joint limit avoidance were also developed. Lastly, kinematic simulations were conducted to show that the proposed methods were indeed available for computing feasible inverse kinematic solutions in the global configuration space constrained by joint limits.