AgileX PiPER arm uses YOLOv5-Face to auto-adjust monitor for ergonomics
Orbbec RGB-D camera pairs with a 6-DoF arm to reposition your display as you move.
AgileX Robotics has shared an open-source smart workstation that uses a PiPER 6-DoF robotic arm to adjust a display's orientation based on your face position. The system runs on ROS 2 Humble, with an Orbbec RGB-D camera feeding YOLOv5-Face for landmark detection and depth estimation. A custom perception-to-control pipeline publishes a TF frame for the face, computes the target arm pose, and generates smooth motion commands via /pos_cmd. The setup uses Ubuntu 22.04, CUDA 12.8, and Python 3.10, with the code openly available on GitHub for reproduction.
The project isn't entirely novel—HoloArm previously explored face-following 3D displays—but this implementation offers a complete, reproducible engineering pipeline. It integrates the PiPER arm, Orbbec camera, YOLOv5-Face ONNX model, and ROS 2 drivers for both hardware components. Given the lack of certified safety functions like collision detection or emergency stops, the authors strongly advise using simulation or non-human targets first. For real-world tests, they recommend physical barriers and supervision. Developers can follow detailed setup instructions, including cloning the arm description, installing the OrbbecSDK_ROS2 driver, and creating a separate Conda environment for face inference.
- Uses YOLOv5-Face with an Orbbec RGB-D camera to estimate 3D face position in real time
- PiPER 6-DoF robotic arm moves the display via smoothed ROS 2 /pos_cmd messages
- Open-source code on GitHub, but requires extra safety measures due to no collision detection
Why It Matters
This demonstrates practical human-robot interaction for ergonomic workspaces, though safety certifications are still needed for real deployment.