Virtual Reality WINVR2009, February 25-26, Chalon-sur-Saône,. France. [24] Chamaret, D., Ullah, S., Naud, P.M.R. (2010), “Integration and evaluation of haptic ...
Proceedings of the ASME 2014 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference IDETC/CIE 2014 August 17-20, 2014, Buffalo, New York, USA
DETC2014-35289
PHYSICS ENGINES EVALUATION BASED ON MODEL REPRESENTATION ANALYSIS Germánico González Badillo Universidad Autónoma de San Luis Potosí Rioverde, SLP, México
Theodore Lim Heriot-Watt University Edinburgh, Scotland, UK
ABSTRACT Virtual environments (VE) are becoming a popular way to interact with virtual objects in several applications such as design, training, planning, etc. Physics simulation engines (PSE) used in games development can be used to increase the realism in virtual environments (VE) by enabling the virtual objects with dynamic behavior and collision detection. There exist several PSE available to be integrated with VE, each PSE uses different model representation methods to create the collision shape and compute virtual object dynamic behavior. The performance of physics based VEs is directly related to the PSE ability and its method to represent virtual objects. This paper analyzes different freely available PSEs –Bullet and the two latest versions of PhysX (v2.8 and 3.1) – based on their model representation algorithms, and evaluates them by performing various assembly tasks with different geometry complexity. The evaluation is based on the collision detection performance and their influence on haptic-virtual assembly process. The results have allowed the identification of the strengths and weaknesses of each PSE according to its representation method. Keywords: Physics simulation engine (PSE); model representation; virtual assembly; collision shape, haptics. NOMENCLATURE CAD CD FPS HACD min mm
Computer Aided Design Convex Decomposition Frames per Second Hierarchical Approximate Convex Decomposition minutes millimeters
Hugo I. Medellín Castillo Universidad Autónoma de San Luis Potosí San Luis Potosí, SLP, México
Víctor E. Espinoza López Universidad Autónoma de San Luis Potosí Rioverde, SLP, México
ms N PBM PSE sec STL TCT VPS VR VE
milliseconds Newton Physics-based modelling Physics simulation engines Seconds Standard Tessellation Language Task Completion Time Voxmap Point Shell Virtual Reality Virtual Environment
1. INTRODUCTION Several authors have proposed various VE with different applications, ranging from games to surgical training, assembly planning, design analysis, etc. However, each application has different requirements, e.g. surgical planning requires a precise modeling of tissue properties while games may require speed and realistic graphical rendering. On the other hand, applications developed for assembly planning or training require the virtual models to be represented with high physical and geometrical accuracy in order to enable the assembly of parts. In such systems the way a virtual model is represented within the PSE affects the performance of the system and the assembly simulation [1]. CAD models are commonly used in the design stage of new components and contain analytic and topological information that is used to build a precise geometric description of the model, where the surfaces are described by NURBS and other splines. Nevertheless, the exchange of data between CAD and VR applications is difficult due to the mathematical complexity of polynomial functions, which are unpractical to handle in real time collision detection applications [2] [3]. For this reason, tessellated representations of CAD models are
1
Copyright © 2014 by ASME
commonly used in virtual environments. Tessellation is the process of generating a triangular mesh that represents the model shape. The main problem when using tessellated models in assembly tasks is that the resulting polygon-based description is not as precise as the original CAD model due to the loss of some geometric features, [3]. Figure 1a shows the resultant shape of a sphere obtained with a low resolution tessellation; however, if resolution is increased, the resultant shape will be more similar to the original model, Figure 1b and 1c.
(a) (b) (c) Figure 1. Sphere tessellation result, a) low resolution, b) medium resolution, and c) high resolution. The use of tessellated models is the most common way to represent objects within a collision detection algorithm or a PSE. The work presented in [4] highlighted collision detection as a key functionality for successful virtual assembly processes. Inaccurate model representation can result in a poor simulation of the virtual assembly process or even one in which an assembly task cannot be carried out in the virtual environment but can using the real components. Several algorithms for model representation and collision detection have been proposed by different authors, for example voxel modeling was analyzed by Lock and Wills [5], where the proposed algorithm uses two object representations: a volume representation consisting on filled or empty voxels (voxmap) and a point shell, a surface representation of the object consisting on an even distribution of surface points. The results showed a fast collision detection that can achieve real-time performance and almost constant collision detection rates of above 20Hz; however, as the resolution of the voxmap and pointshell increased the simulation performance in terms of speed decreased. Tesic and Banerjee [6] proposed the representation of virtual objects by means of convex hulls that form a composed model defined by a triangular mesh. This representation allows the execution of fast and exact collision detection for nonconvex models and is designed for objects that have welldefined corners and sharp edges. The polygonal contact model (PCM) algorithm reported by Hippmann [7] represents body surfaces by polygonal meshes and bounding volumes hierarchies. The bounding volumesbased collision detection performs collision tests only for convex hulls in small areas of contact. This PCM algorithm resulted in collision detections around 10 times faster than the traditional brute force method.
In [8] an efficient, robust and computationally simple contact algorithm between bodies of complex geometry was proposed. The algorithm, named as the triangle soup average plane contact (TSAPC), has two parts: pre-search (where all the intersecting triangles are found by using the recursive overlap test between bounding boxes of objects) and detailed search (finding the penetration depth and the contact reference frame for each individual contact region). Even though the number of triangles is increased to represent the contact surface accurately, the solution time increases slowly. Jimenez and Segura [9] proposed a polyhedron representation based on modelling complex objects by using simpler objects, named as simplices, without any previous decomposition into convex pieces. These simplices are obtained by decomposing the polyhedron into oriented tetrahedral elements. A collision detection algorithm for the resulting elements was also presented. A representation algorithm, called ‘clustered hierarchy of progressive meshes’ (CHPM) was presented by Yoon, et al., [10]. The algorithm serves as a multi-resolution representation of the original model and as a bounding volume hierarchy. The algorithm can handle collision detections for large models or models with a large number of triangles; it is also able to accelerate the computation using different levels of detail (LOD) at the mesh area where the collision occurs. Comparative analysis The need for characterizing the different model representation algorithms has led to different comparative evaluations, for example, Chandru and Manohar [11] presented a critical review of four modelling paradigms: Constructive Solid Geometry (CSG), Boundary Representation (B-rep), nonmanifold and voxel models. Each representation was analyzed by a set of attributes such as ease of rendering, morphological dexterity, heterogeneity, ease of edition (local and global), memory requirements (brevity), ease of analysis, ease of obtaining volume representations from a physical part, and geometric accuracy. Voxel modelling was found to be the best performing representation method. Several polygonal-based collision detection packages such as V-collide, PQP, SWIFT++ and VPS were analyzed and compared by Kim and Vance [12]. The best overall performance was exhibited by the Voxmap Point Shell (VPS) method. VPS works by detecting interaction between two parts: a dynamic object moving in the environment and a static object defined as a collection of all other objects in the environment. However, in [12] the authors implemented VPS in such a way that it is possible to handle multiple dynamic part collision and two-handed assembly tasks. VPS includes physically based modelling capability to calculate subsequent motion after colliding. Four model representation methods (ConvexFT, GIMPACT, HACD and ACD) were evaluated in [1]. The evaluation was based on the geometric precision of the resultant model and the performance of each method on different dynamic tasks such as the free fall test and the assembly of simple and complex
2
Copyright © 2014 by ASME
models. This evaluation was focused on haptic-virtual assembly. The results exhibited that the algorithm used in GIMPACT showed the best performance in assembly tasks with complex geometries. Physics simulation engines According to Howard and Vance [13], a successful virtual assembly environment requires virtual parts to emulate real world parts behavior and this can be achieved by means of physics-based modelling (PBM), which uses PSEs to simulate real world physics properties, such as friction, gravity and contact forces to perform the assembly. The use of PBM results in better appreciation and understanding of part functionality and can also lead to improved training of manual tasks [14] [15]. However, there are several challenges when integrating haptics with PSEs, e.g. synchronization, non-effective collision detection, high computational cost and a negative impact on the performance of the application mainly because simulation engines have not been developed for haptic rendering, where the update frecuency is over 1 kHz while the physics simulation update rate is around 100 Hz [16]. According to Laurell [17] five key points are identified in any PSE: contact detection, contact resolution, force calculation, integrating motion and the impact of real time constraints (time step), where anything below 25 frames per second (fps) is perceived as slow and stammering. A comparison of three physics engines, Newton, ODE and PhysX, was made in [18]. A set of run-time tests were executed: friction on a sliding plane, gyroscopic forces, restitution, stability and scalability of constraints, accuracy vs. real, scalability of contacts (pile of boxes), stability of piling (max number of stacked boxes), complex contact primitivemesh, convex-mesh and mesh-mesh. Their results suggested that PhysX was the best simulation engine except in the stability of piling test and the mesh-mesh collision detection, this due to unwanted behavior. Another comparative analysis was presented by Boeing and Bräunl [19]. They considered PhysX, Bullet, JigLib, Newton, ODE, Tokamak and True Axis using PAL (Physics Abstraction Layer). Their comparison criteria included: integrator performance, material properties, friction, constraint stability, collision system and the stacking test. From the results it was observed that PhysX had the best integrator method whereas Bullet provided the most robust collision system. The possibility of implementing a modular haptic display system that relies on physical simulation and haptic rendering was presented in [20]. Four physical simulation libraries were evaluated: Havok, PhysX, Bullet and OpenTissue. The performance criteria were based on computation time, stability and accuracy. Four evaluation cases were presented: a pile of 50 cubes, a seven stage card house, 8000 cubes in a basin and a heavy block on a light block. The PhysX engine showed
penetration in some of the tests and the Havok engine showed the best average computation time, stability and friction accuracy. Haptic Applications Haptics is an evolving technology that enhances the sense of presence, realism and interaction in virtual reality applications through the sense of touch. Haptic devices are capable of rendering both tactile and force feedback, simulating the virtual objects´ shape, roughness, stiffness, weight and inertia, amongst other properties. These properties make haptic technology ideal for the simulation of assembly process. Several haptic-virtual assembly systems reported in literature use PBM to simulate the assembly process, for example the system named as VEDA [21], which offered a multimodal VE with visual, auditory and haptic modules. VEDA analyzed virtual interactions between two-dimensional polyhedral models. On the other hand, the system HAMS (Haptic Assembly and Manufacturing System) proposed by Lim, et al. [22], uses PhysX to enable PBM; the objective of this system is to evaluate how small changes in the shape of models affects the assembly process performance. A similar system, named as VEDAP-II, was presented in [23] and it uses PhysX to model the dynamic behavior of parts during the execution of virtual assembly operation, and introduces the spring-damper model to avoid parts overlapping. In [24] a methodology for simulating complex maintenance tasks was presented. The proposed system uses PhysX to enable the objects with dynamic behavior. The results showed that haptic feedback helps users to correct trajectories and improve their performance on the assembly task. Three main applications of virtual assembly systems have been identified: assembly planning, maintenance (diassembly) analysis and training. However, most of these systems have reported some problems regarding the collision response and interpenetration between virtual parts; for instance Howard and Vance [13] used triangle meshes for collision detection and reported that whereas mesh-mesh assembly enabled accurate collision detection, realistic physical response was not demonstrated, particularly when objects had continuous contact with each other. It has been observed that the PSE and/or the collision shape representation method used in the system greatly affect the simulation performance of the assembly process. The literature review revealed that the model representation method used for collision detection is a key aspect of virtual assembly tasks. It was also observed that there exist plenty of algorithms to create the collision shape. However, none of these model representation algorithms is developed specifically for the simulation of assembly process.
3
Copyright © 2014 by ASME
Table 1. Model representation methods for collision shape in PSE. PSE
Primitives
Triangular mesh
Convex Hull
Bullet
Sphere, box, capsule, cylinder, cone
Yes
Static Yes
Dynamic Yes (GIMPACT)
PhysX
Sphere, box, capsule, plane,
Yes
Yes
No
Newton GD
Sphere, box, capsule, cylinder, cone, chamfered cylinder
Yes
Yes
No
ODE
Sphere, box, plane (static), capsule, cylinder,
Yes
Yes
Yes (OPCODE)
PAL
Box, capsule, sphere
Yes
Yes
No
Havok
Sphere, plane
Yes
Yes
Yes
Vortex
Primitives
Yes
Yes
Yes
AGX Multiphysics
Sphere, box, cylinder, capsule, line, plane
Yes
Yes
Yes
When using the PBM on a virtual assembly platform, the PSE has already its own model representation method or collision detection algorithm; the methods available on some of the most common PSE are showed in Table 1. From this table it can be observed that only Bullet, ODE, Havok, Vortex and AGX support collision detection between dynamic triangular meshes. It is important to consider that in some cases the representation algorithms used in PSE are not precise enough for assembly tasks, e.g. while the graphic representation of a virtual model is correct and exact (Figure. 2a) the model representation in the simulation engine (collision shape) can be vastly different (Figure. 2b).
2. SYSTEM OVERVIEW The evaluation of the PSEs was performed in a hapticvirtual assembly system called HAMS (Haptic Assembly and Manufacturing System) Figure 3. The HAMS interface was created in Visual C++ and comprises the Visualization Toolkit libraries (VTK 5.10.0) [25] for the graphic rendering of the virtual scene. Single and dual haptic interaction is provided via two Phantom Omni haptic devices from Sensable, and using the Open Haptics Toolkit v3.0 [26]. The three physics engines, PhysX v3.1 [27], PhysX v2.8.4 [27], and Bullet v2.81 [28] were integrated into HAMS and the user is able to select either of these during running time.
(a) (b) Figure 2. Model representation: a) graphic representation; b) collision shape. According to different performance evaluation tests reported in the literature, PhysX and Bullet have shown the best overall performance. They also show a good adaptability with haptics, frequent update and maintenance, and good variety of model representation methods, compared with the rest of the PSE. In this paper these two PSE –Bullet and PhysX– are evaluated considering their own methods to represent non-convex objects (dynamic triangular meshes), and compared based on their performance in virtual assembly tasks. From its version 3.0, PhysX was completely re-designed, including new functions name, new shape description, new actor hierarchy, and a new method for time step definition, among others. For this reason this evaluation includes the latest two versions of this PSE –v2.8 and v3.1–.
Figure 3. HAMMS interface. 3. EXPERIMENTAL SETUP Virtual models can be represented in PSE by different types of collision shapes. These shapes are broadly identified as primitives (box, capsule, sphere or cylinder), convex hulls and, in some PSEs, non-convex objects that can be created directly from the triangular mesh. Bullet supports collision detection between primitive shapes, convex shapes and triangular meshes by using the GIMPACT collision detection libraries [29]. It is also possible to represent non-convex shapes by using a convex decomposition algorithm such as the Hierarchical Approximate
4
Copyright © 2014 by ASME
Decomposition Algorithm (HACD), which creates a compound object comprising various convex hulls [30]. Convex decomposition is defined as the process of taking an arbitrary complex shape, represented by a non-convex triangular mesh, and approximates it as a collection of convex objects. On the other hand, PhysX supports collision detection of primitives, convex hulls and compound objects; collision detection of triangular meshes has been discontinued since PhysX version 2.4. An alternative to enable collision detection of triangular meshes in PhysX is the use of a convex decomposition algorithm such as HACD. Another option is the use of the ConvexFT method, which transforms each triangle of the mesh in a convex element [1]. The ConvexFT algorithm has been implemented in HAMS to represent non-convex objects when using PhysX. In general, assembly tasks comprise non-convex objects, for this reason when using Bullet or PhysX, only GIMPACT, HACD and ConvexFT methods can be used to simulate the assembly process. These methods require input information that describes the shape of the object to be created; this information is contained in a STL or OBJ format file, which is created from the original CAD model. In this way, the original model is independent of the PSE and the results depend only on the model representation method and the ability of the PSE to handle that method. Since the objective of this research work is to evaluate the performance of different PSE in haptic-virtual assembly, five assembly tasks were selected: the peg and hole, gear oil pump, bearing puller, pneumatic cylinder and manual vice. Each assembly task was performed using each of the different model representation methods available in the PSEs. Each assembly tasks was performed six times for each factor (PSE and model representation method) by an experienced user in haptic-virtual assembly using a single 6 DOF Omni haptic device, randomly selecting the PSE and the model representation method in order to minimize any learning curve effect. The task completion time (TCT), the mean force feedback (MFF), and the physics simulation time (PST) were measured in each test. The TCT is a measure of the overall performance of the haptic assembly simulation, where bad performance will lead to difficulty in manipulating and controlling the objects. For example, a bad geometric representation or collision detection could lead to a larger TCT because of the difficulties in completing the assembly due to interference between objects, e.g. assembling the gear of Figure 2b on a rack will not be possible because of the lack of teeth. The MFF is a measure of the collision detection system performance and stability, a large MFF (around 1.0) may indicate that the collision response is too strong, producing the manipulated object to jump when colliding with other objects in the virtual scene. On the other hand, a small MFF (less than 0.2) may indicate that collision response is not accurately computed, resulting in poor force feedback and/or object overlapping. The PST is the time required for the PSE to complete one simulation cycle (simulation step), a large PST reflects a bad overall
performance of the PSE caused by a large amount of contacts that must be checked for collision during each simulation step. 4. HAPTIC-VIRTUAL ASSEMBLY TASKS Peg and hole assembly The PSE has a minimum object’s size where the collision detection is accurate. Small objects may produce unreal collision responses leading to a virtual assembly process that is difficult to be completed. Thus, the objective of this test is to evaluate the PSE performance when carrying out haptic virtual assemblies of small and very small size components. In this test the peg-in-hole assembly task is performed using seven levels of scale, Table 2. A graphic comparison of the first four scales can be observed in Figure 4. The TCT and PST are the evaluation parameters. Table 2. Peg and hole assembly scales. Scale
Hole bounding box size (mm)
1x (regular)
65 x 65 x 40
0.1x
6.5 x 6.5 x 4.0
0.01x
0.65 x 0.65 x 0.4
0.001x
0.065 x 0.065 x 0.04
0.0001x
0.0065 x 0.0065 x 0.004
0.00001x
0.00065 x 0.00065 x 0.0004
0.000001x
0.000065 x 0.000065 x 0.00004
Figure 4. Scaled hole: 1x, 0.1x, 0.01x and 0.001x. Gear oil pump assembly
The objective of this test is to evaluate the overall PSE performance when carrying out haptic virtual assemblies representing real complex components. This task comprises two bearings and two gears in a housing, Figure 5a. The gears must be aligned in order to successfully perform the assembly, Figure 5b. An inaccurate model representation method will result in difficulty, or even impossibility, to align both gears and to assemble the bearings. During the process the housing remained static whilst the rest of the objects were dynamic.
5
Copyright © 2014 by ASME
(a) (b) Figure 5. Gear oil pump assembly: a) unassembled parts, b) assembly completed. Bearing puller assembly The bearing puller also represents the assembly of real complex components and comprises six parts with cylindrical features: puller base, puller screw, two arms and two pins, Figure 6a. The assembly of the pin requires the alignment of both the puller arm and puller base; this condition requires high precision of the manipulated object and stability in the rest of the parts. Besides, the clearance between parts is 1mm; these conditions make the assembly process more difficult. The puller base is defined as the base part and remains static during the assembly process, Figure 6b.
Figure 7. Pneumatic cylinder assembly: a) assembly process, b) assembly completed.
Figure 8. Bench vice assembly: a) unassembled parts, b) assembly completed. assembly. The large jaw is defined as the base part and remains static during the assembly process. Once the two jaws are assembled the screw is fitted between them, and the pin is inserted into the screw hole. 5. RESULTS
(a) (b) Figure 6. Bearing puller assembly: a) unassembled parts, b) assembly completed. Pneumatic cylinder assembly The assembly task comprises eight parts: the rear cap, the cylinder, the front cap, the plunger and four screws, Figure 7a. The assembly process starts with the assembly of the cylinder on the rear cap; then the plunger is assembled inside the cylinder, followed by the front cap; finally the four screws are assembled into the front and rear caps, Figure 7b. The caps and cylinder remained static once assembled, whilst the screws and plunger were dynamic.
Peg and hole assembly The peg and hole assembly was carried out using GIMPACT in Bullet and static trimesh/HACD in PhysX. The results are shown in Table 3. The TCT and PST values for each scale are shown in this table, values marked with * indicates that the assembly could be performed but some overlapping or wrong collision response was observed. Highlighted values indicate a significant increase in the PST according with the previous scale. NP indicates that the assembly could not be completed due to excessive overlapping between virtual objects. Table 3. Results of the peg and hole test. Scale
Bench vice assembly The bench vice assembly comprises four parts: a large jaw, a short jaw, a screw and a pin, Figure 8a. The large jaw includes a squared slider where the short jaw must be slipped on. This imposes different simulation conditions than cylindrical features, resulting in a multidirectional collision response. If the PSE is not effective in handling this condition the collision response may be excessive, impeding the
6
Bullet TCT (s) PST (ms)
PhysX TCT (s) PST (ms)
1x
6.1
1.80
12.7
16.46
0.1x
5.4
1.84
6.2
11.02
0.01x
5.1
1.80
11.0*
20.12
0.001x
4.4
1.96
NP
NP
0.0001x
4.0
5.05
NP
NP
0.00001x
4.7
5.24
NP
NP
0.000001x
4.9*
4.85
NP
NP
0.0000001x
6.1*
6.30
NP
NP
Copyright © 2014 by ASME
Table 5. Bearing puller assembly results.
From the results it can be observed that when using the Bullet-GIMPACT configuration, the assembly could be completed with all the scales. However, only a satisfactory performance was observed for scales 0.001x (object size: 0.065 x 0.065 x 0.04 mm) or greater. In the case of PhysX a satisfactory performance was observed for scales 0.1x (object size: 0.5 x 6.5 x 4.0mm) or greater. The assembly could not be performed for scales of 0.001x or smaller. Gear oil pump assembly The results of the gear oil pump assembly are shown in Table 4. This assembly task could be performed using both non-convex model representation methods in Bullet, GIMPACT and HACD; and only the ConvexFT method in PhysX. The assembly using the HACD algorithm in PhysX was not possible because the model representation was not precise enough to perform the assembly task. Table 4. Gear oil pump assembly results. PSE
Model Rep.
TCT (sec)
MFF (N) PST (ms)
Bullet
GIMPACT
52
0.44
6
Bullet
HACD
126
0.86
19
PhysX v2.8
ConvexFT
81
0.45
9
PhysX v2.8
HACD
PhysX v3.1
ConvexFT
PhysX v3.1
HACD
Not possible 69
0.52
20
Not possible
The use of GIMPACT representation in Bullet PSE resulted in the least TCT with 51.8 seconds, and the least PST with 5.6ms. The ConvexFT in PhysX v2.8 resulted in a TCT of 1:21s and a PST of 9ms. Regarding the MFF, the results were similar for both Bullet and PhysX, around 0.45 N, during all the assembly. This indicates that collision response and force feedback are stable during the assembly process simulation. Chronocyclegraphs [16] were also used to analyze the trajectories of the manipulated parts while being assembled. Figure 9a shows the assembly trajectories when using BulletGIMPACT configuration, while Figure 9b shows assembly trajectories using Bullet-HACD configuration. It can be observed that the use of Bullet-GIMPACT resulted in more uniform and stable paths.
PSE
Model Rep.
TCT (sec)
MFF (N)
PST (ms)
Bullet
GIMPACT
85
0.60
5
Bullet
HACD
191
0.95
10
PhysX v2.8
ConvexFT
219
0.62
4
PhysX v2.8
HACD
PhysX v3.1
ConvexFT
PhysX v3.1
HACD
Not possible 63
0.77
8
Not possible
Bearing puller assembly This assembly was carried out using the model representation methods GIMPACT and HACD in Bullet and ConvexFT in PhysX. The assembly using HACD in PhysX could not be performed due to poor geometric accuracy of the resultant object. The results are shown in Table 5, where it can be observed that configuration Bullet-GIMPACT posted the least TCT and MFF, and a small PST, indicating that collision response is accurate. The use of ConvexFT in PhysX v2.8 resulted in the least PST, a satisfactory MFF, but the largest TCT. Pneumatic cylinder assembly Similarly to the previous tasks, the pneumatic cylinder assembly could be performed using GIMPACT and HACD in Bullet and only ConvexFT in PhysX. The results are shown in Table 6. These results are similar to the obtained in the previous assemblies. Bullet-GIMPACT posted the least TCT and PST, and a satisfactory MFF. On the other hand, PhysX v2.8ConvexFT resulted in the largest TCT, and a small MFF, which may indicate overlapping between virtual objects and soft force feedback. It can also be observed that PhysX v3.1 posted a TCT and MFF similar to the values obtained with the BulletGIMPACT configuration, however PST is the highest. Bench vice assembly When using Bullet, the bench vice assembly could only be done by using the GIMPACT model representation method. In the case of PhysX, the assembly could be only completed by using PhysX v3.1, but it lead to the highest TCT, MFF and PST. The results are shown in Table 7. Table 6. Pneumatic cylinder assembly results.
(a) (b) Figure 9. Gear oil pump assembly chronocyclegraphs: a) Bullet-GIMPACT, b) Bullet-HACD.
7
PSE
Model rep.
TCT (sec)
MFF (N)
Bullet Bullet
PST (ms)
GIMPACT
296
0.62
10
HACD
363
1.1
29
PhysX v2.8
ConvexFT
678
0.39
15
PhysX v2.8
HACD
PhysX v3.1
ConvexFT
PhysX v3.1
HACD
Not possible 308
0.54
31
Not possible
Copyright © 2014 by ASME
Table 7. Bench vice assembly results. PSE
Model rep.
TCT (sec)
MFF (N)
PST (ms)
Bullet
GIMPACT
126
Bullet
HACD
Not possible
0.63
4
PhysX v2.8
ConvexFT
Not possible
PhysX v2.8
HACD
Not possible
PhysX v3.1
ConvexFT
PhysX v3.1
HACD
245
0.92
17
Not possible
6. DISCUSSION In general, the results have shown that the BulletGIMPACT configuration leads to the best performance in terms of the smallest object size, the TCT, and the PST. In the case of the mean force feedback, its performance was satisfactory. On the other hand, the Bullet-HACD configuration has proved to be an effective configuration since most of the assemblies could be carried out, except the bench vice. However, its performance is not satisfactory, showing high TCT values caused by excessive collision responses observed in the values of MFF. In the case of the PhysXv2.8-ConvexFT configuration, most of the assemblies could be performed, except for the bench vice assembly. However, this configuration posted the highest TCT values caused by object overlapping and the sticky feeling among objects. Finally the PhysXv3.1-ConvexFT configuration exhibited the highest PST values in most of the tests. However, in some assemblies the TCT values were the closest to the BulletGIMPACT configuration, and therefore the best in PhysX. Table 8 presents a summary of the results obtained from the performance evaluation of PSE and the different model representations. In this table “+” means a good performance, “0” means a satisfactory performance, and “-” means a poor performance. The values shown in the table are relative to the best performance configuration. Table 8. Summary of PSE and model representation evaluation results PSE-Method configuration Bullet-GIMPACT
Bullet-HACD PhysXv2.8-ConvexFT PhysXv3.1-ConvexFT
Size + -
Criteria TCT MFF + 0
PST +
-
-
-
0
-
+
0
0
0
0
-
7. CONCLUSIONS AND FUTURE WORK This paper has presented the evaluation of three physics simulation engines based on the model representation method used to create the collision shape. Five different assembly tests
were proposed and carried out. The results have suggested that, in general, the Bullet-GIMPACT configuration has the best performance in haptic virtual assembly tasks. Even though Bullet-GIMPACT showed the best overall performance, model representation methods in PSEs must be further studied in order to improve the performance of VR systems such as virtual assembly platforms or other applications. In order to improve the performance of the existing model representation algorithms, a new method that uses different model representation algorithms in the same assembly, or even in the same object, is suggested. The implementation and evaluation of this method is proposed as future work. ACKNOWLEDGMENTS Authors acknowledge the financial support from CONACYT (National Science and Technology Council of Mexico). The work presented is also partially funded under the European Community Seventh Framework Programme (FP7/20072013), Grant Agreement nr. 258169 and EPSRC/IMRC grants 113946 and 112430. REFERENCES [1] Gonzalez, G., Medellin, H.I., Lim, T. and Ritchie, J.M. (2012), “3D object representation for physics simulation engines and its effect on virtual assembly tasks”, Proceedings of the ASME 2012 IDETC/CIE, August 12-15, 2012, Chicago, IL. [2] L. Tching, G. Dumont and J. Perret, “Haptic Assembly of CAD Models Using Virtual Constraint Guidance”. Proceedings of the ASME WINVR, Ames, Iowa, USA, pp. 11-19, May 12-14, 2010. [3] L. Tching, G. Dumont and J. Perret, “Interactive Simulation of CAD Models Assemblies Using Virtual Constraint Guidance,” Int. J. on Interactive Design and Manufacturing, vol. 4, no. 2, pp. 95-102, 2010. [4] T. Chen, “Virtual Assembly of Mechanical Components and Collision Detection,” International Conference on Electronics and Information Engineering, ICEIE, IEEE vol. 1, pp. 443-447, Aug 1-3, 2010. [5] S.M. Lock and D.P.M. Wills, “Voxcollide, Voxel Collision Detection for Virtual Environments,” Virtual Reality, vol. 5, no. 1, pp. 8-22, 2000. [6] R. Tesic R and P. Banerjee, “Exact Collision Detection for a Virtual Manufacturing Simulator,” Institute of Industrial Engineers, IIE Transactions, vol. 33, no. 1, pp. 43-54, 2001. [7] G. Hippmann, “An Algorithm for Compliant Contact between Complexly Shaped Bodies,” Multibody System Dynamics, Spinger, vol. 12, no. 4, pp. 345–362, 2004. [8] J. Choi, H.S. Ryu, C.W. Kim and J.H. Choi, “An Efficient and Robust Contact Algorithm for a Compliant Contact Force Model between Bodies of Complex Geometry,” Multibody System Dynamics, Spinger, vol. 23, no. 1, pp. 99–120, 2010. [9] J.J. Jimenez and R.J. Segura, “Collision Detection between Complex Polyhedral,” Computers & Graphics, vol. 32, no. 4, pp. 402– 411, 2008. [10] S.E. Yoon, B. Salomon, M. Lin and D. Manocha, “Fast Collision Detection between Massive Models using Dynamic Simplification,” Proceedings of the Eurographics Symposium on Geometry Processing, SGP 04, pp. 136-146, 2004.
8
Copyright © 2014 by ASME
[11] V. Chandru and S. Manohar, “Volume Modelling for Emerging Manufacturing Technologies,” Sadhana: Academy Proceedings in Engineering Sciences, vol. 22 (part 2), pp. 199-216, 1997. [12] C.E. Kim and J.M. Vance, “Collision Detection and Part Interaction Modeling to Facilitate Immersive Virtual Assembly Methods,” Journal of Computing and Information Science in Engineering, vol. 4, no. 2, pp. 83-90, June 2004. [13] Howard, B.M., Vance, J.M., (2007), “Desktop haptic virtual assembly using physically based modeling”, Virtual Reality, Vol. 11, pp.207-215. [14] Wang, Y., Jayaram, S., Jayaram, U. (2001), “Physically based modeling in virtual assembly”. Int. j. of virtual reality, Vol. 5, No. 1, pp. 1-14. [15] Zerbato, D., Baschirotto, D., Baschirotto, D., Botturi, D., Fiorini, P. (2011), “GPU-based physical cut in interactive haptic simulations”. International Journal CARS. Vol. 6, pp. 265-272. [16] Ritchie, J.M., Lim, T., Sung, R.S., Medellin, H. (2008b), “Generation of Assembly Process Plans and Associated Gilbreth Motion Study Data”, Proceedings of the Second Virtual Manufacturing Workshop, Turin, Italy, EU Intuition VR Network Conference Intuition 2008, 6-8 October. [17] Laurell, B. (2008). “The inner workings of real-time physics simulation engines”, IRCSE '08 IDT workshop on interesting results in computer science and engineering, Mälardalen univerity, Vasteras, Sweden. [18] A. Seugling and M. Rölin, “Evaluation of Physics Engines and Implementation of a Physics Module in a 3D Auhoring Tool,” Master's thesis in computing science Umea University, 2006. [19] A. Boeing and T. Bräunl, “Evaluation of Real-Time Physics Simulation Systems,” Proc. Graphite '07, the 5th Int. Conf. on Comp. Graphics and Interactive Techniques, Australia and South West Asia, pp. 281-288, 2007. [20] L. Glondu, M. Marchal and G. Dumont, “Evaluation of Physical Simulation Libraries for Haptic Rendering of Contacts Between Rigid Bodies,” Proceedings of the ASME 2010 World
[21]
[22]
[23]
[24]
[25] [26]
[27] [28] [29]
[30]
9
Conference on Innovative Virtual Reality, Ames, Iowa, USA, WINVR201-3726, pp. 41-49, May 12-14, 2010. Gupta, R., Whitney, D., Zeltzer, D. (1997), “Prototyping and Design for Assembly analysis using Multimodal virtual Environments”, Computer-Aided Design, Vol. 29, No. 8, pp. 585-597. Lim, T., Ritchie, J.M., Dewar, R.G., Corney, J.R. (2007), “Factors Affecting User Performance in Haptic Assembly”. Virtual reality, Vol. 11, pp. 241-252. Garbaya, S., Zaldivar-Colado, U. (2009), “Modeling dynamic behavior of parts in virtual assembly environment”, Proceedings of the ASME/AFM 2009 World Conference on Innovative Virtual Reality WINVR2009, February 25-26, Chalon-sur-Saône, France. Chamaret, D., Ullah, S., Naud, P.M.R. (2010), “Integration and evaluation of haptic feedbacks: from CAD models to virtual prototyping”, Int. Journal on Int. Design and Manufacturing, Vol. 4, pp. 87–94. Kitware, 22014, “Visualization Toolkit (VTK)”, on the WWW: http://www.vtk.org/. January 2014. Geomagic OpenHaptics, 2014, “OpenHaptics Toolkit v3.0”, On the WWW: http://geomagic.com/en/products/openhaptics/overview. January 2014. Nvidia, Developer Z., (2014), ”PhysX SDK”, On the WWW, http://developer.nvidia.com/physx. January 2014. Game Physics S., (2014), “Bullet Physics Library”, on the www: http://bulletphysics.org/wordpress/. January 2014. GIMPACT, (2011) “GIMPACT, geometric tools for VR”, on the www: http://gimpact.sourceforge.net/reference_html/ features.html. Mamou, K. and Ghorbel F. (2009) “A simple and efficient approach for 3D mesh approximate convex decomposition”, 16th IEEE International conference on image processing (ICIP ’09), Cairo, Nov. 7-10.
Copyright © 2014 by ASME