Making New Friends Is Easy
This cute little companion robot packs some sophisticated capabilities, but was designed to make it easy for others to build their own.
Companion robots are the product of a fusion of cutting-edge technology and human ingenuity. They are designed to serve as interactive and empathetic partners in various aspects of our lives. These robots are crafted with the intention of establishing emotional connections with users, enhancing their well-being, and addressing a range of needs across different demographics. While their forms and functionalities may vary, they all share a common purpose: to bridge the gap between artificial intelligence and human companionship.
Many enthusiastic hobbyists are drawn to the challenge of creating companion robots, driven by a passion for merging technology and creativity to make a positive impact on human experiences. These hobbyists include amateur engineers, DIY enthusiasts, and tech-savvy artists who work to bring their visions to life by combining AI algorithms with artistic design. Their motivation stems from a desire to address everyday challenges with personalized solutions, whether it is creating robot companions that provide comfort to the elderly, innovative ways to educate the young, or simply fostering connections and joy through interactive and empathetic machines.
But the field of robotics presents high barriers to entry, making it a challenging realm for newcomers to navigate. These barriers stem from a combination of technological, financial, and educational factors that can lead a hobbyist to think twice about attempting to build a robot of their own. That would be a mistake, according to a software engineer and amateur roboticist by the name of Dan Nicholson. He taught himself a lot about robotics over the past few years, and used that knowledge to build a pretty impressive companion robot — and following his documentation, you could too.
Nicholson’s creation is a desktop-sized bipedal robot with a somewhat birdlike appearance. The goal of the project was to make it fully autonomous, modular, and upgradable. To enable some interesting use cases, the robot was given speech recognition, motion sensing, and face detection capabilities, as well as the ability to sit or stand and flash RGB LEDs for output. So far, these capabilities have been leveraged to use the robot as a desktop companion, a voice assistant, for home security, or as a playmate for your pet.
The body of the robot, and all of the gears, are 3D-printed. The head is powered by a Raspberry Pi 3 B+, with a camera and a ring of NeoPixel LEDs for eyes. A microphone and microwave motion sensor are also hidden within the robot, as is a Google Coral TPU that gives a boost to the system’s computer vision capabilities. To keep things neat, a custom PCB was designed to connect all of the components.
The legs of the robot are driven by hobby servos and an Arduino microcontroller. While there is a lot going on upstairs, there is not so much to see here. The bot can sit or stand, but cannot walk (at least yet). This separation between the brain and the motion control system does have some advantages when it comes to energy efficiency — the hardware in the head can be shut off if you do not need any of the more advanced functionalities to stretch the life of the battery.
The code, written in Python and C++, is open source and Nicholson strongly encourages others to hack away at it. Design files for the 3D prints and custom circuit boards have also been made available for those that would like to build their own companion bot. If you need some help along the way, a wiki has been created, and also a discussion board where you can ask questions.
Taking on this project looks like a great way to get into robotics. And for those that already have some experience, there is room to improve the existing design. Nicholson hopes that others will help in giving the robot the ability to walk, or experiment with integrating different hardware platforms like the Raspberry Pi Pico and the NVIDIA Jetson Nano.