That's basically what I'm doing too. I started out building something like a Johnny 5 (Or "Short Circuit"), but then decided I wanted a more human-like head. I'm already working on the track base (similar to Johnny 5), but now I'm also working on constructing a human head.
Wow that's funny we are working on an eerily similar project. I've been interested in and researching tracked vehiciles in my spare time since late 90's. I find it totally fascinating and it's a great base for a platform. But I set aside robotics for a good many years and now getting back to it and development, but really on a hobby level. So I'm ambitious but not trying to kill myself. lol Full scale is a challenge because things at hobby scales don't always translate well the physics of a full humanoid, which I'm sure you've already discovered. There's soo much on the market techwise compared to even 10 or 15 years ago. It's amazing looking at what is available now. Mindblowing even.
My first robot (if it ever gets built) will most likely just be the head running around atop the Johny 5 track base. I'll deal with adding arms and torso later. The whole project is just a journey into AI. My main goal is to build a robot that can actually do things and have some sense of what it's being told to do, etc. Precisely what it looks like is less important. But after looking at how much work so many people have been putting into traditional Johnny 5 heads I decided that I may as well go full-blown human-like instead.
The head on tracks.. now i gotta see that. Might be a little frightening or humorous. Not sure which. Sounds like our main goals are extremely similar "My main goal is to build a robot that can actually do things and have some sense of what it's being told to do, etc" There's so much sophisticated hardware out there and fairly easy to implement.
But like I say, the AI programming is really the focus of my project. I want a robot that has some real smarts. At least as much as say a dog (or even better). After all, you can't talk to a dog in English, so the robot is already one up on a dog.
You can tell the robot not to go out on the road and it will know what you mean. Sometimes that's hard to convey to a dog.
Now therein lies a challenge.
I certainly agree with this. Most robotic projects wouldn't benefit from the use of an FPGA. Using an FPGA when you don't really need one is a total waste of time. There are only two situations when FPGAs are beneficial.1. If you are planning on mass producing a product.
In this case a single FPGA can be programmed to replace a lot of other more complicated devices and tailored specifically for the product in question.
The only other time FPGAs are beneficial is:2. If you are designing something where an FPGA simply outperforms an MCU bigtime.
These types of applications often show up in video and sound production where an FPGA can simply handle a lot of data very quickly in parallel where an MCU would need to process things byte-wise thus taking a lot of time to do it.
Some examples are, pattern recognition devices, such as face recognition, object tracking, extreme navigation situations, specific sound recognition such as speech or voice recognition, etc. The FPGAs outperform MCUs hands down in these types of situations.
Since you created as the topic heading "Robot Brains: Searching for mid-high end units", the topic of FPGAs is certainly going to come up since FPGAs are capable of doing high-end "Thinking" far faster than MCUs. But only in specific situations. 3. Neural Networks designed using FPGA plus Op Amp Arrays.
Another area where FPGA "may" be useful is in the design of physical Neural Networks. This is where I am hoping to apply them. Unfortunately I'm on my own in this department as most people who work on Neural Networks only do so via simulations using standard CPUs which is kind of self-defeating actually, unless the goal is to simply understand how neural networks work. But to build an actual Neural Network you wouldn't use a CPU or MPU.
An FPGA itself cannot serve as a programmable Neural Network alone. But it might be able to play a role in a larger design of one (which is what I'm hoping). It would be great if they actually made FPNNs (Field Programmable Neural Networks), but unfortunately they don't. Why they don't is beyond me, we certainly have the technology. Apparently there just aren't any electronic companies aware of just how powerful such devices would be (or they haven't figured out how to make them yet). But if they haven't figured out how to make them, then shame on them, because they certainly have the technology to do it at their fingertips.
In any case, you're right. Using an FPGA just for the sake of using one is a big waste of time. You need to have an application where it's going to outperform the MCU by a very large factor (as in the examples I stated above).
As far as programming the FPGA it's fairly simple depending on your previous knowledge of programming and electronics.
An FPGA can be programmed using a language called Verilog which is very similar to the structure of C. So if you know how to program in C then you basically already know how to write Verilog code to a large degree.
However, you also need to have some understanding of electronics, and in the case of FPGAs that would be digital logic. So if you understand digital logic electronics, and C programming language, you're basically already there.
If you want to design a Neural Network using an FPGA (as I am hoping to do), then you'll also need to be well-versed in analog OP AMP circuits. There aren't any of those inside the FPGA, but the idea is to program a field of Op Amps using the FPGA as a programmable switch. At least that's the idea I have in mind right now. Whether or not this can even be done is yet to be seen. Right now it's just an idea I have.
I wish they made a Field Programmable Op-Amp array already configured as a Neural Network, (so I wouldn't need to design my own from scratch) but like I say, the electronic manufactures seem to be asleep behind the wheel on that one. So I'm stuck with having to make do with what I can scrape together on a hobbyist's budget.
But yeah, if you want a truly "High-End" brain, programmable Neural Networks would be the way to go. And not just computer simulations (way too slow!), but by using actual electronic neural networks (super FAST!).
[/quote]This is a fascinating breakdown. I also was surprised that there weren't boards more adapted to robotics. It must be that they see this as more of a hobby community and that the development cost-sales ratio just isn't there. An FPNN would be an amazing idea. To create it though you'd need a platoon of engineers to create yoru own board.
hey there is just soo much more I'd like to write but this little box and the quoting system is migraine producing. I'd much rather converse in regular email. Our projects are definitely on the same wavelength and at the very least I'm sure we could share some cool ideas, and at most maybe even be a good resource to each other. I'll pm you my email if that's cool.