Beruflich Dokumente
Kultur Dokumente
Av. Padre Tomás Pereira, Taipa, Macao SAR, China
2School of Mechanical Engineering, Tianjin University of Technology, Tianjin 300384, China
Corresponding author E‐mail: YMLi@umac.mo
Abstract: Closed‐loop inverse kinematics (CLIK) algorithm mostly resolves the redundancy at the velocity level.
In this paper we extend the CLIK algorithm to the acceleration level to meet some applications that require the
joint accelerations. The redundancy resolutions at the velocities and acceleration levels via pseudoinverse method
are analyzed respectively. The objective function of joint limits avoidance(JLA) is combined into the redundancy
resolution as an optimization approach of the null space motion. A seven‐DOF redundant manipulator is
designed to do the computer simulations and the real experiments are carried out on a Powercube modular
manipulator. Their results demonstrated the effectiveness of the proposed algorithm.
Keywords: Redundant manipulator, inverse kinematics, closed‐loop algorithm, null space, joint limit avoidance
International Journal of Advanced Robotic Systems, Vol. 7, No. 4 (2010) 1
ISSN 1729‐8806, pp. 1‐10
International Journal of Advanced Robotic Systems, Vol. 7, No. 4 (2010)
been proposed in (Siciliano 1990). The transpose of the For this 7‐DOF redundant manipulator 1 , coordinate
Jacobian is required that naturally avoids the infeasible frames (frame 0 to frame 7 ) are assigned in Fig. 1 and all
output problem and allows handling of singularities and joint axes are oriented perpendicular to the manipulator’s
redundancies in (Sciavicco & Siciliano 1988) since the ill‐ plane. Frame 0 , defined as the reference frame, is fixed to
conditioned Jacobian will lead to poor performance of the base and aligns with frame 1 when the first joint
inverse kinematics. Another scheme based on the variable 1 is zero and frame E is the end‐effector frame.
constrained least‐squares method (Wampler 1986) was The corresponding links parameters of the 7‐DOF arm are
proposed to generate feasible output around singularities, shown in Table 1. The transformation matrix of 7‐DoF
which utilized a generalized‐inverse matrix of the Jacobian, arm model can be derived by each known homogeneous
known as the singularity‐robust pseudoinverse. transformation Denavit‐Hartenberg matrix ii 1 T (Craig
However, these methods cannot handle problems like
2005, Angeles 2002). It will be not difficult to obtain the
starting motion from a singularity along a degenerate
position vector through the forward kinematics. (Please
direction, or reconfiguring the arm by moving through
find in Appendix)
the singularity (Nenchev et al. 1996). A new dynamical
closed‐loop system for kinematic control, aiming at
3. Inverse Kinematics analysis of the seven‐DOF
further improving the performance at and around the
manipulator
singularity, was proposed in (Nenchev et al. 1996)
without deteriorating the performance at regular points
3.1. Closed‐Loop Inverse Kinematics Solution
and this approach was under the assumption that any
Assume that a task space trajectory ( x(t ) x (t )) is given,
singularity can be useful for a variety of tasks that can be
performed only at the singularity, or only moving and the goal is to find a feasible joint space trajectory
through the singularity. (q(t ) q (t )) that reproduces the given trajectory. The
In this paper, we present the inverse kinematics solution for differential kinematics equation, in terms of either the
a seven‐DOF redundant manipulator based on the CLIK geometric or the analytical Jacobian, establishes a linear
algorithm. In section 2, the kinematics model of the seven‐ mapping between joint space velocities and task space
DOF manipulator is presented. In section 3, the inverse velocities, and it can be utilized to solve for joint
kinematic analysis is discussed and redundancy resolution velocities using kinematic equation. Then the differential
at the velocity and acceleration levels are all considered. In kinematics equation has the following form:
section 4, computer simulations and experiments are
carried out and some discussions are added in section 5.
x J (q)q (1)
The section 6 concludes the whole work and some Due to the non‐square Jacobian matrix for seven‐DOF
mathematic calculations are placed in the appendix. manipulator, the basic inverse solution to (1) is obtained
by using the pseudoinverse J † of the matrix J and the
2. Kinematics model of the seven‐DOF manipulator inverse solution can then be written as
1
Note that all the links of 7‐DoF arm are rigid.
2
Jingguo Wang, Yangmin Li and Xinhua Zhao: Inverse Kinematics and Control of a 7‐DOF Redundant Manipulator Based on the Closed‐Loop Algorithm
to the manipulable space ( n m ), which is available to It is obvious that the expression of the location error and
set up systematic procedures for an effective handling of its derivative can be given by
redundant DOFs (de Wit 1996, Angeles 2002). The null
space is the set of task space velocities that yield null joint e xd x e x d x (4)
space velocities at the current robot configuration and
these task velocities belong to the orthogonal complement The joint velocity vector has to be chosen so that the task
of the feasible task space velocities. error tends to zero. The pseudo‐inverse solution
A common method of including the null space in a (Carignan 1991; Angeles 1992) at the velocity level results
solution is the formulation in (Liegeois 1977), in a minimum‐norm velocity solution and the generalized
CLIK algorithm can be expressed by
x J † y ( I J † J ) z , where z R n . The first term is
the particular solution to the inverse problem ( Jy x ) , q J † (q)( x d K p ( xd x)) (5)
and the second term represents the homogeneous
differential kinematics equation since the inverse of non‐
Kp Null Space Optimization
square matrix J can not be obtained. xd
(JLA constraints)
3
International Journal of Advanced Robotic Systems, Vol. 7, No. 4 (2010)
al. 1995). The second‐order differential kinematics Many techniques of redundancy resolution are used to
equations have the following form: search the null space, therefore the search directions and
the solutions are determined by evaluation of chosen
x J ( q ) q J ( q ) q
(8) performance criteria. The works (Kapoor et al. 1998;
Hooper & Tesar 1995) presented detailed discussions
Then the joint acceleration can be solved by the pseudo
about performance criteria from two aspects of
inverse of the Jacobian matrix:
constraint‐based criteria and operational goal‐based
qP J † ( )
x Jq (9) criteria, while the former includes joint limit avoidance,
velocity limit avoidance, peak torque avoidance, obstacle
P denotes the joint accelerations in the task space
where q avoidance and mathematical singularity avoidance and
the latter considers dexterity, speed of operation, load
of the Jacobian or the augmented Jacobian.
carrying capacity, manipulator precision, energy
The pseudo‐inverse solutions aim at minimizing the
minimizing and other criteria.
norm of the joint acceleration, but it leaves the joint
Note that just the joint limit avoidance is considered as
velocities in the null‐space untouched. The reason is that
local optimization of a performance criterion in this work,
the joint velocities are composed of two parts,
and the objective function is the distance from mechanical
q q P q N , where q P denotes the joint velocities in joint limits (de Wit et al. 1996; Liegeois 1977), which can
task‐space while q N denotes the joint velocities in null‐ be defined as
space, and q N does not contribute to the Cartesian 1 n q qi 2
(q) ( i ) (12)
n i 1 qiM qim
velocity, J q N 0 .
Then a PD part for Cartesian velocity is added as shown where qiM ( qim ) denotes the maximum(minimum) limit
in Fig. 2(b). The actual end‐effector locations and task
for qi and q i (the middle value of the joint range), and
space velocity are the feedbacks to the augmented PD
loop and the redundancy resolution is solved at the thus redundancy may be exploited to keep the
acceleration level. The joint accelerations of the main task manipulator off joint limits.
can be solved as: As the quadratic form of equation (12) is the most used
function to be minimized, another optimization approach
qP J † ( )
x K p e K v ev Jq (10) which reflects the objective of joint limit avoidance has
been proposed in (Wang & Li 2009; Klein 1984) as:
where ev ( x J q P ) denotes the task‐space velocity error.
qi q i qq
Then by numerical integration, the velocity solution can (q) max( ) (13)
qiM qim qM qm
be obtained. p
where p 2 and we set p 6 in the case studies. The
3.3. Null Space Optimization
From previous sections, it is easy to know that if the null CLIK algorithm considering joint limits avoidance as a
space is ignored, many of the redundancy advantages kind of performance criterion is represented in block
will be lost. Since the equation (7) evidences the scheme form as shown in Fig. 2.
possibility of choosing the vector so as to exploit the
redundant DOF while the matrix ( I J † ( q ) J ( q )) 4. Computer simulations and experiments
projects the joint vector q 0 onto the null space N ( J ) .
Two case studies are presented to validate the proposed
Modifying the null‐space will lead to an infinite number redundancy resolution at the velocity and acceleration
of solutions, in fact, the contribution of q 0 is to generate levels and the corresponding experiments are done on a
null space motions of the structure that do not alter the real redundant manipulator.
task space configurations but allow the manipulator to
4
Jingguo Wang, Yangmin Li and Xinhua Zhao: Inverse Kinematics and Control of a 7‐DOF Redundant Manipulator Based on the Closed‐Loop Algorithm
The simulations are carried out in the Matlab/Simulink deg) from Fig. 4(b) whereas the joints limits are
environment, and a 7‐DOF manipulator used in the successfully avoided in the simulation results using the
simulation is composed of seven Powercube modular JLA optimization approach (13) as shown in Fig. 4(d) and
parts, which is built up with the same geometrical size as Fig. 4(f). The manipulator’s configuration during the
the real manipulator. The frame assignments and their simulation is shown in Fig. 4(a), where the redundancy
transformations are given out in Fig. 1. The resolution combines the JLA optimization approach.
corresponding D‐H parameters of joints and the The joints velocities of redundancy resolution at the
maximum and minimum joint values are shown in Table velocity and acceleration level are shown in Fig. 4(c) and
1. The link length parameters are d1 0301m , Fig. 4(e). By comparing them, it is not difficult to find that
d 3 0350m , d 5 0308m and d 7 04206m . All the
the joint velocities converge to zero in the former one
joints initial velocities are set to zero at the starting points.
whereas the latter is not. The reason is that the
The gain parameters have the values,
redundancy resolution at the velocity level results in a
K p diag{50 50 50} and K v diag{50 50 50} , and the minimum‐norm velocity solution and it does not have
simulation time is set to 4 s. any null space component.
The corresponding experiment is made on a real
4.1. Case study 1 Powercube manipulator as shown in Fig. 3. The following
In the first case study, the desired spatial trajectory is trajectories in the simulation and experiment are
defined as an ellipse with major radius 035m and minor combined together with the desired spatial ellipse
radius 015m in the XZ plane of Cartesian coordinates. trajectory as shown in Fig. 5 and the projection on the
plane is shown in Fig. 6.
Errors of tracking an ellipse trajectory in the simulation
and experiment are presented respectively in Fig. 7(a)
and Fig. 7(b). Experimental errors seem much bigger than
the simulation errors because of many uncertainties such
as unknown inertia dynamics, complex nonlinear
frictions, gears reduction clearances, motor rotating drift
and so on.
(a) Manipulator configuration (b) Joints angles without JLA
(c) Joints velocities with JLA(p=6) (d) Joints angles with JLA(p=6)
Fig. 5. Simulation, experiment and desired spatial ellipse
trajectories
(e) Joints velocities with JLA(p=6) (f) Joints angles with JLA(p=6)
Fig. 4. Simulation results of the seven‐DOF manipulator
tracking a spatial ellipse. (c) and (d) are generated at the
velocity level while (e) and (f) are generated at the
acceleration level.
In order to show the effectiveness of the JLA objective
function, the simulations are firstly done with the
consideration of JLA and without JLA respectively. Then
the redundancy resolution at the velocity and acceleration
levels are both considered in the following simulations.
Fig. 6. Simulation, experiment and desired spatial ellipse
From the simulation results shown in Fig. 4, it is easy to
trajectories projected on the XZ plane
find that the sixth joint exceeds its upper joint limit (90
5
International Journal of Advanced Robotic Systems, Vol. 7, No. 4 (2010)
4.2. Case study 2 respectively in Fig. 11(a) and Fig. 11(b). Although there
The second case study is to track a trajectory with the are many uncertainties that lead to the unexpected errors,
shape of ʺUʺ. Similarly as case study 1, the simulations the experiments have shown desired results.
are made respectively with the redundancy resolutions at
the velocity and acceleration levels. 5. Discussions
The manipulator configuration tracking the U‐shape
trajectory is shown in Fig. 8(a). The joint angles of the In this paper, joint limit avoidance is applied as an
solution without considering JLA optimization approach optimization approach to solve the redundancy by the
is shown in Fig. 8(b), where all the joints do not exceed gradient projection method (GPM) (Liegeois 1977). GPM
solves the inverse kinematics problem at the velocity
(a) Errors_A (b) Errors_B
Fig. 7. Errors of tracking an ellipse trajectory in the
simulation and experiment. Errors_A represents the
errors between the simulation and desired trajecotory
while error_B means the errors between the experiment
Fig. 9. Simulation, experiment and desired spatial
and desired trajecotory.
U‐shape trajectories
their limits since this kind of task doesn’t lead to the
disruption of any joint limits. The joint angles solved in
the simulations with redundancy resolution at the
velocity and acceleration levels are shown in Fig. 8(c) and
Fig. 8(d) respectively.
Fig. 10. Simulation, experiment and desired spatial
(a) Manipulator configuration (b) Joints angles without JLA
U‐shape trajectories projected on the XZ plane
(c) Joints velocities with JLA(p=6) (d) Joints angles with JLA(p=6)
Fig. 8. Simulation results of the seven‐DOF manipulator
(a) Errors_A (b) Errors_B
tracking a U‐shape trajectory. (c) and (d) are generated at
the velocity level. Fig. 7. Errors of tracking a spatial U‐shape trajectory in
the simulation and experiment. Errors_A represents the
Three kinds of trajectories (simulation, experiment and errors between the simulation and desired trajecotory
desired trajectories) are combined together and compared while error_B means the errors between the experiment
in Fig. 9 and their projections on the XZ plane are shown and desired trajecotory.
in Fig. 10. The tracking errors for the U‐shape spatial
trajectory in the simulation and experiment are presented
6
Jingguo Wang, Yangmin Li and Xinhua Zhao: Inverse Kinematics and Control of a 7‐DOF Redundant Manipulator Based on the Closed‐Loop Algorithm
7
International Journal of Advanced Robotic Systems, Vol. 7, No. 4 (2010)
8
Jingguo Wang, Yangmin Li and Xinhua Zhao: Inverse Kinematics and Control of a 7‐DOF Redundant Manipulator Based on the Closed‐Loop Algorithm
Appendix
1. The forward kinematics solution
px s1((d 5 d 7c6) s3s4 d 7(c 4c5s3 c3s5) s 6) c1( s 2(d 3 c 4(d 5 d 7c6) d 7c5s4s6) c 2(c3(d 5 d 7c6) s 4
d 7(c3c4c5 s3s5) s 6));
p y =c1((d 5 d 7c6) s3s4 d 7(c 4c5s3 c3s5) s 6) s1( s 2(d 3 c 4(d 5 d 7c6) d 7c5s4s6) c 2(c3(d 5 d 7c6) s 4
d 7(c3c4c5 s3s5) s 6));
pz d1 d 7s2s3s5s6 c3s2(( d 5 d 7c6) s 4 d 7c4c5s6) c 2(d 3 c 4(d 5 d 7c6) d 7c5s4s6).
2. The jacobian matrix
J11 c1((d 5 d 7c6) s3s 4 d 7(c 4c5s3 c3s5) s 6) s1( s 2(d 3 c 4( d 5 d 7c6) d 7c5s 4 s 6) c 2(c3(d 5
d 7c6) s 4 d 7(c3c 4c5 s3s5) s 6))
J12 c1(c 2(d 3 c 4(d 5 d 7c 6) d 7c5s 4 s 6) s 2(c3( d 5 d 7c6) s 4 d 7(c3c 4c5 s3s5) s 6))
J13 s1(c3(d 5 d 7c6) s 4 d 7(c3c 4c5 s3s5) s6) c1c 2(d 7c3s5s6 s3((d 5 d 7c6) s 4 d 7c 4c5s6))
J14 s1s3(c 4(d 5 d 7c6) d 7c5s 4 s 6) c1( s 2((d 5 d 7c6) s 4 d 7c 4c5s 6) c 2c3(c 4(d 5 d 7c6)
d 7c5s 4 s 6))
J15 d 7(c 4s1s3s5 c3(c5s1 c1c 2c 4s5) c1(c 2c5s3 s 2s 4s5)) s6
J16 d 7( s1(c 4c5c6 s3 c3c6 s5 s3s 4 s 6) c1( s 2(c5c6 s 4 c 4 s6) c 2( c3c 4c5c6 c6 s3s5 c3s 4 s 6)))
J17 0
J 21 s1((d 5 d 7c6) s3s 4 d 7(c 4c5s3 c3s5) s 6) c1( s 2(d 3 c 4(d 5 d 7c6) d 7c5s 4 s 6) c 2(c3(d 5 d 7c6) s 4
d 7(c3c 4c5 s3s5) s 6))
J 22 s1(c 2(d 3 c 4(d 5 d 7c6) d 7c5s 4 s 6) s 2(c3(d 5 d 7c6) s 4 d 7(c3c 4c5 s3s5) s 6))
J 23 c1(c3(d 5 d 7c6) s 4 d 7(c3c 4c5 s3s5) s 6) c 2 s1(d 7c3s5s 6 s3((d 5 d 7c6) s 4 d 7c 4c5s 6))
J 24 s1s 2((d 5 d 7c6) s 4 d 7c 4c5s 6) c 2c3s1(c 4(d 5 d 7c6) d 7c5s 4 s6) c1s3(c 4(d 5 d 7c6) d 7c5s 4 s 6)
J 25 d 7(c1(c3c5 c 4 s3s5) s1( s 2 s 4 s5 c 2(c5s3 c3c 4 s5))) s 6
J 26 d 7c1(c 4c5c6 s3 c3c6 s5 s3s 4 s 6) d 7 s1( s 2(c5c6 s 4 c 4 s 6) c 2(c6 s3s5 c3( c 4c5c6 s 4 s 6)))
J 27 0
J 31 0
J 32 d 7c 2 s3s5s 6 c 2c3((d 5 d 7c6) s 4 d 7c 4c5s 6) s 2(d 3 c 4(d 5 d 7c 6) d 7c5s 4 s 6)
J 33 s 2(d 7c3s5s 6 s3((d 5 d 7c6) s 4 d 7c 4c5s 6))
J 34 c 2((d 5 d 7c6) s 4 d 7c 4c5s 6) c3s 2(c 4(d 5 d 7c6) d 7c5s 4 s 6)
J 35 d 7(c5s 2 s3 (c3c 4 s 2 c 2 s 4) s5) s 6
J 36 d 7(c6 s 2 s3s5 c 2(c5c 6 s 4 c 4 s 6) c3s 2(c 4c5c6 s 4 s 6))
J 37 0.
9