ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

face animation display

asked 2014-07-16 22:17:21 -0500

fschutzman gravatar image

I do not want to reinvent the wheel on this one. What I have in mind is a program developed that shows a simplified face maybe a little better that eyes,nose, mouth (maybe a smiley face at first) in cartoon style accompanied with voice or text message shown on a tablet.

I would like to develop a robot head that really is only a tablet mounted vertically that can locate, turn, and interact using on board camera. The user can either via voice recognition or touch screen interact with this stationary friend. I am sure some of this is already done. If someone (I have limited robotic and programming experience) can organized in modules so the user can start with:

  1. Porting Linux to a spare tablet such as the old Viewsonic tablet that is collecting dust right now.

  2. Interfacing with the tablet throughthe micro usb port which most tablets have using an arduino, raspberry pi, propeller board.

  3. Motor driver,gearing hardware and mounting of the tablet .

  4. Accepting input through microphone, touch screen, or keyboardand camera.

  5. Above mentioned display output via cartoon face and simple response boxes on the touch screen or actual artificial voice output.

    The need of using a tablet is so it can be portable or eventually mobile. Basically the tablet is the "head" and "face" of the robot friend. I think the neatest thing would be the interactive face that not as complex as the various AI programs that tend to be propriety and expensive. The whole point of this would be an inexpensive, open source robotic friend especially for old folks and childern. This is not exactly fleshed out but a starting point for a discussion about a desktop robot friend.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2014-07-17 16:36:46 -0500

ccapriotti gravatar image

Well, as far as discussions go, and sharing my shallow knowledge of ROS, here are a few collected thoughts to start steering this.

Voice or speech recognition is a very new and unexplored field; I've followed a recent discussion on the list and these are still early days. Might help understanding commands, but not simple instructions for instance. This was what the author himself said.

I am not 100% sure you will need to have Linux on the tablet, since Android tablets are essentially Linux and there are modules developed on ROS that allow some sort of interaction with the robot. Now, using your tablet's CPU to run the entire robot would be unrealistic, with the level of refinement you are expecting.

Regarding "head" movement, well, this is a somewhat easier field; Supposing that you have some sort of support for the tablet (you will have to be creative here), you can use the famous "pan and tilt" mechanism, driven by servo motors, to move the head up and down, and to the sides. Not very human-like, but coherent with the "budged specified".

Now, facial expressions, mimicking the human expressions or not, well, I personally think this is too much to ask from a tablet or regular ARM processors. You might want to re-think your hardware requirements. I have not heard of anything like this yet (well, I am new here), but this is something that the Kinect software and hardware did, with games. This is complex stuff, IMO.

Back to the tablet interface with ROS or whatever hardware you have in mind, well, from my experience tablets don't play well with the USB port, naturally. You might want to consider bluetooth or WIFI. OF course this supposes the tablet will run the face software and some other light stuff, and some other stronger hardware (beaglebone black perhaps ?) would run the power-hunger parts of the robot, including image processing (input from camera and processing your smiley face, sending the result to the tablet.

The project is nice. It will keep you entertained for days, but I am afraid it will require some degree of programming skill. If you are a beginner like me, you might want to look into coding in python, at least to start, until you get the hang of things. It is common sense that if you want serious, quick and powerful stuff you should go to C and its variations.

For camera input you have OpenCV, and also OpenNI. Those will help you with image processing.

Now, your intention, of creating a sort of companion, is brilliant. I had an idea like this, simpler, tough, to be used to monitor the health of debilitated patients. A dog-shaped robot that would have some degree of cute interaction, and be able to collect readings like body temperature, blood pressure, pulse, and other simple metrics, monitoring them and eventually sending them elsewhere, via wifi.

Now, let's "face" it. A head is a complex thing by ... (more)

edit flag offensive delete link more


Thanks for the input. I have seen robots running with far less computing power than a tablet. I was thinking of converting to linux to remove the constrictions that an android operating system. Too bad someone has not figured out how to make the tablet act as just a smart monitor taking input from another computer. The problem I see is that the necessary computing power of a robot requires a big form factor which is not advantageous to something small on a desk. I am sure someone can come up with an "app" that produces a moving face. Anyway it is a thought for someone to go with.

fschutzman gravatar image fschutzman  ( 2014-07-18 15:24:28 -0500 )edit

answered 2020-03-28 04:36:35 -0500

Here is a robot (simple expressive character) face animation display from RoboCup @Home team Uni-Koblenz (Germany):

youtube video with robot face demo:

robot face open source code:

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2014-07-16 22:07:09 -0500

Seen: 2,057 times

Last updated: Mar 28 '20