Linux?

I recently read this POST

I get the feeling that many people either don’t use Linux, or don’t understand its power. The power is that their in a standard, and the compilers come from GNU and WORK. I have found that the compiler that came with the robot is not very good. If we linux on the robot, then we could use any OS we want to program.

To load the code we could use NFS, FTP, HTTP, SSH, Telnet and millions of other protocols to load. Imagine programming literally on the robot (NFS, SSH), no loading. just compile and go!

Also the compilers are standard, and GNU compilers work everywhere.

Also the choice of platform, currently it is very hard to program on Linux. If it were Linux then I could use Mac, Windows, Linux, BSD, etc.

And last, this is robotics! Why wouldn’t we use Linux, I am sure that the CS departments at major colleges use Linux (otherwise I will be very sad).

US First probably spend a long time writing the OS, I could probably install Gentoo fairly easily (haven’t tried, I am not that dumb).

Basically Linux runs the computing world (servers), so why not ours!

The cRIO runs VxWorks, made by Wind River. The C/C++ compiler is from Wind River.

I do share your sentiment about Linux; I’m posting using Ubuntu :smiley:

Ask NASA which OS was used on the Mars Rovers Spirit and Opportunity :slight_smile:

Which just so happens to be a UNIX-like RTOS. Really, it’s a lot more suited to a robot - tons less overhead, and the fact that it’s a real-time OS gives its schedular a much more deterministic outcome. That’s exactly what you want in an industrial or controlled setting. A standard OS is not good, because it doesn’t guarantee as much about process run times.

The compiler itself contained in the WindRiver workbench is from the GNU toolchain. As far as I can tell, the only important difference here is that WindRiver includes the libraries it needs to link with, and a method for actively debuggin/loading the modules into the kernel. If you could find a way to load these without using WindRiver (or, alternatively, find that this section of WindRiver is written in Java, as is the majority of the IDE), you could very easily work from Linux.

You can port just about anything you want from UNIX operating systems. It supports most (if not all, I’m unsure) of the POSIX API.

Wow, I didn’t realize this until today… and our coach made a comment that “[the students are] working like they are building the space shuttle!” (yeah, we have a LOT left to do in a LITTLE time…)

You do know that the compiler is GCC and that the Workbench is a modified version of Eclipse? Also, in general, Linux isn’t a realtime operating system.

Also note that the Driver Station runs a version of Linux.

As for why you can’t program in Linux out of the box, it essentially comes down to market share, so blame capitalist economics for that one. Checking statistics on operating system usage on the internet (roughly proportional to OS usage on desktop/workstation computers overall), shows that Linux occupies less than 1% of the market. This means small return on investment for a company choosing to port their software to Linux.

–Ryan

I believe your sales pitch glosses over a few very difficult hurdles.

I ran Gentoo for a year or two, and I know that gentoo-ing a cRIO is beyond my skill set. It will take a good deal of effort AND skill: porting an OS to a new type of computer isn’t a cake walk. The folks at NI and Windriver do this for a living, and we are grateful that they provided us with these two environments. If you can provide a third, go for it.

Everyhting but the NI stuff is using Linux. I checked. There is no Linux version of LabView. As for your mention of how the code is transfered to the CRIO, it uses UDP protocol. I have a packet sniffer I have been using to see what our DS packets look like. I forgot and left it recording while trying to deploy code. Someone said that the software will run under WINE.

edit: Written on a Debian Etch machine

Actually there is a Linux version of LabVIEW, but not LabVIEW RT. Also under the hood RT runs on either vxWorks or ETS depending on whether it is a PPC or a x86.

Where did you find it? When I checked their site, I couldn’t find any of their stuff that had a Linux version.

ni.com/linux works pretty well to show the products for linux.

Greg McKaskle