Author Topic: Robot Face Ideas (Low Cost)  (Read 10008 times)

0 Members and 1 Guest are viewing this topic.

Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Robot Face Ideas (Low Cost)
« on: October 23, 2015, 12:19:14 AM »
Hi,

I'm looking to build a robot head that looks somewhat human.  I'm open to all ideas, and would also appreciate links to anything that others have done.  Below are some ideas I've come up with, but I haven't actually chosen which direction to go yet.

The following is called the Emo Girl Mask.  It can be found on Amazon for around $14.  It might be something I could use to build a robot head around.   I'm not real happy with this, but it my work in a pinch.



The following is a Baby Doll Halloween Mask.  In some ways I like this one a bit better since I would like the robot to appear to be very young.   This is also a Halloween mask and would require some cleaning up, as I don't want my robot to look like a zombie baby.



I've also found these "Reborn Baby Doll Heads".  I found these for around $35, which doesn't seem bad considering the detail and realistic look.  However, I have no clue how these heads would loan themselves to any sort of animation.  Ultimately I would like to animate the lips when they speak, move their eyes, and possibly create other facial expressions.  These doll heads aren't really designed to be animated.   But they do look pretty nice.



Obviously working with just the Halloween masks would leave a lot more room for animating the mask. It might make sense mounting cameras behind the eye holes too.

Of course, the ideal thing would  be to end up with something like the Japanese have done like the following actual robot:



I don't expect to end up with anything quite that convincing.   And my budget requires that keep costs in the gutter.  But this at least represents the general direction I would like to go.  So I'm looking for any ideas, suggestions, or examples of what other people have done in the way of creating animated human-like faces on a robot.

It's going to be quite a while before I begin any actual physical construction.  I'd just like to start getting ideas now so when it comes time to begin the design I'll be armed with many different options.  Creating my own mask from scratch might be an option as well, so information on how to do that would be welcome too.

Thanks for reading.

Offline mklrobo

  • Supreme Robot
  • *****
  • Posts: 558
  • Helpful? 15
  • From Dream to Design at the speed of Imagination!
Re: Robot Face Ideas (Low Cost)
« Reply #1 on: October 23, 2015, 05:41:41 AM »
 ;D Hello!
I am not an artist myself, just a tech. BUT, I do appreciate the artistry provided on the show,
Face Off. It would appear logical, to make a face that you would want, but be able to
modify a existing face, where permissible. If you made the face out of latex, you could make control
points inside the mask, to control it better. OR, even embed muscle wires, or small actuators to
accomplish what you want to do. Sensors, infrared emitters, peizo transducers, phototransistors,
pressure sensors could all be integrated into the "face", so that you could get a whole world of
feedback for interaction; rather than just another doll face.
Possible interaction software; Some sensors incorporated with interrogation software could provide
more active interaction with humans.(?) Good Luck!  ;) :) :D ;D

Offline cyberjeff

  • Full Member
  • ***
  • Posts: 114
  • Helpful? 7
Re: Robot Face Ideas (Low Cost)
« Reply #2 on: October 23, 2015, 06:42:53 AM »
Latex is best, you need to look no further than the work of Ray Harryhausen to get an idea of what is possible. If you go that route I will look up the shop that sells the workings (it is local to me, don't remember the name off hand).

On the cheap you have silicone caulk (diluted with a solvent) and cheesecloth.

You also have paper mache and either cardboard or styrofoam as a base.

Off the shelf you have an assortment of ventriloquist dummies at Ebay, some have moving eyes, all have moving mouths.

Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #3 on: October 23, 2015, 07:54:03 AM »
Thanks for the ideas.  Making a latex mask sounds like a really good way to go.

This video claims to be instructions on  how to make an "easy" latex mask.  But it doesn't look very easy.

YouTube Video on making a latex mask

However since I'm not making a mask for myself I could use a doll head as the original template for the latex mask.   It also seems to me that this could be done easier.   In fact, if I'm using a dummy face maybe I could just make a latex mask directly on it and skip the whole plaster mold bit. 

Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #4 on: October 24, 2015, 01:16:35 AM »
I've made some progress.   I found an online site called Pimp the Face that allows the drawing of 2D faces.   And so I've created the following two faces for my robots Alysha and Arathoon.   



Then I found some software that allows the creation of a 3D face from a single photo:

Youtube video here: Create 3D Face from a Single Photo

Software download here: FaceShop 3.5 Poser Edition <--- I haven't downloaded this yet so no guarantees that it's not filled with malware.  I'm still looking around for more information on it and other possible software to use.

The conversion program isn't free.  It's about $60.  But can be tried for free first.  I might try this out on Alysha to see how well it works.   I also don't yet know if this 3D face can then be used as a pattern for a 3D printer.  That would certainly be a requirement as I'm looking to get these faces out into the real world.  If this FaceShop software produces a file that can be 3D printed it might be well worth the $60.   Especially considering that I would ultimately like to build 6 of these robots.  So this would only be $10 each to bring their faces to life.    But I'm having difficulty finding detailed information on this FaceShop 3.5 Poser software.  I don't know if the finished 3D face is compatible with 3D printing yet.  Without that capability it would be worthless.

I'm thinking that once I get a face that I can print out in 3D I can then use that 3D print out as a form to produce a latex mold as described in the video in my previous post.  Then I can produce a latex face from that.

Clearly this is going to be a very long process and I won't be able to accomplish this very quickly.  Especially if I need to first build a 3D printer.  Cause I sure as heck can't afford to buy one. ;D

So for me this whole process could take a year or more to accomplish.  But that's ok.  I'm certainly in no rush for these latex faces.   I'm still working on developing the brains for these androids, so all I want to do at this point is get the wheels in motion for future faces.

So this sounds like a possible plan.

1. Draw or photograph the face to be modeled.
2. Create a 3D face from that using something like FaceShop 3.5 Poser
3. Print that 3D face out to be used as the 3D form.
4. Create a plaster mold from that form
5. Create the final latex face from the plaster mold.


If I decide to take this path I'll have to make a youtube series on it.

At this point in time the making of the 3D printer appears to be the greatest stumbling block.  Not that I couldn't build one, but it would certainly be a project in its own right.  There may be another option of just having the forms printed out by someone who already has a 3D printer for a charge.

In any case, this is the brainstorming I have at this point.  In part due to the suggestions and feedback I've already received from mklrobo and cyberjeff.

I'm pretty serious about creating these faces.  So I'm going to continue looking into this.  In the meantime I can always start working with some latex just to see what the material is like to work with, and how it might be best animated.  This project will be well worth the effort because I'll be able to create face precisely as I want it, complete with internal attachment points molded right in for servos, and muscle wires, and sensors as mklrobo suggested.

This would be far better than trying to work with some mask that I'm not even real happy with to start.  If I could work with faces that I actually created, like Alysha and Arathoon above, that would really boost my enthusiasm.  Nothing can take the zest out of a project faster than starting out with junk you don't even really like.   So a project of this magnitude deserves to have a face that I feel is my own creation.  ;)





Offline cyberjeff

  • Full Member
  • ***
  • Posts: 114
  • Helpful? 7
Re: Robot Face Ideas (Low Cost)
« Reply #5 on: October 24, 2015, 06:58:18 PM »
I've made some progress.   I found an online site called Pimp the Face that allows the drawing of 2D faces.   And so I've created the following two faces for my robots Alysha and Arathoon.   



Then I found some software that allows the creation of a 3D face from a single photo:

Youtube video here: Create 3D Face from a Single Photo

Software download here: FaceShop 3.5 Poser Edition <--- I haven't downloaded this yet so no guarantees that it's not filled with malware.  I'm still looking around for more information on it and other possible software to use.

...

This would be far better than trying to work with some mask that I'm not even real happy with to start.  If I could work with faces that I actually created, like Alysha and Arathoon above, that would really boost my enthusiasm.  Nothing can take the zest out of a project faster than starting out with junk you don't even really like.   So a project of this magnitude deserves to have a face that I feel is my own creation.  ;)

STOP

You have gotten way too complicated.

First, a 2D sketch really gets you no where.

Either start with something off the shelf, and with Halloween at hand, there will be no shortage of masks available.

Or use your own face or a friends as a start

Or, learn how to sculpt with clay.

Now, I haven't done a life mask myself, but I have seen a whole room full of complete  noobs do it successfully. It ain't hard, there are lots of videos out there.

I have sculpted with clay. There are also tons of videos on how to do that, and many more on how to make a mask out of that.

Clay is remarkably easy to work with, costs well under $1 pound, and is even reusable. Just keep it from drying out while you are working by putting it in a plastic bag. I am not an artist, and have no desire to be an artist, and I found it both easy and fun.

Here is the store I spoke of:

http://www.theengineerguy.com/

And hey, you have to get your feet wet. Get started and don't expect your first effort to be all you want, but after you have done a couple, you will start feeling right at home. I was making hominid skulls, flying saucers, and all sorts of things.

This is much  much easier than working in 2D with a drawing or painting. And if you looks at those drawing you have, 90% of the detail is in the hair, and that is something else again.

Youtube will have all you need to learn about basic proportions, making armatures and all the little details you will need that you haven't thought about, but once more,it is not hard!

Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #6 on: October 24, 2015, 10:51:25 PM »
Modeling with clay as a foundation for the latex sounds like a good idea.  I have some modeling clay here already.  I'll give that a shot and see if I can use that to create a latex skin layer.

I'm going to start small.  I'll just model a mouth first, and maybe the nose.  And see how that turns out.  Then I can work with that piece of latex to see what it's going to take to animate it, and how durable it will hold up.  I can always create the complete face later. 

I also have no idea what to do with the eyes.  Ideally I would like for the eyes to be cameras, but creating a camera that has lens that looks like an eyeball might prove to be difficult.  Especially in terms of keeping the cost down.

Offline cyberjeff

  • Full Member
  • ***
  • Posts: 114
  • Helpful? 7
Re: Robot Face Ideas (Low Cost)
« Reply #7 on: October 25, 2015, 06:58:20 AM »
Humanoid robots are a very popular ambition in this forum. Everyone I know that has tried has gotten hung up in the weeds, in the details and never gotten them done.

You are in danger  of following in their footsteps.

What do you need cameras for eyes when you have nothing you can do with them? Computer vision is complex and requires high end hardware to do most anything at all.

Here is my advice, get a realistic mask such as this:

http://www.partycity.com/product/latex%20soft%20and%20sexy%20mask.do

And build an armateur (wood is easy) inside it. Goop on some attachment points for your activators (servos or twisted string or muscle wire) and actually get it to do something. You'll be the first, and I'll be impressed!

Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #8 on: October 25, 2015, 09:47:23 AM »
Well, that would certainly be the quickest way to get up and running.  That mask isn't bad at all for the price.  It even includes the hair.  That probably will be the most cost-effective way to start.   $55 isn't bad considering that it includes the whole face, ears and hair too.   It's basically the whole head.   I've been looking around at similar items that cost 10 times that much.  Way more than I want to spend.

I  have a full wood and metal shop so building a custom armature won't be a problem.

This actually is the idea I originally had too as you can see from my first post.   It just didn't appear that I was going to be able to find a decent low-cost mask.   But the one you've linked to is pretty decent for $55.  And it even appears to be the whole head.  This mask must be made to slip over a person's entire head covering their hair and everything since it has its own hair.  I'm amazed.

I'll give it a shot.   I'd easily end up having more than $55 invested just messing around with clay and latex, and then I'd still need to get hair to boot.  So this looks like a real deal actually.

Thanks for finding this.

Offline mklrobo

  • Supreme Robot
  • *****
  • Posts: 558
  • Helpful? 15
  • From Dream to Design at the speed of Imagination!
Re: Robot Face Ideas (Low Cost)
« Reply #9 on: October 25, 2015, 01:17:20 PM »
 ;D Hello!
I love the site, the engineering guy, as suggested by CyberJeff. Cool! (+1)   8)
In looking over the posts, it appears a pattern of evolution is appearing; That is to say,
you may want to change your face, or multitask the face. If that is a possible direction, I would
recommend a base face, which can support other "mounts" of other outer faces. If you create
a base "skull" or support face, this may give you innovative advantage for development and/or
change as you learn and adapt to the nature of the directive that you have set yourself upon.
This purpose would be cool too,  8) because if future hobby roboticists  would like to use a face,
you could provide an "open source" face.(!?)  :o Just a thought.....  ;D Good luck!! ;)

Offline cyberjeff

  • Full Member
  • ***
  • Posts: 114
  • Helpful? 7
Re: Robot Face Ideas (Low Cost)
« Reply #10 on: October 26, 2015, 04:57:04 AM »
Well,

I am delighted that everyone has something to get them down the road. I looked around a bit more and could not find a better mask for less. You couldn't make a one off for less money. You can add/adjust later with latex and makeup

The Engineer Guy, and I have met him and his girlfriend, is a riot. Atlanta has a few movie studios now and this fueled his growth. If you ever want to come to town  for a workshop, I'll put you up...

Now, let's make some robots! (and that includes me!)

Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #11 on: October 26, 2015, 12:29:49 PM »
I would recommend a base face, which can support other "mounts" of other outer faces. If you create
a base "skull" or support face, this may give you innovative advantage for development and/or
change as you learn and adapt to the nature of the directive that you have set yourself upon.

That's definitely the plan.  The actual skin or mask is actually the least part of this project.  At least in terms of design and construction.  The mask cyberjeff linked to will be a great prototype mask.  But it's obviously not something a person would want to be stuck with having to design around every time.  But yeah the underlying skull frame is going to be the real challenge in this project for sure.

I tend to always design things in modules that have a lot of flexibility.  So as I design the head mechanics I'll be thinking about making it adjustable to accommodate different possible head shapes.  Those adjustments won't need to be dynamic since they will only need to be set once upon construction, but they do need to be taken into consideration for the overall design. 

This purpose would be cool too,  8) because if future hobby roboticists  would like to use a face,
you could provide an "open source" face.(!?)  :o Just a thought.....  ;D Good luck!! ;)

Yes, it would be nice if I could contribute something that would be useful as a foundational  base for the hobby so that everyone doesn't need to invent this stuff from scratch every time.  Also everything I do is "Open Source" in terms of  me being willing to openly share everything I do.  It would also be nice if I could establish an "Open Source" community to contribute to the design as well.   But just setting up the social media to make that possible takes a lot of time and effort as well.   I would also need to have a "Base Project" upon which the community could build.  An "Open Source" community isn't very effective if everyone has their own ideas and wants to go off in their own direction.   So I need to get some sort of "base project" going before I could even open it up to open source contributions.

I already have some basic ideas in my mind of how I would like to begin.   So I'll have to get this all written up in mechanical drawings, schematics, programming code.  The actual face mask or skin layer is almost a totally separate project actually.  Of course buying a pre-manufactured mask reduces the R&D in that area to almost zero.   The only thing left to do on the mask will be to make the internal anchor points for the mechanisms that will control it.

Actually waiting until this prototype is finished is the best way to go before constructing any skin masks anyway.  Only after the base mechanism is finished will I know precisely where all the controls will be attached to the face.  Then those controls can be molded right into the new face.  In fact, I may end up with something a "chain mesh" or strong fabric mesh that has all the control points on it.  And then just build the latex face right onto control fabric.

In any case, I can see that I really need to start with the base head.  But it will be nice to have this Party City mask on hand so that I can design the base head to fit this mask, and then go from there.   I think I'm going to order that mask real soon here.  That could be a great starting point for helping to design the frame of the base skull.

I'll have to try to make a video of what I do. 


Offline cyberjeff

  • Full Member
  • ***
  • Posts: 114
  • Helpful? 7
Re: Robot Face Ideas (Low Cost)
« Reply #12 on: October 26, 2015, 07:04:23 PM »
This is good, you've got a plan.

Let me throw out an idea, as that is what I do...

Muscles on the face are attached to the skull. Obviously you have no room  for servos there.

 What I suggest you do is make a "skull" to fit inside the mask. Make your web of attachment points to the inside of the mask. So, let's say you want to lift an eyebrow, attach a line to those points you wish to lift and run it in the direction of the lift for a short distance, then run it through the skull. You can either put the servo there inside the skull, or you can bring the line down to the neck and have all your servos at the base, ready to pull on whatever  muscle is required. The elasticity of the mask will pull the eyebrow back down.

I think  that will solve a slew of problems in keeping the shape.

If you wish to try this, I've got an easy idea for making the skull.

Thanks for not only letting me throw out some ideas, but running with the ones you like. Good luck with your project.
« Last Edit: October 26, 2015, 07:06:55 PM by cyberjeff »

Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #13 on: October 26, 2015, 08:12:54 PM »
If you wish to try this, I've got an easy idea for making the skull.

I'm open to all ideas.  In fact, I would really like to set up some sort of "open source" project with this where everyone can contribute and the project can evolve more quickly, and hopefully with a lot better ideas that one person alone could ever hope to come up with.

As far as your suggestion for using servos connected via longer wires, cables, or lines, that's definitely what I already have in mind.   In fact, I'm hoping to come up with some clever uses of servos where they might be able to do far more than just one simple thing by working together as a "team".

I recently just built a project using multiple seven-segment displays driven by an Arduino board.  I immediately had the idea to use shift registers in an effort to cut down the number of IO pins I would need to use.  I looked on the Internet to see if anyone had done this and quickly discovered that this is a very common usage of shift registers.  It's hardly a new idea.  In any case, that set up works really well, both in saving the number of IO pins needed as well as making the software code extremely easy too.  In any case, I quickly realized that I could use this same technique with multiple servos reducing complex facial contortions to basically a single number for each expression.   And once this is set up it would just be a matter of running through all possible numbers and taking special note of specific facial expressions that I would like to recreate and just setting up a library of those special numbers.  And those could then be mapped in a dictionary making it easy to program the specific results I would like to produce.

I'm particularly interested in controlling the lips to be able to sync them with words so that when the robot speaks it will appear to actually be saying the words it is speaking and not just moving its lips randomly.    So the lips and mouth movement are obviously going to be the greatest challenge in terms of mechanical design.  Obviously this design is going to need to be kept as simple as possible.  So the biggest bang for the buck per servo connection will be high on the priority list of design considerations.

The other thing that I can't yet know is precisely just how much movement I'll be able to get from the lips on this mask.  On thing about creating a mask from scratch is that I would be able to design into the flesh (or latex) itself the ability to move in the ways I'll need it to move.   I've even thought about using hydraulic "balloon tubes" built right into the latex skin that can be inflated or deflated to produce various effects.   That level of technology would definitely require making the latex skin from scratch as part of the overall design project.

But I agree with you that buying the Party City mask and starting out with that as a crude prototype is without question the cheapest way to gain some quick experience.   There's no question that building a quick prototype will be extremely valuable experience.   And we can't expect super great results from that.  But we can aim to do the best that can be done with those limitations.

I could probably sell the "rigged" prototype for quite a bit of dough on eBay.   Once it's up and running with servos and an Arduino board to operate it I'm sure there would be many people who would snatch up on it for their robot projects.  So I could probably recover all costs, and maybe even make a tiny profit for the effort.  Not to mention the tons of experience I would have under my belt at that point.  ;D




Offline cyberjeff

  • Full Member
  • ***
  • Posts: 114
  • Helpful? 7
Re: Robot Face Ideas (Low Cost)
« Reply #14 on: October 27, 2015, 02:08:40 AM »
Let me toss out a few more ideas.

Before I  do that, I  think you will need some kind of jaw for the lips, this is different than the way everything else on a head works.

Secondly, micro servos with 2.2 Kg-cm of force are available for ~ $2.50 each in 4 lots, cheap  cheap cheap.

Now, lets say you want a common power source that could run dozens of movements.  Take a look at the way player pianos leverage a vacuum against the enormous reserve of atmospheric pressure. If you were to  go this route, I could make a suggestion on how to design low cost valves.

There is a potentially huge market for your project, and I do not believe that anyone else is approaching this in a way that is economically feasible. I prefer to work on things that haven't been done, plenty of people are working on what already exists. You work the same way...

Good luck with your project, I see this as difficult to do as an open source project. Part of the reason is that I believe that most of those interested in this are introverts, introverts make poor collaborators on a project of this nature. They also tend not to see possibilities, only details.

Mapping associated movement with emotions is not a difficult task programming wise, 4 or 5 points per "muscle" would suffice. 

The same with the lips, although the math is  setup differently. What  I suggest you do is break the language down to phonemes  which is easy to do and map your lip movements with the phonemes. Some of the movements would not be needed as they are hidden in the throat.

This could all be run off a single Raspberry Pi with the i2C  bus driving a couple of 16 channel servo boards. How do you intend to produce speech?

This is good, I like where you are going...

Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #15 on: October 27, 2015, 11:55:20 AM »
This could all be run off a single Raspberry Pi with the i2C  bus driving a couple of 16 channel servo boards. How do you intend to produce speech?

Now you're getting into the entire architecture of the "Robot Brain".  This is actually quite removed from the mechanics of making the face alone.   I've already begun construction on the "Robot Brain".  Although it's in its infancy at this stage to be sure.  Most of it is just ideas.  But here's the scheme I have thus far.

The Robot Overseer - A Windows 7 Notebook Computer

I'm using a notebook computer running Windows 7 as the "Robot Overseer".  I'm currently writing a robot interface and control program that I call the "Robot Overseer".   This program will tell the robots what to do, and keep track of their location, and progress.  The communication between the  Robot Overseer and the robots is currently implemented using WiFi and and simple File Sharing.  The Robot Overseer sends text files containing instructions written in CSV text to the Robots.  The robots then read these instruction files and perform the tasks, reporting  back to the Robot Overseer as they accomplish each task or run into a problem and require help from the Robot Overseer to complete a task.  (As a side note, I'm also learning how to implement the use of TCP sockets, which I have been told will allow for greater flexibility in communications)  However, for right now just sharing text files seems to be sufficient for starting out.

The Robot Cerebral Cortex - A Raspberry Pi

The robot side of things is far more complex.  Each robot has a Raspberry Pi for a "Cerebral Cortex".  That's the sole function of the Raspberry Pi.  The Raspberry Pi itself will not contain any software for controlling servos or anything.  It will be solely dedicated to "Thinking" about the main tasks that it is performing.

At this current time I actually have this set-up running.  I have 6 Raspberry Pi "brains" sitting here on the table next to me, each connected to my WiFi Network and "learning" how to communicate with the Robot Overseer.   This whole process is only in it's infancy.  At the current time I'm still working on setting up this basic communications architecture.

Currently the Robot Overseer is written in C#.  It's a Windows Form program that has a very friendly user interface on the Notebook computer.   I'm also learning how to program in C# so programming is slow.  I need to figure out every little thing I want to do.  But so far I am please with how it's coming along.

Currently the programs on Raspberry Pies on the robots are written in Python, which is another language that I'm only just learning about.  I'm also learning C and C++, both of which can run on either the Notebook computer or the Raspberry Pi.

So far this only covers the "Robot Overseer" and "Cerebral Cortex" of the robots.

The Arudino Microcontrollers

Everything on the robot will be control with Arduino boards and other electronic circuits.  The Raspberry Pi will simply tell the Arduino boards what it need to have done.  And the Arduino boards will also be able to interrupt the Raspberry Pi in the event of an error, etc.

So getting back to this robot face.  The face will be entirely controlled by an Arduino board.  However, it will be the Raspberry Pi that will be instructing the Arduino board on what to make the face do.   So from the perspective of designing the face, everything will be controlled by an Arduino board.  But this in no way limits what the face will be able to do.  The Arduino board itself will not be involved with any software that "decides" what the face should do.  The Arduino board simply makes the face do whatever the Raspberry Pi tells it do to.   This frees up the Raspberry Pi from having to deal with the details of servo controllers, and it frees up the Arduino from having to figure out what the face should actually be doing.   So this is definitely the direction I want to go.  Trying to do everything with a single computer and software could become a nightmare, not to mention potentially slowing things down due to serial processing.  The way I have it set up here, the Raspberry Pi could instruct the Arduino to carry out a sequence of motions to articulate an entire sentence and then go on to other processing while the Arduino actually performs the execution of the sentence.

I haven't yet decided precisely how I am going to do the speech synthesis.  I cross bridges as I come to them.  ;D

Other Possible Electronics

It is my hope and dream to include some actual electronic neural networks in the "Robot Brain".  I have experience programming FPGA and PAL circuits.  I've been looking around for programmable neural networks that are like FPGAs.  But unfortunately it doesn't appear that the electronics industry has recognize the value of these types of circuits since there doesn't appear to be any on the market.  Almost everything that is being done to study neural networks is being done by programming digital computers to simulate them.  That might be good for trying to understand how neural networks work, but it defeats the real purpose of neural networks.  A real neural network circuit does it's thing almost instantly, whereas a digital simulation could take hours or even days to simulate what a real neural network does in a split second.

It's that speed I'm looking for, so I'm going to try to build some neural nets even if I had to do them using op-amp arrays on multiple chips hardwired together.   Actually I've been thinking about trying to combine an FPGA or PAL with an array of op-amps to give the neural network more dynamic flexibility.

You mentioned things like visual recognition needing "high-end technology" but that's exactly what these neural networks are perfect for.   And these can actually be done far simpler than how people are currently trying to implement.  I don't understand why the electronics industry itself isn't making programmable neural network chips like FPGA's.   It's almost like people are so hung up on trying to digitally simulate everything that they have totally forgotten that analog circuits work just fine on their own.

In any case, I'm hoping to incorporate some neural nets in my robot brain architecture somewhere along the way.  Even if I have to build them myself using op-amp chips.  What would take a week to process digitally can be done in a split second with a neural net.  Pattern recognition become instantaneous.   And that can be good for both speech recognition as well as visual recognition.

In any case, that's down the road to be sure.   Right now I'm just working on setting up the "Cerebral Cortex" of the robots.  (i.e. The Raspberry Pies)







Offline cyberjeff

  • Full Member
  • ***
  • Posts: 114
  • Helpful? 7
Re: Robot Face Ideas (Low Cost)
« Reply #16 on: October 27, 2015, 01:23:21 PM »
A few things.

I ran across this today:

https://www.extremetech.com/computing/216866-know-what-a-fpga-is-then-the-snickerdoodle-is-for-you-and-better-than-the-raspberry-pi

I'm told that is about $100 with the board you need with it. Seemed to be up your alley!

As far as the architecture, it looks like you have this well thought out and in progress. I have a more partial development with my Catbot, you will note similarities.

I've tackled the mechanics first, I am at this moment redoing the shoulder joint, new servos came yesterday.

What I have so far is an Arduino DUE running all the mechanics of the motion. The DUE is fast enough to process all the math needed in a few msecs. That  includes quadratic bezier curves for  each servo,  telling it where to  start and how to get to the end of the movement and some Barycentric math so it knows it's limits.

 Arduinos, as you know, are great at digital in and out and connecting sensors.  I'm running a couple of 16 channel PWM boards over i2c, this unclogs all the wiring from the DUE shield.

I'm tuning this through straight serial, the DUE has 4, on one I have bluetooth to talk to the laptop. I haven't written an Ap for the Android yet, or decided how. Needs to be done.

 I have one of these on the way:

http://www.ebay.com/itm/301723479605

Which will do just about any kind of RF communication you might desire.

 I desire this catbot to be an extrovert and ask more questions than it answers. I think the Pi 2 is up to that, I'm working my way through speech, and speech to text

Vision is tough, I have a Kinect that I haven't wired up yet. I think I am at the limit of what a single Pi can  do with speech in and out. The Pi will eventually connect to the DUE over SPI. What I think is needed is a Jetson:

http://www.newegg.com/Product/Product.aspx?Item=N82E16813190005

to handle vision and higher level stuff.

I'm at the same stage as yourself in having to learn a bunch of new languages. I have python for all the high level control stuff and verbal parsing. C++, of course, on the DUE and a smattering of Java. I have MySQL loaded on the Pi because working with a database is a lot easier than working without!

The robot itself is the proportions of a large cat but sliced out of a 2x4 and cutup on a scroll saw. It's rather wildly painted and certainly doesn't look like any robot I have seen. I've planned a screen to show pictures of it's friends and a multicolor light strip to  give some emotional feedback.

Offline cyberjeff

  • Full Member
  • ***
  • Posts: 114
  • Helpful? 7
Re: Robot Face Ideas (Low Cost)
« Reply #17 on: October 27, 2015, 02:09:35 PM »


Other Possible Electronics

<snip>

In any case, I'm hoping to incorporate some neural nets in my robot brain architecture somewhere along the way.  Even if I have to build them myself using op-amp chips.  What would take a week to process digitally can be done in a split second with a neural net.  Pattern recognition become instantaneous.   And that can be good for both speech recognition as well as visual recognition.

In any case, that's down the road to be sure.   Right now I'm just working on setting up the "Cerebral Cortex" of the robots.  (i.e. The Raspberry Pies)

I'm completely stoked over this idea.

 I see memory as being patterns with spatial connections to neighbors. You not only get what you want, but you build relationships to other items that are similarly filed away. The brain doesn't perform complex calculations to think it processes naturally. Vision is largely processed by time it hits the occipital lobe.

If have not a clue about how to process video, but I can see a way to use FPGA to process stereo mikes to get  localization. It would seem that you can tune it not only recognize phonemes on the fly but also whole words, this takes some effort in software. I  think it is very cool that you know how to go about this.

Jeff

Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #18 on: October 27, 2015, 03:51:35 PM »
I  think it is very cool that you know how to go about this.

Well, I have the general ideas in theory.  Getting them implemented in the real world is a whole other story.  This is all just a hobby for me.  I'm severely limited by finances, time, and resources.   I've only just recently decided to go with a "talking head" project.  So we'll have to see where that leads.

The mask from Party City is definitely the way to go for the first prototype.  $55 isn't bad at all considering it's the whole head with hair, ears, and all.  That's a ton of work done right there. I just wonder how flexible it's going to be in terms of being able to articulate the lips.  Only time will tell.

Offline cyberjeff

  • Full Member
  • ***
  • Posts: 114
  • Helpful? 7
Re: Robot Face Ideas (Low Cost)
« Reply #19 on: October 27, 2015, 05:16:10 PM »
I  think it is very cool that you know how to go about this.

Well, I have the general ideas in theory.  Getting them implemented in the real world is a whole other story.  This is all just a hobby for me.  I'm severely limited by finances, time, and resources.   I've only just recently decided to go with a "talking head" project.  So we'll have to see where that leads.

The mask from Party City is definitely the way to go for the first prototype.  $55 isn't bad at all considering it's the whole head with hair, ears, and all.  That's a ton of work done right there. I just wonder how flexible it's going to be in terms of being able to articulate the lips.  Only time will tell.

I share similar limitations, but am ready to throw in the towel and collect some SS.

The whole thing is that these sort of projects are doable now. The technology and software is there and the prices are right. Processing power is going up fast.

You have to have a jaw to get the mouth to work right and you may need to do some surgery on the mask.

Take a look at some skulls to see how the jaw works, you will need to have the jaw chin and all to make it realistic. What I suggest you do is pick up a life size plastic skull. All the ones I have seen, and have, have movable jaws already. I do not have a life size, but this is the season to find them:

http://www.ebay.com/itm/Life-Size-Plastic-Realistic-Human-Skull-Life-Size-Replica-Halloween-Film-Prop-/171969466184

Don't know if the jaw on that is hinged already... it may need to be added, or find another...

http://www.ebay.com/itm/LIFE-SIZE-HUMAN-SKULL-Plastic-Model-Scientific-Artificial-Skeleton-Moveable-Jaw-/311472454301

I'm pulling for you.
« Last Edit: October 27, 2015, 05:18:40 PM by cyberjeff »

Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #20 on: October 27, 2015, 07:08:53 PM »
I've been looking at the Snickerdoodle.  I see that some entrepreneurs are finally recognizing the power of having an FPGA available in automated projects.   And at $55 a board they are definitely looking to compete with the Raspberry Pi and Arduino boards. There are pros and cons to something like the Snickerdoodle.  A seemingly obvious pro is having everything on a single board, but that can actually be a con too depending on what a person is trying to do.

I'm currently looking at these for only $23 a piece:

RioRand® EP2C5T144 Altera Cyclone II FPGA Mini Development Board



These, of course, are just the FPGA.  No microprocessor etc.   However, a Raspberry Pi could actually control quite a few of these FPGA boards.  The FPGA boards can often stand alone as a functional circuit as well.  So adding more FPGAs is only $23 a piece instead of $55.   The other pro is the smaller footprint.  You can tuck these little FPGA boards in tiny little corners of the robot where needed.

I haven't purchased one of these yet as I don't yet have a need for an FPGA right now.  I do have an old FPGA board here that I can experiment with.  If I end up finding a good use for it in my robot I'll buy these $23 boards.

The SnickerDoodle looks inviting as a stand-alone development board at that price.   But who want to have to tell people that your robot has a SnickerDoodle for a brain?   ;D

Besides, I already wrote a song that says that my robot has a Raspberry Pi for a brain, and SnickerDoodle doesn't fit the cadence of the song.  8)

Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #21 on: October 27, 2015, 07:56:20 PM »
I found some cheap eyeballs on Etsy to go with the party mask.  Only $8.50 a pair.

Fake Eyes



I think these are hollow plastic and there is actually a large hole in the back.  I'm wondering if it might be possible to run a thick flexible fiber optic cable from the pupil of the eye back to a camera?   That would really be cool if I could get some real eyeballs working.  Even if they didn't produce a really great image.  They might be able to produce an imagine that could  be used to recognize the number of fingers being held up, or read large numbers or letters on flash cards.   Any achievement in sight at all would be absolutely fantastic.

If I want better vision I can always fit her were a head scarf and mount a regular camera as a third eye in the middle of her forehead.  It wouldn't look out of place with a head scarf or a "Princess Crown".

None the less, it would be truly satisfying if I could achieve even poor vision through the actual eyeballs.   I'll have to include this in my robot song.  "She's got eight dollar eyes".   8)


Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #22 on: October 27, 2015, 08:34:25 PM »
I found some possible teeth:

Dental Teeth Model





I'm not sure what size these teeth are or whether they would fit the mask well.  These are $16.  I might be able to do better elsewhere.  But I'd go for this if I thought these would work well.

I'd have to take them off the display case and remount them on my skull armature.

I was actually thinking that I might be able to get away with one of those wind up chatting teeth like here:
Chattering Teeth



These would probably be good enough if they are the right size.  Being inside the mouth they probably won't be that noticeable.  These are just over $5 with free shipping.  It says they measure 3" x 4" by 2" high.  That sounds about right.  I'll have to wait until the mask comes first to be sure they'll fit.  Once inside the skull armature they'll probably look just as good as the $16 teeth.  Although the more expensive teeth really do look real.

And hey, for only $2.48 and free shipping I can get her a tongue!

Halloween Prank Tongue




Offline cyberjeff

  • Full Member
  • ***
  • Posts: 114
  • Helpful? 7
Re: Robot Face Ideas (Low Cost)
« Reply #23 on: October 28, 2015, 01:49:31 AM »
I found some cheap eyeballs on Etsy to go with the party mask.  Only $8.50 a pair.

Fake Eyes



I think these are hollow plastic and there is actually a large hole in the back.  I'm wondering if it might be possible to run a thick flexible fiber optic cable from the pupil of the eye back to a camera?   That would really be cool if I could get some real eyeballs working.  Even if they didn't produce a really great image.  They might be able to produce an imagine that could  be used to recognize the number of fingers being held up, or read large numbers or letters on flash cards.   Any achievement in sight at all would be absolutely fantastic.

If I want better vision I can always fit her were a head scarf and mount a regular camera as a third eye in the middle of her forehead.  It wouldn't look out of place with a head scarf or a "Princess Crown".

None the less, it would be truly satisfying if I could achieve even poor vision through the actual eyeballs.   I'll have to include this in my robot song.  "She's got eight dollar eyes".   8)

I like the eyes.

Most camera sensors are very small, if you were to take apart a webcam, the sensor part would probably mount right inside the iris. You won't see the back of the eye, so you can cut it up...

Offline cyberjeff

  • Full Member
  • ***
  • Posts: 114
  • Helpful? 7
Re: Robot Face Ideas (Low Cost)
« Reply #24 on: October 28, 2015, 01:57:57 AM »
I've been looking at the Snickerdoodle.  I see that some entrepreneurs are finally recognizing the power of having an FPGA available in automated projects.   And at $55 a board they are definitely looking to compete with the Raspberry Pi and Arduino boards. There are pros and cons to something like the Snickerdoodle.  A seemingly obvious pro is having everything on a single board, but that can actually be a con too depending on what a person is trying to do.

I'm currently looking at these for only $23 a piece:

RioRand® EP2C5T144 Altera Cyclone II FPGA Mini Development Board



These, of course, are just the FPGA.  No microprocessor etc.   However, a Raspberry Pi could actually control quite a few of these FPGA boards.  The FPGA boards can often stand alone as a functional circuit as well.  So adding more FPGAs is only $23 a piece instead of $55.   The other pro is the smaller footprint.  You can tuck these little FPGA boards in tiny little corners of the robot where needed.

I haven't purchased one of these yet as I don't yet have a need for an FPGA right now.  I do have an old FPGA board here that I can experiment with.  If I end up finding a good use for it in my robot I'll buy these $23 boards.

The SnickerDoodle looks inviting as a stand-alone development board at that price.   But who want to have to tell people that your robot has a SnickerDoodle for a brain?   ;D

Besides, I already wrote a song that says that my robot has a Raspberry Pi for a brain, and SnickerDoodle doesn't fit the cadence of the song.  8)

Late and tired...

I'm told the advantage of the Snicker Doodle over the stand alone is that it has a high speed path to and from the sensors and the processor.

With that said, it looks like a lot could be done with that board. I note  articles found on sound localization with an FPGA,  which is something I'd like to do.

More in the morning...

Offline mklrobo

  • Supreme Robot
  • *****
  • Posts: 558
  • Helpful? 15
  • From Dream to Design at the speed of Imagination!
Re: Robot Face Ideas (Low Cost)
« Reply #25 on: October 28, 2015, 05:18:49 AM »
 :) RoboPi;
Your indication;
  I have experience programming FPGA and PAL circuits.
I love the FPGA board, and the price is even better!!! ;D But, where is
the programming software? I have had problems with that with the Axon, so I
am reluctant to buy something with no user-friendly software. can you recommend any
websites to download the software?
In reference to your "open Source" face;
JasonHead is planning to construct a website for such projects. I can not speak for him, but
I would like to entertain the question. Would you head up the face part of the robot?(no pun intended!)
In building an open source robot totally, maybe certain people specializing in specific parts of the
robot could fit into the total spectrum of the robot. This cuts down on work, and permits people
to focus on an exact part, becoming the expert on that part. They just have to document the
types of languages, voltages, software, transducers, and mechanical specs for their parts to
JasonHead's cloud. All information available for download. If someone wants a specific face,
they could contact you, request it, and a reasonable fee could be negotiated.(?)
What do you think?   ???

Offline cyberjeff

  • Full Member
  • ***
  • Posts: 114
  • Helpful? 7
Re: Robot Face Ideas (Low Cost)
« Reply #26 on: October 28, 2015, 06:15:13 AM »
I've been looking at the Snickerdoodle.  I see that some entrepreneurs are finally recognizing the power of having an FPGA available in automated projects.   And at $55 a board they are definitely looking to compete with the Raspberry Pi and Arduino boards. There are pros and cons to something like the Snickerdoodle.  A seemingly obvious pro is having everything on a single board, but that can actually be a con too depending on what a person is trying to do.

I'm currently looking at these for only $23 a piece:

RioRand® EP2C5T144 Altera Cyclone II FPGA Mini Development Board

http://www.ebay.com/itm/ALTERA-FPGA-CycloneII-EP2C5T144-Learning-Board1pc-Mini-System-Development-Board-/360819685415?hash=item5402877827:g:rOkAAOxycmBStTF-

$18 with free shipping. And it would take long enough to arrive that you could write a song about that!

I'd buy one if I had more than $6 in the bank!

Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #27 on: October 28, 2015, 10:49:13 AM »
:) RoboPi;
Your indication;
  I have experience programming FPGA and PAL circuits.
I love the FPGA board, and the price is even better!!! ;D But, where is
the programming software? I have had problems with that with the Axon, so I
am reluctant to buy something with no user-friendly software. can you recommend any
websites to download the software?

You can download the programming software from the Altera website here:

Altera Website

They also have quite a few tutorials and example projects.

In reference to your "open Source" face;
JasonHead is planning to construct a website for such projects. I can not speak for him, but
I would like to entertain the question. Would you head up the face part of the robot?(no pun intended!)
In building an open source robot totally, maybe certain people specializing in specific parts of the
robot could fit into the total spectrum of the robot. This cuts down on work, and permits people
to focus on an exact part, becoming the expert on that part. They just have to document the
types of languages, voltages, software, transducers, and mechanical specs for their parts to
JasonHead's cloud. All information available for download. If someone wants a specific face,
they could contact you, request it, and a reasonable fee could be negotiated.(?)
What do you think?   ???

I'm willing to share everything I do.  But I'm not prepared to "head up" any projects.   I can't guarantee that I'll have any resources available in a timely manner.   As far as providing any products is concerned, it would be nice if I could get something up and running to the point where it could be useful to other people.  The most likely product I would have to offer would be the base skull armature or frame and servo mechanisms.  If someone wanted a specific face, they would need to find, or make a mask of their own.  I would most likely be stuck with having to supply a party city mask at the obvious additional cost of $55 plus additional labor costs if I need to fit it to the skull as well.  That process right there could actually require quite a bit of labor especially if the mask is going to be connected to the servos.

I imagine, unfortunately, that the cost of a finished head would necessarily be quite high, as it would take quite a bit of labor to actually construct one.   Especially if it were to include eyes, teeth and tongue.   Even if those components don't do anything, they would still need to be physically mounted.   I'm sure there will be a need for lots of special mounting parts.

As I design this head I will definitely keep in mind manufacturing simplicity.  I like to design things that are easy to manufacture, easy to assemble, and especially easy to adjust, modify, or repair later.

I'm currently thinking of ways to reduce the number of servos required to actually run the face.  The suggestion cyberjeff made about using a player piano technique is certainly worth consideration.   In the case of a player piano it's all done with a vacuum pump (usually foot operated).  I've actually worked on player pianos before and I still have one right here beside me as I type.

Of course in the case of the robot face I'm thinking along the lines of using a combination of servos and stepper motors.  The servos could be used to push and pull wires that connect to various actions on the skull and face.  The stepper motors could be used to "shift" a mechanism that allows a single servo to push or pull many different wires depending on the position of the stepper motor. 

This is just a raw idea right now, but I've already realized that it could cut the number of servos required in half or more in various cases.  For example, both the tongue and the eyes will need to move up/down, and left/right.   I could design it so that a single set of servos runs both the eyes and the tongue, depending on the position of a stepper motor.   The trade-off here is that the robot could only move either the tongue or the eyes, but not both simultaneously.   But that might be ok.  That might be a worthwhile trade-off if it cuts the number of servos required in half. 

A similar thing could be done with mouth and face articulations.  Articulations can be grouped and a single set of servos could articulate several different groups of articulations depending on the position of a single stepper motor.   The trade-off is that every time you want to select a new group of articulations you need to move the stepper motor and that would require a short delay.   But with some clever designing you could make each set of articulations a "useful group". 

I have lots of ideas, but getting them implemented in an actual mechanical device is a whole other story.   This could  easily take 6 months to a year just working out the details of the design.   So it's not something that's going to happen overnight.  But reducing the number of servos required is clearly going to be a major advantage so it's pretty much mandatory to head down a path that leads to this result.

I suppose a preliminary prototype would be to simply set up a mechanism that employs this feature and see how well it works.   In fact, similar techniques have no doubt already been used in various RC models.  Usually when I have a great idea it turns out to be a standard way that people have already been doing things.  ;D

Actually it would be nice to find examples where other people have done this sort of thing.  I'm sure someone else has come up with ways of using a single servo to do multiple tasks.




Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #28 on: October 28, 2015, 10:56:35 AM »
http://www.ebay.com/itm/ALTERA-FPGA-CycloneII-EP2C5T144-Learning-Board1pc-Mini-System-Development-Board-/360819685415?hash=item5402877827:g:rOkAAOxycmBStTF-

$18 with free shipping. And it would take long enough to arrive that you could write a song about that!

I'd buy one if I had more than $6 in the bank!

I'm going to have to pick one of those up.  But there goes more design time out the window.  I can imagine spending quite a few hours just learning how to use the programming software.   But once that's done the rewards might be well worth it.

I really don't see a need for an FPGA in this head project though.  Unless it's used in speech or vision recognition, but that wouldn't really be part of the head project.   There's really no need for an FPGA just to control this physical head.  But there are other applications where it might be quite valuable.

Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #29 on: October 28, 2015, 11:02:40 AM »
By the way, on that FPGA board (totally unrelated to this thread on the robot face), you need a USB Blaster cable to program it.

USB Blaster Cable



But you only need to buy this once and then you can use it for any additional FPGA boards you might buy.

 


data_list