# Enhancing Telexistence Control Through Assistive Manipulation and Haptic Feedback
## 3 System Implementation
### The Head Unit  
The remote site's head unit features a stereoscopic camera mounted on three sequentially linked servos, enabling visual feedback for the local user. A ZED-M camera, by Stereolabs Inc., headquartered in San Francisco, CA, USA, captures the stereoscopic imagery [24] and streams it to an HTC VIVE VR head-mounted display (HMD) via the GStreamer SDK. The MainConcept SDKs for GStreamer are developed by MainConcept GmbH, located in Aachen, Germany [25]. GStreamer was chosen for its flexibility and ability to deliver high-quality video with low network latency, as confirmed by previous studies [7]. A Unity3D scene was developed to display the stereoscopic video feed from the remote site [26]. Building on earlier work [8], the streamed video was integrated and presented in Unity3D using a GStreamer Unity3D Plugin. To optimize latency and video quality, a customized GStreamer pipeline was implemented. Figure 1: The overall architecture of the system. Figure 2: The system at the remote site comprises a robot arm and a head unit. Our system's head unit is unique in that it houses a ZED-M camera mounted on three DY-NAMIXEL motors, including two XL430-W250-T and one XC430-W150-T servomotor utilized in this study were sourced from ROBOTIS Co., Ltd., headquartered in Seoul, Republic of Korea. As shown in Figure 4, these motors enable the head unit to replicate natural human head movements, facilitating rotation across the tilt, yaw, and roll axes, as depicted in Figure 5.  
Figure 4: The head unit comprises three serially connected servomotors. Figure 5: The head motion visualization on XYZ-axis. Arrows show the rotation directions. Figure 3: The detailed architecture of the system shows the interaction between each component in the system. To operate the head unit, a user at the local site employs a head-mounted display (HMD). The system directly maps the HMD's rotational movements along the three axes to the head unit, enabling it to mirror the user's head movements in real time within the remote environment. A client-server architecture inspired by earlier research [27; 28] was implemented to control the servo motors of the head unit over a network, ensuring seamless operation. The Robotic Arm  
A robot control system was implemented utilizing the Unity engine at the local site [29]. Two VIVE trackers were incorporated into the setup: one to identify the robot's physical location and another attached to the user's hand to manage the robot arm's movements. An inverse kinematic (IK) model was designed in Unity to synchronize the robot's end-effector with the motion of the tracker on the user's hand. This system lets users control the end-effector's position by simply moving their hands. As the hand moves, the VR tracker updates its coordinates, and the IK system calculates the appropriate alignment to match the robot model with the user's hand position as shown in Figure 6. The generated IK solution is transmitted over a network to a remote location, where the robot executes the commands via a custom-built robot control middleware [27; 28]. At the remote location, an OpenManipulator-X (RM-X52-TNM) from ROBOTIS Co., Ltd., headquartered in Seoul, Republic of Korea equipped with a parallel gripper served as the end-effector [30]. Integrated force-sensitive resistor (FSR) sensors within the gripper allowed for the detection of contact forces during object handling. The robot arm was operated remotely through a network connection using the WebSocket protocol. A tailored middleware managed the robot's servomotors over the network [27; 28], employing methods adapted from earlier research. The Robotic Hand and Gripper  
Our study focused on utilizing the robot arm's gripper end-effectors because they are simple and compatible with the task at hand. Figure 7 shows the gripper, modeled after the standard gripper found in OpenManipulatorX by Robotis (ROBOTIS Co., Ltd., Seoul, Republic of Korea) [31].