|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools |
Rating:
|
Display Modes |
|
#226
|
|||||
|
|||||
|
Re: NEW 2009 Control System Released
Quote:
Also, to those hoping to use the FPGA like myself, you won't be subjected to VHDL unless you really want to be or are boycotting Labview. The Labview FPGA module lets you do everything in function blocks just like everything else and it then works our your VHDL code for you. Of course this is, again, just so much voodoo. I have also coded up a rather gate-hungry FPGA program to do some forward kinematics at ludicrous speed. I knew I was cutting things close on the size of my FPGA, but I didn't know how close until I changed the values of some constants I had rounded slightly out of laziness. Imagine my surprise when my design suddenly no longer fit on the FPGA. Of course changing back to my old, slightly rounded values made everything fit just fine again..... |
|
#227
|
||||
|
||||
|
Re: NEW 2009 Control System Released
Quote:
I can understand that giving KITS to all teams will be a major hurdle, and some will feel wronged if their team does not get a KIT. However I will not feel bad if my team does not get a KIT early, but I will be quite worried if ZERO teams receive a KIT early. |
|
#228
|
||||
|
||||
|
Re: NEW 2009 Control System Released
Quote:
I wonder how many teams will sit 2009 out because of the steep learning curves? For teams that have four-year students and tight budgets it might make sense, which is unfortunate. Unless the system comes pre-configured with a very, very, strong set of reference VI's and some unbelieveably great documentation, I can envision a large backlash against FIRST by frustrated and upset teams in March 2009. The IFI reference code was pretty good - NI needs to top that. I'd have loved to have a year or two to make the transisition. I can't see any technical reason that the two field control systems couldn't have operated in parallel in 2009 (cost issues aside). Better yet, it would have been great to let the market decide which system the customers (e.g. the teams) prefer. One entry fee gets you an IFI system, and a higher entry fee gets you an NI system. That would have made a great introduction to the economic realities of the engineering profession for students! I also wonder if Kevin Watson will stay involved. |
|
#229
|
|||||
|
|||||
|
Re: NEW 2009 Control System Released
Quote:
|
|
#230
|
|||||
|
|||||
|
Re: NEW 2009 Control System Released
Quote:
That said, I wouldn't mind if we didn't have a product by kickoff 2009 and we had to fall back on the IFI system for one more year. To my mind, FIRST should have had a LOT of this stuff worked out already. The demonstrations at Champs should have been of prototype hardware for the initial production run, and we should have been looking at V1.0 of the software environment. Given that they announced a new control system in May 2007, and were certainly working on it before then, many of these issues should have been worked out. At the very least, they should have a solid price estimate for the system. One year into the project, apparently fully committed to the transition and they still don't know what it's going to cost? That's pretty astounding. I'd be (moderately) happy if the control system was available around registration time this year AND FIRST shipped control systems to teams early along with the software etc. that they ship out months before the competition. We all saw the lovely results of beta testing ~15 fields with brand new scoring software and hardware AT the regionals in 2005. I really don't want to see the results of beta testing 1500 robot controllers AND field controllers during the 2009 build and competition season. |
|
#231
|
||||
|
||||
|
Re: NEW 2009 Control System Released
Quote:
The good news is, if they fix any beta bugs during a competition it will take mere minutes to implement and mere seconds to upload over the wireless to our bots Hopefully FIRST is thinking about this framework and will keep a special upload port ready for such bug fixes. |
|
#232
|
|||||
|
|||||
|
Re: NEW 2009 Control System Released
It's possible that such bugs would be in the FPGA portion of the system. Fixing them could take a whole lot longer than you expect. The equivalent of the code/compile/load/test cycle for VHDL is often measured in hours.
|
|
#233
|
|||||
|
|||||
|
Re: NEW 2009 Control System Released
Quote:
|
|
#234
|
|||
|
|||
|
Re: NEW 2009 Control System Released
If I understand correctly, to eliminate software from having to deal with hardware latency issues, the majority of the software that was implemented as an ISR within the PIC is implemented within the FPGA.
So for example, a quad encoder ISR on the PIC that had phase A/B input and tracked a count would be implemented within the FPGA and could have the added value of dealing with all four phase transitions on multiple encoders. Each encoder would have its own dedicated FGPA hardware to process it. The resulting exported data would be a h/w register with the current count. Or the GTS sensor which had major latency issues a couple years ago due to the small time differential between forward and reverse pulse widths (<50us)? Implement the servicing in hardware and the software latency issue is no longer a problem, a good count can be maintained. By committing the time critical processing to hardware, this eliminates the need for interrupts to service the hardware events and makes time sliced multitasksing that polls & processes the data viable. You can then create independent tasks that poll, combine, and process the data for each of the various devices you want to use. With fast task switching time and task priorities of the RT/OS, the different data flow processing within the different task trees appears to be simultaneous. So, you could have one set of independent tasks integrating sensor information in an inertial navigation system to determine position and a different set of tasks "simultaneously" working on motor control, and a third set of tasks operating on operator input for control of a manipulator. ??? Not sure I like it, but I can see how you'd shift your design viewpoint to program such a system. For example, take the polling of each device out of the main interrupt routine of the PIC and create a separate polling task tree for each, then schedule them to run every so often as needed to initiate processing of the data... The biggest plus is also the biggest minus: + the hardware servicing is committed to the FPGA - once the bugs are worked out it will work for all teams the same way. - the hardware servicing is committed to the FPGA - if you want to tweak the servicing of the hardware or integrate data differently or add some weird/unusual sensor that isn't already allowed for, you're pretty much stuck as the FGPA is off-limits to teams. The whole lower level hardware layer has been abstracted and put off limits as a result. Not a big minus. (I could whine about this, but it is what it is - learn, adapt, overcome.) I'll miss it, but can still teach how it works at the lowest levels. Ok, so I'm babbling... Traditionally, interrupts are used for servicing hardware events, for time-based integration of data, and initiating event processing due to some hardware or software event (IR sensor detects wall in front of robot, stop!?!) The first two are very time critical, the last is mostly a convience of the interrupt structure and is less time critical. The FPGA seems to address the first, and the 2nd *IF* that integration is implemented in the FPGA too, and event processing can be simulated by running independent polling tasks on a fixed schedule. The result is not exactly the same, but is probably close enough to work ok. I'm beginning to wonder if the new processor is fast enough ![]() Last edited by dcbrown : 24-04-2008 at 17:19. |
|
#235
|
|||||
|
|||||
|
Re: NEW 2009 Control System Released
Quote:
|
|
#236
|
||||
|
||||
|
Re: NEW 2009 Control System Released
Quote:
A perfect example occurred this year - the FIRST-supplied IR receiver sucked, so Kevin whipped up some code that allowed you to do it on the RC with a simple receiver plugged into an interrupt port. I don't see how that would be possible in a new system that does not support interrupts. Sure, IR happens to be slow enough that you might be able to poll for it (remember, your polling frequency is going to be limited by your OS tick rate and if multitasking it may not be constant), but it doesn't take much imagination to think up other instances where something like this is not possible. And, if you start polling for enough things, all that nice extra MHz provided by the new processor will be chewed up doing menial tasks which are handled in hardware for free basically by a $5 PIC. A few years ago myself and a few other mentors from Wildstang along with a few from the Technokats investigated using an optical mouse for tracking position. We did this by bit-banging the non-standard synchronous serial protocol used by the chip inside the mouse on the RC hardware. This is another example of something that might be difficult or impossible under the new system without interrupts. |
|
#237
|
|||||
|
|||||
|
Re: NEW 2009 Control System Released
Dave,
The RTOS-FPGA combo running on the cRIO does support interrupts, but you have to program them into the FPGA for them to work. They also appear to be a shared resource, so there's no precise guarantee when a particular one will be serviced. Basically, the FPGA would probably need to fire an interrupt whenever there was an edge transition on a digital input, and we'd have to use code like Kevin's Encoder 3-6 code supporting the PIC's interrupt on change port. But I'm really hoping we're not forced to go this direction. Given the availability of an SPI port and an extra 10/100 port, I think I'd be tempted to grab a semi-cheap FPGA demo board and have our students implement an encoder counter on it. |
|
#238
|
|||||
|
|||||
|
Re: NEW 2009 Control System Released
I failed to point out in my early post a positive answer to one of my questions...Yes, there will most definetly be a default program that ships with the control system just like the IFI default software.
Also, It might make more sense to split hardware and software discussions into two threads at some point in time. |
|
#239
|
||||
|
||||
|
Re: NEW 2009 Control System Released
I can't believe FIRST would release this without interrupt (encoder) support.
My recommendation for FIRST is give us the processor upon a paid registration to allow people to train on it and help find bugs that may be in it. |
|
#240
|
|||
|
|||
|
Re: NEW 2009 Control System Released
Quote:
The best source of technical overview info that I know of is http://zone.ni.com/dzhp/app/main. Search for cRIO. The first five articles or so seem like they may be useful. Greg McKaskle |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Buying the 2009 control system | BornaE | FRC Control System | 9 | 16-10-2008 17:16 |
| 2009 Control System Feature Wishlist | tdlrali | FRC Control System | 47 | 17-06-2008 00:25 |
| pic: 2009 Control System, Mounted | Billfred | FRC Control System | 23 | 01-05-2008 19:02 |
| 2009 Control System Possibility? | Racer26 | Rumor Mill | 121 | 25-04-2008 09:05 |
| Forum Request: Post-2009 control system? | Billfred | CD Forum Support | 3 | 22-04-2008 16:22 |