Inspiration We wanted a robot for disaster response and emotional support — something that can find you, ask if you’re okay, and help you get food, shelter, or someone to talk to.

A lot of that help is still a form or a building. We used AI so the robot can listen and answer in the moment, not read a script, and so it can use what’s happening around it (weather, motion, distance) instead of guessing.

That’s it. Show up. Ask. Help.

What it does RUOK rolls up, stops, and says hello, I am RUOK, can I help you? Then it waits.

It helps with:

Food — snack in the top compartment (open the lid), then nearby meals if you still need one Shelter — a safe place, or it can walk with you Emotional support — it stays with you; crisis → call 988 Disaster / hazard — weather from its sensors, report something unsafe, or “I saw a weapon” → get safe, call 911. It does not drive toward danger. How we built it An ESP32 reads the sensors and drives the wheels. It sends one JSON line over USB.

A laptop reads that line. Python runs Watch (don’t hit anyone), Pilot (wheels), and Greeter (talk). We used AI so replies can change with the person and the sensors. Food, 911, and 988 stay simple on purpose.

You talk to it on a page on the laptop. The lid still opens by hand.

Challenges we ran into The hard part was connecting the hardware to the talking part.

The board only knows pins — wet, dark, motion, distance. The laptop only knows words. We had to turn those numbers into a sentence without the robot talking over itself or naming a place you didn’t ask for.

One cable. One JSON line. If Serial Monitor was open, Python couldn’t hear the board. If we ran demo mode, the weather was fake. We wrote code on a Mac with no USB adaptor, and ran the real robot on an HP. So “it works here” was not the same as “the robot is talking.”

Accomplishments that we're proud of It actually loops: sensors → JSON → wheels and voice. It says hello once and waits. Food is a snack first, then a place. It can do disaster and emotional help, not just directions. A shake stops the robot.

What we learned One small board can own the sensors if the laptop owns the talking. Safety has to be able to stop the wheels. Live means the USB cable, not a file we typed. Ask if they’re okay before you dump an address.

What's next for RUOK? A motor for the lid. Run more of it on the robot so we don’t need the extra laptop. Real hours for meals and shelters. More time with the people this is for — after a storm, not just in a hallway.

Built With

Share this project:

Updates

Submission history