Cable driven haptic interface for co-localized desktop VR

Cable haptic devices can produce a large set of forces while being inconspicuous. This paper outlines the design and the implementation of such a device as a desktop virtual environment. It's combined to a stereoscopic 3D display, visualized through a semi-mirror, below which the manipulation space is located. This configuration co-localizes, i.e superimposes, visual and haptic feedbacks for realistic user interaction. The constraint imposed by the reflective surface requires a specific configuration of the cable device. The process to design such a desktop sized virtual reality interface is explicitly exposed here. An over-constraint cable mechanism is proposed. The assembly of the complete co-localized visio-haptic interface is described, as well as a force computation method easy to implement.


I. INTRODUCTION
Virtual reality can be defined as "an experience in which the user is effectively immersed in a responsive virtual world" [1]. Realistic objects and motions are artificially displayed via a computer with a viewpoint continuously tuned to coincide with the user's. Progressively, the user who was a mere observer becomes an actor in an interactive world. The common solution used for user immersion is an avatar, generally a simple virtual representation, controlled through a joystick or similar simple input device. However, in simulations involing manipulation, the lack of force feedback is a major let-down. Consequently, active mechanisms capable of rendering forces, known as haptic interfaces, are used as input devices. The design of such a device for realistic rendering is complex endeavor. Mechanical transparency is hard to achieve and easily deteriorated by the mechanism itself (inertia, joint friction...) [2]. Existing devices such as rigid grounded structures or exoskeletons are therefore subject to a trade-off between the dimensions of the workspace, structural weight and intrusiveness. On the other hand, cable devices exhibit far more advantages to cover a larger space with less inertia while being inconspicuous [3].
A key issue is the coupling between such devices and the displayed virtual world. Commonly, the user observes the scene though a screen and holds the haptic device in his hand. In this case, the force and visual informations are spatially distinct and the user's brain has to superimpose both reference frames. Ideally, visual scene and force landscapes would be spatially identical for a better realism. Hence, vision and haptic display devices should act in the same space, i.e be co-localized. In this context, to let the user put his own hand directly in the virtual scene, *This work was performed within the Labex SMART supported by French state funds managed by the ANR within the Investissements d'Avenir programme under reference ANR-11 IDEX-0004-02.
The authors are with Sorbonne Université, CNRS, Institut des Systmes Intelligents et de Robotique, ISIR, F-75005 Paris, France justine.saint-aubert@sorbonne-universite.fr an efficient method is to let him watch the screen across a mirror and manipulate in the reflection located below its surface [4] (Fig. 1). Combining such a display technique with a cable device would combine the transparency of the haptic feedback with co-localized interaction. A broad scope of applications can benefit from co-localized haptic feedback in a virtual environment, for example surgery training [5], nano manipulation [6] or rehabilitation. This paper outlines the design of cable devices in order to fit the virtual space presented through a semi mirror. The first section discusses the advantages of co-localization and of the used mirror display technique. Then, four-motor cable configurations are compared with a suggested over-constraint mechanism. The design of a desktop interface with this new configuration is then fully exposed including a force computation method easy to implement.

II. VISIO-HAPTIC CO-LOCALIZATION
A. Benefits of Co-Localization From several sensors, human deduces information on his environment. For instance, if he sees a transparent cube and senses cold, he considers it as an ice cube. In case of discrepancy, sensors relevance are weighted depending on their precision [7]. In a virtual reality interface, provided information maybe visual, tactile and kinesthetic 1 . The latter refer to humans' capacity to locate his own body in space [8]. Hand and vision should be in the same location, i.e co-localized, in order to reach the same deduction. In this case a straightforward assimilation of the scene can be expected. Kinesthesia can then substitute to vision. For instance in case such as the avatar is hidden because an object is placed in front, or when multi-finger interactions are presented through several look-alike avatars or when simply user looks away from the avatar, kinesthesia may advantageously provide the localization in the virtual scene. However, in more generic cases, the impact of the co-localization on the manipulation is insufficiently investigated. It is well-known that it's possible to manipulate without co-localization. Nevertheless, severel studies showed that performances improve when co-localized [9] [10]. The device devised here would help to pursue studies on this subject, providing an empirical tool where psychophysical experiments can be developed.

B. Co-Localizable Display
Hand access to the virtual scene could be provided simply with three-dimensional image 'popping-out' from a stereoscopic monitor, but the main part of the scene would remain unreachable because of the physical presence of the screen, especially the most vivid part corresponding to the null parallax plane. A completely intangible scene is displayed if the user watches the reflection of the screen across a mirror and manipulate below [4] 2 . By using a semi-mirror, hands remain visible and a realistic dual world is observed [11] (Fig. 1). The display is then a three-dimensional stereoscopic screen located nearly 10cm above the reflective surface and tilted at 45˚. In this manner, the user's sight is clear in a comfortable posture. The desired manipulation workspace is approximated to a parallelogram about (37 × 25 × 20)cm 3 placed just below the mirror ( Fig. 2 (a)). These dimensions correspond to a tilted 17 inch monitor (16/9 or 4/3), adequate to perform manipulation tasks.

A. Objectives
Several constraints are singled out in order to cover a large set of simulations without requiring a complex design. The force feedback should constrain three degrees of freedom in translation on a handle and it should convey a maximum of 5N continuous forces to surpass the average force about 1N during a manipulation task [12]. The device has to be compact, while limiting parasitic forces such as inertia and friction but its workspace must cover the entire scene without hiding it. Finally, the force feedback should cover every direction of the space in every position, the workspace should be totally constraint. 2. Please note that head mounting displays are not considered here because judged too intrusive or monopolizing.
The workspace is considered a parallelepiped placed just below the mirror (a). A typical configuration in three dimensions uses four motors forming a tetrahedron (b). The over-constraint configuration uses five motors arranged in an inverse pyramid (c). Both configurations cover completely a particular workspace with its length, width and height respectively along the axis x, y and z (d).

B. Rigid Haptic Devices
Studies have already tried to co-localize rigid haptic devices with a similar type of display [7] [13]. Yet, a perfunctory combination of an existing haptic device and the visual display leads to inconsistency because it was not specifically designed for the scene. The most commonly used devices are the serial device 3D SYSTEMS PHANToM Premium 3.0 and the parallel device FORCE DIMENSION Delta 3. Although they may cover the entire space, their structure are composed of rigid bodies. Mechanisms then struggle to develop quick and high forces and a certain inertia is transmitted to user. Moreover, mechanical parts visually invade the virtual scene.

C. Cable Haptic Devices
Cable interfaces are constituted of wires attached to motors on one side and to the handle on the other (Fig. 2 (b) and (c)). These interfaces can therefore provide rapidly high forces while keeping the weight of the structure low. A broad spectrum of forces and accelerations can hence be generated. Consequently, a large workspace can be covered without the user feeling parasitic effects from the mechanism and cables are nearly invisible. Users tend forget the presence of the device and the scene is clear of disturbing useless parts. Cable devices are hence excellent candidates to provide a force feedback in this interface. The length of the parallelepiped is presented in abscissa, the width in ordinate and the height in the corresponding case. The center of the box is assumed located in the center of the shape.

IV. KINEMATICS OF CABLE MECHANISMS
A. Properties of a Cable Device As a cable can only pull, several wires/motors are combined to exert force in full space ( Fig. 2 (b) et (c)). A n degrees of freedom feedback implies at least a n+1 motors system. The space where forces can be developed in every direction is then located between motors. The relation between these forces and tensions on wires depends on both the position of the end-effector and the desired output force at a given time. For instance, in a four motors configuration, the relation given Eq. 1 is solved via the pseudo inverse of the Jacobian matrix and a vector in the null space [14].
With f w the tension in the wire w and F the force on the handle, J is the Jacobian matrix, u w the direction of each wire w relative to the handle position in space. On the boundaries of the working space, these vectors are contained in planes between motors. Consequently, outward forces which are quasi orthogonal to wires demand large tensions in this area, and should be avoided. Existing cable devices are either large structures with actuators placed far away from the desired working space [15][16] [17] or are not well optimized [3]. The presence of the semi-mirror bars these configurations as it will yield to too large systems or to heterogeneous force fields.

B. Four-Motor Configuration
The basic actuator arrangement in order to obtain a fully three-dimensional force feedback with cables is four motors disposed in a regular tetrahedron. A face would be placed parallel to the mirror with three actuators on each side to not disturb user's movements and vision ( Fig. 2 (b)). The fully constraint workspace is located inside this tetrahedron and respects the symmetry of the desired working space along the axis y.
From a purely geometric standpoint, box-shaped workspace fitting inside the cable configuration in spans (distance between two actuators) are estimated. Maps for a 0.8m and a 1m tetrahedron are shown respectively in Fig. 3 (a) and (b). The abscissa shows the length l of the box available, the ordinate the width w. For each (l × w) case, the corresponding height available inside the tetrahedron is printed. As illustrated, enlarging the span has a considerable influence on the available space. The minimum span to match the required workspace dimensions (see II-B)i s1m for a tetrahedron. However, these dimensions still don't fit the realistic working space for a cable device. The upper face of the parallelepiped is located in the upper face of the tetrahedron, i.e on the boundaries. In this area, outer forces on handle requires infinite forces on actuators. A clearance, i.e a space between the upper face of the tetrahedron and the upper face of the box, should be added in order to lesser forces required from motors. For different spans, the available clearance between the desired box of (37x25x20)cm 3 and the real one is detailed (Fig. 4 blue curve). The corresponding maximum forces are determined with a numerical computation of Eq. 1 (Fig. 5 blue curve).  Each set of force on the handle is tested point by point on the entire desired space and the largest corresponding tension on wires is picked. With the clearance the maximum tension clearly drops from a value surpassing 100N to 40N . The optimum minimum span is around 1.1m, too large for a desktop application. As an alternative solution, an over-constraint configuration is suggested.

C. Over-Constraint Configuration
For an equal span, a larger workspace and clearance can be produced with an additional motor. The configuration with five motors is then an inverse pyramid with the base parallel to the semi-mirror (Fig. 2 (c)). This arrangement exhibits a larger space between motors close to the mirror and covers entirely the shape of the virtual scene in the (x,y) plane. The corresponding height mapping is depicted in Fig. 3 (d). This one is symmetric due to the regular pyramidal configuration. The effect of the additional motor is clearly observable. For a span of 0.8m, the workspace is broadly larger compared to a tetrahedron, with a larger clearance available ( Fig. 4 red curve). The span effect on the maximum tension is shown in Fig. 5 (red curve), where the required tension is below 40N past a span of 80cm. This points to a device 30 centimetres smaller than the previous arrangement with four motors and is then more appropriate for a desktop use. This configuration is hence used for the prototype.

D. Other Over-Constraint Configurations
In the same vein, numerous other configurations could be proposed but not without compromises. The span reduction here uses one supplemental motor. Adding actuators would surely lead to better performances in term of span and maximum forces. Nevertheless, each additional motor/wire generates residual friction and inertia, deteriorating the sought transparency and the user sensation. Leaving aside the additional cost, too many wires also make it more difficult to reach the handle. The five motors configuration showed above is thus the adopted compromise.

A. Hardware
The 3D virtual scene is displayed on a stereoscopic system with active shutter glasses (Fig. 6 [a]). The semi-reflective surface is a 3mm in thickness semi-mirror Groglass (50/50). Pictures perceived through de mirror depends of the lighting in the room, therefore a controlled environment is required. Moreover, once should be aware that the monitor and glasses are polarized correspondingly, and some adaptation may be required depending on the effect of the reflection on the polarization direction. Actuators are placed on the base of the structure in order to simplify the conception (Fig. 6 [b]). Motors are direct drives Maxon DCX 32 70W 48V to avoid backlash. Light and resistant wires (Spectra 1mm diameter) enwrap these motors via wrappers Ø 5cm [c]. Next, the wires are pulled to vertexes of the inverse pyramid then attached to the handle [d], via a pulley system. In a cable interface, wrapping or sliding on a pulley is predisposed to generate friction. To avoid this effect, separate grooves are set on the wrappers which are mounted on ball bearings. Top-side wires pass through a first pulley [e] then through a second one articulated around the vertical axis to accommodate for the handle position (Fig. 6 [f]).

B. Force Feedback Loop
The virtual scene is displayed using the open-source software Blender which provides a reliable computation of rigid body dynamics 3 . An object in the simulation represents the handle and its position in space P =( x, y, z) is calculated from length l i of each wire i, kept constantly taut with a minimum 3. http://www.blender.org tension (Eq. (2),(3) and (4)). As lengths of four wires are known, the equation have a unique solution.
With s span of the device. Lengths are inferred from encoders (Maxon ENX16 EASY 1024) mounted on motors and collected with an acquisition card (Sensoray 826). Above computation are then performed with a C++ program running on a real-time GNU/Linux OS and sent to Blender with a UDP communication protocol. Efforts induced in simulation during interactions between objects and the handle are deduced using the god-object method [18]. Those are sent back via UDP to the C++ program in order to generate a force command on the haptic device. Wire tensions can then be deduced with Eq. 1. However, solving this equation requires finding vectors in the null space. It's a relatively complex computation not suitable for a real time simulation. As a substitute, we propose to reduce the Jacobian to a 3x3 matrix, very straightforward to invert (Eq. 5).
This implies to select the three motors (i, j, k) out of 4 to exert a desired force F in space. A force can be generated by a triplet if it's comprised in the shape formed by motors and the handle (Fig. 7). To this end, every vector of each plane d lm (t) formed by two wires l and m are calculated and compared to the direction of the force F(t).
Be P the position of the handle in space and A l , A m positions of two anchors in space. Fig. 7. The combination of active motors is deduced from the position of the handle and the desired force direction. In the case exhibited here, the vector force is contained in the shape formed by motors 3,4,5 and the handle. This triplet is thus selected to generate the force.
The direction vector is updated at each iteration t using the calculation depicted in Eq. 6.
Signs comparison between each d lm (t).F(t) gives the part of the pyramid containing the force vector, hence which wires to activate. Forces are then converted to a current set-point on each motor and sent to several control cards (Maxon ESCON Module 50/5) providing closed loop current control.

C. Co-Localization Procedure
From the user point of view, the handle of the haptic device and its avatar has to be permanently coincident. As Blender uses a virtual camera to provide the virtual point of view, head tracking is provided to match its position to user's. An infra red camera (TrackIR) and passive markers placed on the shutter glasses are employed for head-tracking 4 . The haptic device and the virtual scene are not in the same reference frame because of the tilted screen and the mirror reflection. Appropriate transformation is introduced by inverting the handle position along z then rotating about 45˚around the x axis. The inverse transform is used between the forces in the virtual scene and set on the haptic device.

D. Simulation Example
As a proof of concept, a simulation where a user holds the handle (white avatar) and explores a virtual object (blue ball) about 7cm in diameter is shown in Fig. 8. The user's trajectory and contacts are shown on the top left image. Corresponding forces on the handle and tensions on wires are exhibited accordingly on the middle and the right inserts. A series of pictures taken during the motion from the user's point view along z position are shown below. As expected, visual matching between the end-effector and the white ball is apparent on different positions in space. User assumes that he manipulates directly the virtual object. Related forces are consistent with simulated objects.

VI. DISCUSSION
Most previous publications on cable-driven haptic interfaces skip the design choices and only present the final prototype. We hope to have filled partially this gap by exposing this process in detail to let anyone to reproduce and adapt the proposed co-localized interface. Several observations can still be added. Other solutions were introduced in the literature to fit a cable device in constraint space [19]. It involves replacing one of the cables with a rigid part. However, the added inertia is a compromise on the haptic transparency. Another consideration concerns the position measurement of the handle, and the dynamics of force rendering. Those require wires to be taut at all times during simulation. Every motor, even not included in the active triplet, is constantly under by minimum current. This induces a small permanent force on the handle. A more elaborate strategy would be to slack the cables when no force feedback is requested, mechanically disconnecting the handle from the system [20]. This considerably improves the transparency of the free exploration case when null forces are requested. Finally, only translational motions were considered in this paper. Therefore wires are attached to a single point producing an over-constraint configuration. Using a more complex handle with several anchors it would be possible to introduce a supplemental active DoF in rotation.