The 43rd Intl. Symp. on Robotics (ISR2012), Taipei, Taiwan, Aug. 29-31, 2012 Optimal Contact Force Prediction of Redundant Single and Dual-Arm Manipulators Gabriel Nützi∗ , Xiaolong Feng† , Roland Siegwart‡ , Sönke Kock§ ∗ ETH Zürich, Switzerland, Email: [email protected] † ABB Corporate Research, 72178 Västerås , Sweden, Email: [email protected] ‡ Autonomous Systems Laboratory, ETH Zürich, Switzerland § ABB Corporate Research, 68526 Ladenburg, Germany Articulated serial robot manipulators with 6 degrees of freedom (DOF) rotational joints are the most typical robots used in industrial automation. This type of robot is normally referred to as non-redundant robot manipulator. For this type of robot, once the position and orientation of the end-effector are fixed with some appropriate robot configuration1 (multiple configurations possible), the configuration of the robot may not be changed. For a general 6 DOF non-redundant robot manipulator, it can have up to 16 different solutions for an inverse kinematics problem, which transforms the position and orientation of the end-effector from Cartesian coordinates to joint coordinates [1]. Articulated series robot manipulators with 7 or more degrees of freedom joints, most often rotational ones, are referred to as redundant robot manipulators. This type of robot has normally one or more additional joint which is more than necessary to locate the position and orientation of end-effector of a robot manipulator. Redundant robots have gained increasing use because of their superior manipulability. This superior manipulability is resulted from the infinite joint configurations to the inverse kinematics problem introduced by the one or more degree of joint-space redundancy. Those configurations are represented as a finite set of manifolds in the joint configuration space. They are often called null-space, internal motion, or self-motion manifolds, because the end-effector remains motionless as the manipulator is reconfigured along these self-motion manifolds. A 7 DOF manipulator, for example, has one degree of joint redundancy. This results in D = 1 (D is the dimension of the null-space domain), or one-dimensional self-motion curves in the joint-space. These self-motion curves can be used to reposition the manipulator on these manifolds to fulfill all sort of tasks (e.g. object avoidance and maximization of performance measures) while maintaining the same end-effector position. Single-arm redundant robots with superior manipulability for material handling applications have been demonstrated by Nachi Robotic System and Yaskawa Robotics. Dual arm redundant robots for assembly application has been reported by Yaskawa Robotics and by ABB Robotics2 . In assembly applications using dualarm redundant robots, two independent robot arms have the ability to execute cooperative tasks. This is important when it comes to mounting and assembly tasks where the two arms work closely together and influence each other. In an assembly task a certain amount of contact force, either pressing or pulling, is required and must be provided by the mechanical structure of the robotic arms and by the power of actuating joints. Unfortunately, limited information is known about the topology of pulling and pressing contact forces at the end-effector over the workspace of such robots. This is because to quantify and explore the quantitative information on contact forces that may be delivered by a single-arm or a dual-arm redundant robot is technically demanding, due to the existence of the large set of self-motion manifolds. So far, the two concepts of the force and the manipulability ellipsoid are extensively used for analyzing the capabilities of robot manipulators to exert forces or to move in certain directions. Force ellipsoids have been analyzed to study the optimal load distribution for nonredundant robots for example in [2] and for redundant robots in [3]. These concepts have also very well be applied in recent studies to continuum redundant manipulators in [4]. The force ellipsoid gives a qualitative good visualization of the directions in which a manipulator 1 Throughout this work, configuration is referred to as a fixed orientation and position of the end-effector in the workspace. 2 Reference by personal communication to Xiaolong Feng. Email: [email protected] Abstract— Redundant robotic manipulators, single- or dual-arms, have received increasing use in assembly applications in industry. Correct dimension and use of such redundant robotic manipulators subject to assembly forces experience significant challenges due to the internal motion introduced by the kinematic redundancy. In robotic manipulator design, it is essential to consider the specification of assembly forces so that the drive-train of the manipulator may be correctly dimensioned. Robotic cell design engineers need to access quantitative information about the range and location of these assembly forces over the workspace of a manipulator. In this work, methodology and tools for predicting available assembly forces over the workspace have been developed for optimal use of such redundant robots for assembly applications. The prediction of such optimal configurations requires numeric solution of inverse kinematics, self-motion generation, and statics. The results are demonstrated using both a single- and dual-arm redundant 7-axis robot manipulator. Issues and methods to include contact assembly forces in robot design have also been addressed in future work. Keywords: redundant manipulator, contact force, nullspace manifolds, statical force. I. I NTRODUCTION AND R ELATED W ORK The 43rd Intl. Symp. on Robotics (ISR2012), Taipei, Taiwan, Aug. 29-31, 2012 may exert the highest forces and is therefore mostly used in optimization problems to find optimal configurations. This paper focuses more on computing an exact rather than a qualitative measure for end-effector forces at an optimal configuration. Another qualitative static and dynamic force sensitivity measure has been introduced in [5] to reach an optimal configuration with the presented control algorithm. These measures have been used to decrease the effect of external forces on the actuating joint torques. Unfortunately, to our best knowledge, very limited research in an exact static analysis of the end-effector force capabilities for redundant robot manipulators, either single-arm or dual-arm robots, has been disclosed. The objective and novelty of this work is to develop an approach to analyze and visualize the exact maximum force at an optimal configuration that a redundant robot, either single-arm or dual-arm, may deliver at its endeffector. The self-motion manifolds are used to study the behavior of assembly (pressing and pulling) forces which are applied on the end-effector of a single and dual-arm redundant manipulator. In the developed methods, the redundant manipulator is reconfigured along the set of self-motion manifolds at a pre-defined configuration. Highest end-effector contact forces are searched over these manifolds without violating the mechanical limits of the joints. This search process is repeated for a set of predefined configurations within some carefully chosen portion of the workspace (for example, a horizontal plane of appropriate size). The topology (force map) of the contact forces over the workspace of a single and dual-arm redundant robot may therefore be calculated and visualized. This paper presents a new methodology for computing lower and upper bounds on the external force over these self-motions. A 7R (only revolute joints) redundant robot arm is used as a stand-alone single-arm robot and as one used in a dual-arm robot. The contact force, as it is very complex in general, has been simplified to a simple directional force at the end-effector. The presented methodology works also for higher redundant robots, which only increases the computational burden. The computed topology or force map of the contact forces gives a good visualization of the exact applicable forces over the workspace. In addition, the developed methods may also be used directly in the drive-train design and optimization of future redundant robots with consideration of specified contact forces as additional requirements. In the current design approach, the mechanical structure and drive-train are normally dimensioned based on requirements like payload, reach and acceleration performance. The static contact forces, as they appear during assembly tasks, are normally not considered in this dimensioning process. This paper is structured as follows: Section II to V describes step-by-step the approach of generating a force map. Section II starts off with the inverse kinematics problem. Section III describes the numerical algorithm to generate the null-space or self-motion manifolds. Section II and III are mainly based on previous literature where as section IV to VI addresses our main contribution: Section IV proposes the approach of calculating the inverse statics and finally section V explains the process of computing the force map. In section VI,VII & VIII results, conclusions and the future work are discussed and outlined. II. I NVERSE K INEMATICS Solving the inverse kinematics for a redundant serial manipulator is quite difficult and much effort has been devoted to this problem. There are two main approaches of transforming the end-effector position and orientation into the corresponding joint angles, namely the algebraic and the numerical method. The algebraic method mainly consists of solving the higher degree polynomials from the kinematic equation with different numerical algorithms. The numerical method contains among many others also the numerical optimization, which is explained first. A. Numerical Method for 7R Manipulator The method presented is based on [6] which allows to circumvent the specification of the end-effector orientation by 3 angles. To describe the orientation and the position uniquely we specify 3 points on the endeffector p~1 , p~2 , p~3 ∈ R3 as in [6]. The non-linear forward kinematics equations of this 3 points of an n-DOF serial manipulator is given by f~(~q) = [~ p1 , p~2 , p~3 ]> = p~ ∈ R9 , (1) where ~q ∈ Rn are the joint angles of a non-linear function f~(·). A numerical solution to this non-linear equations can be obtained by any non-linear equation solver, e.g. Gauss-Newton, Newton-Raphson or the Conjugate-Gradient method. By specifying upper and lower bounds on the joint angles [~ql , ~qu ], (1) becomes a non-linear program in the form min kf~(~q) − p~ k subj. to ~ql 6 ~q 6 ~qu , which is in general not easy to solve. k · k denotes any vector norm. In this work, lsqnonlin from Matlab has been used. To solve this non-linear optimization, the Jacobian J ∈ R9×n of (1) is used (n = 7 for a 7R manipulator). It is given by ~z1 × p~1,1 . . . ~zn × p~n,1 ~ ∂f = ~z1 × p~1,2 . . . ~zn × p~n,2 , (2) J= ∂~q ~z1 × p~1,3 . . . ~zn × p~n,3 where ~zi is the unit vector about the i-th joint axis and p~i,j is the vector from the i-th joint to the j-th ∈ [1, 2, 3] end-effector point. All vectors are resolved in the world frame. The maximum number of iterations is set to 100. The optimization stops if ||f~(~qk+1 ) − f~(~qk )|| < 10−6 . The inverse kinematics is considered converged if ||f~(~qk )|| < r0 , where r0 is a tuning parameter. Of course the resulting solution (optimizer) is a local optimum and one of infinite many solutions because of the redundancy D = 1 for a 7-axis manipulator. The 43rd Intl. Symp. on Robotics (ISR2012), Taipei, Taiwan, Aug. 29-31, 2012 B. Algebraic Method for 6R Manipulator For the self-motion generation, the algebraic method is extremely useful as it gives good starting points for a full solution to all self-motion manifolds. For a 7axis manipulator, one can still consider one of the joints as fixed and follow the approach from D. Manocha & J.F. Canny [7] by reducing (1) to solving an univariate polynomial. This approach is not trivial and encompasses some sophisticated substitutions to circumvent numerical problems. The reader is referred to [7]. The next section describes in detail how these self-motion manifolds for a redundant manipulator are generated. III. G ENERATION OF S ELF -M OTIONS The degree of redundancy D defines the dimension of the null-space. To produce internal motions the endeffector velocity needs to be zero. The geometrical Jacobian Jg ∈ R6×n relates the n-dimensional joint space velocities to the end-effector translational p~˙ and rotational velocity ω ~: p~˙ = Jg (~q) ~q˙. (3) ~v = ω ~ Solving (3) by setting ~v = 0 is the problem of finding the null space (or kernel) of the matrix Jg . The orthogonal n×n , where complement of Jg is N = I − J+ g Jg ∈ R + Jg is the Moore-Penrose pseudo-inverse. This matrix orthogonally projects an arbitrary joint velocity vector ~q˙a ∈ Rn into the null space of Jg . This projection is denoted by ~q˙N : ~q˙N = N(~q) ~q˙a (4) More information can be found in [8]. One approach of finding the self-motion or null-space motion is to simply integrate (4). The weak point of this procedure is that it depends on the arbitrary input vector ~q˙a which can lead to unvarying self-motions. The alternative and better approach is to consider that the null-space domain of Jg is spanned by the eigenvectors of the matrix J> g Jg which correspond to the D zero eigenvalues. The selfmotion is delimited by a D-dimensional hyper-volume in the joint space for a general serial manipulator. This D-dimensional hyper-volume is split into several parts which are called manifolds. For the 7-axis robotic arm (D = 1) the self-motions are curves in R7 . Hence, there is only one eigenvector ~e. The computation is initialized in a desired point ~q 0 on the self-motion curves. At each step a small joint increment ~q k + ∆~q k is added as follows: ~q k+1 = ~q k + ∆~q k , k k k = 0, 1, 2, . . . k = ~q + γ ~e (~q ). if the joint angles are in the neighborhood of the start angles yields very good results. The self-motion iteration is aborted if a cycle is detected. A cycle is detected if the maximum peak of the norm normmax is already passed (line 6) and if the relative error from the current joint angles ~q k to the initial joint angles ~q 0 is smaller then CycleRelT ol. The tuning parameter k0 is used to make sure that the algorithm is checking for a cycle only if the self-motion curve has moved significantly from the initial joint angles ~q 0 . Algorithm 1 Stop algorithm for the self-motion iteration 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: Shift angles of ~q k to the interval [−π, π] if k > k0 (e.g k0 = 100 . . . 200) then {Stop Check for a Cycle} if normmax < k~q k − ~q 0 k2 then normmax = k~q k − ~q 0 k2 else q k −~ q 0 k2 if k~ normmax < CycleRelT ol then Cycle found → abort iteration. end if end if end if The manifold curve, which is computed by (5), is defined by the starting point ~q 0 which comes from an inverse kinematics solution. The topology of the manifolds which are introduced by f~−1 (~ p) = ~q in (1) have been firstly characterized in [9]. J.W. Burdick [10] has stated the following theorem: Theorem 1 For any end-effector position p~ in the workspace W, an n-revolute-jointed redundant manipulator can have no more self-motion manifolds than the maximum number of inverse kinematic solutions of a non-redundant manipulator of the same class. It follows that a general 7-axis redundant robot can have at most 16 distinct self-motions, because a general revolute 6-axis arm contains at most 16 different inverse kinematics solutions. Finding these self-motions is a non-trivial task. In Fig. 1 the joint trajectories of one self-motion is illustrated. For the calculation of the force map it is essential to generate as many self-motion manifolds as possible. This is the main reason why also the algebraic method in section II-B is used to compute up to 16 solutions for a 6R manipulator. More is said in section V. (5) ez (6) This increment can be expressed by the eigenvector ~e k evaluated at ~q k multiplied by a small scalar constant γ which determines the accuracy of this iteration. The selfmotion curve is a periodic function of joint-angles (see Fig. 1). Hence, a robust cancelation criterion is needed. The following algorithm 1 which aborts iteration (5) ex F ey Fig. 1. The joint trajectories (green) of a self-motion manifold of a ~ denotes the force applied at the end-effector in the 7R manipulator. F x-axis. The 43rd Intl. Symp. on Robotics (ISR2012), Taipei, Taiwan, Aug. 29-31, 2012 IV. S TATICAL F ORCE C ALCULATION The fundamental basis of the force map is basically the computation of the statical forces in the joints in an arbitrary configuration. The recursive method, where the end-effector force is given, of the static force analysis for a serial manipulators is a well known problem. Detailed explanations can be found in [11]. The inverse to this problem is of peculiar interest for our case as we want to find the applicable contact force range in a given direction at the end-effector of the manipulator in a given configuration. ~ is Supposed a force F~ = λ~eF and a moment M applied at the end-effector (λ is the scale factor and ~eF is a unit vector specifying the direction of the force) then the force and momentum balance in the i-th joint (see the free body diagram in Fig. 2) gives a linear ~ i and relationship between λi and the joint torque M ~ joint force Fi : ~i = − M N X ~ − λi (~ri,E × ~eF ) (7) ~ri,Cj × mj ~g − M j=i F~i = − N X mj ~g − λi ~eF �ez E λ�eF i+1 λi+1,min < λi+1 < λi+1,max �ez Ci λmin < λ < λmax mi�g i F�i λi,min < λi < λi,max τi �i M τi,min < τi < τi,max Fig. 2. Free body diagram of the i-th joint to the end-effector (E). At each joint 4 constraints on λ can be expressed (2 force and 2 torque bounds, black boxes). Intersecting all 4N ranges for an N DOF manipulator gives the overall bound on λ (blue box). (8) j=i The distance from the i-th joint frame to the center of gravity Cj of joint j and to the end-effector E is denoted by ~ri,Cj and ~ri,E . The gravity force of joint i is denoted by mi~g . In the following, ~ex , ~ey , ~ez are orthogonal unit basis vectors and k · k2 denotes the 2-norm. The i-th joint torque τz,i in the z-direction (actuator torque) and its minimum / maximum range is given as: ~ i>~ez τz,i = M (9) τz,i,min < τz,i < τz,i,max (10) Exactly the same applies for the joint force in the zdirection: fz,i = F~i>~ez (11) fz,i,min < fz,i < fz,i,max (12) For a revolute joint, (9), and for a prismatic joint, (11), is of greater importance. The i-th joint bearing torque τxy,i in the xy-direction and its maximum range is given as: ~ xy,i k2 = kM ~ i>~ex + M ~ i>~ey k2 τxy,i = kM τxy,i < τxy,max (13) (14) Exactly the same applys for the joint force in the xydirection: fxy,i = kF~xy,i k2 = kF~i>~ex + F~i>~ey k2 (15) fxy,i < fxy,max (16) Substituting eq. (7,8,9,11,13,15) in (10, 12, 14, 16) yields two linear inequalities for the z-direction and two quadratic inequalities for the xy-direction. These two force and two torque constraints give 4 different ranges for the end-effector force λ for each joint in the form: λi,min < λi < λi,max � M N i = 1, 2 . . . ...N (17) Computing the intersection of these 4·7 = 28 ranges for a 7-axis manipulator yields the overall feasible range for the applicable force λ~eF . Normally symmetric boundaries on the joint wrenches3 are assumed. If the resulting intersection [λmin , λmax ] does not include λ = 0, the manipulator is not able to hold itself by the actuators due to gravity. When no intersection is found the boundaries on the joint wrenches are badly specified. V. G ENERATION OF F ORCE M AP A. Force Map for a Single-Arm Manipulator With the numerical tools developed in the previous sections, it is now possible to analyze the contact force ranges over the workspace of the robot in a specified direction. To begin with, a grid in the workspace of the manipulator is defined. In our calculations we choose 60 × 60 points, which is a trade-off between accuracy and computation time. The end-effector orientation is set according to the pressing/pulling direction. The general procedure of the force map iteration works as follows: 1) Compute a numerical inverse kinematic solution ~qopt as shown in sec. II from an initial configuration ~qinit . 2) Compute the null space or self-motion curve from the initial joint angle ~qopt . 3) Compute the maximum force ranges for all configuration on this self-motion curve (direction of applied force given). 4) Select the configuration ~qmax (e.g. with the highest pressing force, max. λ) This procedure would be quite easy and reliable if there had not been several difficulties described in the following. 3A joint wrench includes the joint torque and the joint force. The 43rd Intl. Symp. on Robotics (ISR2012), Taipei, Taiwan, Aug. 29-31, 2012 It must be pointed out that for each assembly point in the grid there exist several self-motion manifolds (up to 16, see sec. III). This is the reason why it is necessary to obtain as many manifolds as possible, to assure that the optimal configuration of the robot for the maximum contact force range is found. The optimal configuration can be located on any of these manifolds in general. Different manifolds can be found by different converged solutions from the inverse kinematics. To obtain a robust algorithm that finds up to 16 manifolds we have combined the algebraic and numerical inverse kinematics described in section II. For each grid point in the workspace we compute up to 16 inverse kinematics solution with the algebraic method and with one joint axis fixed for a 7-axis manipulator. These solutions are then used as an initial starting point for the self-motion generation which gives up to 16 manifolds. Additionally, n random runs are executed. A random run first uses a random initial configuration and numerical iterates with the numerical inverse kinematics method to obtain a random inverse kinematics solution which is then used as a starting point for the generation of self-motions. To increase the probability of finding new manifolds with the random search procedure, configuration twists have been included in the final algorithm as well. Assumed the manipulator consists of a spherical wrist, then a second inverse kinematic solution ~q 2 (configuration twist) can be found by shifting the angles of the first solution ~q 1 as follows, 2 1 2 1 qn−2 = qn−2 +π, qn−1 = −qn−1 , qn2 = qn1 +π, (18) where n denotes the joint number and n = 7 for a 7-axis manipulator arm. For some manipulators, these configuration twists will also help to find new inverse kinematic solutions when applied on any appropriate serial joint triple even with arm offsets. The twisted configuration will be close enough to a new inverse kinematic solution. Algorithm 2 gives an overview of the described procedure in detail. Fig. 3 shows the endeffector force range λ over all configurations of the selfmotion manifold shown in Fig. 1. The contact force is applied always in the x-direction (see Fig. 1). The red Force Range over all Joint Angles 2000 1443 N Joint: 4| Constr.: 1 1500 Force Range [N] 1000 500 0 −500 −1000 −1500 −2000 Fig. 3. 1. −1129 N Joint: 3| Constr.: 1 0 500 1000 qi 1500 2000 The contact force ranges over the self-motion curves in Fig. bar in Fig. 3 represents the range for the configuration of the robot in Fig. 1. The upper bound of λ of 1443 N violates the mechanical limits first in joint 4. The lower bound of -1129 N is limited first by joint 3. If gravity would not be included in the static calculation the upper and lower bound would have the same limiting joint. Algorithm 2 Procedure for force map generation 1: → Load all robot properties, e.g DH parameters or twist coordinates, masses, mass centers etcs. 2: → Setup the grid points for the force map calculation (e.g. 60 × 60 points in XY plane). 3: → Set the direction ~ eF of the contact force at each grid point. 4: for all grid points p ~target do 5: → Compute the set Sa of all algebraic inverse kinematic solutions on the grid point p~target (sec. II-B). 6: if randomRun = true then 7: if ~qopt from close by grid point has converged then 8: → Apply a twist on ~qopt to get a new ~qinit . 9: else 10: → Randomly choose ~qinit . 11: end if 12: → Compute an inverse kinematics solution, starting with ~qinit , on the grid point p~target and obtain ~qopt . 13: if ~qopt has not converged then 14: → do another random run, goto line 7. 15: end if 16: else 17: → Choose another algebraic inverse solution ~qopt from the set Sa . 18: end if 19: → Compute the self-motion curve [~q 1 , . . . , ~q k ] with initial joint angles ~qopt . 20: → Filter the self-motion configurations [~q 1 , . . . , ~q k ] according to the limits of the joint angles. 21: if filtered self-motion configuration is empty then 22: → goto line 6. 23: end if 24: → Compute the contact force ranges over all filtered self-motion configurations. 25: → Select the optimal configuration according to a criterion, e.g. the maximum pressing or pulling combined with the distance from the mechanical joint limits. 26: → Save all computed data for this iteration. 27: if not enough random runs and all algebraic solutions have been tested then 28: → randomRun = true/false and goto line 7. 29: end if 30: → Select the best data set from all iterations and save it in the force map for this grid point p~target . 31: end for The 43rd Intl. Symp. on Robotics (ISR2012), Taipei, Taiwan, Aug. 29-31, 2012 For a serial manipulator with D > 1 the computation of the optimal configuration over its self-motion manifolds becomes much more complex as the manifold is a hyper-volume and not a simple curve anymore. In this case, it is not possible to simply select the best position from this self-motion. One approach would be to include an optimization routine which searches a local optimum on this hypervolume, what could be extremely computationally expensive and hard to solve. B. Force Map for a Dual-Arm Manipulator The map generation for a dual-arm manipulator is basically the same as the computation for two singlearm manipulators. awFirstly, both maps for both arms are calculated. In the case where the configurations of the second arm are symmetric to the gravity direction the map can simply be mirrored. Secondly, the two force maps are intersected. This means each contact force range at a grid point in one map is intersected with the range in the other map (boolean intersection). This results then in a combined force map for a dual-arm robot. VI. R ESULTS Several computations for different 7-axis industrial robot manipulators have been conducted. Despite that most of the tasks could be outsourced into Matlab Mexfiles, the computation of a map with dimensions 60 × 60 took up to 3 hours on a single 2.4 GHz computer. Two different force maps are shown in Fig. 4 & 5. They are calculated at the position z = −0.3 meter in the workspace where the origin is at the top of the base (blue elliptical cylinder). Fig. 4a on the left shows a 3D visualization of the force map for a single-arm 7R manipulator. Fig. 4b on the right shows the force map at its spatial position in the workspace. The manipulator is configured at an arbitrary grid point in the force map. The yellow cylinder visualizes the end-effector. One can immediately see that the feasible pressing force is much higher in a region where the manipulator is located closer to the base and decreases smoothly the farther away it is located. This becomes also intuitively clear if it is compared to the physical feeling of a human who presses an object with both hands close and far from its body. Fig. 5a and 5b show a combined force map for a dual arm manipulator. This force map is only symmetric due to the fact that both arms are affected the same way by the gravity force. The force map for the dualarm manipulator can be readily computed. Fig. 5a is the boolean intersection of the force map shown in Fig. 4a with a mirrored one along the x-axis. If both arms are not affected the same way by the gravity force, both force maps need to be calculated separately and intersected afterwards. VII. F UTURE W ORK Further work needs to be devoted to exploit theorem 1 in a more rigorous way. To understand and find a solution to eliminate the artifacts sometimes observed in force maps is necessary. Artifacts may be resulted due to not finding the best manifold where the maximal pressing configuration is located. Due to the high parallelism of algorithm 2, outsourcing certain numerical parts to the graphics card (GPU) may be also another topic which may be addressed in future work. Further work should also be devoted on verifying the results predicted by the developed methodology with experimental measurements using a physical redundant robot manipulator. So far, our numerical results for the force map conform with the specifications of the tested manipulator. When the developed methodology is verified, it may be readily implemented in robotic software (e.g RobotStudio). With this feature available, a robot cell design engineer can have direct access to the information on optimal locations where an assembly task should be placed and available assembly force at these locations. Equally important, the methodology developed in this work should be extended for optimal drive-train design when considering contact forces as requirement. VIII. C ONCLUSION In this paper, a methodology to obtain optimal configurations for a redundant robot manipulator to achieve maximal assembly forces (pressing and pulling forces) has been successfully developed. The developed methodology is described step-by-step including how to handle inverse kinematics, how to generate self-motion manifolds, how to compute static forces, and how to generate force boundary curves for a single-arm robot and how to generate force maps for single and dual-arm robots. It is evident that the developed methodology will have two principal impacts. For robot engineering, critical information on optimal placement of an assembly task and available assembly forces at that task location may be graphically presented to a robot cell design engineer. For design of redundant robot, with the developed methodology, requirement of assembly forces may be readily included in the drive-train and structure design of a redundant robot manipulator. It is convinced that the developed methodology will have increasing importance in future development and use of redundant robot manipulators for robot applications where contact forces are of critical nature in industrial robotic automation. ACKNOWLEDGMENT Morten Strandberg at ABB Corporate Research in Sweden is gratefully acknowledged for a number of discussions concerning this work. The 43rd Intl. Symp. on Robotics (ISR2012), Taipei, Taiwan, Aug. 29-31, 2012 Max Pressing Force [N] 4000 3500 Press Force [N] 3000 2500 2000 1500 1000 500 10 20 30 yi 40 50 60 60 40 x i 20 (a) (b) Fig. 4. Calculated force map for a single 7R manipulator on a 60 × 60 grid at z = −0.3 m in the workspace. The left figure shows a 3D visualization of the force map for optimal pressing configurations and on the right its location in the workspace is shown together with an arbitrary configuration of the robot in the force map. Max Pressing Force [N] 3500 Press Force [N] 3000 2500 2000 1500 1000 500 10 20 30 yi 40 50 60 60 40 x i 20 (a) (b) Fig. 5. Calculated force map for a dual-arm 7R manipulator on a 60 × 60 grid at z = −0.3 m in the workspace. On the left a 3D visualization of a force map for optimal pressing configurations is shown with its representation in the workspace on the left. R EFERENCES [1] E. J. F. Primrose, “On the input-output equation of the general 7r-mechanism,” Mechanism and Machine Theory, vol. 21, pp. 509–510, 1986. [2] M. Choi, B. Lee, and M. Ko, “An application of force ellipsoid to the optimal load distribution for two cooperating robots,” in Robotics and Automation, 1992. Proceedings., 1992 IEEE International Conference on, may 1992, pp. 461 –466 vol.1. [3] P. Chiacchio, Y. Bouffard-Vercelli, and F. Pierrot, “Force polytope and force ellipsoid for redundant manipulators,” Journal of Robotic Systems, vol. 14, no. 8, pp. 613– 620, 1997. [Online]. Available: http://dx.doi.org/10.1002/(SICI) 1097-4563(199708)14:8h613::AID-ROB3i3.0.CO;2-P [4] I. Gravagne and I. Walker, “Manipulability and force ellipsoids for continuum robot manipulators,” in Intelligent Robots and Systems, 2001. Proceedings. 2001 IEEE/RSJ International Conference on, vol. 1, 2001, pp. 304 –311 vol.1. [5] L. Žlajpah, “Influence of external forces on the behaviour of redundant manipulators,” Robotica, vol. 17, pp. 283–292, May 1999. [Online]. Available: http://portal.acm.org/citation.cfm?id= 980626.980631 [6] Y. Zhao, T. Huang, and Z. Yang, “A new numerical algorithm for the inverse position analysis of all serial manipulators,” Robotica, vol. 24, no. 3, pp. 373–376, 2006. [7] D. Manocha and J. Canny, “Real time inverse kinematics for general 6r manipulators,” in Robotics and Automation, 1992. Proceedings., 1992 IEEE International Conference on, May 1992, pp. 383 –389 vol.1. [8] J. Lenarcic, “Some considerations on the self-motion curves of a planar 3r manipulator,” Journal of Computing and Information Technology, vol. 2, pp. 125–131, 2002. [9] J. Burdick, “On the inverse kinematics of redundant manipulators: characterization of the self-motion manifolds,” in Robotics and Automation, 1989. Proceedings., 1989 IEEE International Conference on, May 1989, pp. 264–270 vol.1. [10] J. W. Burdick, “Kinematic analysis and design of redundant robot manipulators,” Ph.D. dissertation, Department of Mechanical Engineering, Standford University, March 1988. [11] L.-W. Tsai, Robot Analysis, The Mechanics of Serial an Parallel Manipulators. John Wiley & Sons, 1999.
© Copyright 2025 Paperzz