View Full Version : Purchasing the 2009 controller
Tottanka
17-04-2008, 14:43
Hey guys,
i wanna purchase the 2009 controller to play with during the off season. Do you know where i can do that, and what will the estimated price be?
Thanks a lot =]
CyberWolf_22
17-04-2008, 14:55
The cRIO costs 3k without all the modules that make it useful. FIRST is going to get a big discount also they are working on some custom comments that will allow for easy PWM control so until they release the entire package prototyping will be difficult anyway.
Liron,
that's a great question....I sure want to know the answer! Later in the fall, announcements will be made at ni.com/community/first. In the meanwhile, they will have tutorials and training available there on-line.
You can also use the NXT in the Mindstorm kit and program it with Labview; the C environment will only work on the PAC system from NI.
Tottanka
17-04-2008, 15:02
Liron,
that's a great question....I sure want to know the answer! Later in the fall, announcements will be made at ni.com/community/first. In the meanwhile, they will have tutorials and training available there on-line.
You can also use the NXT in the Mindstorm kit and program it with Labview; the C environment will only work on the PAC system from NI.
i already am using labview on mindstorms :P
extreme.BS
20-04-2008, 09:21
http://lejos-osek.sourceforge.net/
C/C++ support for NXT. I can't wait for the compactRIO, but I don't have Mindstorms, so I can only get our new hybrid code working for sponsors :( .
Some links and prices for reference:
Here's a good set of links to CompactRIO products:
http://zone.ni.com/devzone/cda/tut/p/id/3114
$3000 - This is what "looks like" the FIRST integrated controller and chassis (no guarantees from me though) (NI 9074):
http://sine.ni.com/nips/cds/view/p/lang/en/nid/203964
Note: The NI website indicates 128MB RAM and 256MB storage, while the FIRST FAQ (http://first.wpi.edu/2009_FRC_Controller_FAQ_FINAL.pdf) indicates 64MB/128MB, so this may be an indication that FIRST is getting a customized version -- or it might just be a typo. :)
$350 - The analog input module mentioned on the website (NI 9201):
http://sine.ni.com/nips/cds/view/p/lang/en/nid/14588
$350 - The digital I/O module mentioned on the website (NI 9403):
http://sine.ni.com/nips/cds/view/p/lang/en/nid/203425
$100 - The "solenoid" module mentioned on the website (NI 9472):
http://sine.ni.com/nips/cds/view/p/lang/en/nid/14175
Again, no guarantees that FIRST will use these exact versions....
So, ~$3800 to get the whole package now -- nearly the cost of entry for a regional competition. :ahh: Plus, I don't know where to get the new power distribution block and digital sidecar board, or how much they might cost.
Some options to save a few bucks:
$1500 - What looks like a lower-end controller, with less RAM/storage (and no integrated chassis):
http://sine.ni.com/nips/cds/view/p/lang/en/nid/203347
$700 - What looks like the lowest-end chassis (no integrated controller):
http://sine.ni.com/nips/cds/view/p/lang/en/nid/14156
So if you really want something to play with in the pre-season, you could spend ~$3000 for a somewhat limited controller/chassis, or $3800 for the (possibly) real thing -- or save all kinds of money and just do research until you get the real deal in 2009.
FRC is definitely getting more expensive for the off-season... Each team will have to judge their spending based on their own budgets and desires for off-season work.
I kind of hope that they DON'T release the final controller, etc, until the 2009 kickoff, it would be a nice little equalizer for lower-budget teams if everyone had to start their hands-on learning curve at the same time next year. :P
Uberbots
20-04-2008, 18:44
We have some mentors, one of them who works with a guy at National Instruments, who are pushing for getting us a controller that we can learn and prototype on in the post season.
even if it isn't the actual controller we are getting next year, we cant exactly train new programmers on our old board.
I'm so excited for this thing- 32 bits of tastiness.
Ill never have to worry again about the ADC interrupt corrupting my floating point calculations!!
jtdowney
20-04-2008, 19:07
The guys at the NI booth said the FRC controller will be a hybrid of the cRIO-9072 and cRIO-9074 with it leaning more toward the later. They also said FIRST plans on giving teams only one instead of a new one each year. The price of the additional cRIO-FRC with modules is supposed to be comparable to what we pay now for an additional IFI-RC.
AdamHeard
20-04-2008, 19:11
The guys at the NI booth said the FRC controller will be a hybrid of the cRIO-9072 and cRIO-9074 with it leaning more toward the later. They also said FIRST plans on giving teams only one instead of a new one each year. The price of the additional cRIO-FRC with modules is supposed to be comparable to what we pay now for an additional IFI-RC.
Wow, one period? that is really, really lame.
did he say when it'd be available?
Wow, one period? that is really, really lame.
did he say when it'd be available?
Giving one. That way it's reusable. Something was said in the thread about the controller (and the FAQ, I think) about a discount on extra ones.
we're trying to at least get a cRIO to mess around with before the summer. i know it won't be like the FRC one, most likely (software, standard libraries, etc.) but i like PLC's anyways, and wanna learn LabVIEW lol.
Wayne C.
20-04-2008, 22:16
Giving one. That way it's reusable. Something was said in the thread about the controller (and the FAQ, I think) about a discount on extra ones.
Giving only one and recycling is unacceptable for several reasons-
1. if you intend to develop new teams by lending them old robots that totally shoots that idea in the foot. If you intend to use robots for public relations purposes it also ruins that idea.
2. if the "kit" will cost the same from year to year but you don't get a processor with each one then why not register as a new team and get a rookie kit? Why should the "veteran" teams be denied if they are paying the same price as new rookies.
True- recycling the thing is a neat idea but old robots have lots of good uses and ripping their brains out is simply a brainless idea.
130 lb paperweights- I don't think so.
WC :cool:
chaoticprout
20-04-2008, 22:44
Giving only one and recycling is unacceptable for several reasons-
1. if you intend to develop new teams by lending them old robots that totally shoots that idea in the foot. If you intend to use robots for public relations purposes it also ruins that idea.
2. if the "kit" will cost the same from year to year but you don't get a processor with each one then why not register as a new team and get a rookie kit? Why should the "veteran" teams be denied if they are paying the same price as new rookies.
True- recycling the thing is a neat idea but old robots have lots of good uses and ripping their brains out is simply a brainless idea.
130 lb paperweights- I don't think so.
WC :cool:
Ugh, agreed 100%. I hope they reverse this decision.
DonRotolo
20-04-2008, 22:48
I hope they reverse this decision.
Can someone point me to a link where this decision is mentioned?
Can someone point me to a link where this decision is mentioned?Ask, and ye shall receive!
http://first.wpi.edu/2009_FRC_Controller_FAQ_FINAL.pdf
It's the last question (and 2 questions) under Logistics, near the top of Page 3.
Ask, and ye shall receive!
http://first.wpi.edu/2009_FRC_Controller_FAQ_FINAL.pdf
It's the last question (and 2 questions) under Logistics, near the top of Page 3.
That does not explicitly state that teams won't be receiving a new controller each year. It just says that they will be reusable (as opposed to the IFI RC where we were only allowed to use the current year controller).
I must say their answer is kind of weird since they didn't answer their own question.
I actually understood the opposite from the NI reps who said teams would be getting a new one each year so they could continue using their old robots.
neoshaakti
21-04-2008, 11:01
Yeah it did not explicitly state that teams will be reusing old controllers. The passively stated "may" and further added that new components may be used to modify an old controller. Maybe this is kin do like how at the regional, we couldnt use a pre-2004 IFI controller since IFI modified their controller over the years.
Btw, speaking of IFI, do you think the 2008 robot controller will be dramatically reduced in price? I see it as a potential educational tool for our middle schools.
Thanks
Uberbots
21-04-2008, 12:28
Only a few hours after initially talking to the NI guys, apparently they may be able to send us some COTS parts- the cRIO amd the PWM, digital IO, and solenoid plugins.
more updates to come...
jtdowney
21-04-2008, 12:29
Q: Will I get a new controller in each year’s kit?
A: Because of the ruggedness of CompactRIO, teams will be able to reuse their controller in competition years beyond 2009. However FIRST may decide to introduce new cRIO modules to the system specific to a future year game design.
I think that is a pretty clear answer. We will only get one and that's it and the question right above it states we will only be able to purchase one additional controller each year at the reduced (read comparable to this years) price. A while ago we had to return the control system to FIRST at the end of the year so this isn't as bad as it used to be.
Danny Diaz
21-04-2008, 14:12
Yes, the cost of the cRIO-9074 plus the modules is quite significant, so we are not able to provide (read: DONATE) a new cRIO controller to FIRST each and every year. So, you will be required to re-use the cRIO for multiple years - though new (read: ADDITIONAL/SUPPLEMENTARY) cRIO modules may be given to teams in their KOP if new modules are required or are advantageous. Teams who want a new controller each year will be required to purchase a new unit plus modules at the incredibly discounted cost.
-Danny
Wayne C.
21-04-2008, 14:20
That does not explicitly state that teams won't be receiving a new controller each year. It just says that they will be reusable (as opposed to the IFI RC where we were only allowed to use the current year controller).
I must say their answer is kind of weird since they didn't answer their own question.
I actually understood the opposite from the NI reps who said teams would be getting a new one each year so they could continue using their old robots.
Actually the rep I spoke to personally told me that the inserts would change from year to year but you only get the base once.
I would like to know how "heavily reduced" the price of the system will be for the offer to sell a "second controller" to a team each year? Does that imply we would get a new controller each year?
Or- to put it bluntly- does anyone actually know the facts here?
WC
jtdowney
21-04-2008, 14:34
The only hard facts you will see are in the FAQ at http://first.wpi.edu/2009_FRC_Controller_FAQ_FINAL.pdf other then that what you will get from most of us is what we were told at the NI booth in Atlanta.
Dave Flowerday
21-04-2008, 14:46
I would like to know how "heavily reduced" the price of the system will be for the offer to sell a "second controller" to a team each year? Does that imply we would get a new controller each year?
The NI rep we spoke with at the Championship told us that the cost has not yet been finalized, but that they were working to get it "near to the cost of the existing system" when discounted. The current system costs about $1200, so maybe the cost of the new system will be in the $1200-1500 range, but I suppose some people could define $2000 as being "near to $1200" too...
Frankly I don't understand how FIRST can possibly claim that they are not increasing the cost of the program. To get the same equipment that we currently get each year (since we, like many teams, really like to keep our old robots functional), we're going to have to spend an additional amount of money (likely $1000+) each year. If we choose not to spend this money, we get LESS than what we get now. How is that not raising the cost?
A different NI rep also told us that the software for the system is not done yet and will not be complete until sometime in the fall, so we may not see availability of this stuff anytime soon.
Danny Diaz
21-04-2008, 14:55
Actually the rep I spoke to personally told me that the inserts would change from year to year but you only get the base once.
This is correct. The actual controller/backplane/chassis unit will only be given to teams once, but it's still unclear on whether the plug-in modules will be required to be "recycled/reused" from year to year - the current bet is that you will have to recycle everything. You will definitely get supplementary modules in the KOP when they are made available to teams.
I would like to know how "heavily reduced" the price of the system will be for the offer to sell a "second controller" to a team each year? Does that imply we would get a new controller each year?
You are NOT getting a new controller in the KOP each year. The price of the cRIO unit prevents that - NI is DONATING these units to FIRST, at a cost of several million dollars the first year and more the next several years for expected additional teams; to amortize the cost of the units we must ask teams to reuse controllers from year to year. The "additional" controller you will be able to purchase each year will be sold at a rate similar to what the current 2008 control system is sold for, so as to not be a hefty burden on teams. This price will almost be completely cost of goods (minus parts that are donated by other companies specifically for FIRST, such as the Xilinx FPGA and others) plus cost of manufacturing. Some of this is still up in the air, and as soon as we know the final number FIRST will make sure you know the final number.
-Danny
Dave Flowerday
21-04-2008, 14:59
TYou are NOT getting a new controller in the KOP each year. The price of the cRIO unit prevents that - NI is DONATING ....<removing details that don't matter to me as a FIRST customer>....
That's EXACTLY my point! This year, and each year for the past 8 or 9 years, we have received an COMPLETE, NEW control system as part of our registration fee. Starting next year, it appears that we will NOT receive a complete, new control system each year, but likely will still be paying the same registration fee. FIRST claims, in their FAQ, that they are not raising the cost of the registration fee. I claim that they are, indirectly, by requiring me to purchase a very expensive additional piece of equipment that was previously included in the registration cost.
Danny Diaz
21-04-2008, 15:00
A different NI rep also told us that the software for the system is not done yet and will not be complete until sometime in the fall, so we may not see availability of this stuff anytime soon.
Yes, this is correct. Especially the C/C++ development module is not complete, plus training materials and other items. Definitely don't expect anything to be made available until the fall at a minimum.
-Danny
synth3tk
21-04-2008, 15:01
Ok, so now we've heard some information from an official source. Thanks, Danny.
As someone starting a new team, I was very concerned about this whole price-of-a-second-controller issue. I'm not technically inclined, but overall I'm excited for this new system and the possibilities it presents.
AdamHeard
21-04-2008, 15:08
Wow.... I appreciate the donation by NI, but not getting a new controller per year is a major step backwards; regardless of it being more advanced.
Richard Wallace
21-04-2008, 15:18
Suppose an automobile dealer were to offer the following great deal:
First-time customers pay $6000 for a brand new car.
Repeat customers can get a new car every year for $6000, but they won't get a new engine controller. Instead, they must remove the engine controller from their existing car and install it in the new one. Or, they can pay $8000 and get a complete new car.
The dealer sponsors a really fun road rally every year, but you must purchase a new car to participate.
How many repeat customers will this dealer get?
We have thought about building a second robot for a long time. We want to make the leap to the next level and after some advice from some championship caliber teams we decided this is a must for next year. The extra driver practice is just to valuable.
But now that we have committed to ourselves to raise the funds necessary to make the leap next year, bam, up jumps the devil and another couple grand gets thrown into the mix.
Yes, this is correct. Especially the C/C++ development module is not complete, plus training materials and other items. Definitely don't expect anything to be made available until the fall at a minimum.
-Danny
Thanks for clarifying things Danny. Since 'the Real Thing' won't be available till fall, I'm trying to work out a strategy of teaching our team Labview. Looking at the material available at ni.com/community/first there doesn't seem to be much beyond "Getting Started With Labview".
In addition, those of us who have been using Labview as a great lab instrument need to train up to programming the actuator outputs. This material should be available now, since we will be using a COTS unit.
What would you recommend as a tutorial training sequence to start now?
Thanks again in advance.
BrianBSL
21-04-2008, 15:29
But now that we have committed to ourselves to raise the funds necessary to make the leap next year, bam, up jumps the devil and another couple grand gets thrown into the mix.
Where does another couple grand get thrown into the mix? NI has said (at mentor training, etc) that it will be on the order of the same price it is now. No matter what the new controller was - IFI, NI, or otherwise - 2009 was going to require you to buy a 2nd controller if you wanted a 2nd one since we knew it was not going to be the same as 2008.
jtdowney
21-04-2008, 15:46
In the past the $1100 bought you a new RC and OI as well as the radios. I wonder if the comparably priced extra cRIO will come with the modules, an additional drivers station and wireless system or if it will just be the cRIO base unit.
In the past the $1100 bought you a new RC and OI as well as the radios. I wonder if the comparably priced extra cRIO will come with the modules, an additional drivers station and wireless system or if it will just be the cRIO base unit.
That would be kind of odd because the base unit's academic price is all ready cheaper than the RC and IO. The chasis costs $ 689.77 for an academic institution.
billbo911
21-04-2008, 15:57
Where does another couple grand get thrown into the mix? NI has said (at mentor training, etc) that it will be on the order of the same price it is now.
Interesting comment.
Do you realize that unless you were at Nationals you still do not have access to this training and information?
BrianBSL
21-04-2008, 16:22
Interesting comment.
Do you realize that unless you were at Nationals you still do not have access to this training and information?
It was stated in post #8 of this thread:
http://www.chiefdelphi.com/forums/showpost.php?p=739595&postcount=8
here (http://first.wpi.edu/2009_FRC_Controller_FAQ_FINAL.pdf) (which is available to everyone, and the link to http://first.wpi.edu/FRC/csoverview.html is right on first's website) also states that the cost will be significantly reduced. Either way - nothing indicates that the cost will be $2000 more than if it hadn't been the NI system.
jtdowney
21-04-2008, 16:33
That would be kind of odd because the base unit's academic price is all ready cheaper than the RC and IO. The chasis costs $ 689.77 for an academic institution.
But add in the necessary modules and it is still over $1500
Uberbots
21-04-2008, 16:37
im betting it cant cost NI more than $300 in order to manufacture this cRIO and all of its components, and considering its a 'student' edition and a bit of a publicity stunt (2000 working demos is nothing to scoff at), we will probably see a complete unit at about $500 dollars at the heavily reduced price, which is really not much more than the current one.
whytheheckme
21-04-2008, 17:47
Alright, kinda a topic change, but I'm looking to get on the ball ASAP.
Perhaps someone from the FLL area can help me out here.
http://shop.lego.com/ByTheme/Product.aspx?p=9841&cn=17
If I buy a LEGO NXT brick, I can use the LabView kit to program it, correct? Can I get some RJ12 connectors, and use my own sensors? What would someone recommend to me to buy to get started in the LabView arena?
Sorry, I'm a LEGO newb.
Jacob
Danny Diaz
21-04-2008, 23:58
im betting it cant cost NI more than $300 in order to manufacture this cRIO and all of its components
This kind of analysis really gets under my skin, people who have no idea what's in the product whatsoever trying to tell me what it costs to build it. I'm not allowed to say how much it *actually* costs to build a cRIO, but I WILL tell you that you're no where near the actual cost of COGS, not to mention actual manufacturing costs, verification and validation costs, and other costs that you probably didn't consider. And that's just the physical unit - you want to actually USE it, don't you? Well, then you've got to employ the guys who write firmware, drivers, FPGA images, ... the list goes on.
Think about that next time.
-Danny
Danny Diaz
22-04-2008, 00:45
What would you recommend as a tutorial training sequence to start now?
Alright, kinda a topic change, but I'm looking to get on the ball ASAP. ... If I buy a LEGO NXT brick, I can use the LabView kit to program it, correct? Can I get some RJ12 connectors, and use my own sensors? What would someone recommend to me to buy to get started in the LabView arena?
Programming the FRC controller should be very similar to programming the NXT - at least in the sense that you'll be given interface VIs for the modules you're going to be working with. Programming a cRIO is the same as programming any other LabVIEW application, the integration of the product is really what makes it so easy to use. I recommend learning how to use the LabVIEW NXT Toolkit and programming the NXT the same way you'd program an FRC robot - as a first task, learn how to drive an NXT using a single analog joystick (the single-stick "arcade" type of drive instead of a dual-stick drive) using the simple motor controls (where you tell each motor how much power to apply). That will teach you 80% of what you need to know to program an FRC controller (assuming you take the time to learn how LabVIEW works while you're doing so).
To use LabVIEW to program the NXT, install LabVIEW, then grab yourself a copy of the LabVIEW NXT Toolkit (http://zone.ni.com/devzone/cda/tut/p/id/4435). Once you get that installed, your LabVIEW installation will have an additional NXT palette with VI's that you need to interact with your NXT. You can get something up and running pretty quickly. Realize there are 2 modes for controlling your NXT - one that is downloaded to the NXT, the other is direct communication of the NXT. I recommend you start with the direct communication, since it's the easiest to get immediate results for testing. Then learn how to create a program that downloads to the NXT.
I really like the NXT as a LabVIEW programming platform, since you can use the "light sensor" interface to get data from any type of simple analog sensor source. I put together a demo for the FRC Championships in 2007 (and kickoff in 2008) that used an FRC KOP Accelerometer and FRC KOP Gyro, I simply cut a couple extension cables in half and used them for inputs to the NXT from the sensors (2 for accelerometer since I wanted both X and Y axis info, and 1 for the gyro). In my code I merely read the "light sensor" value of the ports I connected them to, and viola, I had the data that I could put into a 2D graph, 3D graph, 3D Picture Control, or whatever I wanted. I built the robot, wired the sensors, and programmed the whole thing in the span of half a day - then again, I'm more proficient in LabVIEW than you'll be starting off, but given a little practice you'll get better.
-Danny
whytheheckme
22-04-2008, 06:18
Programming the FRC controller should be very similar to programming the NXT - at least in the sense that you'll be given interface VIs for the modules you're going to be working with. Programming a cRIO is the same as programming any other LabVIEW application, the integration of the product is really what makes it so easy to use. I recommend learning how to use the LabVIEW NXT Toolkit and programming the NXT the same way you'd program an FRC robot - as a first task, learn how to drive an NXT using a single analog joystick (the single-stick "arcade" type of drive instead of a dual-stick drive) using the simple motor controls (where you tell each motor how much power to apply). That will teach you 80% of what you need to know to program an FRC controller (assuming you take the time to learn how LabVIEW works while you're doing so).
To use LabVIEW to program the NXT, install LabVIEW, then grab yourself a copy of the LabVIEW NXT Toolkit (http://zone.ni.com/devzone/cda/tut/p/id/4435). Once you get that installed, your LabVIEW installation will have an additional NXT palette with VI's that you need to interact with your NXT. You can get something up and running pretty quickly. Realize there are 2 modes for controlling your NXT - one that is downloaded to the NXT, the other is direct communication of the NXT. I recommend you start with the direct communication, since it's the easiest to get immediate results for testing. Then learn how to create a program that downloads to the NXT.
I really like the NXT as a LabVIEW programming platform, since you can use the "light sensor" interface to get data from any type of simple analog sensor source. I put together a demo for the FRC Championships in 2007 (and kickoff in 2008) that used an FRC KOP Accelerometer and FRC KOP Gyro, I simply cut a couple extension cables in half and used them for inputs to the NXT from the sensors (2 for accelerometer since I wanted both X and Y axis info, and 1 for the gyro). In my code I merely read the "light sensor" value of the ports I connected them to, and viola, I had the data that I could put into a 2D graph, 3D graph, 3D Picture Control, or whatever I wanted. I built the robot, wired the sensors, and programmed the whole thing in the span of half a day - then again, I'm more proficient in LabVIEW than you'll be starting off, but given a little practice you'll get better.
-Danny
Awesome overview! Thank you very much.
I'm not familiar with the LEGO system at all. Is there an equivalent of an "OI", or do you use your computer via bluetooth to control the bot? Or do you use another NXT via bluetooth?
Again, sorry I'm such a newb in this field. Just trying to get off the ground :p
Jacob
Danny Diaz
22-04-2008, 11:05
I'm not familiar with the LEGO system at all. Is there an equivalent of an "OI", or do you use your computer via bluetooth to control the bot? Or do you use another NXT via bluetooth?
Obviously when you play with the NXT in FLL you wouldn't have an OI, everything you do is partially autonomous and you interact with the robot via its screen. But FLL is the exception rather than the rule.
For everything else, yes, you'd want to use SOME kind of laptop/computer interface for an OI, and you'd perform direct communicate with the NXT either via Bluetooth or tether via USB. For demos and stuff where you want to be uber cool, you can certainly use another NXT for controlling your robot using the NXT brick-to-brick communications - I don't recommend it normally, though, since you're eating 2 sets of batteries in that situation instead of 1 set; leave that for PR demo purposes only. Plus, if you want to use a USB joystick (or XBox gamepad via USB, or other USB controllers), all you need to do is plug the USB joystick into your laptop (and make sure all necessary drivers are installed) and then use the joystick VIs provided by LabVIEW and you've got instant programming access to your joystick. Some of the engineers here at NI even got a Wii-mote interface to work with LabVIEW, so I'm interested in playing with that a bit myself.
I recommend you play with a laptop controlling the NXT directly via the USB tether connection with a USB joystick/gamepad, especially if you have any sensors on your NXT you want to play with. Remember that the communication stream is pretty slow when using Bluetooth, so feeding data like accelerometer or gyro data back to the laptop via Bluetooth is not going to be impressive at all, but via USB tether it'll be really nice.
-Danny
galewind
22-04-2008, 12:04
When I asked the NI guys, what they said to me is that they're looking into a tiering structure: 1st cRio is free with registration, second comes "highly subsidized", and subsequent ones will be retail price. This is NOT finalized, however, so don't expect it to be the case in the future.
whytheheckme
22-04-2008, 13:09
Obviously when you play with the NXT in FLL you wouldn't have an OI, everything you do is partially autonomous and you interact with the robot via its screen. But FLL is the exception rather than the rule.
For everything else, yes, you'd want to use SOME kind of laptop/computer interface for an OI, and you'd perform direct communicate with the NXT either via Bluetooth or tether via USB. For demos and stuff where you want to be uber cool, you can certainly use another NXT for controlling your robot using the NXT brick-to-brick communications - I don't recommend it normally, though, since you're eating 2 sets of batteries in that situation instead of 1 set; leave that for PR demo purposes only. Plus, if you want to use a USB joystick (or XBox gamepad via USB, or other USB controllers), all you need to do is plug the USB joystick into your laptop (and make sure all necessary drivers are installed) and then use the joystick VIs provided by LabVIEW and you've got instant programming access to your joystick. Some of the engineers here at NI even got a Wii-mote interface to work with LabVIEW, so I'm interested in playing with that a bit myself.
I recommend you play with a laptop controlling the NXT directly via the USB tether connection with a USB joystick/gamepad, especially if you have any sensors on your NXT you want to play with. Remember that the communication stream is pretty slow when using Bluetooth, so feeding data like accelerometer or gyro data back to the laptop via Bluetooth is not going to be impressive at all, but via USB tether it'll be really nice.
-Danny
Sweet.
So I got my hands on an NXT. Should I just simply install LabView, and download the toolkit? Once I do, where should I get started? Is there some kind of getting started guide for LabView+NXT?
Geez I feel like a n00b.
Jacob
synth3tk
22-04-2008, 14:04
After reading this little conversation, I'm leaning towards picking up an NXT myself and learning to program for next year. Kudos on all the help, Danny.
Danny Diaz
22-04-2008, 14:13
So I got my hands on an NXT. Should I just simply install LabView, and download the toolkit? Once I do, where should I get started? Is there some kind of getting started guide for LabView+NXT?
Geez, What a n00b. ;)
Yes, follow these steps:
Install LabVIEW from the 2008 KOP
Download the toolkit AND the patch for 8.5
Install the toolkit (Extract the ZIP, there is a setup.exe in there)
Install the patch for 8.5
Everything else you need is here:
http://zone.ni.com/devzone/cda/tut/p/id/4435
Notice on the bottom of the page is a section with "Helpful Resources." The second link in that section is
"View the Getting Started Guide" (ftp://ftp.ni.com/evaluation/mindstorms/LabVIEW_Toolkit_for_LMS_NXT_Getting_Started_Guide. pdf) and it has everything you need to know about getting started and connecting up with the NXT through LabVIEW. The 4th link is "View the Advanced Programming Guide" (ftp://ftp.ni.com/evaluation/mindstorms/LabVIEW_for_NXT_Advanced_Programming_Guide.pdf), and it contains the full NXT Toolkit programming guide. Each VI has help for it built into LabVIEW, and once you get the hang of programming LabVIEW it becomes fairly natural.
If you run into any specific problems, come see me in the LabVIEW Forum (http://www.chiefdelphi.com/forums/forumdisplay.php?f=150) here on ChiefDelphi and I'll be glad to help you out.
-Danny
Great info & advice Danny. Much appreciated!
yoyodyne
22-04-2008, 15:46
Danny,
In the table of programming environments for NXT http://www.teamhassenplug.org/NXT/NXTSoftware.html
It says that the NI Labview Toolkit lacks events, bluetooth, floating point?, and data logging. - Is this true? I would have thought that the Labview toolkit would provide a superset of all other functionality.
Do you know if RobotC, which seems to have a Yes in every column at least for a windows environment would be useful training? I guess that would depend on what WPI is planning on putting over VxWorks.
Thanks,
Greg
Danny Diaz
22-04-2008, 16:42
In the table of programming environments for NXT http://www.teamhassenplug.org/NXT/NXTSoftware.html
It says that the NI Labview Toolkit lacks events, bluetooth, floating point?, and data logging. - Is this true?
NI LabVIEW NXT Toolkit Lacks Events - TRUE*.
NI LabVIEW NXT Toolkit Lacks ability to partner the NXT Brick to 3rd party Bluetooth Devices - TRUE.
NI LabVIEW NXT Toolkit Lacks ability to do floating point - TRUE**.
NI LabVIEW NXT Toolkit Lacks Automatic Data Logging Mechanism - TRUE***.
* - You don't really think the cRIO supports interrupts, do you? :eek:
** - I say true only because that's what I've always been told, I am having a hard time finding the correct resource to completely back that claim up 100%.
*** - You can always data log yourself, by writing data to a file as it's read.
Do you know if RobotC, which seems to have a Yes in every column at least for a windows environment would be useful training?
If you are an FTC team, or an FRC team that has never worked with C before and direly want to learn C, I will say ABSOLUTELY. However, the C interface is looking to be quite different between how you program an NXT device and the cRIO (only based on what I know about programming VxWorks' C interface and RobotC for NXT). As it stands right now I cannot say anything definitive about how the cRIO C/C++ interface is going to resemble anything you can get your hands on today without buying a VxWorks development license (I wouldn't even consider it).
I guess that would depend on what WPI is planning on putting over VxWorks.
Exactly, for C/C++ I'm afraid I must agree it's primarily in the hands of WPI. While NI is providing some support and working with WindRiver on the toolchain, WPI is leading the charge in most all other respects for this aspect of programming the system.
-Danny
yoyodyne
22-04-2008, 19:02
Danny,
Thanks for the information. What I was thinking about but didn't ask correctly is if the capabilities that are lacking in LabView for NXT might make the environment significantly different than it will be with the cRIO. It probably doesn't matter unless there is a better alternative right now for getting some practical LabView experience this spring/summer. We have been a C development based team mainly because it would have been a financial strain to buy EasyC seats for all our programmers. Also, with the excellent code that Kevin Watson wrote we really didn't need WPILib and without the WPILib source it was not possible to teach what was really going on at the hardware interface. We had some really great success stories of students building their own microcontroller projects, especially with the Atmel devices that really need no glue and no programmer other than a serial port and a few zener diodes. It was largely due to minor mods to Kevin's code that the students got the confidence to go there...
I'm thinknig that with VxWorks already abstracting the HW the low level experience is gone unless we add a co-processor (that probably cannot be justified from a need perspective).
We looked into the LabView simulation capability but it didn't look at the time as though that would work without EasyC. However we probably could have used MPLab and just made sure that we were populating the dashboard packets with what the VI was expecting. On the topic of the simulation environment was there any capability to model the mechanical system with motor power, wheel friction, CG, weight, etc? Never got to tutorial 3. That would be really useful. What we do now is measure the system response the hard way by inserting step changes in the PWM outputs and then record the wheel shaft encoder and gyro outputs and try to come up with a low order polynominal fit to model the system. Of course this year we hade a mecanum drive with no suspension that did not stay co-planer so there probaby was no hope for modeling.
Thanks,
Greg
Mike Mahar
23-04-2008, 09:18
NI LabVIEW NXT Toolkit Lacks Events - TRUE*.
* - You don't really think the cRIO supports interrupts, do you? :eek:
-Danny
I can't tell if you are kidding or not here. Does the cRIO support interrupts?
Danny Diaz
23-04-2008, 14:14
I can't tell if you are kidding or not here. Does the cRIO support interrupts?
I was actually wondering if anyone actually had the opportunity to read the technical specifications for the cRIO and realized there ARE NO INTERRUPTS SUPPORTED ON THE cRIO. I'm guessing not. :rolleyes:
Instead of having interrupts, you have an FPGA - the FPGA is a pure polling mechanism, but it's extremely FAST. So, instead of having interrupts taking time away from the main processor, you've got an external unit managing a fast polling strategy for reading external sensors.
-Danny
Alan Anderson
23-04-2008, 14:57
I was actually wondering if anyone actually had the opportunity to read the technical specifications for the cRIO and realized there ARE NO INTERRUPTS SUPPORTED ON THE cRIO. I'm guessing not. :rolleyes:
I read the "technical specifications" that I've found. None of them say anything about interrupt support one way or the other.
I'm a little uneasy about this news. If there aren't any interrupts, how will it be possible to do control loops that depend on doing measurements and computations at precise intervals? How can even a simple speedometer function be implemented? I'm guessing -- I'm hoping -- that what you mean by "no interrupts supported" is not the same thing as what I'm thinking of.
Mike Mahar
23-04-2008, 15:13
I'm assuming that there must be some sort of way of scheduling things. VxWorks is a multi-task RTOS. How do you schedule anything without any interrupts? For example, this year we used the gyro which is a rate sensor. To get an angle we had to integrate it over time which requires an accurate time base. The FPGA could do this for us but we don't know what is in the FPGA and we can't change it. If the function that we need isn't there, how do we work around it? Similarly, the accelerometers can give you speed by integraing over time and then you can get distance by integrating the speed over time. In this case the speed isn't even a real input and is unlikely to be in the FPGA.
I've read up on the mpc5200 that is in the cRIO and there are 8 timers built into the processor. I suppose that those will still be available.
Joe Ross
23-04-2008, 17:00
I was actually wondering if anyone actually had the opportunity to read the technical specifications for the cRIO and realized there ARE NO INTERRUPTS SUPPORTED ON THE cRIO. I'm guessing not. :rolleyes:
Instead of having interrupts, you have an FPGA - the FPGA is a pure polling mechanism, but it's extremely FAST. So, instead of having interrupts taking time away from the main processor, you've got an external unit managing a fast polling strategy for reading external sensors.
-Danny
For things like quadrature decoding, I'd expect that the FPGA would latch the input. Since it is an FPGA (hardware, as opposed to software), it processes everything in parallel.
CompactRIO whitepaper (http://zone.ni.com/devzone/cda/tut/p/id/2856) has a lot of great details about the architecture.
I'm assuming that there must be some sort of way of scheduling things. VxWorks is a multi-task RTOS. How do you schedule anything without any interrupts? For example, this year we used the gyro which is a rate sensor. To get an angle we had to integrate it over time which requires an accurate time base. The FPGA could do this for us but we don't know what is in the FPGA and we can't change it. If the function that we need isn't there, how do we work around it? Similarly, the accelerometers can give you speed by integraing over time and then you can get distance by integrating the speed over time. In this case the speed isn't even a real input and is unlikely to be in the FPGA.
I've read up on the mpc5200 that is in the cRIO and there are 8 timers built into the processor. I suppose that those will still be available.
I've never worked with VxWorks, but it's very likely that uses one or more of the hardware timers to provide software timers at whatever rates you want. From the link above "Timed loop structure for multirate deterministic control"
After reading the whitepaper, I'm very happy with the architecture. My only qualm is that without real interrupts in the user code or the ability to reconfigure the FPGA, it will be impossible to add certain types of sensors without support from NI. I'm sure they will do a good job getting all the common ones in, though.
wireties
26-04-2008, 00:39
VxWorks does indeed support interrupts and timers. A VxWorks BSP (board support package - code to support an architecture port of vxWorks on a unique piece of hardware) will possibly include 3 timer libraries.
The first is the system timer and includes functions like sysClkRateSet, sysClkRateGet, sysClkEnable etc. The system timer library is mandatory and is used by the BSP to generate the tick timer that support pre-emption. The system tick normally runs at 60Hz or 100Hz. It is common to raise the rate up to 1Khz. There is a watchdog library that hooks the system timer ISR to do its work. It is pretty easy to create watchdog, interval and one-shot functions. The watchdog library only works in the kernel context, if you are working in a RTP (real time process - very much like processes in linux) the POSIX timers are available.
The second timer library is very similar to the system timer library, called the auxiliary timer library and includes functions like sysAuxClkRateSet, sysAuxClkEnable etc. It is commonly provided but is optional. Programmers make use of the aux timer library if greater precision (that the system timer) is necessary. It also works only in the kernel context, there is no analog in a RTP.
The third timer library is the timestamp library. It is normally used by system profiling functions in the kernel context. It is less commonly provided and is optional. The idea is to support a very high-res timestamp rather that interval and one-shot functions.
Finally, rolling ones own timer is pretty easy and not unlike using the timers on the 2004-2007 FIRST systems. You set a clock source, pre-scalar and initial value, register a ISR, enables interrupts and let it rip. But vxWorks makes it muuuuch easier to write interrupt service routines.
HTH,
Keith
wireties
26-04-2008, 01:10
"im betting it cant cost NI more than $300 in order to manufacture this cRIO and all of its components"
That is way off. Students and indeed the general public are misled about the costs of computer-like things. We are used to buying consumer products which are made by the tens or hundreds of thousands or millions in China. NIs costs for the cRIO and modules are probably nearer to $1200 if they make them thousands at a time. And this is after putting in at least $500K in development. The development number would be much higher but this is not the first cRIO nor the first VxWorks BSP for this processor family.
NI has a great reputation for quality and good thorough engineering. My concern is that they are also quite expensive. If NI sells the cRIO for something similar to the current RC/OI they will be losing money. Wind River's products are the best-in-class but also pricey. I'll bet Wind River is just giving away development platforms (that might normally go for $20K each). One hopes that new management at NI and Wind River will not cut off FIRST after a few years. Until they do this control system is cool and students will get a real-world close-up look at an industrial strength setup. The current FIRST RC/OI setups are really just souped-up toys in comparison.
Greg McKaskle
26-04-2008, 11:18
Once upon a time, THE computer company, IBM, was releasing this little product called the XT. They needed a GPIB board to allow it to be used in labs and mfg test. NI was able to land a make/break contract, providing the boards at a price that such a small company couldn't really manage.
This gamble forced NI to invest heavily in its manufacturing, drive down costs, allowed it to gain a foothold against bigger suppliers, and to self-finance many new products. Identifying investment opportunities and doing what it takes to win the gamble, is IMO one of the intangibles that separate well run companies into the goods and greats.
Personally, I think the cRIO architecture is a winner, and now in its second generation, upping volumes, driving down costs, and getting it in the hands of smart and motivated people, is a similar gamble, well worth taking. NI isn't prone to walking away from things like this, and "new management at NI", is not something I'd really worry about either. I'm biased, but I think NI has a very strong and stable culture, not only at the top, but throughout the organization.
Anyway, I thought this way-back story, might be appropriate to share some of NI's point-of-view. By the way, it is always fun to see others guess at your costs, and at your levels of investment. As far as I know, no prizes will be awarded.
Greg McKaskle
yongkimleng
26-04-2008, 14:23
If I'm not mistaken, with the FPGA itself you can do quite a bit of fancy action-reaction or even PID loops
ADC / encoder -> FPGA ->PWM
How configurable the cRIO is I'm not sure, being here in Singapore the chances of getting my hands on a cRIO isn't very high. Yet. :p
Found a useful image here:
http://zone.ni.com/cms/images/devzone/tut/c/af711a32823.gif
And here
http://zone.ni.com/cms/images/devzone/tut/c/af711a32833.gif
One should offload most of the closed loop logic into the FPGA while the RTP handles monitoring, higher level processing, scheduling etc. Perhaps this explains why there are no support for interrupts. You don't need them! I think there is a certain level of paradigm shift from PIC based microcontroller programming to the cRIO observed here.
In my opinion, having an embedded computer in a ruggedized chassis at $1k is pretty decent. Apart from their development costs, one must remember that these are industrial grade equipment. Maybe within the range of other industrial PLD/CPLD devices.
On the sidenote, may want to consider thinking how many IFI processors, OI, etc which are already fried (dead), due to mistakes in connection such as polarity (oops!), high current surges, etc. I think the cRIO would be more reliable in this sense too.
Edit: I'm thinking of sampling a cRIO here in SG, and probably budget for it so that the kids here who were playing with vex can try out some new stuff, though I'm completely clueless how to go about doing that. Any non-FRC members have any idea?
I was actually wondering if anyone actually had the opportunity to read the technical specifications for the cRIO and realized there ARE NO INTERRUPTS SUPPORTED ON THE cRIO. I'm guessing not. :rolleyes:
Instead of having interrupts, you have an FPGA - the FPGA is a pure polling mechanism, but it's extremely FAST. So, instead of having interrupts taking time away from the main processor, you've got an external unit managing a fast polling strategy for reading external sensors.
-Danny
This is not quite accurate. The FPGA does have the ability, as long as the code is compiled in, to interrupt the PPC. In most cases where interrupts were used in the past, it is true that interrupts will no longer be necessary, due to the features being added to the FPGA image for 2009 for handling the things most teams do. This does not mean that it is impossible. Perhaps Danny meant that interrupts are not supported without support built into the FPGA. All user interrupts must come from the FPGA. The interrupts could be programmed to come from user I/O or from a timer or various other places. Here (http://zone.ni.com/reference/en-XX/help/371599B-01/lvfpgahosthelp/synchronizing_using_interrupts/) is a document that describes it.
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.