Desktop Virtual Assembly Using Physically-Based Part Modeling

image002

Overview

This research explores the feasibility of using a desktop haptic virtual environment as a design tool for evaluating assembly operations. Bringing virtual reality (VR) to the desktop will further integrate this technology into the product design process by making it readily available to all members of the design team. Haptic refers to the sensing of physical properties and forces through feeling or touch. Adding haptic feedback to virtual prototypes provides an engineer with additional information about a product’s design that may not otherwise be obtained. Tasks that require the sense of touch such as assembly and maintenance operations are also more realistically simulated with haptic feedback. Realistic part behavior for virtual assembly is achieved using physically-based modeling. Physically-based modeling refers to the use of Newtonian physics to simulate an object’s behavior.

The application created as a result of this research combines physically-based modeling, haptic feedback, and VR characteristics such as stereo vision within a desktop PC system. The application was created using Windows Visual Studio .NET 2003 development environment and written in C++ programming language. Object oriented programming concepts were used to combine several different software libraries/toolkits. Computer graphics are done with the GLUT and GLM libraries built on top of OpenGL. The OBJ file format was selected as a relatively standard way of representing CAD data with triangle meshes. The application framework is provided by VR Juggler, an open source toolkit for creating virtual environments.

Haptic feedback is provided by one or more PHANTOM® (Personal HAptic iNTerface Mechanism) haptic devices from SensAble Technologies. The Omni™, SensAble’s newest and most cost effective PHANTOM®, was selected as the primary interaction device for this application although all of SensAble’s haptic devices are easily integrated. Communication with the haptic devices is achieved with SensAble’s OpenHaptics™ SDK toolkit. The Haptic Device API (HDAPI), a sub-library of the OpenHaptics™ toolkit, allows lower-level programming access to the PHANTOM®/s. This research utilizes the HDAPI to send forces from a physics simulation to the device/s.

Open Dynamics Engine (ODE), a stable open source physics engine, provides the physically-based modeling of parts for this research. To implement ODE, a higher-level open source API for lower-level physics engines called Open Physics Abstraction Layer (OPAL) is used. OPAL hides many of the lower-level programming details and adjustable parameters so the programmer can focus on creating the actual application. The two basic components to any physics engine are the dynamics simulation engine and the collision detection engine. ODE’s dynamics engine uses first order integration to solve for the all forces and torques acting on a rigid body. The emphasis is on speed and stability over accuracy which makes ODE ideal for combining with haptics due to the high refresh rates required by the haptic loop. ODE can create collision body shapes comprised of primitives (sphere, box, and capsule) and/or arbitrary triangle meshes. ODE uses additional open source code called Optimized Collision Library (OPCODE) to model the triangle mesh shapes. OPCODE uses a memory-optimized bounding-volume hierarchy of axis-aligned bounding boxes to detect when and where two meshes collide. The following diagram shows the functionally and hierarchy of libraries used in this research.

image004

The result of this research is a low cost solution for performing haptic mechanical assembly in a virtual environment. Testing of the application showed the collision detection and primitive-to-primitive/primitive-to-mesh physical responses to be quite accurate. However, physically-based modeling is limited in that two interacting arbitrary mesh geometry can not accurately be simulated. This application is most useful for cases where primitives can be used to approximate CAD data; however, this method requires a large amount of preprocessing. Testing of the application resulted in the identification of two interaction modes:

  • Mode 1 (dynamic mode) – All bodies are considered dynamic throughout the length of the simulation
  • Mode 2 (static mode) – All bodies are set to static until selected by a haptic device, after which, an object is then changed to dynamic. Upon releasing the object is returned to static.

While the dynamic mode provides the most realistic physics simulation, the static mode may provide the most intuitive interaction for virtual assembly. The static mode allows parts to be position in a desired manner and then held static while other parts are assembled to them.

Images

  • SensAble Technologies PHANTOM® haptic devices including the cost effective OmniTM [1.65MB]
  • Primitive and OBJ triangle mesh approximations of the same original CAD Data [1.50MB]
  • Dual PHANTOM interaction with a simple primitive tool and complex mesh part [3.65MB]
  • Dynamic tower of blocks example (interaction Mode 1) [1.76MB]
  • Static square bolt and hole example (interaction Mode 2) [1.77MB]
  • Dynamic parts on static work bench [2.42MB]

Publications

Personnel

  • Dr. Judy M. Vance, Professor and Chair, Iowa State University
  • Brad Howard – MS Graduate Research Assistant, Iowa State University

Funding

Facilities