Rafiki Update


Thanks Dave,

This design was chosen after talking to a lot of people who are not robot builders but are psychologists, therapists, educators, children, parents, business owners, doctors, pharmacists and some other professions. The goal was to have an inviting robot that would have very extensive capabilities and would be a simple design. By simple, I mean from a manufacturing standpoint mainly.

From these interviews we discovered that people are afraid of robots that are too large or look like humans. Simplicity goes out the window when you talk about human form also. If it is too small, it is viewed as a toy and not a useful tool. Children, even serious ones like my granddaughter, are drawn to the shape. Rounded has its benefits from an engineering and strength perspective, but is also more inviting. It also helps with the robot being less likely to be caught on things.

Another interesting thing we found out is that some people don't like arms being extended if the robot is moving. They don't mind them if the robot is stationary. They like arms that retract into the body when the robot is moving as they don't feel like the robot is trying to grab them. This also helps by being able to know the shape of the robot while it is moving so that arms don't get caught on things.

Another thing that was interesting is that people don't like to see the wheels. They prefer the hovering look. My guess is that people realize that a wheel can hurt them and would rather not see them.

It was an interesting study for sure and I have had nothing but positive feedback from non robot builders about the shape of Rafiki. People are scared of my InMoov, but are attracted to Rafiki. The technology that will go into Rafiki is what will interests the more technical people. The shape is not as important to them. There are also some plans to make the body customization with other kits that will snap in place on the body but this is a very long way off.

[Edit to add more information]

The screen being in the head also has a lot of benefits. This not only allows for facial expressions and human interaction, but also allows for an interface that is able to show far more information. For example, if someone were to ask about a mathematical formula, the robot would be able to display this formula and the example information on the screen. This is the natural location that people look when they see the robot due to natural human instincts. The light ring will also provide informative feedback to the user. Having this fairly close to the head is important. Lights on the side of the robot cause the user to look away from their natural instinctive gaze at the robot. The sound from the robot coming from the same location as the light ring is also more natural for the user when the light ring is visible from a normal gaze position. The tablet is removable making it easier on the user who wants to do some programming. It also makes it easier on me when working on the robot and also allows the end user to replace the tablet if there are issues in the future with it (after the warranty period). It is a 10 inch tablet so this allows a lot of options for the end user.

The microphone being away from the speaker and shielded somewhat from the speaker or other motor sounds is also important. I haven't mounted the microphone yet but it goes on the top of the head. The microphone picks up audio at 25 feet away at 180 degrees.

Expand-ability is also very desirable. I didn't want one product that is for developers or makers, and another product for those who just wanted a functioning robot. There will be a very un-populated v4 controller in the head of the robot. This will allow someone to add up to 24 digital devices, 8 analog devices, 4 serial devices, 3 I2C devices and another camera. I dont know of any other robot platform that is as expandable. Additionally, the user can add another V4 controllers or arduinos, or whatever they want without affecting the core functions of the robot.

We will push EZ-Builder with this platform for customization programming. In all honesty it can be any platform that can pass serial communications to and from the primary robot controller, and can call external services. This is by design as we want as open of a platform as possible.

All of the components used are consumer purchasable allowing for the user to be able to replace components far into the future. This is also important to me as I don't like it when I purchase something that is locked down to components that I cant get my hands on 4 years after I purchase a product. We will do everything in our power to keep it this way cost permitting.


There have been some really cool advancements made to Rafiki in the past few weeks. The one that I am most excited about is the knowledge system.

I am in an NDA with some of the services that I use, but I can say that Rafiki is able to understand dictation questions very well through speech recognition. It is also able to understand the meaning of the question or statement and uses two different services and determines which of these two services best answers the question asked. This also allows Rafiki to handle things like

"Add eggs to my shopping list"
"Remind Steve to do XYZ at 3 PM today" - The next time you see Steve, tell him to do something at 3PM today.
"Remind Steve at 3PM today to do XYZ" - set a reminder for 3PM today to tell Steve to do something.

It understands tomorrow, next week, next month and so on. It also understands specific dates. For example, "What will the weather be like today?" is a valid question. So is "What is the forcast for today" or even "Will it be hot today?". Really, any form of the question can be asked including something like "Will it be hot today in Cleveland".

The ability to classify the text that it hears is really impressive. This happens first on the computer running the Rafiki server, and then if needed passes this to an external service for better classification. The classification that happens locally will cover about 80% of the classification needed but the external service does a better job of picking up that last 20% due to the constant training that is happening by this service.

The data that is returned is validated by professionals in the subject matter. I have had a pharmacist ask about a rare drug and had it return the information correctly. I have had a neurologist doctor ask about a rare (1 in 1,000,000 people) disease and it returned the information correctly. I have had a history professor ask about a little known event in history and had it return the information correctly. I have had a lawyer ask it a rarely used legal term and it returned the information correctly. I have had a math major ask it a series of math equations and the information was returned correctly. Same with an engineer and physics teacher. All returned accurate information. This is impressive and I have yet to have a single realistic question asked where the information wasn't returned correctly. Sometimes the questions can have different meanings. The information that comes back is for the most popular meaning first, but also allows you to specify which field of knowledge that you are looking for.

The ability to ask questions in unplanned and unscripted fashion and return the information correctly takes the Rafiki system to a completely different level, which is really cool. I will be posting a video of this before too long (hopefully around the beginning of the year).

Another cool part of this is that when programmers and engineers see Rafiki, they want to volunteer their time just to be a part of this project. We are finalizing the core systems to make Rafiki work. Once this is complete (hopefully in the next couple of weeks) we will be adding additional resources to knock out a lot of additional features. As such, if you would like something added to Rafiki, let me know and I will see how feasible it is to add to the list. I am looking for things like "notify me when x happens" or "be able to tell me information about X (that would be personal to the user and not public knowledge).

Your help in building this list of items is greatly appreciated.


This is really impressive David.... I can't wait to see the prototype do it's thing.... I really want one already... Smile


Wow, I'm honored and feel fortunate to be able to watch from the ground up amazing robots like this being developed by amazing people like you and others in this forum. I won't list the others because I may miss one or two but you know them. It's kinda like watching history being made right in front of my eyes. Thanks for sharing this process. Smile


But what happens when you ask the air-speed velocity of an unladen swallow?




@Alan... now, now, you have to be clear... African or European?


@Richard R, exactly. Google Now and Siri both get the joke, and answer appropriately. I haven't tried Cortona yet. I was mostly joking, but actually knowing how it handles funny interactions would be interesting to know.



25 mph. It also references Monte python.

It uses a European Swallow.


It says that there are 47 species of african swollows. You would have to know which specie.


Smile Very nice.