Why do robots use Linux?

Isn't the question more like: why would you use Windows? Just because it seems familiar?
Well, think again. Once you'll have to mess with Windows
on low level, you'll realize that it's not so familiar... ;-) Besides, the help you can find on the web, compared to all the Linux resources, is virtually useless. Go to a MS newsgroup and ask a very specific question, if you want to be convinced. A whole bunch of MVPs there... and not much information.
Believe me, unless you're ready to pay a lot of money for support and/or for third-party tools, Windows will take a lot more of your time. Almost guaranteed 100%.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Why not?
RJ
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Sam Nickaby wrote:

Doesn't everybody prefer freedom ?
If you answered "low cost" then the question should have been "Why do robot makers prefer Linux over vxWorks ?"
A related issue is "Why did NASA prefer vxWorks over Linux for the Mars rovers ?" I bet part of the answer is that few people knew about Linux at the time the rovers were designed.
Looks like we might see Linux-based robots from NASA someday: http://linuxdevices.com/articles/AT7708331794.html
Oh, and don't let anyone tell you that Linux crashed Beagle 2: the lander was running a custom operating system, not Linux. http://linuxdevices.com/articles/AT7460495111.html
AC
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Sam Nickaby wrote:

I can do more with Linux than I can on with Windows. Both the OS and the tools are freely available. And there are a *lot* of tools and libraries applicable to robotics out there.
If you like running Windows on a robot, you might want to check out: http://www.leafproject.org/
I will be working at porting some of their software to Linux eventually, but I will still run Linux on my robots.
Of course, I'm writing this on my laptop running Windows XP. -- D. Jay Newman http://enerd.ws/robots /
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Sam, Here are a few things I took into consideration when working on a recent project:
My application had a client (the viewer) and a vision system (robot, kind of).
When we plugged in the hardware for doing the vision to a Windows XP computer, it just worked. Getting it to work on Linux was tricky.
Running the Windows OS with the desktop GUI on the hardware doing the vision was a bummer.
After we finally worked through the hassle of getting the hardware working on Linux things went very smooth. In other words, the problem was getting a driver. Once the driver worked everything went beautifully.
We were able to tweak the drivers on Linux to get two hardware devices working at once. In Windows, the driver was easy to get going initially but we could not customize it at all and therefore limited to one hardware device at a time (hardcoded into the driver I guess).
We were able to strip all of the unnecessary drivers and applications (including the desktop, graphical environment) off of the os for the "robot" so that we could get by with a very modest computer. While we're not doing this now, we could easily port our entire application (including the OS) to a 64 - 128MB flash disk. Smaller is possible, but we need a good bit of temporary disk space.
When it came to writting the graphical client software which ran on another computer we used Windows and benefitted from the RAD toolkit of the .Net platform. Specifically, we used the open source and freely available RAD tool SharpDevelop (#develop) found at http://icsharpcode.net/OpenSource/SD/Default.aspx
Really it all depends on what you're doing. We are not C coders nor are we kernal hackers. However using the source code as an example and some trial and error we were able to customize the immature drivers in order to meet our needs. We were also able to scale down the OS so that we had a very lean running system. Its kind of like having the low resource requirements of MS DOS, but having a modern OS, including development tools and a lot of drivers.
I am a big fan of both Windows XP and Linux. I use each when appropriate. After this experience, I feel that for a robot you can get a lot more bang for your hardware bucks using Linux rather than Windows. I have enough licenses for Windows from the various computers I've owned (some running Linux now) that the cost for the OS is not an issue.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.