P-03 //

Phantom robot - Bilateral Teleoperation Control

Bilateral force/position control with induced communication delay, time-domain passivity and adaptive inverse-dynamics control – MATLAB/Simulink simulation and hardware experiments at KAIST.

Completed
  • Teleoperation
  • Passivity
  • Adaptive control
  • Force control
  • MATLAB/Simulink
Open repository
Phantom robot - Bilateral Teleoperation Control project

Delayed interaction: position, force and energy

The engineering challenge is to transmit motion to a remote robot while returning contact information to the operator. Delay adds phase lag to this coupled interaction. A time-domain passivity observer accounts for incoming, outgoing and dissipated energy; a passivity controller applies dissipative corrections when the communication channel has an energy deficit. The historical results below describe the tested setup, not a stability guarantee for arbitrary delays or contact conditions.

Master and slave control exchange delayed motion, forces and passivity energy information
Research architecture: local control on each side, delayed position/force channels, and energy-based passivity corrections. Click to enlarge.

MATLAB / Simulink: motion, force and delay

I compared position-position, position-force and four-channel architectures. Position coupling acts like a virtual spring-damper between the received reference and the local robot. Force feedback returns contact information to the operator. Four-channel control exchanges motion and force information in both directions, while the passivity layer monitors the energy associated with those delayed signals.

Animated four-channel Simulink master and slave motion with position and control-force histories
Actual four-channel simulation output: scalar motion schematic above position and controller-force histories. The markers are not an articulated model of the hardware.
Reproduced four-channel simulation master/slave position and control forces
Four-channel simulation: master/slave positions and local controller forces. The early force transients highlight the interaction dynamics alongside position tracking.

M(q) q̈ + C(q, q̇) q̇ + G(q) = τ

p = fT v,   Ek = Ek−1 + Δt pk

Robot dynamics and channel energy accounting. Power uses N and m/s; energy is in J. The historical symbolic robot derivation uses mm and kg·mm², with explicit conversion at numerical interfaces.

Robot dynamics and inverse-dynamics control

I derived the three-joint robot model from link geometry, CAD-derived masses, centres of mass and inertia tensors. Forward kinematics and the Jacobian relate joint motion to end-effector motion. Inverse dynamics compensates inertia, Coriolis coupling and gravity so the feedback gains can shape the desired tracking response.

x = h(q),   ẋ = J(q) q̇

aq = q̈d + Kp(qd−q) + Kd(q̇d−q̇)

τ = M(q) aq + C(q,q̇) q̇ + G(q)

The MATLAB tracking example uses the same model for plant and compensation; it illustrates the model-based torque calculation.

Adaptive hardware control and compliant interaction

The hardware experiment combined parallel force/position teleoperation with adaptive inverse-dynamics control. A regressor separates motion-dependent terms from estimated inertial parameters. In the Slotine–Li form also explored in this project, a filtered tracking error drives both damping feedback and the parameter update:

e = q−qd,   v = q̇d−Λe,   r = q̇−v

τ = Y(q,q̇,v,a) θ̂ − Krr

θ̂̇ = −ΓYTr

Controller design equations, not a listing of device firmware. Adaptation addresses uncertain dynamics; channel passivity addresses delayed energy exchange.

I also explored impedance control to shape compliant contact and sliding-mode control as an alternative tracking approach. Interaction forces map to joint torques through τf = JTf. The repository explains these controller structures and includes the simulation models and symbolic derivation.

In this project I implemented parallel force and position control for bilateral teleoperation with time delay. A communication delay between master and slave – introduced artificially here – destabilises a conventional teleoperation controller, as shown in many publications. I therefore used a passivity-based approach to keep the system stable.

I did this as a voluntary project in Prof. Jee-Hwan Ryu's laboratory at KAIST in Daejeon, South Korea, during my exchange semester. The controller shown in the video below is an adaptive inverse-dynamics controller. It provides stable force and position control in both directions (master ↔ slave).

Besides the teleoperation control, I also implemented and tested impedance control, Slotine–Li adaptive control and sliding-mode control.

Bild2
Block_Diag_4_Ch
Bild1

Artigas Esclusa, J. (2014). Time domain passivity control for delayed teleoperation [PhD thesis]. elib.dlr.de/113216

Farkhatdinov, I., & Ryu, J.-H. (2007). Hybrid position-position and position-speed command strategy for the bilateral teleoperation of a mobile robot. 2007 International Conference on Control, Automation and Systems. doi:10.1109/ICCAS.2007.4406773