This post is somewhat intended to help me understand what makes the (very expensive) IFI and NI controllers superior (are they?) to the (very cheap) Arduino and it’s family.
I have recently been introduced to the Arduino through the RepRap Project that i’m working on (<-- check it out!) and it seems to me that it has great potential as a cheap robot controller (which in fact is one of the major uses it is put to by hobbyists).
But before I can go out and propose that in 2010, when a 2009 rookie needs a controller for their 2009 robot for demonstrations, they can use an Arduino… I need to know if it will work!
(So for argument’s sake let’s just say I am proposing this, and you can explain why it won’t work :rolleyes: )
So if anyone is willing to give me a hand here with a short microcontroller primer, i’ll be very grateful!
Thanks!
-Leav
p.s.
Don’t you think grateful is spelled in an odd way? “greatful” would have made more sense to me
Sorry that this is off topic, but no. “Greatful” would imply you are full of great; “grateful” is derived from the Latin “gratia,” or kindness, friendship, gratitude. Gratitude shares the same root.
Arduinos are great fun to play around with, but they are very limited in what they can do based on their limited number of ports and processor speed. But their low (about $20 USD) price point and free, multi-platform IDE makes them very popular for hobbyists as you pointed out, who may want a cheap microcontroller for projects that don’t have to generate PWM signals for a dozen motors, process lots and lots of serial communications from the radio, or handle a dozen different sensors of various kinds.
If anywhere, they may have a lot of potential in the autonomous beetleweight or antweight combat robot competitions, or in the Trinity Firefighting competition, or any other competition which deals with smaller (less mechanically complex) robots with a greater emphasis on control and sensors.
EDIT: As for whether you can use an Arduino to contro a FRC robot, the answer is yes. You can pulse the digital output ports to generate PWM signals (you’ll need a 'scope though to test their waveform and troubleshoot), you can buy the RS232 serial boards for serial communications, and you can read sensor inputs. Just note that you will be very limited in all of these areas, unless you daisy-chain several together and implement a master-slave communications protocol to help they all handle different functions of the robot.
You could make an IFI-equivalent board from the Arduino, with a bit of work. You would need to recreate the work IFI has already done for you to do so. For one-off hack work, this is relatively easy to do. For a professional deployment to thousands of students that works as reliably as the IFI system does, this is hard.
The IFI system is based on Microchip’s PIC processors, the Arduino is based on Atmel’s ATmega168s. At the 50,000 foot level, these processors compete in the same field (sorta mostly kinda - close enough for the purposes of this post). One could easily argue why one is superior to the other, and either side could be right.
You certainly don’t need the extra of the cRIO to drive a robot around - As Art said, you most certainly can drive a robot with an Arduino. You just won’t be able to get it to do all of the cool things the cRIO can do.
The processor in the IFI controller is more powerful than the ATmega used on Arduinos, and slightly more expensive (~$20 versus ~$5 for the ATmega168 common on Arduinos).
The IFI RC actually contains 2 microprocessors, one that is dedicated to generating PWMs, radio communication, and handling things like disabling the robot, while the other is user-programmable.
The circuitry on the IFI RC is more complex than an Arduino. The RC is designed with things like ESD protection on the inputs, much better power regulation, etc. This stuff is what makes the RC much more robust (and resistant to electrical “oopses”) than an Arduino.
There are a bunch of different connectors on the RC. Connectors are expensive, adding to the BOM and assembly costs.
The RC comes in a nice injection-molded case for protection.
(Most importantly IMHO) The RC has a lot of custom software in it that someone had to write (to talk to the OI, disable robots safely, etc). Also, it had to be designed, heavily tested, and supported (taking customer calls and sending IFI reps to every event for the last 8 years). This creates a large up-front cost (to pay engineers to do this design and development) that has to be amortized across the number of RCs sold during its lifespan.
You can make the same comparisons between the new CRio and other PowerPC-based boards. The CRio is easily 10x more expensive than other PowerPC-based devices on the market, and that is probably in large part due to the level of testing, robustness, and low volume nature of the product.
Basically, the cost of these components is the price we pay for getting the kinds of features and support we’ve come to expect.
So come 2010, assuming we still use about the same amount of PWM outputs and relays, and using some sort of RF module it should be possible to do rudimentary robot control, right?
Sure, there wont any OCR (or coffee making) like the cRio can do, but a basic joysticks+basic sensors+motor outputs should be possible…
I’m generally pleased about this revelation, I’m not so uneasy about reusing the cRio anymore… it actually makes more sense in my opinion…
I’d really like to do this. The current arduino’s are a little small in terms of memory and i/o ports. But, it would be fairly easy to port the arduino bootloader to a bigger AVR processor, and pretty easy to design a ifi “clone” board of sorts. I am working on a design like this in eagle cad, but it is kind of on hold right now. email me if you want the eagle files.
the difference between the IFI systems and the compac rio is betty big. one is capable of running embedded linux.
But, i still think a cheap Robotics based Freeduino should be attempted. It could be used to drive simple robots around from previous competitions. But i think it would be possible to make a freeduino controller that could be just as good as the IFI controllers.
I’d strongly recommend using Altium instead of Eagle. Altium is the best EE cad package I’ve used by far (and I’ve used quite a few of them) AND is in the kit of parts.
If you do need help with a design captured in Altium, just ask. I’d be happy to help convert you.
Umm, Altium might be in the kit but I cannot get a PCB manufactured from the design and I don’t have $12K to spend to get the license. I’ll withdraw the comment if you can tell me how to do this for a reasonable cost.
If you read Wired Magazine (two issues ago) they interviewed the guys that originally designed and made the Arduino (a good article). They posted their designs up for free and allowed the community to help them design and trouble shoot all of their problems. They basically put 0 n the price for the ER&D for these. To take this into consideration, say 1 very skilled EE did all of the design for the IFI controller in 1 year. If you paid such person $50K for that year, and you sold 10,000 controllers a year, it would take 5 years to pay for his 1 year of work if $1,000 per controller was earmarked for ER&D. This is the one reason why anything well designed in low volume is very expensive.
Doing a free ER&D version and allowing the community to troubleshoot your problems works very well for hobbyists (they are forgiving of errors and bugs), but would be a huge headache for non-expert teams.
Your post confused me, so I chased it down with FIRST’s Altium Rep. She told me that the Altium you receive in the Kit of Parts is the full blown Altium Unified Licence with a 12 month timer. This can export your board to many standard formats, including Gerbers. Gerbers are accepted by all of the board houses I’ve worked with, although I hear that some of the super-low-end houses only accept their own proprietary format.
If you need any help with the export/fab process, feel free to PM me or post here. Alternatively, we can set you up with the Altium Forum - the community there is on par with Chief Delphi for helpfulness (dare I say better? :ahh: ).
however, it still has limitations, and and i am still set on attempting on creating a larger version similar to this with a more powerful AVR processor. Maybe a sanguino based version. I don’t know if it’s practical, but I’m still going to keep working on it, even if it only turn out to be for my benefit.
The only reason why the IFI board was so expensive is because it was made specifically for FIRST. If it were used by a wide variety of people and produced on a larger scale, then it probably would have been a fraction of the price.