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.
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.


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.
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



