MrRobot: Ubuntu Mobile‑Controlled Rapiro Robot with Voice, Touch & Shake Interaction
MrRobot is an Ubuntu Mobile application that brings the Rapiro robot to life through intuitive voice, touch, and motion controls. Developed in just 28 hours during the Ubuntu Shenzhen Hackathon, the project showcases how mobile devices can interface seamlessly with robotics using open‑source hardware and software.
All source code, Arduino firmware, and 3‑D printable parts are freely available, enabling hobbyists and professionals alike to assemble their own Rapiro and extend the system.
What You’ll Learn
- Deploying a Qt‑based Ubuntu Mobile app from the SDK to a device.
- Integrating wit.ai’s voice‑and‑text recognition API to create a hands‑free command interface.
- Setting up a Raspberry Pi server that listens for WebSocket messages from the mobile app.
- Designing a user‑friendly UI with touch, shake, and voice triggers.
Bill of Materials (BOM)
- Ubuntu Mobile phone or tablet.
- Raspberry Pi with a Wi‑Fi dongle.
- Rapiro robot kit.
- Optional music box for audio playback.
Required Software
- Ubuntu Qt SDK (for app development).
- Raspbian OS on the Raspberry Pi.
- Arduino IDE (if you wish to build the robot from scratch).
- wit.ai API key for voice processing.
Project Overview
The app offers three interactive modalities:
- Touch – Directly tap the on‑screen controls to command the robot.
- Shake – The device’s accelerometer detects motion gestures to trigger robot actions.
- Voice – A dedicated button starts audio recording; once released, the speech is sent to wit.ai for natural‑language interpretation and sent to the robot via WebSocket.
Step 1: Build the Mobile App
Follow the detailed instructions on the project’s GitHub page to install the Ubuntu Qt SDK, configure the project, and deploy the application to your Ubuntu Mobile device.
Step 2: Deploy a WebSocket Server on Raspberry Pi
Connect the Pi to your local Wi‑Fi network using a dongle, then clone the server repository. Start the server, and configure it to launch automatically at boot by adding the command to /etc/rc.local.
Step 3: Assemble the Hardware
Carefully disassemble the Rapiro head, mount the Raspberry Pi onto the dedicated plate, and connect the audio cable and Wi‑Fi dongle. The Pi now serves as the bridge between the mobile app and the robot’s Arduino board.
Get the Code
All code and 3‑D files are available on GitHub: https://github.com/eminors/MrRobot.
Enjoy building and customizing your own voice‑controlled robot experience!
Manufacturing process
- Build a Fast, Reliable Fire Detection System with Samsung SAMIIO, Arduino UNO & Raspberry Pi
- Build a Multi‑Sensor Temperature & Light Monitoring System with Raspberry Pi & DS18B20
- Mastering Raspberry Pi Sensor & Actuator Control: Accelerometer, Servo, and Data Streaming
- MrRobot: Ubuntu Mobile‑Controlled Rapiro Robot with Voice, Touch & Shake Interaction
- Build an Internet‑Controlled Video‑Streaming Robot with Arduino & Raspberry Pi
- Build a Model Rail Digital DCC Command Station Using Arduino – Free App Included
- Build a Raspberry Pi 3 & Arduino Laptop: Step‑by‑Step Guide
- Smart Automated Garden System with Arduino UNO and Raspberry Pi
- Build Stunning Web-Driven LED Animations with Raspberry Pi & Arduino
- Seamlessly Control Arduino Uno via ESP8266 WiFi Module and Blynk App