Short paper summaries of papers from the 4th Phantom User's Group Meeting, PUG '99. ------------------------------ Matt 1) Using Fast Local Modeling to Buffer Haptic Data This paper deals with the use of a "buffer model" between the haptic interface and the data source to handle situations where haptic data cannot be delivered at required rates: simulation of deformable objects where the data rate is limited by computation time, unstable data rates in networked simulations, etc. The haptic loop will interact with this local buffer model instead of the virtual environment. The simplicity of the model makes it easy and fast for collision detection and estimation of contact forces. Yes, we might make use of this model when dealing with unstable data rate. ------------------------------ Gary 2) Algorithms for Network-Based Force Feedback: Since network latency in distributed robotic systems and shared haptic environments can result in unstable feedback forces, new algorithms optimized for network communication must be developed. One approach, PTLM, models the variable-latency communication link as a passive electricity transmission line with varying mass and stiffness. This creates a system with variable performance but guaranteed stability for the haptic device. A second approach, haptic dead reckoning, keeps a complete world model on the server and a local simplified model on the client. This allows the client to have data at the 1KHz rate needed by the haptics while receiving occasional corrections from the more accurate server model. - the haptic dead reckoning model is a very useful approach to lessening the dependence on the network server (or other peers) - we should look at using either this or another local model mentioned in one of the other papers from PUG '99 ------------------------------ Andrew 3) A Haptic constraints class library This article discusses the use of a class library to enhance user interaction. The constraints class library extends the Magma multi-sensory scenegraph API from ReachIn Technologies, which in turn uses the GHOST API. The class can be used to simplify input, reduce degrees of freedom and eliminate error conditions. With the use of force feedback, the user can be "encouraged" to move in the intended motion. This is achieved through a force curve, which has three main sections: snap, suck and background. ------------------------------ James 4) Haptic Interaction with Three-Dimensional Bitmapped Virtual Environments - This article discusses solutions of haptic interaction with real-time 3D bitmapped environments (ie. no polygon models). - Two main problems: o Large amount of calculations need to be done within a 1kHz response rate. o If the haptic system and the computational system exist on two computers over a network, network latency can cause much of the same issues as a computational latency. - Time vs Space Tradeoff Solution: o Client coordinate system is offset from the server coordinate system. o Example: As a user approaches and hits a boundary, he/she pushes the client coordinate system (frictionlessly) until the server has computed and sent back the proper haptic response. Next time the user collides with the boundary, the visually perceived collision with the boundary will coincide with the haptic response. Although this article presents some of the problems that we plan to encounter in our future projects, their solutions to these problems seem very shake. Instead of predicting or compensating for latency, their solutions seems to cheat it; trying to fool the user into believing that a problem never occurred. Varying latencies would also adversely affect their solution. ------------------------------ Gary 5) The use of CORBA in haptic systems - a requirement for future applications: The majority of networked haptic applications use proprietary protocols to connect the client performing haptic rendering to the server performing the overall visualization. Instead, CORBA can be used to simplify the network implementation. Not only does it remove the need for a custom protocol, but it also opens up many previously unavailable options for expansion of the system. - using CORBA, it was possible to easily extra clients, loggers, and various testing applications - not relevant to the current project since we need a networking protocol that can be lossy, not lossless like CORBA ------------------------------ Matt 6) A VR three-dimensional Pottery Design System This paper deals with the fabrication of various 3D structures by transforming the clay objects within a VR environment. The setup consists of a PC, Phantom haptic devices, and a rapid prototyping system. 1) Designer use 3D sculpting program and haptic device to design the object. 2) The polygon mesh of the object can be used in CAD and rapid prototyping systems. No, not immediately relevant. ------------------------------ skip? 7) Mobility training skip? 8) Structurally derived sounds in a haptic rendering system ------------------------------ Sara 9) Evaluating Haptic interfaces in terms of interaction techniques Usability is not a property of the haptic device alone but must consider it together with the software, other input devices, haptic algorithms, & interaction techniques - the interface as a whole. They plan to evaluate Phantom alone, monocular vision along, and Phantom + monocular vision for determining the shape of an object. - no results, just theory - Summaries of some interesting psycho-physics research: - 1.5 - 2 times longer to recognize unseen object while wearing gloves vs. bare hands - 7 times longer for blindfolded subjects to recognize objects w/ single gloved finger vs. using whole hands no, don't bother reading this paper. ------------------------------ Cheston 10) FGB: A graphical, haptic user interface for creating graphical and haptic user interfaces This project deals with the creation of a 3D user interface that has haptic I/O as well. The UI was created as a tool to create other UIs, much like the UI of Visual Studio is used to create other visual UIs. The program claims that haptics is an integral portion of the UI, and that a 1 kHz loop is guaranteed. An interesting fact is that more advanced portions of the program were created using the more basic portions, and once completed, the program could be used to re-create itself in a quarter of the original time. CONCLUSION: Not immediately relevant, but might be interesting to try the program. ------------------------------ Andrew 15) Providing reliable force feedback... This article discusses the a model of interaction with the human thigh with the Phantom arm. They use a techique of bufferring which allows the 100Hz physical model to interact with the 1000Hz loop of the PHANToM. The details of the bufferring technique is in one of Matt's articles. Basically there is a virtual model that gets updated by the physical model and the PHANToM interacts with the virtual model. ------------------------------ Young 11) Haptic vector fields for animation motion control "Haptic vector fields for Animation Motion Control" This article introduces an application of haptic vector fields for animation motion control. An animation can be encoded as a continuous trajectory in animation configuration space In general , animation cofiguration space is too high dimensinal to manipulate. If we map from a lower dimensional control space to the configuration space , we can intuitively modify the given animation. There are two mode for this: Follow mode- we can just trace the given trajectory on which haptic vector fields are set along.Stretchy tube mode - we can add our force fields to a default fields.So modified animation is generated. It's interesting application of haptic device . But not useful. ------------------------------ skip? 12) 2x the fun: 2 phantoms...telemanipulation ------------------------------ Young 13) "Contact determination for real-time Haptic Interaction in 3D Modeling and Painting" This article introduces a general and extensible algorithm for fast and accurate contact determination for haptic display. They didn't say much in this short paper. There are several algorithm for collision detection . They didn't just depend on one algorithm but utilized hybrid approach. In their algorithm , there are three phase. 1. In the first phase , it identifies the potential contact region by determining which cells were touched by the probe path, using pre-computed lookup table. 2. In the second phase , it traverses the OBB trees in that cells to determine if collisions have occurred using the specialized fast overlap test. 3. In the third phase , if the line segment intersects with an OBB in the leaf node , then it computes the surface contact point. And if in the previous frame , the probe of haptic device was in contact with the surface of the model, we exploit frame-to-frame coherence by checking if the last intersected triangle is still in contact with the probe. If so we cache this contact witness. Otherwise we check for collision using hybrid hierarchical representation of the object. Using this algorithm , they achieved 2 to 20 times speed up in comparison with commercial haptic display algorithm . and using this H-collide algorithm , they made an interactive multiresolution modeling and 3D painting system with a haptic interface called as "inTouch" useful if we aren't satisfied with GHOST's speed. ------------------------------ Sara 14) Providing Haptic Hints to Automatic motion planners Completely automated robot motion planning is hard (may be exponential in DoFs of the robot), while humans are good at finding approximate solutions. They investigated combining both. Found that haptic hints improved the speed of generating motion plans & allowed harder problems to be solved. Details: -configuration space has > 3 dimensions, so hard to visualize paths through it -free vs approximate configurations - approximate have some penetration -"free" portions of user-generated path immediately incorporated by planner -"approximate" portions must be "pushed" to free versions by planner Interesting points that may have wider applicability: -Implemented half-force option that allows objects to interpenetrate but still gives user some force as indication, vs "full-force" which disallows interpenetration. -Collision calculations only done at 10Hz! In between, they used heuristic of whether length of vector between current config & last config not in collision was greater than min distance to part & if so assumed collision. (Okay since paths only need to be approximate, & it's conservative anyway.) Not immediately relevant but could be an interesting direction for future research. ------------------------------ skip? 16) The VR dental training system ------------------------------ James 17) Haptic Interaction with Geoscientific Data - This team is developing an application, voxelNotepad, that allows 3D stereoscopic visualization and haptically-enhanced interaction and evalution of volumetric data (primarily for geoscientists). - Main features: o Ability to import and export volumetric geoscientific data. o Ability to interactively visualize volumetric data in stereo. o Ability to interactively feel the volumetric data with a haptic interface device. o Ability to directly pick individual voxels. o Ability to directly and interactively modify data values. - Main issues in this paper: o Two types of Force-Feedback: * 3D Grid-Force - allows the user to very precisely position the cursor in the volume data. * Viscosity Force - force that varies with the haptic density assigned to a particular data value. o Haptic Resolution - scaling between physical excusions of the haptic (physical) interface and distance traveled in the voxel (logical) space. Interesting description of an application, but its not necessary for anyone to read this.