Mechanism and Machine Theory 44 (2009) 671–684
Contents lists available at ScienceDirect
Mechanism and Machine Theory journal homepage: www.elsevier.com/locate/mechmt
On the placement of open-loop robotic manipulators for reachability Jingzhou (James) Yang a,b,*, Wei Yu b, Joo Kim b, Karim Abdel-Malek b a b
Department of Mechanical Engineering, Texas Tech University, Lubbock, TX 79409-1021, United States Center for Computer Aided Design, The University of Iowa, Iowa City, IA 52242-1000, United States
a r t i c l e
i n f o
Article history: Received 18 July 2007 Received in revised form 14 March 2008 Accepted 5 May 2008 Available online 26 June 2008
Keywords: Placement Open-loop robotic manipulator Reachability Optimization
a b s t r a c t Criteria for and implementation of the placement of robot manipulators with the objective of reaching specified target points are herein addressed. Placement of an open-loop robotic manipulator in a working environment is characterized by defining the position and orientation of the manipulator’s base with respect to a fixed reference frame. The problem has become important in both the medical and manufacturing fields, where a robot arm must be appropriately placed with respect to targets (tasks) that cannot be moved. An applicable numerical formulation is presented. While other methods have used inverse kinematics solutions in their formulation for defining a locality for the manipulator base, this type of solution is difficult to implement because of the inherent complexities in determining all inverse kinematic solutions. The approach used in this work is based on characterizing the placement, forcing a cost function to impel the workspace envelope in terms of surface patches towards the target points and subject to functionality constraints, but not requiring the computation of inverse kinematics. The formulation and experimental code are demonstrated using a number of examples. Ó 2008 Elsevier Ltd. All rights reserved.
1. Introduction Robots are used in many diverse industries, some of which require the end-effector to reach various targets to achieve specific tasks. The placement of an open-loop robotic manipulator arm where it can reach all targets is typically an iterative task in which various locations and configurations are attempted until the ‘‘most appropriate” position and orientation of the base (hereby denoted the configuration of the base) is attained. Addressing the problem of manipulator base placement is the subject of this work. While criteria for placement of open-loop robot manipulators may vary according to the task, size, and structure of the robot, it is evident that the workspace defined by the volume of all points touched by the end-effector plays an important role in defining these criteria. A review of current methods and reported research work in this area will first be conducted. In general, there have been limited reports addressing placement of manipulators because the subject has only recently arisen in tasks that require robot functionality at various targets in the robot’s workspace. Such applications include robot-assisted surgery where the endeffector must reach a number of anatomical points and where repositioning of the patient is difficult. Moreover, because of the pre-op planning of surgical procedures and because of the large amount of work necessary prior to entering the operating room, placement of the robot must be done in offline simulations prior to physical placement. Therefore, the choice of robot base placement cannot be done in an iterative manner (trial and error) as is the case for many manufacturing robotic tasks (although some require a rigorous planning). Numerical, geometrical, and optimization methods have been used by * Corresponding author. Address: Department of Mechanical Engineering, Texas Tech University, Lubbock, TX 79409-1021, United States. Tel.: +1 806 742 3563; fax: +1 806 742 3540. E-mail address:
[email protected] (J. Yang). 0094-114X/$ - see front matter Ó 2008 Elsevier Ltd. All rights reserved. doi:10.1016/j.mechmachtheory.2008.05.004
672
J. Yang et al. / Mechanism and Machine Theory 44 (2009) 671–684
different authors. Although the literature is limited in this area because of only recent emphasis on the problem, we present a concise review. In a number of complementary papers, a method for determining the placement of manipulators to allow for the optimization of multiple kinematic performance indices was presented by Zeghloul and Pamanes-Garcia [35], Pamenas and Zeghloul [20], and Pamanes et al. [21]. Similarly, optimal placement for minimum time coordinated motion by considering the slowest axis was reported by Feddema [13,12]. The work culminated in an integrated system called SMAR for robot simulation [34]. The main difficulty of this work is the need to solve the inverse kinematics problem to determine the reachability of the end-effector; this presents computational challenges and limits the flexibility and generality of the method. The same group augmented their work and reported an upgrade to the method for placement of robots [16,17], where a numerical algorithm and dialytic elimination method was presented to identify the placement parameters for modular platform manipulators. The method was used to guide the placement of the platform’s leg modules to obtain the most effective configuration for a given task. Others have defined criteria for placement with respect to obstacles in the workspace [23]. Because large forces are needed for some manipulator tasks, Papadopoulos and Gonthier [22] gave a maximization method to yield the proper base positioning relative to a large-force quasi-static task where redundant variables were used as optimization parameters. A different but related problem is the placement of robot trajectories with respect to a robot arm location [9], which can be considered as the inverse problem of that treated here. Also addressing this problem, but for cooperating arms, Hemmerle and Prinz [14] incorporated variables in the path constraints of the robot as a cost function to be minimized, and it resulted in an unconstrained minimization problem. Similarly, Nelson et al. [19] defined criteria to ensure that all assembly performances are possible within the workspace, while Vincent et al. [30] defined trajectory-following algorithms using optimization methods. A simple geometric approach was proposed by Seraji [25] to determine the appropriate base locations from which a robot can reach a stationary or moving target point. The numerical method was demonstrated for simple configurations of robot manipulators such as the gantry type structure. Tu and Rastegar [29] used the Monte Carlo method to address manipulator obstacle placement problems (a different definition than the problem posed in this paper). The shape of the links of manipulators that are to operate within geometrically specified enclosures were determined when several obstacles may be present in the enclosure. The problem was solved by defining weighted distributions for the task and/or obstacle spaces and weighted allowable link shapes. Trabia and Kathari [28] investigated the base placement of a robot for minimum cycle time, and Ji and Wu [15] introduced a fast solution to identify placement parameters for a parallel manipulator. Adhami and Coste-Maniere [7] developed a twostep strategy to optimize the most critical settings of a robotically assisted minimally invasive surgery (RMIS). Tian and Collins [27] presented a 2-DOF robot base placement using a genetic algorithm, and Saha et al. [24] transferred the motion planning problem into partitioned goal placement. In previous studies [2], we have used the notion of a workspace to cover a service sphere for a class of manipulators that can be treated in two independent structures (arm and wrist). Abdel-Malek et al. [6] developed a formulation for placement of manipulators to maximize dexterity. In this paper, we present a numerical formulation based on the concept of impelling the workspace towards the inclusion of target points inside surface patches of the workspace envelope. A general distance cost function used to impel the boundary towards the target points will be introduced, and constraints on the workspace and the robot in terms of joint limits will be drawn. This method relies upon a closed-form identification of surface patches on the boundary to the workspace. The resulting equations are included in the problem formulation, which is also presented in this paper. Problem definition: Given a robot arm with known dimensions and joint ranges located at O0 , and given a set of target points defined in space pðiÞ ; i ¼ 1; . . . ; ‘, it is required to locate and orient the base robot arm such that all target points are reached. Variations of this problem (e.g., placement of the base for achieving maximum dexterity and placement to include as many target points as possible) are also of significant interest and will be addressed in future work. The proposed method is characterized by the following steps. (1) Determine the envelope of the manipulator’s workspace in terms of closed-form equations of surface patches. (2) Define distance cost functions to impel the envelope towards achieving reachability of all specified target points. (3) Establish appropriate constraints such that the target points will be enclosed by the workspace and embedded a specified distance inside the volume. (4) Numerically solve to calculate an appropriate placement of the workspace boundary. (5) Define the new configuration of the base as the origin and orientation of the moved workspace envelope.
2. Closed-form workspace boundary Using a systematic formulation for obtaining the coordinates of a point on one of the manipulator’s links, e.g., the Denavit–Hartenberg representation method [10], a position vector generated by a point on the end-effector of an n-DOF arm is expressed by
UðqÞ ¼ ½ xðqÞ yðqÞ zðqÞ T ;
ð1Þ
J. Yang et al. / Mechanism and Machine Theory 44 (2009) 671–684
673
where q ¼ ½q1 ; q2 ; . . . ; qn T 2 Rn and UðqÞ 2 R3 characterize the set of all points that belong to the workspace. A convenient parameterization of constraints imposed on q was presented such that joint inequality constraints qLi 6 qi 6 qUi are given by
qðkÞ ¼ ðqU þ qL Þ=2 þ ½ðqU qL Þ=2 sin k; T qUn
ð2Þ
where q ¼ ½ qU1 and q ¼ ½ qL1 are the upper and lower joint limits, respectively, and k ¼ ½ k1 kn T are the new variables that have been introduced by adding as many equations as the number of variables without reducing the dimensionality of the problem (k are usually called slack variables in the field of optimization). Singular surfaces/curves comprising the workspace were analytically determined by studying the Jacobian for the 3-DOF manipulator [1] and the 5-DOF manipulator [4]. The Jacobian rank deficiency method was extended for manipulators with non-unilateral constraints [31–33]. For the set U(q), rank deficiency criteria are applied to the Jacobian denoted by U
Uq ¼ ½oUi =oqj ;
L
T qLn
i ¼ 1; . . . ; 3 and j ¼ 1; . . . ; n:
ð3Þ
An expression for the velocity at any point in the workspace is obtained by deriving U(q) with respect to time as
_ _ ¼ Uq qk k; U
ð4Þ
where the terminology qk ¼ oq=ok and k_ ¼ ok=ot. Using the Implicit Function Theorem, it was shown [4] that the manipulator is at a singular configuration qo when the rows of Uq qk are dependent and there exists a set of constants T No ¼ ½ c1 c2 c3 that satisfy
½Uq qk T No ¼ 0;
ð5Þ
where No is the vector normal to a singular surface at qo . Three rank deficiency conditions were derived to delineate singular sets [3,5], denoted sðiÞ ; i ¼ 1; . . . ; w, where w is the number of singular sets resulting from applying the rank deficiency criteria. It should be noted that sðiÞ may have joint coordinates that are functions of other coordinates. It was shown that substituting sðiÞ into U(q) yields nðiÞ ðuðiÞ Þ where uðiÞ is the new vector of generalized coordinates such that
nðiÞ ðuðiÞ Þ ¼ UðuðiÞ ; sðiÞ Þ; ðiÞ
ð6Þ
ðiÞ
ðiÞ
where s and u may or may not have common terms since s may contain variables that are defined as functions of other variables and are obtained by solving a set of analytic functions called varieties [18,26], and nðiÞ characterizes the equation of a singular surface. Furthermore, surface patches in closed form on the boundary of the envelope are a subset of Eq. (6), defined as nðiÞ ðuðiÞ Þ; i ¼ 1; . . . ; m, where m is the number of patches enveloping the workspace as illustrated in Fig. 1b for the manipulator shown in Fig. 1a. Let ½ x y z be the global reference frame, and let Oo : ½ xo yo zo be the coordinate system that is associated with the base (i.e., the first coordinate system of the DH frames) and that is initially coinciding with the global coordinate system:
a
b
Co-centered
Workspace envelope
Fig. 1. (a) A serial robot manipulator; (b) the workspace envelope.
674
J. Yang et al. / Mechanism and Machine Theory 44 (2009) 671–684 ðiÞ
ðiÞ
g ¼ fnðiÞ ðuðiÞ Þ; i ¼ 1; . . . ; m for uLa 6 uðiÞ 6 uUa g;
ð7Þ ðiÞ uLa
ðiÞ uUa
where m is the number of surface patches on the boundary; and are the new lower and upper limits, respectively, of the surface patch; and g characterizes the envelope of the workspace. 3. Coordinate transformation Consider the initial configuration of the base coordinate system ½ xo yo zo located at the origin O0 of the global coordinate system ½ x y z . Effecting a translation and a rotation on the base of the manipulator will move the triad ½ x0 y0 z0 to a new location O1 with coordinates ½ xw yw zw and a new orientation defined by a set of Euler angles ð a b c Þ shown in Fig. 2a. The manipulator base is now placed in this new configuration as illustrated in Fig. 2b. The vector w ¼ ½ xw yw zw a b c T , therefore, defines the translation and rotation of the new triad characterizing the configuration of the workspace, hence the configuration of the base. Motion of the workspace to the new local will be tracked using these six coordinates where a rotation matrix R and a position vector v are defined as
v ¼ ½ xw
yw
zw T
ð8Þ
and
2
3 cos a cos b cos a sin b sin c sin a cos c cos a sin b cos c þ sin a sin c 6 7 Rða; b; cÞ ¼ 4 sin a cos b sin a sin b sin c þ cos a cos c sin a sin b cos c cos a sin c 5: sin b cos b sin c cos b cos c
ð9Þ
Since the envelope of the workspace is defined by position vectors nðiÞ ðuðiÞ Þ, i ¼ 1; . . . ; m, the transformed vector characterizing each surface patch on the workspace boundary, defined as a function of the six generalized coordinates, is given by
WðiÞ ðw; uÞ ¼ Rða; b; cÞ nðiÞ ðuÞ þ vðxw ; yw ; zw Þ:
ð10Þ
The aim of this work is to determine the vector w that defines the new position and orientation of the workspace envelope after moving to a new configuration that encloses the specified target points. The formulation that follows is developed to set forth the conditions for calculating a new configuration of the base by impelling the workspace towards the target points. 4. Existence of target points in the workspace In order to create a robust computational algorithm for impelling the workspace towards the target points, a criterion for establishing whether a point is inside the workspace must be defined. We have investigated three methods and selected the optimum based on simplicity and robustness. The other two methods are addressed in Appendix A, as they are valid and can be implemented for special cases. The three methods are as follows: (a) The inverse kinematics method. (b) The random ray method. (c) The limit method. We proceed with presenting the limit method. Consider a target point p with coordinates ðxP ; yP ; zP Þ in the space and a given workspace envelope g of a given robot manipulator. In order to ensure that the target point will be located within the workspace volume, we define the minimization distance constraint such that the distance between the target point p and the workspace is minimized.
a
b z
Target points
z
y O0
O1
y
O1
O0 x
Fig. 2. (a) Workspace envelope after moving to include the target points; (b) the corresponding configuration of the base.
J. Yang et al. / Mechanism and Machine Theory 44 (2009) 671–684
d ¼ min
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ðxP xðqÞÞ2 þ ðyP yðqÞÞ2 þ ðzP zðqÞÞ2 :
675
ð11Þ
If d ¼ 0:0, the target point p is inside or on the boundary of the workspace. The translated and rotated workspace is given by Cðw; qÞ ¼ Rða; b; cÞUðqÞ þ vðxw ; yw ; zw Þ. Therefore, for a number of target points pðiÞ and for every point in the workspace defined by U(q), this condition is defined as
min kpðiÞ Cðw; qÞk ¼ 0 for i ¼ 1; . . . ; ‘;
ð12Þ
where there are ‘ target points. 5. Criteria for impelling the workspace To ascertain that p is inside the workspace, additional conditions are needed. The absolute value of the distance between a target point and the boundary should be greater than a specified value e. This will guarantee that the target points are pushed towards the inside of the workspace. The distance between all target points pðjÞ and all surface patches WðiÞ ðuÞ should be greater than a specified minimum value such as
kpðjÞ WðiÞ ðuðiÞ ; wÞk P ej ;
where j ¼ 1; . . . ; ‘ and i ¼ 1; . . . ; m;
ð13Þ
where ej > 0 are specified constants. If a target point satisfies both conditions of Eqs. (12) and (13), then this point is internal to the workspace (i.e, the workspace has been placed in a configuration such that all points are covered by it). Two steps characterize this procedure: (1) the workspace must be impelled towards the specified target-points, and (2) the distance between the target-points and the workspace must satisfy specified constraints. In order to impel the workspace towards the target points, it is necessary to define a cost function, either to be minimized or maximized. Consider two target points pð1Þ and pð2Þ and two surface patches enveloping a workspace defined by nð1Þ and nð2Þ . In order to impel the workspace toward the two points, one possible criterion is to minimize the distance between pð1Þ and nð1Þ , between pð1Þ and nð2Þ , between pð2Þ and nð1Þ , and finally between pð2Þ and nð2Þ . For ‘ target points and m surface patches, the problem is posed as a constrained optimization problem where the cost function is defined as
" # m X ‘ X ðiÞ ðiÞ ðjÞ W ðw; u Þ p Dðw; uÞ ¼ min i¼1
ð14Þ
j¼1
subject to the constraints defined above and repeated as follows: (1) Workspace envelope at least covering the target points (shortest distance between target points):
g i min kpðiÞ Cðq; wÞk 6 b for i ¼ 1; . . . ; ‘;
ð15Þ
where b is a very small positive number and subject to the inequality constraints on joint limits as
qLk 6 qk 6 qUk
for k ¼ 1; . . . ; n:
ð16Þ
(2) Target points embedded inside the workspace volume (a minimum distance between target points and surface patches):
g k kpðjÞ WðiÞ ðu; wÞk P ej
for i ¼ 1; . . . ; m and j ¼ 1; . . . ; ‘; k ¼ 1; . . . ; ð‘ mÞ;
ð17Þ
where ej is the depth of the target point inside the workspace volume. There are ‘ þ ð‘ mÞ þ n total constraints. A second cost function can be defined by considering the distance of every target point from the centroid of the workspace (recall that the centroid can readily be calculated in this case because of the closed-form equations of the boundary). Indeed, a second cost function is defined as
min
" ‘ X
# ðcÞ
ðiÞ
kf ðwÞ p k :
ð18Þ
i¼1
fðcÞ ¼ ðxc ; yc ; zc Þ are the coordinates of the centroid of the workspace boundary. 6. Calculation of base placement Due to the nature of this problem, numerical methods are best suited. Note that although this formulation resembles an optimization problem aimed at obtaining the best placement, it is not. The aim is to define a new configuration for the manipulator base such that all target points are included. As shown in this section, several sub-problems utilize optimization methods to obtain a solution, but the general problem will focus on obtaining a single configuration where all target points are reached.
676
J. Yang et al. / Mechanism and Machine Theory 44 (2009) 671–684
Since at first the target points are not within the workspace envelope, condition (15) is usually violated. Therefore, an iterative method for obtaining a solution to the above constrained optimization problem is implemented [8]. Three types of constraints exist. Let g i ðwÞ denote constraints defined by Eqs. (15)–(17) as follows: (a) Inactive constraints: g i ðwÞ < h1 , where h1 > 0 is a small tolerance in the neighborhood of zero. (b) Active constraints: h1 6 g i ðwÞ 6 h2 , where h2 > 0 is a small number in the neighborhood of zero. (c) Violated constraints: g i ðwÞ > h2 Before initiating the algorithm, most of the constraints of Eq. (15) are violated and most of the constraints of Eq. (17) are inactive. In order to obtain a viable configuration, we will initiate an iterative procedure, where for each iteration, two independent constrained optimization problems, Eqs. (15) and (17), are solved to obtain a new set of variables w. The step value and direction are obtained using a commercial package and are used in this iterative procedure. The following searching method is implemented: (1) Let k ¼ 0. Start from the initial point Oo , the origin of the global coordinate system (recall that initially the global coordinate system coincides with the local coordinate system). Let k ¼ k þ 1 and proceed. (2) At an initial configuration wð0Þ , evaluate the cost function Dðwð0Þ ; uk1 Þ and the constraints g i ðwð0Þ ; uk1 Þ; calculate the gradients of the cost function D and the constraints g using the finite difference method. (3) Calculate a search direction sk . This step is called upon as a subroutine from a commercial optimization code called DOT [11]. If there are one or more violated constraints, direction sk is determined from
minðGradDðwð0Þ ; uk1 ÞT sk aAÞ;
ð19Þ
where A is a scalar and subject to the following constraints:
Gradðg i ðwð0Þ ; uk1 ÞÞT sk þ bi A 6 0;
ð20Þ
ðsk ÞT sk þ A2 6 1;
ð21Þ
where a is a large positive number, A is a variable, and bi ¼ ð1:0 þ g i ðwð0Þ ; uk1 Þ=h1 Þ2 .If there are no violated constraints, the searching direction is determined as sk by
minðGradDðwð0Þ ; uk1 ÞT sk Þ; k1
ð22Þ T k
k T k
where Gradðg i ðw ; u ÞÞ s 6 0 and ðs Þ s 6 1. If there are no active or violated constraints, then let sk ¼ GradðDðwð0Þ ; uk1 ÞÞ. This itself is a simple constrained optimization problem with a cost function given by Eq. (15) subject to the inequalities of Eq. (16), where the optimum solutions are distances (between target points, the workspace volume). (4) Perform a one-dimensional search for ð0Þ
Dðwð0Þ ; uk Þ ¼ Dðwð0Þ ; uk1 þ x sk Þ
ð23Þ
subject to
g i ðwð0Þ ; uk Þ ¼ g i ðwð0Þ ; uk1 þ x sk Þ
ð24Þ k
k
such that a step size x is selected to minimize Dðw ; u Þ and gðw ; u Þ. (5) Set uk ¼ uk1 þ x sk If criteria (21) and (23) are satisfied, then terminate the process, otherwise go to Step 2. ð0Þ
ð0Þ
7. Examples In this section, we use three examples to illustrate the proposed method. The first is an introductory 2-DOF planer example. The second is a 3-DOF spatial manipulator, and the third is a 4-DOF spatial manipulator. 7.1. Example 1: a 2-DOF example Consider the simple manipulator shown in Fig. 3a. The manipulator comprises a prismatic joint and a revolute joint, and target points are specified at pð2Þ ¼ ð11; 6Þ and pð2Þ ¼ ð11; 16Þ, i.e., ‘ ¼ 2. Coordinates of the point P located at the manipulator’s end-effector can be written as
UðqÞ ¼ ½ 5 cos q2
q1 þ 5 sin q2
T
ð25Þ
with manipulator joint limits imposed as 2 6 q1 6 2 and 50 6 q2 6 240 . It can be seen that the workspace of the manipT ulator is generated by the sweep of a segment of a circle ½ 5 cos q2 5 sin q2 along a vertical line ½ 0 q1 T . The manipulator Jacobian can be written as
677
J. Yang et al. / Mechanism and Machine Theory 44 (2009) 671–684
a
P
b
c
ξ(3)
ξ(6)
q2
ξ(2)
q1
ξ(4) ξ(5) ξ(1) Fig. 3. (a) A planar 2-DOF manipulator; (b) singular curves; (c) workspace envelope.
Uq ¼
0 5 sin q2 1
5 cos q2
and qk ¼
2 cos k1
0
0
ð195p=180Þ cos k2
:
ð26Þ
Rank deficiency criteria applied to Uq qk yield 10 singular sets. Substituting each singularity into Eq. (25) yields two curves nð1Þ and nð2Þ , shown in Fig. 3b. Similarly, substituting all other limits yields curves nð3Þ to nð6Þ . Those segments that are inside the boundary are removed, and the boundary to the manipulator workspace is shown in Fig. 3c. The boundary curves are redefined in terms of the curve segments as
nð1Þ ðat q1 ¼ qL1 Þ for
p 6 q2 6 240 ;
nð2Þ ðat q2 ¼ pÞ for 2 6 q1 6 2; nð3Þ ðat q1 ¼ qU1 Þ for 0 6 q2 6 p; nð4Þ ðat q2 ¼ 0Þ for 2 6 q1 6 2; nð5Þ ðat q2 ¼ qL2 Þ for 2 6 q1 6 2; nð6Þ ðat q1 ¼ qU1 Þ for 50 6 q2 6 24 ; nð7Þ ðat q1 ¼ qL1 Þ for 24 6 q2 6 156 ; nð8Þ ðat q1 ¼ qU1 Þ for 204 6 q2 6 240 ; nð9Þ ðat q2 ¼ qU2 Þ for 2 6 q1 6 2; nð10Þ ðat q1 ¼ qL1 Þ for 50 6 q2 6 0 : Therefore, there are m ¼ 10 curve segments that characterize the workspace envelope. Implementing the numerical algorithm presented above such that the workspace is impelled towards the target points with the generalized variables w ¼ ½ xw yw a T , the initial and final configurations are presented in Table 1. Fig. 4 depicts the trace of the origin of the coordinate frame embedded in the manipulator’s base, and Fig. 5 depicts the initial and final configurations of the manipulator. 7.2. Example 2: a 3-DOF spatial manipulator Consider the 3-DOF manipulator arm shown in Fig. 6 with imposed joint limits as 0 6 q1 6 3p=2, 2p=3 6 q2 6 2p=3, and 2p=3 6 q3 6 2p=3.
Table 1 Initial and final configuration of the manipulator’s base Parameters
xw
yw
a
Initial Final
0.00 8.179895
0.00 10.459635
0.00 2.694409
678
J. Yang et al. / Mechanism and Machine Theory 44 (2009) 671–684
A point on the end-effector is characterized by the position vector
2
3 10 cos q1 cos q2 þ 5 cos q1 cos q2 cos q3 5 cos q1 sin q2 sin q3 6 7 UðqÞ ¼ 4 10 cos q2 sin q1 þ 5 cos q2 cos q3 sin q1 5 sin q1 sin q2 sin q3 5:
ð27Þ
10 sin q2 þ 5 cos q3 sin q2 þ 5 cos q2 sin q3
Fig. 4. Trace of the origin of the coordinate frame embedded in the manipulator’s base.
a
b 20
y q2
10
α
q1 -20
-10
10
O1
20
Oo
x
-10
Target points
-20
Fig. 5. (a) Placement of the workspace subject to reachability criteria; (b) corresponding manipulator placement.
z0 q2 q1
z1 q3
y0 x0 Fig. 6. A 3-DOF manipulator.
z2
679
J. Yang et al. / Mechanism and Machine Theory 44 (2009) 671–684
Rank deficiency criteria applied to Uq qk yield a total of seven singular sets, which when substituted into Eq. (27) yield seven surfaces. Surfaces due to the singularities q3 ¼ 0; 120 , and 120° are shown in Fig. 7a. Surfaces due to the singularities q1 ¼ 0 and 270° are shown in Fig. 7b. Surfaces due to the singularities q2 ¼ 120 and 120° are shown in Fig. 7c. The complete workspace is shown in Fig. 8. The boundary envelope of the workspace consists of eleven surface patches:
nð1Þ fat q3 ¼ 0g; nð2Þ fat q3 ¼ 0g;
0 6 q1 6 3p=2; p=2 6 q2 6 p=2; p=2 6 q1 6 p; 2p=3 6 q2 6 p=2;
nð3Þ fat q3 ¼ 0g;
p=2 6 q1 6 p; p=2 6 q2 6 2p=3; n fat q3 ¼ 2p=3g; 0 6 q1 6 3p=2; 2p=3 6 q2 6 p=6; nð5Þ fat q3 ¼ 2p=3g; 0 6 q1 6 3p=2; 2:68p=8 6 q2 6 2p=3; nð6Þ fat q3 ¼ 2p=3g; 0 6 q1 6 3p=2; 0 6 q2 6 3p=2; nð7Þ fat q3 ¼ 2p=3g; p=2 6 q1 6 p; 2p=3 6 q2 6 2:68p=8; nð8Þ fat q1 ¼ 0g; p=3 6 q2 6 p=3; 2p=3 6 q3 6 2p=3; nð9Þ fat q1 ¼ 3p=2g; p=3 6 q2 6 p=3; 2p=3 6 q3 6 2p=3; nð10Þ fat q3 ¼ 2p=3g; p=2 6 q1 6 p; q2 ¼ 2p=3; 2p=3 6 q3 6 0; nð11Þ fat q3 ¼ 2p=3g; p=2 6 q1 6 p; q2 ¼ 2p=3; 0 6 q3 6 2p=3: ð4Þ
The centroid of the workspace is located at the coordinates xc ¼ 1:26336, yc ¼ 2:52671, and zc ¼ 0:0. Three target points are specified at p1 ¼ ð10; 27:5; 4:33Þ, p2 ¼ ð18:838; 23:838; 4:33Þ, and p3 ¼ ð18:838; 23:838; 4:33Þ. The configuration of the base is described by the vector w ¼ ½ xw yw zw a b c T . Calculation results are presented in Table 2, and Fig. 9 shows the trace of the position of the manipulator base. Fig. 10 illustrates the configuration of the original
a
b
10 -10
0 0
10 -10 5
10
-5
0
0
c 5
10 0
10
-5 -10
-10
-10
10
10
10
0
0
0
-10 -10
-10 -10 0 10
Fig. 7. Singular surfaces of the 3-DOF manipulator. 10 0 -10
10
0
-10
-10 0 10
Fig. 8. Workspace of the 3-DOF manipulator.
680
J. Yang et al. / Mechanism and Machine Theory 44 (2009) 671–684
workspace, the position of the three target points, and the calculated new configuration, thus defining the new placement of the manipulator. 7.3. Example 3: a 4R-manipulator This example contains voids in the workspace (i.e., regions inside the workspace where the manipulator cannot reach). Consider the 4R serial manipulator shown in Fig. 11a with joint constraints imposed as follows: p=2 6 q4 6 p=2, p 6 q3 6 p=6, 0 6 q2 6 330 , and 0 6 q1 6 210 . The manipulator workspace is shown in Fig. 11b. The position vector function characterizing its workspace is given by
2
3 cos q1 ð10 þ 5 cos q2 þ 3 cosðq2 þ q3 Þ þ cosðq2 þ q3 þ q4 ÞÞ 6 7 UðqÞ ¼ 4 sin q1 ð10 þ 5 cos q2 þ 3 cosðq2 þ q3 Þ þ cosðq2 þ q3 þ q4 ÞÞ 5: 7 þ 5 sin q2 þ 3 sinðq2 þ q3 Þ þ sinðq2 þ q3 þ q4 Þ
ð28Þ
Jacobian rank-deficiency conditions resulting from the row rank deficiency of Uq qk presented by Abdel-Malek and Yeh [1] yield the following singular sets:
sð1Þ ¼ fq2 ¼ 0; q3 ¼ pg; ð5Þ
s
sð2Þ ¼ fq2 ¼ 0; q3 ¼ p=6g;
¼ fq3 ¼ p; q4 ¼ p=2g;
sð8Þ ¼ fq3 ¼ p=6; q4 ¼ p=2g;
s
ð6Þ
sð14Þ ¼ fq3 ¼ 0:3217; q4 ¼ p=2g; s
ð21Þ
s
¼ fq2 ¼ 0; q4 ¼ 0g; ¼
sð27Þ ¼
fqL1 ; qU2 g; fqU1 ; qL2 g;
ð22Þ
s
¼
sð28Þ ¼
s
ð18Þ
¼ fq3 ¼ p; q4 ¼ p=2g;
ð7Þ
s
sð9Þ ¼ fq2 ¼ 33p=18; q3 ¼ pg;
sð11Þ ¼ fq2 ¼ 33p=18; q4 ¼ p=2g; ð17Þ
sð3Þ ¼ fq2 ¼ 0; q4 ¼ p=2g;
¼ fq2 ¼ 33p=18; q4 ¼ 0g;
fqL1 ; qL3 g; fqU1 ; qU2 g;
¼ fq3 ¼ p=6; q4 ¼ p=2g;
sð10Þ ¼ fq2 ¼ 33p=18; q3 ¼ p=6g;
sð12Þ ¼ fq2 ¼ 33p=18; q4 ¼ p=2g; sð15Þ ¼ fq3 ¼ p; q4 ¼ 0g; s ¼ fqL1 ; qU3 g; sð29Þ ¼ fqU1 ; qL3 g; ð23Þ
s
ð19Þ
sð13Þ ¼ fq3 ¼ 0:3217; q4 ¼ p=2g;
sð16Þ ¼ fq3 ¼ p=6; q4 ¼ 0:3287g; ¼ fq3 ¼ 0; q4 ¼ 0g;
s ¼ fqL1 ; qL4 g; sð30Þ ¼ fqU1 ; qU3 g; ð24Þ
sð4Þ ¼ fq2 ¼ 0; q4 ¼ p=2g;
sð20Þ ¼ fqL1 ; qL2 g;
s ¼ fqL1 ; qL2 g; sð31Þ ¼ fqU1 ; qL4 g ð25Þ
sð26Þ ¼ fqL1 ; qU4 g; and sð32Þ ¼ fqU1 ; qU4 g:
Table 2 The original and new base coordinates (angles are in radians) Parameters
xw
yw
zw
a
b
c
Initial Final
0.00 9.05
0.00 17.71
0.00 1.19
0.00 0.00
0.00 0.08
0.00 0.44
Fig. 9. The trace of the position of the base during the iterative procedure.
681
J. Yang et al. / Mechanism and Machine Theory 44 (2009) 671–684
Fig. 10. Initial and final configurations.
15 10
3
5
5
z0 10
0
z1
7
q2
q1
q3
z2
z3 q4
10 -10 0
0 10
x0
-10
Fig. 11. (a) A 4R manipulator; (b) singular surfaces of the manipulator.
Substituting these singular sets into Eq. (28) yields the parametric equations of singular surfaces shown in Fig. 11b (a cross section of the workspace is shown). The workspace envelope of this example is characterized by three sets of boundary surface patches. The following surface regions define the envelope (note that we have used a different designation here simply to refer to the singular surfaces as indicated by their singular sets sðiÞ Þ. The workspace envelope is shown in Fig. 12. The external boundary is characterized by
nð19Þ ðq1 ; q2 Þ; ð17cÞ
n
ðq1 ; q3 Þ;
0 6 q1 6 210 and 0 6 q2 6 330 ; 0 6 q1 6 210 and 34 6 q3 6 7 ;
ð10Þ
ðq1 ; q4 Þ;
0 6 q1 6 210 and 20 6 q4 6 20 ;
ð18Þ
ðq1 ; q3 Þ;
0 6 q1 6 210 and 0 6 q3 6 30 :
n n
682
J. Yang et al. / Mechanism and Machine Theory 44 (2009) 671–684
The boundary to Void 1:
nð15Þ ðq1 ; q2 Þ; 0 6 q1 6 210 and 0 6 q2 6 330 ; nð9Þ ðq1 ; q4 Þ; 0 6 q1 6 210 and 17 6 q4 6 0 ; nð17bÞ ðq1 ; q3 Þ;
0 6 q1 6 210 and 180 6 q3 6 175 :
15
10 5 0
20
-5 -20
10 -10 0
0 10 20
-10
Fig. 12. The workspace of the 4R manipulator with voids.
Fig. 13. The configuration of the workspace before and after performing the iterative algorithm.
J. Yang et al. / Mechanism and Machine Theory 44 (2009) 671–684
683
The boundary to the void is characterized by the following surface patches:
nð5Þ ðq1 ; q2 Þ; 0 6 q1 6 210 and 276 6 q2 6 283 ; nð17aÞ ðq1 ; q3 Þ; 0 6 q1 6 210 and 154 6 q3 6 70 ; nð8Þ ðq1 ; q2 Þ; ð11Þ
n
ðq1 ; q3 Þ;
0 6 q1 6 210 and 293 6 q2 6 312 ; and 0 6 q1 6 210 and 142 6 q3 6 30 :
The iterative method implemented in this example is illustrated in Fig. 13, where the initial and final configurations of the workspace envelope are shown. 8. Conclusions A broadly applicable numerical formulation for placement of open-loop robot manipulators in an environment with the aim of reaching specific target points has been presented. Placement of robot manipulators has been, until now, a trial-and-error task in which experience and rules of thumb were used. The motivation for this work stems from a need for accurately placing robots with respect to targets that cannot be relocated (such as a patient in a operating room), or near targets that are predefined and cannot be relocated (such as heavy large-scale assembly cells). It was shown that rank deficiency criteria reported elsewhere can be used to delineate surface patches in closed form and that are on the boundary of the workspace volume. Placement of the manipulator is performed by impelling the workspace towards the target points and subjecting it to a set of constraints to ascertain the reachability of the endeffector. The benefits of this method are characterized by its ability to place manipulators without needing to calculate the position inverse kinematic problem. Manipulators with regions inside the workspace that cannot be accessed were also addressed and do not present any difficulties. A number of examples were provided. Appendix A (1) The inverse kinematics method relies upon the determination of the joint variables for a given position and orientation of the end-effector. Let the coordinates of the end-effector be given by
UðqÞ ¼ ½ xðqÞ yðqÞ zðqÞT ;
ðA:1Þ
where q is an n 1 vector of generalized coordinates of the manipulator and joint limits are defined in terms of inequality constraints as
qLi 6 qi 6 qUi :
ðA:2Þ
The coordinates of the target point at P are ðxp ; yp ; zp Þ. The position inverse kinematics (without orientation inverse) solution assumes that a system of nonlinear equations can be simultaneously solved such that
UðqÞ p ¼ 0:
ðA:3Þ
If a solution for the system of equations in Eq. (A.3) that satisfies the inequalities of Eq. (A.2) can be found, then it can be concluded that the point p is in the workspace. However, the solution of Eq. (A.1) is challenging because of the highly non-linear structure of the equations. (2) The ray method is another alternative that is adapted from the field of computer graphics, where for a given point, a ray is cast initiating at the point of interest. Imagine there are two source lights at the two points where a ray is cast at each source as shown in Fig. A1. It can be seen that rays from point P1 will have no intersection, two intersections, or in general even intersections with the boundaries of the workspace. Rays from point P2 will have an odd number of intersections with the boundaries. Therefore, it can be concluded that if a point with a ray having an odd number of intersections with the boundaries of the workspace is a point inside the workspace, a point with a ray having an even number of intersections with the boundaries of workspace is a point outside the workspace.
p1 Two intersections
p2
Fig. A1. Random ray method.
Three intersections
684
J. Yang et al. / Mechanism and Machine Theory 44 (2009) 671–684
References [1] K. Abdel-Malek, H.J. Yeh, Analytical boundary of the workspace for general three degree-of-freedom mechanisms, International Journal of Robotics Research 16 (2) (1997) 198–213. [2] K. Abdel-Malek, Criteria for the locality of a manipulator arm with respect to an operating point, IMEChE Journal of Engineering Manufacture 210 (1) (1996) 385–394. [3] K. Abdel-Malek, F. Adkins, H.J. Yeh, E.J. Haug, On the determination of boundaries to manipulator workspaces, Robotics and Computer-Integrated Manufacturing 13 (1) (1997) 63–72. [4] K. Abdel-Malek, H.-J. Yeh, N. Khairallah, Workspace, void, and volume determination of the general 5DOF manipulator, Mechanics of Structures and Machines 27 (1) (1999) 91–117. [5] K. Abdel-Malek, H.J. Yeh, S. Othman, Interior and exterior boundaries to the workspace of mechanical manipulators, Robotics and Computer-Integrated Manufacturing 16 (5) (2000) 365–376. [6] K. Abdel-Malek, W. Yu, J. Yang, Placement ofrobot manipulators to maximize dexterity, International Journal of Robotics and Automation 19 (1) (2004) 6–14. [7] L. Adhami, E. Coste-Maniere, Optimal planning for minimally invasive surgical robots, IEEE Transactions on Robotics and Automation 19 (5) (2003) 854–863. [8] J.S. Arora, Introduction to Optimum Design, McGraw-Hill Book Co., New York, 1989. [9] H.C. Chou, J.P. Sadler, Optimal location of robot trajectories for minimization of actuator torque, Mechanism and Machine Theory 28 (1) (1993) 145– 158. [10] J. Denavit, R.S. Hartenberg, A kinematic notation for lower-pair mechanisms based on matrices, Journal of Applied Mechanics, ASME 22 (1955) 215– 221. [11] DOT, Users Manual, VR&D, 1999.
. [12] J.T. Feddema, Kinematically optimal robot placement for minimum time coordinated motion, in: Proceedings of SPIE, vol. 2596, Philadelphia, PA, USA, Sponsored by: SPIE – Int. Soc. for Opt. Engineering, Bellingham, WA, 1995, pp. 22–31. [13] J.T. Feddema, Kinematically optimal robot placement for minimum time coordinated motion, in: Proceedings of the 1996 IEEE 13th International Conference on Robotics and Automation, Part 4, 1996, pp. 22–28. [14] J.S. Hemmerle, F.B. Prinz, Optimal path placement for kinematically redundant manipulators, in: Proceedings of the 1991 IEEE International Conference on Robotics and Automation, vol. 2, 1991, pp. 1234-1244. [15] P. Ji, H.T. Wu, A fast solution to identify placement parameters for modular platform manipulators, Journal of Robotic Systems 17 (5) (2000) 251–253. [16] Z. Ji, Placement analysis for a class of platform manipulators, in: Proceedings of the 1995 ASME Design Engineering Technical Conferences, 17–20 September 1995, vol. 82 (1), 1995, pp. 773–779. [17] Z. Ji, Z. Li, Identification of placement parameters for modular platform manipulators, Journal of Robotics Systems 16 (4) (1999) 227–236. [18] Y.C. Lu, Singularity Theory and an Introduction to Catastrophe Theory, Springer-Verlag, New York, 1976. [19] B. Nelson, K. Pedersen, M. Donath, Locating assembly tasks in a manipulator’s workspace, in: IEEE Proceedings of the International Conference on Robotics and Automation, 1987, pp. 1367–1372. [20] G.J.A. Pamanes, S. Zeghloul, Optimal placement of robotic manipulators using multiple kinematic criteria, in: Proceedings of the 1991 IEEE International Conference on Robotics and Automation, vol. 1, 1991, pp. 933–938. [21] J. Pamanes, S. Zeghloul, J. Lallemand, On the optimal placement and task compatibility of manipulators, in: Proceedings of the ICAR Fifth International Conference on Advanced Robotics – ’91 ICAR, 1991, p. 1694. [22] E. Papadopoulos, Y. Gonthier, On manipulator posture for planning for large force tasks, in: Proceedings of the IEEE International Conference on Robotics and Automation, Nagoya, Japan, 1995. [23] B. Roth, On the number of links and placement of telescopic manipulators in an environment with obstacles, in: Proceedings of the Fifth International Conference on Advanced Robotics – ’91 ICAR, 1991, p. 988. [24] M. Saha, T. Roughgarden, J.C. Latombe, G. Sanchez-Ante, Planning tours of robotic arms among partitioned goals, International Journal of Robotics Research 25 (3) (2006) 207–223. [25] H. Seraji, Reachability analysis for base placement in mobile manipulators, Journal of Robotic Systems 12 (1) (1995) 29–43. [26] M. Spivak, Calculus on Manifolds, Benjamin, Cummeings, 1968. [27] L. Tian, C. Collins, Optimal placement of a two-link planar manipulator using a genetic algorithm, Robotica 23 (Pt. 2) (2005) 169–176. [28] M.B. Trabia, M. Kathari, Placement of a manipulator for minimum cycle time, Journal of Robotic Systems 16 (8) (1999) 419–431. [29] Q. Tu, J. Rastegar, Determination of allowable manipulator link shapes; and task, installation, and obstacle spaces using the Monte Carlo method, Journal of Mechanical Design, Transactions of the ASME 115 (3) (1993) 457–461. [30] T.L. Vincent, B.S. Goh, K.L. Teo, Trajectory-following algorithms for min–max optimization problems, Journal of Optimization Theory and Applications 75 (3) (1992) 501–519. [31] J. Yang, K. Abdel-Malek, Singularities of Manipulators with Non-unilateral Constraints, Robotica 23 (05) (2005) 543–553. [32] J. Yang, K. Abdel-Malek, On the determination of open-loop manipulator singularities subject to unilateral and non-unilateral constraints, International Journal of Robotics and Automation 21 (3) (2006) 218–228. [33] J. Yang, K. Abdel-Malek, Y. Zhang, On the workspace boundary determination of serial manipulators with non-unilateral constraints, Robotics and Computer-Integrated Manufacturing 24 (1) (2008) 60–76. [34] S. Zeghloul, M.A. Blanchard, SMAR: a robot modeling and simulating system, Robotica 15 (1997) 63–73. [35] S. Zeghloul, J.A. Pamanes-Garcia, Multi-criteria optimal placement of robots in constrained environments, Robotica 11 ( 2) (1993) 105–110.