# Optimizing transparency of haptic device through velocity estimation

Antoine Weill-Duflos, Abdenbi Mohand Ousaid, Sinan Haliyo, Stephane Regnier, Vincent Hayward

► To cite this version:

Antoine Weill-Duflos, Abdenbi Mohand Ousaid, Sinan Haliyo, Stephane Regnier, Vincent Hayward. Optimizing transparency of haptic device through velocity estimation. 2015 IEEE International Conference on Advanced Intelligent Mechatronics, 2015, Busan, South Korea. pp.529-534, 10.1109/AIM.2015.7222588 . hal-03190973

HAL Id: hal-03190973

https://hal.science/hal-03190973

Submitted on 28 Apr 2021

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>
# Optimizing Transparency of Haptic Device Through Velocity Estimation

Antoine Weill-Duflos*, Abdenbi Mohand-Ousaid+, Sinan Haliyo*, Stéphane Régnier* and Vincent Hayward*

*Abstract*— In this paper, the conception and optimization of a new dual-stage haptic device is described. A particular attention is given to the choice of encoder. Compact, consumer grade, but low resolution encoders are particularly used. An issue arising from this particularity is the deterioration of the velocity measurement when Finite Difference method is used. Moreover, when encoders resolution decreases, velocity estimation becomes noisy. From haptic point of view, this noise destroys the realism of the rendered force. To deal with this problem, numerous methods have been proposed to offer a noiseless estimation. Here, advanced methods such as Low-Pass Filter, First Order Adaptive Windowing, Kalman Filter are proposed. Performances of these methods are verified and experimentally compared to a conventional finite difference method. Here, we show that Kalman filter and First Order Adaptive Windowing offers a good trade-off between estimation and noise rejection.

## I. INTRODUCTION

The human sense of touch operates within four to five orders of magnitude of external loads and with temporal scales ranging from persisting signals down to about one millisecond. This performance enables the elaboration of percepts such as surface textures, collisions, puncturing, and so one, arising from the small-scale mechanics of damage and frictional interactions. This type of tactile sensations is essential to grasping, probing, and manipulating objects in our environment. The design and construction haptic devices able to operate at the limits of human performance remains a challenge.

Our aim is to construct devices that can operate within the above mentioned ranges without introducing spurious signals that are the results of the typical injurious properties of mechanical systems. Such properties include inertia, friction, backlash, and structural dynamics [1]. One particular problem is to achieve the simultaneous production of high and low forces in a single device. Limitation in this aspect are due to an in inertia-torque tradeoff in electromagnetic actuators since a large inertia precludes the possibility to render small dynamic forces.

An ideal, completely transparent haptic device would have no mass, infinite bandwidth, and would supply unlimited forces [2]. One method to approach this ideal is to match human sensorimotor performance. For instance, the human finger is able to sense vibrations from DC to only approximately 1 kHz [3], [4]. A key element is the smallest human detectable force at a fingertip ($F_{shd} = 10^{-2} N$).

A new type haptic device able to achieve simultaneously low inertia, high forces and wide temporal bandwidth was

first introduced in [5], and a complete, compact, and practical system was described in [2]. The idea behind this concept is based on a dual-stage architecture employing a large motor to generate continuous forces and a small motor to produce the transients. Because the two motors combine their torques via a viscous coupler that converts slip velocity into force, it is possible to use velocity feedback to mask the dynamics of the large motor from the user. The resulting device is highly transparent and enables users to detect haptic details that are an order of magnitude smaller than with high-performance conventional haptic devices. For example, the system was included in a teleoperation system [6] and used to accurately feel the interaction forces with a water droplet as perceived by an ant [7].

The particularity of the design comes from the viscous clutch. This element allows the output torque to be decoupled from the inertia of the large motor since the torque is proportional to the controlled velocity of the large motor. An issue arising from this approach is the need to accurately estimate the velocity of the rotating shafts. Note that as the device aims to render the haptic feedback at 1 kHz, the controller has to run at least at the same frequency. The problem of a valid measurement at low speeds may be overcome by employing super-high resolution position sensors, but this approach has several drawbacks: These devices have a high cost, are highly sensitive because of the optical process and pose an integration problem as those don't come as a built-in option with the actuators. This issue becomes critical during any effort aimed at bringing the dual-stage haptic device technology to an affordable stage using consumer grade components, since the sensors are the dominant source of cost of the whole system.

<figure><img src="image_2.png" /><figcaption>Fig. 1. Deterioration of the velocity estimate, at 1 kHz sampling.</figcaption></figure>

<footnote>* are with Sorbonne Universités, UPMC Univ Paris 06, UMR 7222, ISIR, F-75005, Paris, France.</footnote>

<footnote>† is with Université de Versailles Saint-Quentin.</footnote>
Figure 1 shows how the velocity estimate deteriorates when encoder resolution decreases from 5000 to 1024 increments when using the Finite Differences velocity estimation method. As the number of increments decreases, the uncertainty associated with each increment increases. The variation of the estimate precision decreases proportionally to the encoder resolution.

From haptic point of view, this noise greatly jeopardizes the realism of reproduced signals since the human tactile sense is highly sensitive to minute oscillations and the velocity estimates participate directly in the control signals sent to the motors.

The objective of the present study is to leverage advanced algorithms to compensate for the use of consumer-grade low resolution encoders. Different algorithms are evaluated, including Finite Difference, Low-Pass Filtering, Kalman Filtering with triple integration [8], Kalman filtering with a known model [9], and First Order Adaptive Windowing (FOAW) [10].

The article first describes the dual-stage haptic device technology and a new compact design is presented, then deals with velocity estimation where the aforementioned methods are described and tested.

## II. EXPERIMENTAL SETUP

### A. Dual-stage device

The device is based on a dual-stage architecture, similar in design in hi-fi speakers where low and high frequency sounds are output on different channels.

A large motor providing high torque is coupled viscously to a smaller motor with a view to produce the missing transients, see Fig. 2. The output is effectively the sum of torques of both motors.

<figure><img src="image_3.png" /><figcaption>Fig. 2. Dual-stage haptic device described in [2]. It is comprised of two motors and an eddy-current viscous coupler.</figcaption></figure>

The coupler transforms the differential slip velocity of the large motor into torque. As a consequence, the handle is decoupled from its effective inertia by slaving the velocity of the large motor to the desired differential slip velocity. A feed-forward path is provided through the small motor to supply the missing transients of the desired input signal. The

small motor has very little friction and inertia, so unwanted forces can be kept below the human detection threshold. Readers can find more technical details about this haptic device in [2].

### B. Real time control on Linux system

Fig. 3 illustrates the control system architecture where the controller receives a torque set-point and uses the signals from the two encoders to generate commands to the motors.

The large motor operates in closed loop in order to achieve the desired torque. The control scheme is a polynomial compensator for optimal regulation and tracking. Moreover, the small motor was feed directly with the torque error in order to compensate for the slower response of the large motor. To achieve low jitter sampled data control, the control was implemented on a real-time OS with sampling rate set to 1i¿œkHz.

### C. High transparency

The interface achieved two orders of magnitude of improvement in transparency over existing designs measured in terms of the magnitude of parasitic forces owing to friction and inertia. The improved transparency allowed participants to detect details that were ten times smaller in magnitude than when using a conventional design. However, the cost of the whole system was high, raising the question of whether similar performance could be achieved with lower cost components.

### D. Technical improvements

A new design is built in order to improve the robustness of the device.

In this purpose, the continuous stage is replaced by a DCX35L GB KL 36V motor with a factory-mounted compact digital encoder, with 1024 increments. For the transient stage, a DCX22S GB KL 36V motor is used. A 5000 increment hub-disk & encoder (US Digital HUBDISK-1-5000-197-IE) are mounted on this stage. (see Fig. 4).

These improvements come with a major drawback because of the decrease in the resolution of encoders. 1024 increments encoder does not allow for a precise enough estimation of the velocity as shown in the previous section if using basic Finite Difference method at 1 kHz. To deal with this issue, advanced algorithms such as Kalman filter or FOAW can be used to compensate the lack of resolution.

<figure><img src="image_4.png" /><figcaption>Fig. 3. Control system architecture.</figcaption></figure>
<figure><img src="image_5.png" /><figcaption>Fig. 4. The enhanced version of the haptic device.</figcaption></figure>

### III. VELOCITY ESTIMATION

#### A. Influence of the velocity measurement on rendered torque

The eddy-current clutch generates a torque proportional to the slip velocity. As a result, the accuracy of the rendered torque is proportional to the accuracy of the velocity estimation, and in particular, to the large motor's velocity since the transient stage is held by the user's hand.

In term of haptic interface design, this particularity gives a possibility to define an acceptable error on the slip velocity, matching human sensorimotor performances. This error should be inferior to smallest human detectable force. This inequality is used as a criterion to determine the quality of the different algorithms proposed in this work.

To determine this error, let $\omega$ denote the velocity, $\Delta\omega$ the acceptable velocity error, $\Delta\omega_0$ the smallest acceptable velocity error, $k$ the Just-noticeable difference in haptic force, $b$ the damping coefficient of the clutch, $D$ the handle diameter and $F_{shd}$ the smallest human-detectable force at the fingertip. Equation 2, illustrated in figure 5, estimates the minimum tolerance of this error and equation 3 defines the tolerance range.

$$ \Delta\omega = \omega k + \Delta\omega_0 \quad (1) $$

$$ \Delta\omega_0 = \frac{1}{b} \times F_{shd} \times \frac{D}{2} \quad (2) $$

$$ \Delta\omega = \omega \times k + F_{shd} \frac{D}{2b} \quad (3) $$

<table><caption>TABLE I
NUMERICAL VALUES FOR b, D, $F_{shd}$ AND $k$</caption><thead><tr><th>Parameter</th><th>Value</th></tr></thead><tbody><tr><td>b</td><td>0.96 mN.m/rad.s</td></tr><tr><td>D</td><td>70 mm</td></tr><tr><td>$F_{shd}$</td><td>10<sup>-2</sup> N (according to [5], [11])</td></tr><tr><td>k</td><td>5% (according to [12], [13])</td></tr></tbody></table>

Using the values given in table I and 2, the smallest acceptable velocity error is $\Delta\omega_0 = 0.36$ rad/s.

<figure><img src="image_6.png" /><figcaption>Fig. 5. Force transmission from the large motor to the user's finger through the viscous coupler.</figcaption></figure>

<table><caption>TABLE II
SMALLEST MEASURABLE VELOCITY.</caption><thead><tr><th>No. increments</th><th>Smallest velocity (rad/sec)</th><th>Force resolution (mN)</th></tr></thead><tbody><tr><td>1 638 400</td><td>0.0038</td><td>0.104</td></tr><tr><td>81 920</td><td>0.077</td><td>2.11</td></tr><tr><td>5 000</td><td>0.31</td><td>8.5</td></tr><tr><td>1 024</td><td>1.53</td><td>42</td></tr></tbody></table>

In addition to this value, the range estimated via 3 is used to assess the quality of the methods used in this article, as pointed further in figures 6 and 7.

#### B. Finite difference

The Finite Difference method estimates the velocity by comparing the current position to the previous one at each iteration. This algorithm is sometimes called the Lines per Period estimator [14] because the velocity is estimated by counting the number of encoder lines detected during a sample time following the equation 4.

$$ \omega(t) = \frac{\theta(t) - \theta(t-1)}{T_s} \quad (4) $$

where $T_s$, is the sampling time and $\theta$ is the position output from the encoder. This algorithm is precise for high velocity as the differences between $\theta(t)$ and $\theta(t-1)$ become significant.

For this method, the achievable resolution is linked to the number of increments and the sample rate by the equation 5. Smallest achievable measurement is a single increment during a sampling period $T_s$. In the case of a quadrature encoder the resolution is 4 times number of increments $N_{inc}$ as reported in equation 5.

$$ \Delta\omega_{min} = \frac{2\pi}{N_{inc} \times 4 \times T_s} \quad (5) $$

Smallest measurable velocity for different encoders with a sampling rate of 1 kHz are listed in table II. The force resolution represents the smallest renderable force, calculated using the viscous coefficient of the clutch.

As the table II shows, the smallest acceptable velocity reported in subsection III-A cannot be reached when finite difference method is used with for example on a 1024
increments encoder. Furthermore, the noise in the speed estimation resulting from this method deteriorates the realism of the haptic feedback as variations are far superior to human detection threshold.

### C. Low-Pass Filter

As shown in Fig 1, the previous method introduces noise in low speeds. The most intuitive solution to filter this high frequency noise is to use a Low-Pass Filter. The filter takes as input the Finite Difference calculation and the cutoff frequency is chosen in order to filter without suppressing too much information, around the sampling frequency of the controller. High frequencies, where the most of the noise spectra is located gets rejected, giving a smoother estimation of the velocity. However, this method introduces perceptible delay in system's response and decreases the stiffness that can be rendered by the haptic device, as depicted in Fig. 7. Moreover, the high frequency range contains also haptic information which gets lost in filtering.

### D. First Order Adaptive Windowing

The First Order Adaptive Windowing (FOAW) method is an interesting alternative to low-pass filter and can be used to filter the noise while avoiding to suppress the information [10]. This algorithm estimates the velocity by fitting on a limited number of samples. The number of samples is dynamically calculated trough a margin on the noise estimate. The fitting can be carried out by different techniques, with little impact on the results in the present case. The best-fit-FOAW further improves the quality of the velocity estimation, being less prone to overshoots.

The filter functions as follows:

1) Set $i = 1$

2) Set $y_k$ as the last sample and $y_{k-i}$ as the $i$th before $y_k$.

3) Calculate $b_i$, slope of the line passing through $y_k$ and $y_{k-i}$ from equation 6.

$$b_i = \frac{i \sum_{j=0}^{i} y_{k-j} - 2 \sum_{j=0}^{i} j y_{k-j}}{T_s i(i+1)(i+2)/6} \quad (6)$$

4) Check whether the line passes through all points inside the window within the uncertainty band of each point.

5) If so, set $i=i+1$ and GOTO step 3. Else the speed is returned, $\omega = b_i$.

The algorithm suppress effectively high variations and introduces only a small latency. The acceptable error margin should be similar to human detection threshold. Fig. 7 shows that the delay introduced is negligible, especially compared to low-pass filtering.

### E. Kalman Filter

Kalman filtering is a predictive approach, based on the use of a mathematical model of the system. The accuracy of the model is directly linked to the quality of the filter. The system is described by discrete stochastic dynamical equations [9].

$$\begin{cases} \dot{x}(t) = Ax(t) + Gw(t) \\ y(t) = \theta(t) = Hx(t) + e(t) \end{cases} \quad (7)$$

Two different models are compared. The first one is basic triple integration between the acceleration, velocity and the position, without taking into account the mechanical parameters of the system. The second model is based on a faithful identification of these parameters.

1) Triple integrator: In this model the state vector $x$ is the angular position, the velocity and acceleration [10], [8]:

$$x(t) = \begin{bmatrix} \theta(t) \\ \omega(t) \\ \gamma(t) \end{bmatrix} \quad (8)$$

The model 9 where the position is derivated twice to sequentially estimate the velocity then acceleration can be written as

$$\begin{cases} \dot{x} = \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{bmatrix} x + \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix} w \\ y = \begin{bmatrix} 1 & 0 & 0 \end{bmatrix} x + e \end{cases} \quad (9)$$

The discrete equations are:

$$\begin{cases} x_{k+1} = Ax_k + Gw_k \\ y_{k+1} = Hx_k + e_k \end{cases} \quad (10)$$

$$A = \begin{bmatrix} 1 & T_s & \frac{T_s^2}{2} \\ 0 & 1 & T_s \\ 0 & 0 & 1 \end{bmatrix}, \quad H = \begin{bmatrix} 1 & 0 & 0 \end{bmatrix} \quad (11)$$

with $G$ the identity matrix in this case.

The process noise $w_k = [w_1 \ w_2 \ w_3]^T$ and the measurement noise $e_k$ are assumed zero mean white Gaussians.

The covariance matrix of $w_k$ is $Q_k = \text{diag}[0 \ 0 \ q]$. The variance on the measurement error is a scalar denoted $r$.

Let $\hat{x}_{k,l}$ be the estimate of $x$ at the time $k$ knowing $x$ at the time $l$. $P$ is the error covariance matrix. The discrete-time Kalman is then described by

$$\begin{align*} \text{Prediction:} \quad & \hat{x}_{k,k-1} = A\hat{x}_{k-1,k-1} \\ & P_{k,k-1} = AP_{k-1,k-1}A^T + Q_k \\ \text{Gain:} \quad & K_k = P_{k,k-1}H^T[r + HP_{k,k-1}H^T]^{-1} \\ \text{Update:} \quad & \hat{x}_{k,k} = \hat{x}_{k,k-1} + K_k[y_k - H\hat{x}_{k,k-1}] \\ & P_{k,k} = P_{k,k-1} - K_kHP_{k,k-1} \tag{12} \end{align*}$$

The resulting model has a smoother variation because the fast dynamics of the acceleration are filtered. In case of large variations the filter will privilege the real-time measurements and for small variations it will rely on the model.
2) Realistic model: The previous model doesn't take into account the intrinsic parameters of the device. Its mechanical model can be written through generated and resistive torques $T_m$ and $T_c$:

$$ 
\begin{aligned}
J\gamma &= T_m - T_c \\
T_m &= K_t \times I, \quad T_c = b \times \gamma \\
V_m &= L \frac{dI}{dt} + IR + K_t\gamma
\end{aligned}
\quad (13) $$

With $J$ the inertia of the large motor, $K_t$ the torque constant, $I$ the set-point current, $R$ the motor internal resistance and $b$ the damping coefficient of the clutch. Taking the same state vector $x$ then previously, the system is expressed as:

$$ 
\begin{aligned}
x(t) &= \begin{bmatrix} \theta(t) \\ \omega(t) \\ I(t) \end{bmatrix} \\
\dot{x} &= \begin{bmatrix} 0 & 1 & 0 \\ 0 & \frac{-b}{J} & \frac{K_t}{J} \\ 0 & -\frac{K_t}{L} & \frac{-R}{L} \end{bmatrix} x + \begin{bmatrix} 0 \\ 0 \\ \frac{1}{L} \end{bmatrix} V \quad (14) \\
y &= \begin{bmatrix} 1 & 0 & 0 \end{bmatrix} x + e
\end{aligned}
$$

In the setup, the motor is powered with a current amplifier, thus the current is known and is directly injected in the model, instead of predicting it using the voltage:

$$ 
\begin{aligned}
x_{k+1} &= Ax_k + BI_k + Gw_k \\
y_{k+1} &= Hx_k + e_k \\
A &= \begin{bmatrix} 1 & T_s & 0 \\ 0 & 1 - \frac{b}{J}T_s & \frac{K_t}{J}T_s \\ 0 & 0 & 0 \end{bmatrix} \quad (15) \\
B &= \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}, \quad H = \begin{bmatrix} 1 & 0 & 0 \end{bmatrix}
\end{aligned}
$$

The discrete-time Kalman filter is then the same as described in (12) with the exception of the first equation expressed with $I_k$, the current sent to the motor.

$$ \hat{x}_{k,k-1} = A\hat{x}_{k-1,k-1} + BI_k \quad (16) $$

The realistic model, in comparison to the triple integration, would exhibit lesser latency because of the prediction of the motors response through the current input. This behavior is clearly visible in Fig. 7.

## F. Discussion

A second encoder is mounted on the large motor (US Digital EM2 hubdisk with 5000 increments) to provide the reference measurement. The different algorithms are implemented in Scilab on a Linux Real Time environment. They are executed simultaneously hence they operate on the same input signal. To ensure that the control does not privileges one particular algorithm, the closed loop set-point is the speed measured by the reference encoder.

<figure><img src="image_7.png" /><figcaption>Fig. 6. Response to a step current. Only the neighborhood of the initial instant is shown</figcaption></figure>

<figure><img src="image_8.png" /><figcaption>Fig. 7. Velocity estimation in permanent regime</figcaption></figure>

The response of the different algorithms are depicted in Fig. 6 and 7, with the confidence interval defined in III-A obtained with the reference encoder.

The response time is an important criterion for the device. The beginning of the response to a step current is shown in figure 6. The Low-Pass filter and the Triple integrator Kalman exhibit both a significant visible latency. Otherwise, other algorithms have similar results.

Figure 7 illustrates the estimation on the permanent regime, on a 15ms period. Finite Difference estimation exhibits significant oscillations with some of the measurements outside the interval. These would result on a perceptible vibration on the haptic feedback. The low-pass filter is clearly not adapted as it does not respect the confidence interval. The Kalman filter with triple integrator produces irons out the variations of the finite difference, but it is not accurate enough although better than the low-pass filter. In practice
<figure><img src="image_9.png" /><figcaption>Fig. 8. Normalized average error</figcaption></figure>

this error results on an increased perceptible inertia, coupled
to the delay of the signal as shown in Fig. 6. The Kalman
Filter with the realistic model and the FOAW both fit well
in the confidence range. The Kalman Filter with a realistic
model produces slightly better results, noticeable on further
portions of the signal not shown here.

Figure 8 summarizes the average distance from the confi-
dence interval on a logarithmic scale, in the transient regime
and the whole experience. These values are normalized such
that the Finite Difference is considered the worst at 100%.
FOAW and the Kalman filter with realistic model stand out
as best candidates.

The drawback of the Kalman Filter is the requirement
on accurate identification of mechanical parameters and
produces the best estimation in accuracy without introducing
any delay. Nevertheless, this also introduces a dependance on
the identified parameters; for example the viscous coupler
heats up significantly during operation and its dumping co-
efficient is modified. This introduces an error in the Kalman
estimation and is an eventual weakness of this approach.
On the contrary, FOAW gives an estimation practically as
good as the Kalman filter, without the sensitivity to intrinsic
parameters nor their variations.

IV. CONCLUSION

The device presented here uses a viscous clutch to sum the
output torque of large motor, which produces the permanent
part of the haptic feedback, with a smaller one which fills
in for the transients. As the large motor’s output torque is
transmitted through its velocity, an accurate estimation is
required in both high and low speeds for a high quality haptic
perception. Nevertheless, the control of the device runs at
1 kHz sampling fir the same reason. As a consequence, a
faithful measurement of the velocity requires an encoder with
a relatively high number of increments. These components
are considered rather exotic and difficult to integrate in a
cost-effective scheme.

The approach pursued here proposes to estimate the veloc-
ity on a encoder with a small number of increments, typically
1024, as it can be industrially integrated into the actuator.
Several estimation techniques are implemented and com-
pared. Among these, the Kalman filter using a realistic model
with the prior identification if mechanical parameters gives
satisfactory results. The error of the estimation is beyond the
human detection threshold. However an eventual variation
on the parameters, especially on the coupler, introduces a
non negligible error on the estimation. The workaround to
this issue would be to include the behavior of the coupler
into the model ans estimate its dumping coefficient along
the velocity, or toi rely on e temperature measurement on
the coupler. FOAW method, on the other hand produces an
estimation nearly as good as the Kalma filter without these
complications.

These two algorithms are shown to accurately estimate
the velocity on a 1024 increments encoder, running at 1kHz.
Form a user point of view the haptic perception is the same
quality then the previous prototype.

REFERENCES

[1] V. Hayward and O. R. Astley, “Performance measures for haptic interfaces,” in *Robotics Research*, pp. 195–206, Springer, 1996.

[2] A. Mohand-Ousaid, G. Millet, S. Régnier, S. Haliyo, and V. Hayward, “Haptic interface transparency achieved through viscous coupling,” *International Journal of Robotics Research*, vol. 31, no. 3, pp. 319–329, 2012.

[3] R. T. Verrillo, "Psychophysics of vibrotactile stimulation," *Journal of The Acoustical Society of America*, vol. 77, no. 1, pp. 225-232, 1985.

[4] A. Brisben, S. Hsiao, and K. Johnson, “Detection of vibration transmitted through an object grasped in the hand,” *Journal of Neurophysiology*, vol. 81, no. 4, pp. 1548–1558, 1999.

[5] G. Millet, S. Haliyo, S. Regnier, and V. Hayward, “The ultimate haptic device: First step,” in *EuroHaptics conference, 2009 and Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems. World Haptics 2009. Third Joint*, pp. 273–278, Mar. 2009.

[6] A. Mohand Ousaid, S. Haliyo, S. Régnier, and V. Hayward, “A stable and transparent microscale force feedback teleoperation system,” *IEEE/ASME Transactions on Mechatronics*, vol. in press, p. in press, 2015.

[7] A. Mohand Ousaid, G. Millet, S. Haliyo, S. Régnier, and V. Hayward, “Feeling what an insect feels,” *PloS ONE*, vol. 9, no. 10, p. e108895, 2014.

[8] P. R. Belanger, P. Dobrovolny, A. Helmy, and X. Zhang, “Estimation of angular velocity and acceleration from shaft-encoder measurements,” *The International Journal of Robotics Research*, vol. 17, pp. 1225–1233, Nov. 1998.

[9] R. E. Kalman, "A new approach to linear filtering and prediction problems," *Journal of Fluids Engineering*, vol. 82, no. 1, pp. 35-45, 1960.

[10] F. Janabi-Sharifi, V. Hayward, and C.-S. Chen, "Discrete-time adaptive windowing for velocity estimation," *IEEE Transactions on Control Systems Technology*, vol. 8. pp. 1003–1009, Nov. 2000.

[11] H. H. King, R. Donlin, and B. Hannaford, "Perceptual thresholds for single vs. multi-finger haptic interaction," in *Haptics Symposium, 2010 IEEE*, pp. 95–99, IEEE, 2010.

[12] S. Allin, Y. Matsuoka, and R. Klatzky, "Measuring just noticeable differences for haptic force feedback: implications for rehabilitation," in *Haptic Interfaces for Virtual Environment and Teleoperator Systems, 2002. HAPTICS 2002. Proceedings. 10th Symposium on*, pp. 299–302, IEEE, 2002.

[13] X.-D. Pang, H. Z. Tan, and N. I. Durlach, “Manual discrimination of force using active finger motion,” *Perception & Psychophysics*, vol. 49, no. 6, pp. 531–540, 1991.

[14] R. H. Brown, S. C. Schneider, and M. G. Mulligan, “Analysis of algorithms for velocity estimation from discrete position versus time data,” *Industrial Electronics, IEEE Transactions on*, vol. 39, no. 1, pp. 11–19, 1992.