Smartphone-Controlled Robotic Arm Teleoperation via MQTT
About the Project
This project demonstrates real-time teleoperation of a 6-DoF robotic arm using a smartphone as the input device. Inertial sensor data (accelerometer + gyroscope) from the phone is streamed over the MQTT protocol to a ROS2 node that maps the orientation data to joint commands.
The communication pipeline uses Eclipse Mosquitto as the MQTT broker. A lightweight Android app subscribes to a topic and publishes orientation quaternions at 50 Hz. On the ROS2 side, a dedicated subscriber node parses the payloads, filters the signal with a complementary filter, and publishes joint trajectory goals to a MoveIt2 controller.
Latency benchmarks showed an end-to-end round-trip time of under 80 ms on a local WiFi network, enabling smooth and intuitive arm motion with near-zero perceptible lag. The system was also stress-tested over a 4G mobile connection, maintaining acceptable control quality at 150 ms average latency.
The project bridges consumer IoT technology and industrial robotics, demonstrating how ubiquitous smartphone hardware can serve as a low-cost, accessible interface for teleoperated manipulation tasks in remote or hazardous environments.
My work
• Developed teleoperation interface for an igus 6-DOF robotic arm using an MQTT smartphone control application.
• Implemented joint-space and task-space control algorithms in C++ and Python. Validated pick&place operations.
• Designed MQTT communication pipeline for real-time command streaming between mobile device & robot.
Key Features
• Real hardware integration with igus REBEL 6DOF
• Real-time control via MQTT from smartphone interface
• Custom XML sequences and MQTT payload parsing
• Developed entirely in Python (VS Code) + igus software