Little AI robot - some updates

A few updates on my AI conversational robot project.

Not a ton of new functionality, but a lot of changes under the hood, and on the outside.

My initial solution was to use a couple ESP32 micro processors, and the small AI vision module described in the previous post. However, I decided that was too low powered, clunky, unreliable, and just wouldn’t scale at all for new functionality, so I changed all of that rather than waste more time tweaking the old setup.

This now all runs on a Raspberry Pi 5. I didn’t have experience with Python development but after a few hours getting acquainted with the various pieces, I jumped in and it went pretty well. This allows much more programming control and tweaking.

I went with a Raspberry camera module V3 wide and face detection is done in OpenCV for Python. Since the Pi has 4 cores, using multiprocessing in Python helps making this more reactive. This still needs some tweaking but should allow for more functionality in the future such as facial recognition (identifying people), expressions etc. Maybe the Raspberry won’t be the last thing I try here, but it seems to work really well for now.

As for the conversational part, it’s in the works, so stay tuned. I’m waiting for OpenAI to catch up :) I mostly want to see if we get the ChatGPT 4o audio updates in the API soon before going further, as the current solution involves separate speech-to-text and text-to-speech steps, which add a lot of latency. I do have wake word detection working well with TensorFlow Lite and OpenWakeWord, so more on that soon!

Oh, I also redesigned the head/helmet. It’s now easier to mount the eye mechanism, and it’s larger, to fit the new electronics, including a speaker.


Previous
Previous

3D printed emulation computer case

Next
Next

Little conversational robot - the Eyes