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

0 Members and 1 Guest are viewing this topic.

Offline cyberjeff

  • Full Member
  • ***
  • Posts: 114
  • Helpful? 7
Re: Robot Face Ideas (Low Cost)
« Reply #30 on: October 28, 2015, 12:20:05 PM »
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.

OK.

I saw an article on sound localization with an FPGA. It also seems to me that it would work well for FFT's I can see it being used for word/phoneme detection although that is a task beyond my means!

What do use to program it? And are there libraries of any common stuff that will run without a lot of tinkering? I'm thinking vector  math and pattern detection.

Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #31 on: October 28, 2015, 01:50:20 PM »
What do use to program it? And are there libraries of any common stuff that will run without a lot of tinkering? I'm thinking vector  math and pattern detection.

An FPGA can be programmed using different methods, the most common method is to use a language called Verilog or VHDL:

   

There are other ways to program them as well.  One method is to actually draw up schematics for how you want the FPGA circuit to be.   That method is usually available in the software packages that you use to program the FPGA.

The Verilog or VHDL languages are basically statements similar to programming code, except instead of running as a program they simply tell the FPGA how to configure itself.   They are basically just statements that describe the electronic schematic using words.   VHDL code is shown in the following image:



Here's an example of Verilog code:



So you can program them either of these two ways.   I believe that if you program them using VHDL the program will automatically then create a schematic for you to view.   You can then even go in and edit the schematic if you like.

A third way to program an FPGA is called "State Machine".   It's a graphical description of the task you need the FPGA to perform.   You basically draw up the task using symbols that appear something like a flow-chart.  And then the program generates the VHDL code and schematics from that.  I'm not sure if the free software includes this option though. 

The following is an example of what a state machine diagram might look like.  This one is for a CPLD which is very similar to an FPGA.





But basically all an FPGA amounts to is a complete integrated circuit of logic gates that you program on the fly, using the methods described above.

FPGA are cool, but not nearly as powerful as an actual programmable Neural Network.   The problem is that no one makes programmable Neural Networks as chips, like these FPGAs.   Typically when you get into working with Neural Networks everyone is still doing it using digital computers to simulate the neural network.  And that's basically useless in terms of using the Neural Network to speed things up.   A digitally simulated Neural Network is extremely slow, often taking hours or even weeks to do what a physical Neural Network could do in a millisecond.

Why the electronic industry isn't manufacturing programmable Neural Networks, like FPGA chips is beyond me.  I can't imagine that there is a problem with technology.   I suspect that they simply haven't realized just how powerful such devices would be.   It's funny because they seem to see the value in simulating them with digital computers.   But thus far, no programmable Neural Networks on the market.  At least none that I am aware of.   And if any do exist they are probably quite expensive and haven't been mass produced to the point where there would  be available for hobbyists.

Getting back to the FPGA's:

As far as libraries are concerned, I have no clue what's available but I would imagine it's quite limited simply because there probably aren't too many people out there actually working with them.   And often times those who are working with them guard their work and consider it to be "Copyrighted", etc.     They most likely have some idea they believe they can capitalize on.

So most of what you're likely to see are pretty simple examples.   Also, most of the examples that are available are most likely going to be dealing with entertainment and communications equipment.   How to route video streaming, and that sort of thing.   

If you do run into any open source examples of pattern recognition please do share.  That's one area that I would definitely like to get into myself.

By the way, if I do anything with FPGA I'll make all my work public and open source.   But I'm not working with that at the moment.  It's just something I'd like to get into down the road.

Offline Robo_PiTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 4
Re: Robot Face Ideas (Low Cost)
« Reply #32 on: October 28, 2015, 03:15:43 PM »
Since this is a thread about faces I thought I'd post a video of a girl who is using an FPGA to track faces.

! No longer available


 


Get Your Ad Here