Inspiration

We wanted to combat depression and mental health issues with a friendly robot that guides you in making positive daily decisions. Mental health is an area that is far removed from physical robotic applications; the challenge excited us while providing a way to help create positive experiences.

What it does

Guide the user into making positive decisions by intelligently applying positive reinforcement. The robot is able to move, detect gestures, and track these inputs to determine its mood then respond with full body animations including facial expressions.

How I built it

System is controlled with Raspberry Pi master and Arduino slave. The RPi tracks the inputs, determines the mood state and controls mood display and audio. The Arduino receives gesture input, controls motion and body animations.

The mechanical system features 3 servo motors that control the motion of the robot's arm and head movements, as well as 2 drive motors on the base of the robot which allow it to move itself about its environment.

The facial expression prototype was efficiently created through the use of three 11 LED channels controlled by BJTs, therefore requiring only 3 IO pins.

The Raspberry Pi wirelessly controls the motions through a state machine, which takes sensor input as well as internal states to decide what to do and what emotional state to display. It uses a debian operating system that runs a python script that includes handlers for music, as well as other sensorial input.

Challenges I ran into

Design: Conceiving a robot that manifests and displays human emotions that would be used by those fighting mental health issues.

Technical: The 5 motor, 3 LED array, 1 gesture sensor, 1 speaker robot required thorough planning in accommodating the hardware on the available IO pins. In using both the Arduino and Raspberry Pi, a simple and effective communication protocol needed to be developed. Challenges also included running a wireless embedded operating system.

Accomplishments that I'm proud of

Bubba-Jo.: benign user befriendment bot, active joy opportunist

Reliable and easy to use LED facial expressions. Simple and functional motor control with a variety of preset gestures for animation.

Creating a mechanical frame that had to contain and mount all of the hardware, while allowing for full body motion out of arts and crafts.

Implementing a finite state machine that models simple emotional states, using a developing environment on a wireless micro-computer with little to no prior experience. Successfully implementing the embedded interface for various different sensors, finding or writing libraries for them.

Applying both prior and learned psychological knowledge to better understand mental health issues and the relationship between minds and machines.

What I learned

About building and designing in an environment where the idea and final product may only be 60% conceived. Moving quickly to reliable platforms to reiterate and grow on.

How to assemble a robot out of random arts and crafts materials, duct tape and glue.

Learned about linux environment and how to develop and troubleshoot software both for its operating system as well as embedded applications that interact with it.

Learning about and using new types of software and hardware (ex. gesture sensor) and facilitating discussions that involve several different topics at once.

What's next for Bubba-Jo.

Determine the most effective facial expressions and fully body animations through usability testing.

Redesign the hardware and embedded to be robust and compact for the home environment.

Add capability to determine the user's emotional level and display it back with a slightly more positive feel. Could be achieved through brightness of LEDs or volume of sound.

Making the software portable and modular: Being able to move it from one hardware to another different/unrelated hardware while keeping the emotional variables and states. This would allow it to implement different actions depending on the hardware that it is currently residing on. It could follow the user and keep track of other things like food intake, a history of potentially stressful situations, etc, and use this to provide helpful feedback, either as an assistant or simply as a friendly companion. We would hope that the software has open source components and that it has a useful API that other developers could use to either extend this system or use it as an extension of their own.

Built With

Share this project:

Updates