Introduction: MrRobot - Ubuntu Mobile App Enabled Robotics( Raspberry Pi and Arduino Involved)

About: About two years ago when I was doing my industrial design project I wanna find out a hardware solution to let me have a FPV(first person view) experience remotely. My use case at that time was to know how my d…

Project MrRobot is an Ubuntu Mobile app enabled Robotics which has the feature of voice, touch and shake control to interact with the Rapiro robot. This project is done within 28 hrs in Ubuntu Shenzhen Hackathon by our team E-minors. All the code is onpensourced and the arduino based Rapiro robot is opensouced as well with their code and 3d construction which means you could 3d print the part and build one yourself!!!

Our instructable lead you through the whole process of :

  1. how to deploy the code from Ubuntu Sdk to mobile
  2. learn how the intergrate with wit.ai voice and text recognizable intelligent API to build a voice controlled ubuntu mobile app.
  3. how to implement a server on raspberry Pi to listen messages from app through web socket.
  4. some tips within the ui design

BOM

  1. Ubuntu Mobile
  2. Raspberry Pi wifi dongle
  3. Rapiro Robot
  4. music box (if needed)

Software Tools required

  1. Ubuntu QT sdk
  2. Pi with Raspbian
  3. Arduino IDE (if you wanna build the robot yourself)
  4. wit.ai API

github address:MrRobot

Step 1: Project in Brief

the app has using 3 kinds of interactive methods. The first is touch screen which can allow user to directly touch the GUI to control the robot. Secondly, The API of accelerometer can detect serval movement like shake, that can also triggered some acts from Rapiro. On the bottom of the UI you can see a touch button which is the voice control button. Once you touch the button it will start to record the audio and you need to tap it when you finish the recording.

Step 2: Install Ubuntu QT Sdk and Deploy the Code on Ubuntu Phone

have a look of the detail news on our github channel.

Step 3: Install a Web Server on Your Pi

Using wifi dongle to get on local wireless network

Download the codes

git clone https://github.com/e-minor/RapiroWithRaspi.git

running

python server.py 

Setting on boot startup adding a shell command at rc.local

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
python /home/pi/RapiroWithRaspi/server.py &
fi

Github address:RapiroWithRaspi

Step 4: Hardware Construction

Disassemble the head of the Rapiro and carefully attach the Pi onto the plate of Papiro and plug in the audio wire and the wifi dongle.

Step 5: All Done, Try Hello World!

Step 6: Additional Info

Finanlly, sincerely thanks for the help from Ubuntu staff team through the hackathon. The whole process is well organized and we got abundant both food and tech supply. We all impressed by the simple process of the Ubuntu Mobile development and really enjoy it.

Phone Contest

Participated in the
Phone Contest

Raspberry Pi Contest

Participated in the
Raspberry Pi Contest