# Teleolocation--Remotely Operated Legged Robots
## 2 Methods
### Operator Interface
#### 2.2.2. Haptic Interface  
The physical operator station also consisted of the Sensable PHANToM Omni(r) 3 DOF haptic devices and a desktop computer. In the presented method, two Omni haptic devices were utilized--one for each set of three legs per phase of the walking tripod gait. Kinesthetic force-feedback from the haptic devices encouraged the users to command efficient hexapod movement. In terms of system hardware, the operator interface machine ran with a dual-core 64-bit Intel(r) CoreTM i7-640M running at 2.8 GHz using the Microsoft Windows 10 operating system. The machine was equipped with 4 GB of system memory, and a graphics engine consisting of a NVIDIA NVS 3100M with 512 MB of GDDR3 64 bit memory. With regard to baseline software, haptic device setup files for calibrating and interfacing with the devices were necessary. The Computer Haptics and Active Interface (CHAI3D) SDK was implemented to both gather haptic device configuration and generate appropriate force feedback. This is in contrast to whole-body methods [54; 55; 56]. Communication between the operator console and the simulation platform was achieved via a rosbridge node using TCP/IP. For forward and backward motion, each device is paired with one set of the alternating tripod gait groups. Specifically, the left haptic device controls odd enumerated legs, while the right even enumerated legs. This is shown in Figure 5.  
A momentary button press on the haptic joystick activates a mode switch, and enables the user to command pivoting. The positioning of the alternating tripod gait sequences are governed by the haptic device configurations. First consider the raw joint limits for each leg  
\[\hat{J}_{l}= \begin{pmatrix}\theta_{F}\\ \theta_{\text{C}}\\ \theta_{\text{T}}\end{pmatrix} \in \begin{pmatrix}(-25.8^{\circ},68.75^{\circ} )\\ (0^{\circ},43^{\circ})\\ (-25.8^{\circ},54.5^{\circ})\end{pmatrix}  \tag{1}\]  
where \(\vec{J}_{l}\) is the joint state for leg \(l\), \(\theta_{\text{F}}\) is the angle for the femur-tibia joint, \(\theta_{\text{C}}\) the angle for the coxa-trochanter joint, and \(\theta_{\text{T}}\) the angle of the thorax-coxa joint, see Figure 2b. The zero state for \(\theta_{\text{T}}\) is as depicted in Figure 1, while the zero states for \(\theta_{\text{F}}\) and \(\theta_{\text{C}}\) are such that the femur and tibia are both parallel to the ground. Each of the two Sensable PHANToM Omni devices returns a 6 DOF input, i.e., 3 DOF position and 3 DOF orientation. In this work, only  
Figure 5: Haptic device to alternating tripod group mapping for forward or backward motion using the haptic operator interface. The red dot indicates the stylus position. the 3 DOF position readings are used. Given the haptic device stylus position, depicted in Figure 5 and tracked as joint 3 of the Omni device. \[\vec{p}_{h}= \begin{pmatrix}x_{h}\\ y_{h}\\ z_{h}\end{pmatrix}  \tag{2}\]  
the goal is to then map \(\vec{p}_{h}\) to resultant \(\vec{j}_{l}\) that conveys intuitive robot locomotion from user commands. Two such mappings are developed for two different modes: one for forward/backward translation, and one for pivoting motion. Users can initiate a mode switch with a simple momentary push button on the haptic device stylus. For translational forward and backward locomotion, the amplitude and stride length of the tripod gait cycle are determined from the values of \(x_{h},z_{h}\) position coordinates of haptic stylus \(h\). Specifically, \(x_{h}\) and \(z_{h}\) are mapped directly to the commanded values for \(\theta_{T}\) and \(\theta_{C}\) respectively. In this proof-of-concept implementation, any user provided command position is mapped to appropriate joint angles as:  
\[\vec{j}_{l}(z_{h},x_{h})= \begin{pmatrix}\theta_{\text{F}}\\ \theta_{\text{C}}\\ \theta_{\text{T}}\end{pmatrix} = \begin{pmatrix}\bar{\theta}_{\text{F}}\\ \alpha_{z}z_{h}\\ \text{sgn}(\theta_{hl})\alpha_{x}x_{h}\end{pmatrix}