Logo Xingxin on Bug

HKUST PhD Chronicle, Week 63, Bimanual Teleop & CycloneDDS

November 2, 2026
2 min read
No tags available

“Compromised” Franka DUO Teleoperation

I have more or less finished the Franka DUO teleoperation and data collection setup using the PICO 4.

pico-duo-5s.webp

However, since the official Franka DUO mounting hardware is still on its way, I set up a “compromised” version on an optical table, where the two robot arms are mounted facing each other.

Optimizing the RMW Network

I also optimized the ROS2 middleware (RMW) configuration for a multi-machine network. Due to the layout and space constraints of our lab, I need 3 separate computers to run my teleoperation setup:

  • machine 1: equipped with plenty of USB 3.0 ports, mainly used for plugging in 3 RealSense D435i cameras
  • machine 2: runs a realtime kernel and is dedicated to controlling the 2 Franka robots
  • machine 3: my daily workstation with a monitor, where I do most of my coding

It turns out that the best solution for this setup is CycloneDDS! In my last project, I used Zenoh as my default RMW. However, based on the experiments I ran this week, CycloneDDS edged out Zenoh in performance. I have documented all my findings in Multi-Machine ROS2 for Robot Learning: A Guide to RMW.

Twist

I also spent some time diving into the mathematical concept of twist, though I haven’t 100% figured it out yet. The exact difference between a twist and the spatial velocity I learned in Tedrake’s course is still a bit confusing to me.

See also...