ROS 2 Dual Arm Teleoperation
A ROS 2 Humble workspace for markerless, real-time teleoperation of dual 6-DOF robotic arms (UR5e) equipped with Robotiq 2F-85 grippers, controlled entirely via a standard webcam and RViz. Built just for fun.

GitHub: wzaielamri/ros2_dual_arm_teleop
What it does
- Tracks both hands from a webcam using MediaPipe Hand Landmarker
- Left hand → left arm, right hand → right arm
- 2D planar movement (X/Y) + yaw rotation from hand orientation
- Gripper open/close via thumb–index pinch gesture
- Simulated entirely in RViz with mock hardware interfaces (no real robot needed)
Stack
- ROS 2 Humble: system
- MoveIt + MoveIt Servo: motion planning and real-time Cartesian control
- MediaPipe: camera-based hand landmark detection
- OpenCV: video capture and GUI overlay
- ros2_control: joint trajectory and forward command controllers
Noise handling
- Exponential moving average (EMA) smoothing
- Deadband filtering to suppress jitter at rest
- Max-delta clamping to reject outlier jumps
- Butterworth low-pass filter in MoveIt Servo
