Recent Posts

Pages: 1 ... 7 8 9 10
Mechanics and Construction / Re: Robot Face Ideas (Low Cost)
« Last post by cyberjeff on October 27, 2015, 01:23:21 PM »
A few things.

I ran across this today:


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:


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:


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.
Mechanics and Construction / Re: Robot Face Ideas (Low Cost)
« Last post by Robo_Pi 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)

Robot Videos / How to control your Bot with the Motor Air - ServoCity
« Last post by ServoCity on October 27, 2015, 10:09:25 AM »
Control Issues Series with the Motor Air
Jason walks us through how to control the Bogie Runt rover with a Motor Air, using an Android Device.

Click link below to check out this Episode
Mechanics and Construction / Re: Robot Face Ideas (Low Cost)
« Last post by cyberjeff 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...
Mechanics and Construction / Re: Robot Face Ideas (Low Cost)
« Last post by Robo_Pi 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

Mechanics and Construction / Re: Robot Face Ideas (Low Cost)
« Last post by cyberjeff 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.
Mechanics and Construction / Re: Robot Face Ideas (Low Cost)
« Last post by Robo_Pi 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. 

Mechanics and Construction / Re: Robot Face Ideas (Low Cost)
« Last post by cyberjeff on October 26, 2015, 04:57:04 AM »

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!)
Mechanics and Construction / Re: Robot Face Ideas (Low Cost)
« Last post by mklrobo 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!! ;)
Mechanics and Construction / Re: Robot Face Ideas (Low Cost)
« Last post by Robo_Pi 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.
Pages: 1 ... 7 8 9 10

Get Your Ad Here