|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
Opinions wanted: LabView-based controller?
Many of you probably saw the rumor that was posted in another thread that the new RC was to be an NI device that is programmed using LabView. The poster later recanted that statement, but it brings up an interesting topic.
I know there are already several other threads on the new RC, but I'd like to discuss something more specific in this thread. I am curious about how would you here on CD would feel about an RC that required the use of LabView to program it. I have a strong opinion on this subject myself, but I won't go in to that right now. I would, however, like to know how the rest of the FIRST community would feel about that option (well, at least how the "people-who-post-on-CD" community feels anyway). Tell us what you think the pros and cons are, tell us why you like or dislike the idea. Tell us if you have first-hand experience with LabView or if you're basing your opinions on second-hand information or just what you think you know about it (it's OK if you don't have experience with it, but I think it's important to note what your opinions are based on). Anyway, I hope this might generate some interesting conversation. |
|
#2
|
|||||
|
|||||
|
Re: Opinions wanted: LabView-based controller?
My opinion: Bleah. That's a sticking-out-tongue bleah, not a shrugging-shoulders one.
LabView is useful, powerful, and appropriate in some contexts. In my opinion, a project with thousands of programmers creating thousands of individual programs with many shared features is not one of those contexts. Learning the LabView "style" of programming does not carry over well to other development environments (and vice versa). If FRC were to start providing LabView-based robot control systems, I think the pool of helpful programming mentors would shrink drastically. Even with experienced programmers standing by to help, it's a lot easier to do text-based support on a forum like Chief Delphi than it would be to try to assist someone having problems with a graphical programming language that hides details behind separate layers of views. (I have programmed using LabView, and I use LabView-developed systems regularly.) |
|
#3
|
||||
|
||||
|
Re: Opinions wanted: LabView-based controller?
I have never used LabView for development, however in my opinion a move away from C would be a big mistake. The biggest pro of using C is that it is the one language you will find in almost every technical industry and University engineering program.
|
|
#4
|
||||
|
||||
|
Re: Opinions wanted: LabView-based controller?
I have experience in LabVIEW... for better or worse. I guess i'll just start out with some pro's cons for the language itself:
Pros: Insane amount of conenctivity options, rapid software prototyping, many built in Signal Processing filters and functions, little learning curve for very basic operations, graphical, great quick easy operator control pannels, easy integration of multiple high complexity sensing systems, C code snippets can be used, LabVIEW vi's can be compiled to ANSI standard dll's, can handle and optimize-compile for multiprocessor/multicore and 64bit processors, can compile to FPGAs, compatible with SolidWorks CosmosMOTION in-pc design mechatronics/programming full simulation system (run your code in a purely virtual full physical simulation environment) Cons: MEMORY INEFFICIENT (all variables passed by value), LabVIEW code runs at decent speed but isn't the most efficient, code nearly impossible to document, debug difficult, code appears extremely complex, some fundamental features missing (ex, poor array functions), no zoom on editor (it sounds trivial but just try 'writing' code for a while), complex functions have large learning curve, debug sometimes difficult. Now that's just LabVIEW.... NI hardware is AMAZING! I usually avoid labview but for some functions speed is not a huge issue, and the picture (code) you make isn't way too hard to read, then i sometimes use it favoring speed of development over execution efficiency and algorithmic power. NI has a gigantic array of hardware... all of which is expensive for FIRST robot type price ranges and probably overkill... but wow... the thought of having a PXI chassis on a robot with an XPe computer card.... whoooo hoo. For those of you who arent familiar, you really should check out NI's hardware products... I've experience with their M-cards (PXI I/O cards), NI-Motion cards (fantastic performance! but $$$$$$), CAN-interface cards, Vision systems (check out VBAI) and others.... all of them have performed with exemplary performance. So, in my opinion, would it be cool to have a PXI or something of the sort NI hardware based controller? ABSOLUTELY! (provided we got hefty discounts) Would I like to see LabVIEW show up on a FIRST controller? Not so much... I don't mind if its an option, but I'd still like to be able to write C, even if the C code runs within an NI framework... as long as the C code you can write is not in any way restricted (i.e. can still run arrays and such) What do you all think.... -q |
|
#5
|
||||
|
||||
|
Planning, Training, and Support Critical
I'd much prefer to stick with text based programming for the same reasons already mentioned by others. I can see some benefits to the Labview environment and done right it can work.
However, getting it "done right" can be tricky. My FIRST Labview experiences have not made a good impression. This applies to both trying to get the Camera code working a couple of years ago and trying to do a data acquisition project last year. I'll admit to not doing much of the tutorials, but a lot of my concerns really aren't covered in the ones I did try.
I'm sure we can work with it, but as I've said elsewhere, the sooner we know what we're working with the better. This would be a major change, not just a rehashing the current code. Labview based development will call for an entire new set of training resources. The demo at Kettering made it look more promising than I would have thought, but the details are key to making it work. |
|
#6
|
|||||||
|
|||||||
|
Re: Planning, Training, and Support Critical
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
-Danny |
|
#7
|
||||
|
||||
|
Re: Planning, Training, and Support Critical
Quote:
On the other hand, if it is true that big, complicated things like LabView are inherently buggy then I'd cite that as a good reason not to use it. |
|
#8
|
|||||
|
|||||
|
Re: Planning, Training, and Support Critical
Quote:
-Danny Last edited by Danny Diaz : 25-09-2007 at 16:19. Reason: original wording was confusing |
|
#9
|
|||||
|
|||||
|
Re: Opinions wanted: LabView-based controller?
While a LabVIEW-based controller would run fine, there are teams out there programming on a 350MHz laptop with a 6GB hard drive with 128MB of RAM. Try installing, let alone running, LabVIEW on that.
And LabVIEW does NOT need to install any service on my machine (a good program does not rely on them), or start anything up at startup, yet it was trying to start at least 3 processes (which I promptly disabled) at startup. I also find that documentation on LabVIEW is extremely sparse. For C, there are *tons* of tutorials. Not so for LabVIEW. Mostly because it is so expensive. At least before today, the MCC18 compiler could be run on any system, even Linux, through WINE. I'm 99.99% sure LabVIEW won't so as well in an emulator. What about alternate OS programmers? I'm tired of proprietary software. I'd like to see IFI or whoever designs the new controller to *completely* open-source the whole thing. Schematics, master code, compiler, IDE, etc. That would be really nice. If LabVIEW was quite a bit less beefy, then maybe I might go for it. However, I think that many programmers would be disabled by LabVIEW--it wouldn't install on their systems, or would crash. It's fine for industries that can afford new computers, but we are not such an industry. It's not that I'm trying to put down LabVIEW; I believe it has applications in other areas (signal processing and simulation are two areas that come to mind) but I don't see it as suitable for FIRST. Maybe I'm just biased by all of the nice open-source projects I've seen, but that's my 2 cents on this topic. JBot |
|
#10
|
||||
|
||||
|
Re: Opinions wanted: LabView-based controller?
Quote:
Quote:
Quote:
Last edited by Adam Y. : 25-09-2007 at 17:10. |
|
#11
|
|||||
|
|||||
|
Re: Opinions wanted: LabView-based controller?
Quote:
Quote:
It would be fun to experiment, but when all is said and done, I am much happier coding in C. JBot |
|
#12
|
|||||
|
|||||
|
Re: Opinions wanted: LabView-based controller?
Quote:
![]() Quote:
-Danny Last edited by Danny Diaz : 25-09-2007 at 18:30. Reason: added clarifying statements |
|
#13
|
||||
|
||||
|
Re: Planning, Training, and Support Critical
Danny, thanks for your replies, It's nice to have your expertise here.
That may be true, but these services should be inactive unless I'm using LabView and should shut down without errors when windows does. Quote:
Ultimately, the main message that I was trying to convey in my earlier post is that we'll need adequate time, samples, and resources to successfully use whatever controller we go to next. I appreciate the effort that went into the Labview samples we've seen (CMUCam and others) I just remember having a student become more frustrated than inspired trying to get things to work. I think the LabView RT system has real promise as a controller. I'd rather have a less bulky and complex system to program with, but I am intrigued by the possibilities of the hardware and software. As to whether this is like what is used in industry, I think the graphical approach is becoming more and more prevalent even where C programming is done. We use UML diagrams for our design documentation and some code generation. We have also looked at other graphical tools as well. Graphical programming has been used for years in factory and lab control applications. Actually, Relay Logic and PLC controls which have been around for decades are actually simple graphical programming environments. |
|
#14
|
|||
|
|||
|
Re: Opinions wanted: LabView-based controller?
I mentored robot programming during the pbasic days, including writing state machines with students to handle autonomous operation. It was a breath of fresh air to switch to a C based system, polluted by the requirements of an 8 bit micro-controller as it is, and have the opportunity to teach students to program the robot controller in C. In doing this the students learn something that is applicable to their future college experience.
I can't say that I have spent a lot of time with Labview, but I was not very impressed with the use of labview to do initial work with the CMU camera. We ended up tossing these activities to develop variations of the camera software Kevin Watson provided. I don't see the value in students learning a proprietary programming system that they may never see again. I have the strong opinion that a conventional C environment should be offered for any future robot controller, and I am not referring here to snippets of C code to be buried in some larger graphical programming environment. It would be great to have a controller along the lines of what Labview runs on, but it is clear that we will not be able to afford to buy these controllers looking at the prices for them. Being able to have controllers to use in development efforts outside of the actual robot is important and the EDU contoller provided by IFI went along way to satisfying this need at cheap prices. To be blunt, I resonate with Alan here, highly skilled and dedicated programming mentors will drop out of the FIRST FRC program if they are forced to move away from a C programming environment. If this is where FIRST is headed with its new controller, for whatever reason it is headed in this direction, it needs to consider the error of its ways. I would suggest, instead, that a more rational ANSI C programming environment, with a suitable debugger interface be offered. It is perfectly okay to offer something in addition to that, but failing to offer a conventional C environment would be an error. One could add to this a Java environment, or any other additional environment like easy C, etc, even LabView, but these things sould be in addition to and not intending to supplant a conventional C environment. Eugene Last edited by eugenebrooks : 25-09-2007 at 21:31. |
|
#15
|
||||||
|
||||||
|
Re: Opinions wanted: LabView-based controller?
My comments are as a NON programmer, just a teacher of a shop class.....
Easy C has been our savior the last two years. It has done all we asked and it was done by a student........ With no programming engineers (like many teams) and no programming classes in our school district (like many teams) I fear that a choice to move to a platform that is not as easy as Easy C and not to have the choice to do C if we have the expertise on our team will be a major misteak(sp ) for FIRST.In education I measure the curriculum worth by a comparing of "What is Industry using" standard. Question? Is Industry - wide scale using Lab view for their development and also are universities using Lab View for teaching programming in their curriculum? If not them I say it would be a very poor choice to move to this.... my non programmer opinion. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Wanted: 2006 Robot Controller | BradyP4 | Control System | 3 | 06-08-2006 21:13 |
| Wanted: 2005 Robot Controller | BSMFIRST | Control System | 0 | 01-03-2006 11:27 |
| Human Arm based controller | Andrew Schuetze | Control System | 5 | 09-10-2005 15:05 |
| People's opinions.. | pras870 | General Forum | 9 | 14-01-2004 23:53 |
| 2 v. 2 opinions | P.J. Baker | Off-Season Events | 11 | 28-06-2001 13:24 |