So we need another model which represents not only the form of the ... collision force and its e ect on the colliding objects. (motion, deformation, ..). ... moving an all-terrain vehicle on a hilly terrain 3]. ... not a part of the initial problem (planning, obstacle avoiding, ..). .... Two cases can be considered: the mobile robots and.
Dynamic modeling and its robotic applications (The Robot system) A. Joukhadar & Ch. Laugier LIFIA/INRIA Rh^one-Alpes 46, Avenue Felix Viallet 38031 Grenoble Cedex 1, France Abstract Complex contact interactions between the robot and its environment (contact between a dextrous hand and a grasped object, contact between an all-terrain vehicle and the terrain, ..) depend on physical properties such as mass, mass distribution, rigidity/elasticity factors, viscosity, and collision forces. Classical geometrical models (representing the spatial properties of an object) are obviously not helpful to study such interactions. So we need another model which represents not only the form of the object but also its motion, its deformation and, its interaction with the environment. Such a model is called the \dynamic model". This paper describes the Robot system, which enables to physically represent robots and to study their physical behaviour. This system uses a hierarchical representation of objects in order to accelerate collision detection (linear time for rigid objects). An energy based adaptative time step approach was developed in order to detect and avoid numerical divergence and to reduce computational time.
1 Introduction The success of a robotic task, depends on the capability of the used model to represent the studied phenomenon. For instance, a geometrical model enables us to detect collisions but it is incapable of giving the collision force and its eect on the colliding objects (motion, deformation, ..). So geometrical models are not helpful when a tele-programming robot task needs to study a complex contact interactions. This is the case, for instance, when manipulating a rigid or a deformable object using a dextrous hand [1], or when moving an all-terrain vehicle on a hilly terrain [3]. These interactions depend on physical properties such as mass, mass distribution, rigidity/elasticity factors,
viscosity, collision forces. Taking into account such properties remains an important overhead to be considered by the programmer himself. Yet this work is not a part of the initial problem (planning, obstacle avoiding, ..). This forces the programmer to work in a restricted condition (point contact, polyhedral object, ..). In order to deal with the problem, we developed a dynamic modeling system named Robot. The purpose of this paper is to describe the Robot system, and the underlying models and algorithms which have been developed for programming the above-mentioned robotic tasks.
2 Related works Dynamic animation systems were initially developed in computer graphics eld [9, 4, 8, 6]. In this elds the constraints are not the same as the robotics eld. So these models have to be adapted (if possible) before being used in robotics applications. The theory of nite elements [5] studies the deformations of an object but neither its interactions nor its motion. In robotics eld, we do not nd the notion of physical model, but one uses a geometrical model in addition to a partial physical model to study the contact [10], to avoid obstacle [11], or to ensure stability [12]. Such partial models, although useful, are not sucient to study complex contact interactions which need to combine the motion , the deformation and the interaction in one model. Particles system was used to study the interaction between an all-land vehicle and its environment [3] and to study the interaction between the hand and the grasped object [1]. These initial aproaches have been extended in order to construct a new system dedicated to robotic applications (the Robot system).
3 Physical modeling system Robot This system is based on the damper/spring model [7, 8, 6]. In this approach an object is basically modeled as a set of particles connected by appropriate spring/damper connectors which plays the role of giving the object a certain form. In the sequel, we show how such an approach has been adapted to solve robotic problems.
3.1 Basic constructions A physical representation of an object is given by a set of particles. This set respects the mass, the inertia centre, and the volume of the reference object. These particles are connected by means of three types of spring/damper connectors in order to x all their degrees of freedom: The linear spring/damper connector (LS) connects two particles (a and b) in order to x the distance between them ( gure 1.a). The force generated by this connector can be expressed by the following equation: F~a = (?p ? p)_ k~a ; (1) where is the stiness of the spring, p the variation of its length (it depends of its stabilisation length p0 ), the damping factor of the \damper", p_ the relative speed of the particle a compared to b, and k~a the unit vector along the two particles a and b.
of particles, gure 1.b illustrates. Because of the action/reaction principle, the force F~c applied to the central particle is equal to the negative sum of F~b and F~a . When the equilibrium angle 0 of this connector is equal to 180, this connector constrains two degree of freedom for each particle. This property is very useful when representing prismatic joint ( g. 2). The joint spring/damper connector (JS) is developed in order to avoid the symmetry of the TS relation and consequently to be able to represent a revolut joint ( g. 2). The JS connector ( g. 1.a) is similar to a TS one provided by a fourth particle which allows to de ne a positive rotation direction, but no force is applied on this particle. The force applied on a non central particle can be expressed as follow: F~a = (?( ? 0 ) ? )_ k~a where, ? ~i ~j ) if (~i ^ ~j ) ~n < 0 k~ = ~n^~j = acos(2 a ~ acos(i ~j ) else 3
19
1 21 17 25
26
27
3
23
18
3
6
22 2
16 10
13
11
15
4
1 4
1
5 2
17
21
Figure 2: A prismatic joint and a revolute joint.
20
5
2
14
18
19
22
Figure 1: LS , T S and JS connectors. The torsion spring/damper connector (TS) has been developed to associate an angular constraint to a set of three particles (a, b and c). In TS, the force applied on a non central particles can be expressed as follow: F~b = (? ? )_ k~b; (2) where is the variation of the angle formed by the three particles (it depends of its initial angular value 0 ), _ the angular speed, and k~b is the unit vector normal to the direction de ned by the involved pair
1
2
Figure 3: A possible representation of a plate.
3.2 Motion and deformation The motion and the deformation of a physical object are the result of the motion of its elementary particles. Given the external force F~ (F~ = m ~ : general law of dynamic) applied on the object, the following limited developments give the speed and the position of every particle at every moment : V~t+ = V~t + ~ t 2
P~t+ = P~t + V~t + 2 ~ t
(3)
Finding the next state of an object needs O(n) operations, where n is the number of particles which constitute the object. The computing time does not depend on the DOF of the robot. The sampling frequency 1 has to be twice the greatest frequency in P~t (Shannon sampling theory), else the numerical solution diverges. Using a small time step slows down the execution. Thus we have developed an adaptative approach based on the mechanical energy notion. This approach consist in decreasing when the committed error is important (in this case on detect an increment of the mechanical energy), and to increase it otherwise. This allows us to avoid numerical divergence and to reduce computation time (for more details see [2]).
In order to represent this phenomenon we consider that the collision between two objects is the result of the collisions between their elementary particles. As one modeled particle represents a large number of real particles (in reality an object contains a very large number of particle), we consider that the collision force F~c between two particles is a visco-elastic force and that it satis es the physical principle of the action/reaction. _ ~ If d < 0 (4) F~c = ~0(?d ? d)k Else where is the rigidity factor of the collision, a damping factor, d the distance variation between the colliding particles, d_ the relative speed, and ~k the unit vector along the two particles interaction axis. The main problem to solve is how to locate the colliding particles. A straight forward algorithm consists in considering each pair of particles. The complexity of this algorithm is O(n2), where n is the number of particles of each object. A possible solution to reduce this complexity is to decompose the object recursively into eight sub-objects, and to encapsulate these subobjects by spheres (the object will be represented by a tree which the depth is log8(n), see gure 5).
3.3 Interactions
O
When objects move in a real environment they may interact with each other. The Robot system distinguishes between three types of interaction: collision, friction and external viscosity. When two objects collide, they locally deform ( gure 4). These deformations aect the equilibrium position of the internal connectors (LS, TS, and JS), consequently, these connectors try to nd their equilibrium l positions by generating a viscoelastic forces.
O11
N1
N2
Ok
O2
O1
O18
O12
N3
O8
N4
......................
Nn-1
Nn
Collisions.
1
Figure 4: The collision force is the result of a local deformation at the contact area.
Figure 5: Hierarchical Decomposition of an object into
spheres.
If the object is deformable, it is important to increase the radius of its encapsulating sphere, in order to be able to contains the object even when it deforms. With such representation, the algorithm which nds the pair of particles in contact can be given by these two rules : Locate Contact(Object1 ,Object2 ) ! Object1 contains only one particle P1 , Object2 contains only one particle P2 , The distance between P1 and P2 is less than the sum of their radii. Locate Contact(Object1 ,Object2 ) ! X is a subobject of Object1 , Y is a sub-object of Object2 ,
the encapsulating spheres of X and Y are in contact, Locate Contact(X,Y ). Let k be the average number of the pairs [X; Y ] which the encapsulating spheres are in contact (k 2 [0::8]).The complexity C(n) of this algorithm can be given by: C(1) = 1; C(n) = (64 ? k) + k C( n8 ) or 8 O(1) if k = 0 > < O(log8(n)) if k = 1 (5) C(n) = > k ) if k 2 [0::8] O(n > : O(n) If k = 8 1 log (8)
Friction force jF~f j is normally proportional to the perpendicular force jF~nj (Coulomb's law) applied by an object on the other: 8 ~ V > (sliding) > < ?c jF~nj jV~ j If V~ 6= ~0 ~ ~ F Ff = > ?s jF~nj jF~t j If jF~tj > sj F~nj (intermediate) > : ? F~t t Else (sticking)
Friction.
where c is the kinetic friction parameter, s the static friction parameter (s > c), V~ the relative speed of the colliding particles, and F~t the tangential force applied by one particle on the other. When an object moves, it interacts with the environment (air, water, vacuum). This interaction can be approximated by a speed proportional force (the case of an object which moves in the air) F~v = ?kV~ , where k is the viscosity factor and V~ the speed. Adding the possibility of partial contact with the environment gives : ( ~ V ~ ~ (6) F~v = ?k (V ~n): jV~ j if V ~n >= 0 0 else
4.1 Motion generation One of the main aspects of a physical object is its ability to be manipulated by an external force. This property can be used to plan the motion of a robot. Two cases can be considered: the mobile robots and the manipulators. To bring a mobile robot to a new desired position we attract it to a virtual robot which exists at the new position by means of a set of connectors ( gure 6.a). The choice of the type and the position of these connectors depends on the tasks to be realized. TS connectors are useful to constraint the trajectory to be followed by the robot (strait line or arc of circle g 6.A). Mobile robot.
9
1 2
10 4 5 6
3
Viscosity.
where ~n is the external normal vector to the object surface at the particle location.
4 Solving robotic tasks Robot system allows us to create a virtual world in which objects and robots have a physical behaviour consistent with the real world. This section show the concept of physical world can be used to solve some of the main problems of robotic programming.
Figure 6: The physical path planning. To move a manipulator to a new desired position, we switch it o, then we attract its tool to a virtual one by means of some connectors. As the switched o joints do not resist the external forces, they will follow the tool giving by there motion the desired trajectory ( gure 6.b). A switched o joint (or passive joint) is characterised by = 0 and ' 1. At each time step, the joints values has to be send to the real robot, which will imitate the same motion of the modeled one.
Manipulator.
4.2 Obstacle avoidance Physical objects are capable to interact with each other. When an object collide with an obstacle, the
collision force (x 3.3) will prevent it from continuing in the same direction. So the object will slip following the obstacle border ( gure 7.a). A simple way to avoid the collision with the obstacle when physical contacts are not allowed, is to expand the obstacle by a given security distance. Local minima are characterized by a null speed. Avoiding local minima is possible by adding successively virtual obstacles in the local minimum. Then the object will move automatically far from the local minimum ( gure 7.b). This method is ecient when the robot has no constraint on its motion.
1
2
Figure 8: Adding LS connectors between the nger-tips guarantee that the sum of the external forces is null.
a 1 but
2 1 but
but
1 2
b Obs
1
1 but
but
but
Figure 9: Power grasp simulation.
2
Figure 7: Obstacle avoidance.
4.3 Stabilisation Any object search automatically its stable position, where its potential energy is minimum. This position is characterised by a null speed. An object is free if the sum of the external forces applied on it is null. The speed of the inertia center of a free object is constant. If the initial speed of a free object is null the only possible motion of this object is to turn around its inertia centre. In a constrained environment, this motion will stop because of the collision with other objects. This property is useful to ensure the stability of a grasp by an articulated hand. In this case the object is initially stable, the environment is limited by the hand, and the external forces applied by the hand on the object can be null if the nger-tips are attracted to each other by means of LS connectors. This connector ensure that the sum of the forces generated on its extremities is always null ( gure 8). The stability of a power grasp can also be simulated using physical model. Because this stability is the result of a big number of contacts between the hand and the object as shown in the gure 9.
5 Experimental simulation The three basic mechanical behaviours of a sti bar (traction, exion, torsion) has been initially tested. Then we simulated a more complex phenomena. Figure 10 shows the dierence between the behaviour of a wheel (which turn) and the behaviour of a cube (which topple over the earth) when they are submitted to the gravity force. This gure shows a vehicle which automatically nd its con guration when crossing a hilly terrain. Grasping stability has been simulated using a physical model of our Salisbury hand. The correctness of the mathematical approach used to nd the trajectory of an object has been tested using MAPLE1 . For the cases which can be solved analytically, we have compared the adaptative time step approach ATS with the constant time step approach CTS. Using ATS, the numerical solution converges always and its more accurate than the solution obtained using CTS. The computation time needed to do one iteration using ATS is about 1:5 the computation time using CTS, but the gain in iteration number is always greater than 1 (for a rigid collision this gain can reach 10000). The execution time depend on the task to perform. The example of the ball which fall down on the earth needed less than one second to be performed. The simulation of the motion of the Sal1 Maple is a computer algebra system, with powerful symbolic, numeric and graphics routines
isbury hand ( gure9) during 50s needed 50 second to be performed using ATS (it needs 250s using CTS).
References [1] A.Joukhadar, C.Bard, and C.Laugier. Planning dextrous operations using physical models. IEEE/ICRA, May 1994. [2] A.Joukhadar and C.Laugier. Dynamic modeling of rigid and deformable objects for robotic task: motions, deformations, and collisions. International conference ORIA, Decembre 1994. [3] C.Laugier, C.Bard, M.Cherif, and A.Joukhadar. Solving complex motion planning problems by combining geometric and physical models: the case of a rover and of a dextrous hand. Workshop on the Algortihmic Fondations of Robotics (WAFR), February 1994.
Figure 10: Some simulations executed using Robot.
6 Summary and Conclusions In this paper we have describe the Robot system. This system allows us to model robots and their environment in order to simulate their motions, their deformations, and their interaction with the environment. This system has been used to solve some robotic tasks involving complex contact interactions. The motion complexity at each time step O(n), where n is the number of particles in the environment. An hierarchical representation of objects allows to have the same complexity (O(n)) when calculating the interaction between two objects. It uses an adaptative time step in order to avoid the numerical divergence, to control the geometrical penetration between objects and to reduce the computation time. Current works try to reduce the particles number n needed to represent an object in developing a Facet/Facet physical interaction. The truncation error of the computer is also an important factor, we try to study this error in order to add a recompense factors.
Acknowledgements The work presented in this paper has been partly supported by the CNES (Centre National des Etudes Spatiales) through the RISP national project, and by the Rh^one-Alpes Region through the IMAG/INRIA Robotics project SHARP.
[4] M. Gascuel, A. Verroust, and C. Puech. A modelling system for complex deformable bodies suited to animation and collision processing. Visualisation and computer animation, 1991. [5] D. Gay and J. Gambelin. Une approche simple du calcul des structures par la me'thode des e'le'ments nis. Herme`s, 1989. [6] J.-P. Gourret. Mode'lisation d'images xes et anime'es. MASSON, 1994. [7] J.Dorlot, J.Batlon, and J.Masounve. DES MATRIAUX. Ecole polytechnique de Montereal, 1986. [8] A. Luciani and al. An uni ed view of multiple behaviour, exibility, plasticity and fractures: balls, bubbles and agglomerates. In IFIP WG 5.10 on Modeling in Computer Graphics, pages 55{74. Springer Verlag, 1991. [9] D. Metaxas and D. Terzopoulos. Dynamic deformation of solid primitives with constraints. Computer Graphics, volume 21, Number 2, july 1992. [10] P. Sikka, H. Zhang, and S. Sutphen. Tactile servo: Control of touch-driven robot motion. Third international symposium on experimental robotics, octobre 1993. [11] C. Thibout, P. Even, and R. Fournier. Virtual reality for teleoperated robot control. International conference ORIA, Decembre 1994. [12] D. Williams and O. Khatib. The virtual linkage: A model for internal forces in multy-grasp manipulation. IEEE, 1993.