« Last post by shewdz on November 17, 2015, 07:14:02 AM »
just a quick request that will take a few seconds of your time. I'm part of a robotics club at the university of Birmingham. we have been offered the chance to double out financial investment through a youtube video "like" competition. basically we need the most likes before Wednesday to win, and its pretty close at the moment.
if you could spare a few seconds, could you like this video
(you don't even have to watch the video)
Thanks in Advance!
« Last post by mklrobo on November 17, 2015, 05:42:25 AM »
Awesome info from RoboPi!!! (+1)
I feel, that, aren't we all developing our robots, a little at the time, kind of like
Young Anikin Skywalker?? ; C3PO in that movie, was just being built,
(I would like a light sabre, but Definitely be able to use "The Force"!)
« Last post by Robo_Pi on November 16, 2015, 10:33:09 PM »
My girlfriend and I want to basically build a rover with humanoid/android torso. Sort of like an animitronic ontop of a roving base.
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.
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.
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.
The FPGA stuff seems unreal complicated at first look. It is manageable I'm sure once you get your feet very wet and sit down with it for a few weeks.
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!).
« Last post by mklrobo on November 16, 2015, 05:55:56 PM »
It looks like you are narrowing down what you want.
I have found, that whatever platform you use, make sure you have PLENTY of
software and community SUPPORT for it. Having a chatroom to help you work out
your problems is very helpful. Raspberry Pi has a lot of support. Typically, new items
take a while to get example code for them, and time itself tends to weed out the "Fad"
items. If they are productive, they will be here for quite awhile. You must have a way to program
the items, with IDE to work with, that is friendly. More features are great, BUT, if there is no
code examples to take advantage of these, the chip is useless. ARM architecture has been around
for awhile, and the most used. If you invest in a platform, like playing chess, choose the platform that
gives you the most learning/fun/projects/code that you can get. You can use this like a "crowbar" to
help you in the real world, if you need it. Good LUCK!!
« Last post by mklrobo on November 16, 2015, 05:42:38 PM »
I am working on using REDSTONE, an integral part to creating devices in Minecraft. I have
just started playing with it, recently. They have made computers, timers, clocks, spacecraft, and
an assortment of other nifty categories, IN the game, minecraft. I did not know this was even possible with a "game".
Pistons, switches, levers, and other mechanisims can be used in Minecraft.
Creating a robot could be possible, and make it mobile. But how to make it compatable to the real world robot.
I investigated using this for my Chemical Engineering project; but may serve more than one purpose.
Interesting, is it not?
« Last post by Robo_Pi on November 16, 2015, 05:17:38 PM »
It is sad that the software has been discontinued.
It is a bummer, because Microsoft tends to do really great stuff. It might still be worth using if the existing version will do the job. The problem is finding the time to look into all this stuff. I'd hate to waste a lot of time looking into it only to discover that it's not going to do what I need. From what I've seen so far it seems to be pretty specific to only a certain kind of robot architecture and uses kinect sensor product.
Welcome to Robotics Developer Studio
If that's the case then it may not be versatile enough for doing robotics in general.
Maybe this is why they've discontinued it. It's simply not versatile enough and so there wasn't a lot of interest. I'm thinking of writing an email to Ashley Feniello and suggesting that if they simply expand the versatility they might obtain a far greater following.
If the user could build a robot from scratch that would be far better than forcing them to use something like kinect. That limitation could kill the project right there. Other than this limitation it sounds like an interesting development studio.
I might think about looking into MINDCRAFT. The only problem there is again TIME. How long does it take to learn how to use Minecraft, and, again, will it actually do what I need?
« Last post by Avadon77 on November 16, 2015, 05:16:00 PM »
My girlfriend and I want to basically build a rover with humanoid/android torso. Sort of like an animitronic ontop of a roving base. So first it must function as a telepresent/RC vehicle. Once I know all the servos, turret, back, arms, neck, head, etc. work well, then I'll dive into seeing if I can augment the experience, so it's not just a fancy car with a torso on it. Then still after that work on an autonomous mode. So I'm very forward thinking looking at robot brains right now, but I didn't want that to bite me in the hiney later when I know nothing about them. It's like looking at cars before you have your license, but it's good to know something about cars, even before you drive.
The FPGA stuff seems unreal complicated at first look. It is manageable I'm sure once you get your feet very wet and sit down with it for a few weeks. From what I read about FPGA's is that most robotics platforms are not using them and they are indeed overkill, and not really overkill in a good way (because who doesn't like overkill) but somewhat of a diversion to a more immersive experience where one gets more into the theoreticals of design and control regarding micro processor architecture. Or at least that's what a newb like me came away from it. On another blog someone said short and sweet "If you want a robot get a MCU or embedded PC. If you want to dive deep in computer robotics processor arhitecture and study that for years then get an FPGA." That sentiment was enough for me to start to think about other platforms rather than just throwing down a few hundred for a fancy FPGA.
I'm more of a fan of all inclusive boards but I can see that there's not too much out there in that way. The Adlink fanless computers are pretty cool, like the Adlink MX-5400, prolly way to pick and heavy though for my robot. Then I saw stuff like this TS-7800 which looks really cool https://www.embeddedarm.com/products/board-pictures.php?product=TS-7800
All of these reccomendations above I saw from this site..
But when it comes to a controller I'm basically looking for someting similar to what you two mention. Something I can plug a monitor,keyboard,ethernet, etc. into and operate off of. So the more I/O capacity of the board the better. And I really wanted something that runs C, Linux, or Dos and not some very proprietary programming language that I would only ever use again if I got a job in a car robotics factory in china. I'd rather learn a language that has broad and wide uses than just is specific to one niche.
Do you guys have an opinion on single board x86 and Arm systems?
« Last post by mklrobo on November 16, 2015, 04:23:17 PM »
It is sad that the software has been discontinued.
BUT, , This looks like a job for.......... MINECRAFT!
(Well, maybe it could work....? )
« Last post by Robo_Pi on November 16, 2015, 11:18:54 AM »
This is interesting but I just found on Wikipedia the following:
Microsoft Robotics Developer Studio has not been updated or patched since version 4.0, which was released on March 8th, 2012. On September 22nd, 2014, as part of Microsoft's restructuring plan, the Robotics division of Microsoft Research was suspended, according to a tweet from Ashley Feniello, the then-current head of the division. It is now highly unlikely that MRDS will ever be updated again, however forum members (MVPs) may still offer limited support
By the sounds of this it may be already obsolete and discontinued.
I would also have a whole lot of questions.
1. Does is support user-created robots?
In other words, could I actually design a robot that emulates the robot I'm hoping to build?
2. How flexible is the floor plan?
Could I redesign that to be an actual floor plan of my own home?
3. Can external programs be used to control this robotic simulator program?
I'm working on writing programs in C# and in Python on my notebook and Raspberry Pi computers. Would those programs be able to run this simulation?
The reason I ask this is because I'm actually preparing to create a simulation of my own for my programs to simulate. But if I have to do all the graphics myself it's just going to be a 2-dimensional floor plan that basically just shows the location and orientation of the robot. It wouldn't include the fancy 3-graphics.
So if I could use this program as my graphic simulator I could have a better simulation model. But it worries me that it's basically been discontinued by Microsoft (if that is indeed the case).
It could be that some sort of gaming software might better suit my purposes?
I haven't started on this part of my robotics project yet. But originally I was thinking of just laying out a simple 2-D floor plan for position and orientation only. It would be visually crude, but in some ways it would be far easier for me to program.
4. Can the robot dynamically change the floor plan based on its own actual sensory input?
Later, when I get the physical robots up and running I could have them interact with my 2-D graphics and basically re-design it using their actual sensors. In this way the robots themselves would actually be creating the floor plan from the perspective of their own sensors. I kind of like that feature which may not be available in a full-blown 3-D simulation.
The idea of starting out with a blank slate and allowing the robots to build up the floor plan of my house based on their actual sensors and experience is exciting. And that's what I currently have in mind with my simple 2-D graphics.
Whether I could find a 3-D graphic program that would be that flexible is hard to say. I have no clue what's available out there. I also don't want to have to spend a lifetime learning how to program in 3-D when I already know how to do it in 2-D so easily.
The Microsoft Robotic Development Studio sounds promising, but it also sounds like they gave up on it already. Too bad if that's the case.