1 month ago

R3-14 Personal Robot Assistant

As well as a friendly face, this robotic PA offers a host of useful features. Phil King discovers how it came to life

Two servos are used with a pan-tilt mechanism to move the head 

R3-14 stands for ‘Raspberry Pi’ (geddit?), and the R3-14 Personal Robot Assistant is the debut Pi project of Year 12 student Sanjeet Chatterjee. Seeking to create something original, he settled on a robot personal assistant which would have a physical presence in the room, with interaction being an important feature.

“In the beginning, I did not have a concrete plan,” says Sanjeet, “but slowly built up the features, whilst brainstorming different designs and ideas, before finally putting everything together, after having a clear vision of the final product.”

He’s certainly packed in a lot of features. As well as acting as a smart speaker, using Google Assistant to respond to spoken queries, R3-14 has an impressive range of capabilities. Siri voice commands can be used to turn lights and home appliances on and off via 433MHz transmitters/receivers; a web app provides remote control of the robot’s motorised head and its on-board camera; while a face-tracking feature enables the head to automatically follow the user while responding with various messages.

Robot PA 1

Sanjeet’s SiriControl framework enables voice commands to be used by a Python script for home automation

R3-14 Personal Robot Assistant: Quick Facts

  • Sanjeet worked on the R3-14 project in the school holidays
  • He had no previous electronics experience
  • Two servos are used to rotate and tilt R3-14’s head
  • He wrote a Python library to fade the RGB LED colours
  • His next project is a smart headband to control IoT devices

Creating a friendly-looking robot to interact with users was a key factor for Sanjeet, who – during a four-month build process – iterated through various designs, by sketching and creating an aluminium prototype, before settling on the current version, which was built using 3D-printed PLA parts.

“It was important for it to be relatable, with human-like features, whilst also having a distinct design,” he explains. “For example, simple features, such as the fading RGB LEDs, which provide user feedback during voice interaction, are seen as ‘eyes’ by us, even though they are nothing like our eyes.”

Another level of interaction was the face tracking, which uses OpenCV, with the pre-trained face classifier, for detecting faces in the live video stream from the camera.

Sanjeet’s favourite feature, however, is the inclusion of his own SiriControl open-source software framework – featured in The MagPi #60 – which adds another dimension to home automation. “I can ask Siri to control my devices, from anywhere in the world!”

Essentially, SiriControl works by Siri creating a note, which syncs with a Gmail account, before being retrieved through the IMAP protocol with Python. The corresponding module is executed accordingly, depending on keywords said, which in R3-14’s case would be sending RF signals for the required power socket. “I came across this workaround through experimenting with the imap module,” he recalls, “and I developed it into a simple library for others to add Siri voice control to any project in a matter of minutes.”

Independent living with R3-14

While R3-14 is a fun and engaging character to talk to, Sanjeet believes similar robots might be of serious use in the home.

“Robot assistants could one day become the centrepiece in our lives,” he says, “and I definitely think they will be useful for giving [elderly people] company, detecting problems in real-time, and in general becoming more helpful: almost like a personal secretary.

“Also, robots like R3-14, if developed further, can give company to those who are alone, whilst allowing them to remain independent and live fuller lives for longer.”

See also:

FRILLER shape-changing robot

Watchdog Security Robot

PiMecha: The Pi-powered humanoid robot

Pi Wars: How to win the Olympics of Raspberry Pi robotics