hey there! I haven't 100%-ed your Zoe The Robot playlist yet, but overall it's an impressive project. I started a robot club for NASA, the Bespoke Robot Society, and I'm always on the lookout for robot projects to present to my members as interesting, inspiring things to discuss. I'd love to hop on a video call with you and make a youtube video out of our conversation, but if you prefer to correspond I'd still appreciate your time and sharing your experience with me.

You should really explore the web site and watch all of the videos - many of your questions are answered there.

about you

-------------

What's your background? What's your day job / education / training / work history, and did it prepare you for making robotics? How many projects did you tackle before starting Zoe?

When I was a kid, I really liked robot B9 on "Lost in Space". My Dad had a workshop in the basement where he made just about anything and he had electronics tools for fixing TVs. In this workshop I learned that if you wanted something really cool, it was easier to make it yourself.

I wanted a "big" robot, not a little toy. My entire education was based on me building my "dream" robot. In high school I was introduced to the BASIC programming language, using an acoustic coupler and a teletype machine. My degree is "Electronics Technology". I worked as a field service technician for "Honeywell Information Systems" for over 12 years, working on their smallest computers to their largest mainframes.

I first got a TRS-80 model 1 computer and got more experience with BASIC, and then a PC clone that held an 8080 cpu and MS-DOS and could be programmed with QBASIC. I was then working as a programmer at several different places and learned Visual BASIC and then VB.NET.

I worked on a few smaller robot projects and one larger 4 wheel drive base where I decided that a better base would use "tank steering" and a castor wheel. This was the beginning of Zoe's "Drive section"

What's your workshop look like? Do you stick to wood because it's easier and sufficient? How much metalwork does Zoe have and would you like to have more?

I have a wood shop and an electronics bench in my basement, with many inherited tools from my dad. Zoe's drive section started out as 1 inch square steel tubing, but it was very heavy, so I switched to aluminum. Zoe's drive section is made from  quarter inch aluminum plate and 1 inch aluminum tubes. Aluminum was chosen for its strength.

Most of Zoe's framework is wood because it is easy to cut and drill, it can be fastened with glue and screws and it is inexpensive and easily sourced. It is also easier to modify parts in place, so a part does not have to be completely rebuilt if changes are needed.

One of my guide lines was to put the heavy parts, like metal and batteries, low to the ground and lighter parts higher up.

What's your process? Are you an off-the-cuff tinkerer, or a deep planner? Is Zoe heavily improvised and revised, or did you come up with the final design instantaneously in your mind?

I get inspired by other robots on the web or TV and movies. I make drawings and sketches. I make cardboard mock-ups to test the fit. Some of the bigger parts would be too expensive and time consuming to replace, so these might get modified in place. Building Zoe has taken many years.

about Zoe

-------------

What inspired the form factor? Do you think Zoe looks like a particular animal?

The form factor sort of evolved as it was built. Many of the dimensions were based on the other parts like the wheels, the drive belts and the pulleys. The width was determined so the robot could fit through a doorway.

The computer section is an octagon so that sensors mounted on the sides point in 8 directions around the robot. The proportions of the computer section makes me think of a box turtle, but it was not designed like that. I think it looks more like a mars rover.

How's the range, runtime, and speed of your current setup? Does Zoe have a "payload" rating? (it doesn't look like a lot of room on her back, but she seems handy for carrying stuff)

Zoe's main battery is made up of sixty 18650 lithium ion cells. If I am just programming, on battery power, she ran for over 4 hours without any problems. If she is running the main motors, driving around, I suspect she'll only run about an hour (never tested). The range is heavily dependent on the age of the lithium ion cells.

The flat back cover is made from "foam core" so it is not designed to carry any weight, but this could be replaced with plywood if I wanted her to carry stuff. It is always a trade off between adding stronger parts which weigh more and battery life.

What made you pick the software stack that you ended up with? Could Zoe get a software or computer update in the future? (Like Jetson Nano, maybe?)

I was a VB.Net programmer, and I used VB.Net and MS-SQL to build the chat bot. This meant that Zoe has to be running a Windows PC. The Dragon speech recognition has to run in Windows, and Windows comes with built in TTS.

Zoe's computer is a "Car-Puter" - designed to run in a car. It has a built in power supply that can provide all of the correct voltages for the motherboard from an input voltage of 12 to 35 volts. The computer runs Windows 7 and it has a low power Intel Atom CPU, which helps with battery life.

I might add a Jetson Nano to help with video processing, but I'd really like to try and recreate the chat bot on a multi-core CPU and Windows 11. If I can modify the chat bot code to make use of multi-threading, I think that I could get faster responses from the chat bot. Currently, some responses take over a minute before being spoken.

I'm a big fan of running the software locally - if a robot needs a cloud connection to perform its tasks, it's not really autonomous, it's just a remote drone for some human operator or AI. Did you have anything like that in mind for a design philosophy?

Yes. I do not want to use a chat bot in the cloud that costs money, and I was afraid of slow response time on the internet, but the more data I put into her database, the longer the response time anyway. This is why I'd like to get a faster PC for her.

What's Zoe's full "sensorium" like? Does she make a map based on the infrared and ultrasonic sensors? Is she able to navigate around to target destinations, or just avoid stuff? Is she able to identify individuals' locations in her vicinity, or distinguish them by voice input? Any memory or ability to save data from sensor or speech input?

Zoe has room for 8 ultra-sonic (sonar) sensors in her computer section but only 7 installed. Zoe has room for 8 Infrared distance sensors in her head but only 5 installed. The front panel of her head contains a web cam. I've written software to get distance values from all of the sensors, but I have not written any navigation software to make use of the readings.

Zoe's PC can read her sensors, control the head/neck servos, and control the wheels, but I do not have any navigation software written for her. To make it easy for me to move her around, I can throw a switch and drive her about with a model airplane R/C transmitter. If the switch is set to "Autonomous" the computer can control the drive motors. This is demonstrated in one of my videos.

Zoe can be put into "Learn Mode" ( also shown in a video) where my spoken input is stored in the database. This can then be chosen as a response by the chat bot.

There are several windows in the chat bot code for editing the table contents as well.

 

Any updates to the bot in the past year? What's inspired you to post lately?

Recently I added a way to capture wheel odometery using an Arduino Nano and magnetic proximity sensors the look at the teeth on her sprockets. However, Zoe can easily spin her wheels on many surfaces, so the odometery readings are not that accurate. Currently I am adding a low battery alarm so that I don't accidentally run her batteries too low. I am making a video for the "low battery alarm"

I've been making videos about Zoe for several years, and have been posting them to You Tube, Facebook, Twitter and a few other sites. Not too many people seem to be able to find my videos.

Does Zoe get out much? Can you load her up in a car and take her anywhere besides your home or workshop?

Zoe would fit in the back of my pickup truck if I take the computer section and body off of the drive and power sections. It would take two people to lift each half into the truck. I'd really like to take her to the local robot club meetings, but I have some health issues that keep me close to home.

about the future

-------------

How do you feel about local models like Llama 3, or to keep it small, something like GPT-2? Do you prefer to roll your own systems, or would you integrate more off-the-shelf stuff to get more capabilities?

I wanted to build the chat bot myself. When I started this journey, other chat bots did not exist. I have a lot of fun working on the chat bot code, so much fun that I never get to work on her navigation subroutines. Also, it is easier to interface the chat bot code into the sensor readings and motor control code, since it's all running on the same system.

Any interest in adding cameras / computer vision?

Zoe has a webcam in the center panel of her head (face?) I have code that can pull images from the web cam, and it can locate faces in the image, but it can not recognize faces. I think that Zoe's PC is not powerful enough to recognize faces. This is why I might add a Jetson board in the future.

 

John

John McCardle

I'd love to talk more, but I've already hammered you with questions...

If you reply, John McCardle w