# Toward a human-centered haptic guidance

Alexis Boulay, 3rd year CIFRE PhD student with Farm3

Inria supervisors : David Daney, Margot Vulliez
Auctus Inria, F-33405 Talence, France

Farm3 supervisors : Romain Schmitt
Farm3, F-25000 Besançon, France

contact : alexis.boulay@inria.fr

## Haptic guidance

Haptic guidance helps human operators perform tasks with remote-controlled robots by generating a guiding force through a haptic interface. Haptic guidance is characterized by the choice of a model (how the guiding force is computed) and the definition of a guiding path (or at least of some interest points). Typically, these choices are pre-determined and fixed during the interaction. However, considering such a fixed parameterization is incompatible with complex tasks and dynamic environments.

**How to dynamically adapt a guiding trajectory based on operator's actions ?**

## Guiding force

The most classic generation model for haptic guidance is the **spring-damper**.

With this model, the robot's position is projected onto a guide path and linked by a virtual spring-damper.

<figure><img src="image_1.png" /></figure>

$$F_g = K_g ||\mathbf{X}_r - \mathbf{X}_d|| \Delta_{dr} - B_g \dot{\mathbf{X}}_h$$

<figure><img src="image_2.png" /></figure>

Visual feedback

Teleoperation framework

## Trajectory model

**Elastic band** is a path of N weighted point connected by a spring-damper. The guiding force transposed to the nearest point generates the deformation.

<figure><img src="image_3.png" /></figure>

$$m_i \ddot{\mathbf{X}}_i = \begin{cases} F_{i;i+1} + F_{i;i-1} - F_g - B_{wp} \dot{\mathbf{X}}_i & \text{if } i = d \\ 0 & \text{if } i = 1 \text{ or } i = N \\ F_{i;i+1} + F_{i;i-1} - B_{wp} \dot{\mathbf{X}}_i & \text{else} \end{cases}$$

**Bézier curves** are used to smooth the path generated by the elastic band.

<figure><img src="image_4.png" /></figure>

## Trajectory deformation

### Parameters to tune

* $K_{wp}$: elastic band stiffness

* $m_i$: the mass of each waypoint

* $N$: the number of waypoints

m=20.0_kwp=0.02

<figure><img src="image_5.png" /></figure>

<figure><img src="image_6.png" /></figure>

Insufficient stiffness leads to excessive deformation

m=5.0_kwp=60.0

<figure><img src="image_7.png" /></figure>

<figure><img src="image_8.png" /></figure>

Insufficient mass causes the spring to wobble

4wp_m=20.0_kwp=60.0

<figure><img src="image_9.png" /></figure>

<figure><img src="image_10.png" /></figure>

Insufficient points prevent the path from fitting properly

### Other influent factors

* $\dot{\mathbf{X}}_h$: human velocity

* $K_g$: the guidance stiffness

m=20.0_kwp=200.0

<figure><img src="image_11.png" /></figure>

<figure><img src="image_12.png" /></figure>

Excessive stiffness prevents deformation

m=200.0_kwp=60.0

<figure><img src="image_13.png" /></figure>

<figure><img src="image_14.png" /></figure>

Excessive mass makes the points harder to move

23wp_m=20.0_kwp=60.0

<figure><img src="image_15.png" /></figure>

<figure><img src="image_16.png" /></figure>

Too many points leave some unaffected by deformation

## Optimal guidance

Classic elastic band are deformed by the presence of a repulsive field from obstacles.

<figure><img src="image_17.png" /></figure>

**Would applying the repulsive field on the human instead improve the guidance?**

<figure><img src="image_18.png" /></figure>