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

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.