Acessibilidade / Reportar erro

A mixed nonlinear complementarity technique for solving the dynamics of a dexterous manipulation system

Abstract

The versatility of a robot to perform a task is limited principally by the flexibilityof its end-effector. In the last years, research has been focused on the development of a hand with several fingers since these devices are capable of manipulating and grasping objects of different forms. A dexterous manipulation system, composed of a robot hand with several fingers and an object that will be held or manipulated, could be modeled as a set of rigid bodies in contact. The dynamics of several rigid bodies in contact tries to predict the accelerations and forces at the contact points of the set of rigid bodies with Coulomb friction. The calculation of such forces allows us to determine if the contact is maintained or disappears and to plan a determined action. The equations that describe the problem form a system of differential algebraic equations. In this contribution the problem is reformulated as a mixed nonlinear complementarity problem (MNCP). Then, an optimization problem with box constraints associated to the MNCP is presented using an adequate merit function. Conditions about the equivalence between the problems are established. Finally, the optimization problem is solved using a robust and efficient algorithm. Encouraging numerical results are reported.

linear complementarity problem; box constrained minimization; multi-rigid-body contact problem


A mixed nonlinear complementarity technique for solving the dynamics of a dexterous manipulation system

F.E. Buffo; M.C. Maciel

Department of Mathematics, Southern National University, Av. Alem 1253, 8000 Bahía Blanca, Argentina. Emails: fbuffo@uns.edu.ar / immaciel@criba.edu.ar

ABSTRACT

The versatility of a robot to perform a task is limited principally by the flexibilityof its end-effector. In the last years, research has been focused on the development of a hand with several fingers since these devices are capable of manipulating and grasping objects of different forms. A dexterous manipulation system, composed of a robot hand with several fingers and an object that will be held or manipulated, could be modeled as a set of rigid bodies in contact. The dynamics of several rigid bodies in contact tries to predict the accelerations and forces at the contact points of the set of rigid bodies with Coulomb friction. The calculation of such forces allows us to determine if the contact is maintained or disappears and to plan a determined action. The equations that describe the problem form a system of differential algebraic equations. In this contribution the problem is reformulated as a mixed nonlinear complementarity problem (MNCP). Then, an optimization problem with box constraints associated to the MNCP is presented using an adequate merit function. Conditions about the equivalence between the problems are established. Finally, the optimization problem is solved using a robust and efficient algorithm. Encouraging numerical results are reported.

Mathematical subject classification: 49M37, 65C20, 90C30, 90C33.

Keywords: linear complementarity problem, box constrained minimization, multi-rigid-body contact problem.

1 Introduction

Complementarity problems are of great importance in engineering applications because they are associated to the notion of equilibrium systems [4]. In the last decades, different types of complementarity problems have been studied: linear, nonlinear, mixed, and efficient and robust algorithms have been developed to solve each of them.

This kind of problems arise in many engineering applications [4], such as mechanical contact problems, structural mechanics problems, structural design problems, nonlinear obstacle problems, elastohydrodynamics lubrication problems, traffic equilibrium problems and optimum control problems, to mention some.

This work is organized as follows: section 2 presents generalities of the mixed nonlinear complementarity problem, and section 3 presents both the method for solving the MNCP via optimization, and existence and uniqueness results. Section 4, considers a dynamic model for several rigid bodies in contact, the equations that represent it [8, 9] and from these, the formulation of MNCP. In section 5 the numerical results for three-fingered hand manipulation system holding an object are reported. Finally, conclusions and future possibilities to continue on this research line are presented.

2 Mixed nonlinear complementarity problem

Let : n® n be a vectorial function and and be index sets that define a partition of {1,2,...,n}. The problem of finding a vector x Î W Í n such that

is called the mixed nonlinear complementarity problem. The variables are the complementarity variables and are the free variables that do not satisfy the complementarity and non negativity conditions.

The set W is defined by

Wº {x Î n : a < x < b},

where a and b are n-dimensional vectors with ai Î [-¥,¥) and bi Î (ai, ¥]. If xi is such that i Î then ai = -¥ and bi = ¥, while if i Î then ai = 0 y bi = ¥.

If the set = Æ and W = = {x Î n : xi > 0, i = 1,...,n} then we recover the nonlinear complementarity problem (NCP), if the function (x) is also affine then it is a linear complementarity problem (LCP). If the set = Æ it results in a nonlinear system of equations.

A change in notation is considered, introducing a partition of x, the vectors u Î p, v Î m and a partition of the vectorial functions F :n® p, and G : n® m. Slack variables z Î p are introduced, and the mixed complementarity problem is expressed as follows,

where u is the vector of complementarity variables and v is the vector of free variables, so that the dimension of the complementarity problem is m + 2p.

The mixed nonlinear complementarity problem can be considered as a nonlinear complementarity problem with an extra simultaneous nonlinear equations system.

3 Solving of the complementarity problem via optimization

In order to reformulate the mixed complementarity problem as an optimization problem, it is necessary to introduce a merit function f :n × m × p ® . The optimization problem that is solved is

The advantage of reformulating the MNCP using the aforementioned strategy is the possibility of applying efficient algorithms and theoretical results known for optimization problems. In general, the algorithms used to solve optimization problems obtain stationary points, that is, points that only satisfy the first order optimality conditions. The convergence to a global minimum can be guaranteed if the merit function is convex.

Optimization problems have been extensively studied in recent years and many efficient algorithms exist to find the solutions. To obtain a solution to the mixed nonlinear complementarity problem (3) with the merit function,

Andreani, Friedlander, Mello and Santos [1] establish conditions that allow us to assure that stationary points of (3) with the merit function (4) are also global minimizers and solutions of the MNCP.

4 Mathematical model of the contact problem

To work with contact problems with friction, a model of surfaces in contact and bodies in movement is considered.

The dynamic system is formed by a determined number of passive bodies called objects and a given number of active bodies called manipulators. The first ones move in response to external and contact forces. The hypotheses of the proposed model [7, 8] are:

1. The bodies are rigid. There are no constraints on the shape of the bodies.

2. The normal direction at each contact point is well-defined, this means that the surface of the passive body has a tangent plane on each contact point.

3. There exists friction at each contact point. A friction model and a friction law must be selected.

4. The manipulator is formed by links and joints; the manipulator joints do not form closed loops. Each joint has only one degree of freedom. All allowed contacts are unilateral.

5. All links are connected to a grounded link (reference coordinate).

The equations and constraints that govern the model are: the Newton-Euler movement equations, for the objects and manipulators, the unilateral and bilateral kinematic constraints due to the contact, the dynamic conditions of the contact, that is the non interpenetration principle and non tensile forces, andthe friction law of the contact.

To develop the equations that govern the dynamics of the set of rigid bodies in contact, it is considered that in a certain instant t0 certain number of objects, nobj, are in contact among them and with a certain number of manipulators, nman, being nc the total number of contacts.

Let cij denote the contact force acting on the body i through contact j expressed in the contact frame Cj, with normal, tangential and orthogonal components (cij)n, (cij)t and (cij)o. The sum of the forces acting on the body i is equal to the mass times the acceleration of its mass center and it is expressed as

where

i is the set of indices of the points of contact of the body i, gobj,i Î 6 is the external generalized force (expressed in the fixed reference coordinates of the body Bi), which acts upon it, hobj,i Î 6 is the term of movement quantity, Î 6 is the generalized linear and angular acceleration of the mass center of the object, Mobj,i Î 6×6 is the symmetric positive definite mass matrix of the object i partitioned as:

with M1,i = mobj,i I3, I3 being the identity matrix, and M2,i the bodie's inertial tensor i expressed in the base Bi. The matrix Wij Î 6×3 transforms the contact forces cij into a generalized force, Fij. The wrench matrices Wij contain all the geometric information about contact j.

The previous equations extended to all objects, express the contact forces by components, and the following matrix equation is obtained:

with ca Î , Wa Î , a Î {n,t,o}, the vectors gobj, hobj, Î , and Mobj Î is

The dynamics equations for the manipulators are obtained likewise:

where, if we call nq the number of manipulator joints, Î is the velocity of the joints, t Î is the vector of joint effort, Jn, Jt and Jo Î are the Jacobian matrices which determine the effect of the a-th component of the force (cij)a over the component a of the vector of joint effort t, with a Î {n,t,o}, Mman Î is the symmetric positive definite inertia matrix, gman(qman) Î is the vector of torques induced by gravity, hman(qman,) Î represents the vector of torques and forces induced by Coriolis and centripetal accelerations and Î is the vector of joint accelerations.

The motion of each object in contact is subject to kinematic constraints:

where va Î is the linear velocity and aa Î is the linear acceleration in the direction a, expressed in the contact frame Cj, and are the vectors of the velocities of the bodies and manipulators.

In each contact point j the normal component of the velocity is zero,

Among the nc contact points, denotes the number of rolling contacts and denotes the number of sliding contacts, so that nc = + . and denote the sets of respective indices.

A rolling contact point is characterized by the fact that both the tangential and orthogonal components of the velocity at such point are zero, that is

and a sliding contact point is characterized by the fact that the tangential or orthogonal components of the velocity at such point is different from zero,

To avoid interpenetration, the motion of the object is subject to the constraint known as non penetration principle of Signorini,

The forces on the contact point must have non negative normal components, this means that they are not tensile,

For any contact point j, if (an)j = 0 the contact is maintained and (cn)j > 0, whereas if (an)j > 0 the contact disappears (breaking) and (cn)j = 0.

Considering (15) and (16) relating the accelerations and the forces of the contact points, the complementarity constraint is established,

To grasp an object, friction forces are required and so a friction model must be established. The choice of the friction model determines the form of the matrices Wa which appear in the equation (7) and the matrices Ja in equation (9) with a Î {n,t,o}. The law used here is the Coulomb friction law which establishes that the contact force on the point j falls within or on the boundary of the corresponding friction cone, represented as follows:

where µj is the friction coefficient on the contact point j.

If the contact is sliding, the contact force must lie on the border of the friction cone with its friction component directly opposed to the sliding velocity and satisfy

If the contact is rolling, the contact force can have some direction and magnitude, within the cone defined by (16) and (18) and satisfy

Equation (19) differs significatively from equation (20), since the former is linear in the unknowns cjn and cja because the velocities are data, whereas the latter is nonlinear because the accelerations are unknowns.

Considering that in the initial instant t0qobj, , gobj, hobj, Mobj are known for the objects; qman, , t, gman, hman, Mmanfor the manipulators; the torque matrices W and the Jacobian matrices Jman, and satisfying the kinematic constraints (10), (12) and (13), to solve the dynamics of several bodies in contact means to determine , , cn, ct, co, an, at, ao, which satisfy the equations (7), (9), (11), (15), (17), (19) and (20).

Since the algebraic-differential equation system that results is complex to solve, it is convenient to reformulate it as a mixed nonlinear complementarity problem. Thus, a discretization of the independent variable is considered, assuming that in the instant t0 an initial configuration, i.e. a contact and the position and velocities of all the bodies is known. Therefore, to establish the configuration in an instant t0 + Dt, a complementarity problem is solved. This implies analyzing whether the contact is maintained or not, and calculating the positions and velocities of the new configuration.

Taking into account that the inverses of Mobj and Mman exist, and can be obtained from the equations (7) and (9). Replacing and in equation (11) and defining aa Î , with a Î {n,t,o}, a linear equation system is obtained

where the Aag are submatrices of A which consist of rows and columns corresponding to the directions a and g respectively, with a, g Î {n,t,o}.

From Mobj, Mman, Wn, Wt, Wo, , , y , the matrices

and the vector

are defined.

Equation (19) is solved to obtain cjt and cjo with j Î and replace them in (21). The acceleration vectors and contact forces are partitioned for the contacts and . Since there are no additional constraints for the tangential and orthogonal components of the accelerations on the sliding contact points, the equationsof the system (21) which define these components can be set apart without affecting the solution of the complementarity problem

where:

Equations (15-17), (18-20), (25-28), constitute a mixed nonlinear complementarity problem as defined in (1) associated to the 3D dynamics of several rigid bodies in contact with Coulomb friction.

To express the mixed nonlinear complementarity problem with the notation used in (2), the slack variables sj are introduced by

and the vector of complementarity variables l whose components are given by

Vector u Î corresponds to the complementarity variables, vector v Î corresponds to the free variables and the vector of slack variables z Î are defined

Partitioning adequately the system (25) and from (29), the following vectorial function F : ® is obtained,

with

The vectorial function G : ® is expressed as follows

where

5 Numerical results

In this section, we show how the mixed non linear complementarity technique presented in the previous sections is used. Let us consider the model of an object grasped by a robot hand with three fingers.

The initial configuration for the proposed example is established fixing the location of the coordinate systems with origins in the mass center of the body (B), the base of the j-th robot (Sj), the j-th point of contact (Cj) and the palm of the hand (P). The origin of the reference coordinate system is located in the palm of the robot hand. Figure 1 presents a bidimensional scheme for the given configuration.


Using algorithm 1, the system configuration of various bodies in contact in the instant t0 + Dt from an initial configuration is obtained.

Algorithm 1Given µ,

,
, and the configuration parameters,

1. Define the initial configuration.

1.1. Calculate the coordinate transformation matrices,

1.2. Calculate the vector of positions of the manipulator joints, qman (Problem of inverse kinetics).

2. Calculate the matrices for the object W, Mobj.

3. Calculate the manipulator matrices, Jman, Mman.

4. Calculate the matrices of the complementarity problem, , , and Ã.

5. Solve the complementarity problem via optimization.

6. Define the new configuration.

In step 5, the optimization problem can be solved by any appropriate algorithm.

To establish the initial configuration, the matrices pt and ptt Î are considered. Each column of pt, pt(.,j) contains the j-th point of contact with respect to the system P; while the j-th column of ptt contains the coordinates of the j-th point of contact with respect to the coordinate system Sj. For the proposed configuration, the matrices are,

where r is the sphere radius, acm establishes the location of the sphere mass center with respect to the coordinate axes system of the palm P, pcm = (0,0,acm), is the distance between the origin of the coordinates B and the projection on the plane z = acm of the origin of the j-th coordinate system Sj, j = 1,2,3 and s is the angle formed by the positive axis x of the Cartesian coordinate system fixed in the mass center of the body B and the segment which joins the origin of B with the points of contact C1 and/or C2. As observed in figure 1, the location of the contacts C1 and C2 is symmetric respect to B.

The rotation matrices for each contact have the following expressions:

where

a(j) are the matrices representing elemental rotation around the direction a, with an angle j.

The friction model is characterized by the matrix,

The matrix W Î 6×9 is expressed as follows,

with Wj, with j = 1,2,3, defined as,

The following notation is used: given any vector v Î 3, Î 3×3 we define

The inertia matrix of the sphere respect to the mass center is M2 = mr2I3, where I3 is the identity matrix of dimension 3. When the fixed reference system is not in the mass center of the body a modification of the inertia matrix must be performed using the result of the parallel axes theorem [3].

The mass matrix of the object Mobj Î 6×6 is,

The experiments were performed using a well known robot PUMA (Programmable Universal Manipulator for Assembly). For each manipulator the Jacobian matrices and the mass matrices are calculated using the robotic toolbox in MATLAB [2]. The Jacobian matrix for all the three fingered hands Jman Î results

with

where Bf is the matrix of the friction model.

The inertia matrix of the manipulator Î is

where and are the Jacobian matrices and the generalized inertia matrices of the link Lj. The mass matrix of the three fingers Mman Î is

If it is considered that all the contacts are sliding, the MNCP is reduced to a LCP. Solving the LCP means solving the optimization problem defined in (3) with the merit function

where the vector bn Î 3 is obtained from equation (24),

The matrices Vt and Vo are defined in (28) and each submatrix Aag has the expression

A variable change is performed, Î 6, = [cn , an]t so that the merit function is expressed as follows,

The matrix M in the complementarity problem depends on the friction coefficients on the contact points. For the proposed example, and using a PUMA560 manipulator the results obtained are:

As can be observed in Table 2, the contact is mantained in all cases. If it is considered that the three contacts are rolling, the problem is formulated as a MNCP. The MNCP is solved considering the equivalent optimization problem (3), using the merit function proposed in (4). The following variable change is performed = [cn, ct, co, an, at, ao, s , l]t, with the merit function

where

The optimization problem solved is of dimension 24. It has been solved by using a robust and efficient algorithm developed by Friedlander and Martínez [5, 6]. The results obtained are summarized in tables 3 and 4.

6 Conclusions and future research

The dynamics of several rigid bodies in contact with Coulomb friction is presented as a MNCP. The complementarity problem is reformulated as a boxconstraints optimization problem.

It is worth noting that the optimization problem for the mixed case is general. Contrary to many methods which are specific to linear or nonlinear complementarity problems, this technique can be applied to any of them by only defining appropriately the merit function and the box.

An example of a robot hand with three fingers grasping an object is considered. Matrices of smaller dimensions, which respond to a real model, were preferred over those with greater dimensions. Functions in MATLAB were developed to obtain the system matrices and the optimization problem with box constraints was solved using the easy computing program. The robustness of the optimization method we used, allowed us to obtain a solution in most cases. In the future, we wish to generate contact problems with a greater number of bodies and points of contact, both rolling and sliding, trying to consider the structure of the matrices which are generated without losing sight of the physical meaning. Furthermore, it is considered of interest to complete the kinematics and dynamics calculation of the robot problem for a sequence of times t1, t2, t3... and to verify if the obtained results are satisfactory. We plan to continue deepening the study of the MNCP in general following the proposed research line.

Acknowledgments. The authors gratefully acknowledge suggestions and comments of the referee.

This work was partially supported by the Universidad Nacional del Sur, Project 24/L057 and Fundacion Antorchas, Proyect 13900-4.

Received: 18/IV/05. Accepted: 25/VIII/05.

#630/05.

  • [1] R. Andreani, A. Friedlander, M.P. Mello and S.A. Santos, Mixed nonlinear complementarity problems via nonlinear optimization: numerical results on multi-rigid-body contact problem with friction, 2003. To appear in International Journal of Computational Engineering Science.
  • [2] P.I Corke, Robotics TOOLBOX for MATLAB (Release 6) Available at http://www.cat.csiro.au/cmst/satff/pic/robot (2001).
  • [3] J.J. Craig, Introduction to robotics: mechanics and control Addison-Wesley Publishing Company, 1989.
  • [4] M.C. Ferris and J.S. Pang, Engineering and economic applications of complementarity problems. SIAM Review, 39(4) (1997), 669-713.
  • [5] A. Friedlander and J.M. Martínez, On the maximization of a concave quadratic function with box contraints. SIAM Journal on Optimization, 4 (1994), 177-192.
  • [6] A. Friedlander, J.M. Martínez and S.A. Santos, On the resolution of large scale linearlyconstrained convex minimization problems. SIAM Journal on Optimization, 4 (1994), 331-339.
  • [7] R.M. Murray, Z. Li and S.S. Sastry, A Mathematical Introduction to Robotic Manipulation CRC Press, 2000 Corporate Blvd., N.W., Boca Raton, Florida (1994).
  • [8] J.S. Pang and J.C. Trinkle, Complementarity formulations and existence of solutions of multi-rigid-body contact problems with coulomb friction. Mathematical Programming, 73 (1996), 199-226.
  • [9] J.C. Trinkle, J.S. Pang, S. Sudarsky and G. Lo, On dynamic multi-rigid-body contactproblems. Zeitschrift für Angewandte Mathematik und Mechanik, 77 (1997), 267-279.

Publication Dates

  • Publication in this collection
    27 Sept 2006
  • Date of issue
    2006

History

  • Accepted
    18 Aug 2005
  • Received
    18 Apr 2005
Sociedade Brasileira de Matemática Aplicada e Computacional Sociedade Brasileira de Matemática Aplicada e Computacional - SBMAC, Rua Maestro João Seppe, nº. 900 , 16º. andar - Sala 163, 13561-120 São Carlos - SP Brasil, Tel./Fax: 55 16 3412-9752 - São Carlos - SP - Brazil
E-mail: sbmac@sbmac.org.br