I'm deciding which is the best operating system to choose to
run my robot using 802.11 wi-fi technology. I've seen a few security
robots running on Windows costing about the same price as those
running on Linux. And seen many robots run on Linux and perform
just as well, such as the IRobot. Why do robot makers prefer Linux
Well, just compare the cost to license Windows, as opposed to Linux.
Then look at the ( dozens? ) of embedded platforms that Linux
runs on, compared to Windows/CE/Mobile/etc.
The choice is obvious. ;-)
You can't beat the price, especially if you want real-time scheduling
(yet more $$$ on top of Windows). Robots don't generally need a
familiar GUI or to be able to run Office 2009 and Half-Life 5, so the
compatibility argument is pretty weak too.
Why /would/ you want to run your robot on Windows?
Since it is implied that we are talking about some kind of embedded linux, I
will talk about windows xp embedded:
1 - Because it is a more productive environment (if you are used to windows)
2 - Because there are far more market support for windows
3 - Usually it is easier to setup new hardware on windows
There is a paper somewhere on the web that compares true costs of
implementing linux embedded and windows xp embedded. According to that
study, it is cheaper to deploy winxpe than linux.
So, my final take is:
If you are a hobbyst and much more familiar to linux than windows, then go
If you are a company and intends to deploy a commercial device, I'd go with
A productive enviroment is were one can produce with ease and at low
cost. Maybe with fun. In my experience, Windows is not. But I agree with
you, if you are abused^H^H^H^H^H^Hused with Microsoft APIs and its
grapical cage (ops, IDE, I mean), than you'll save a lot of time than
trying to understand different worlds.
What that should mean? I suppose people would buy robots being based on
they ability to their job, rather that on what OS they run.
Oh, unless you are talking about that Microsoft Mafia that you can find
around PC sellers...
Oh, yes, and it also easier to let its crappy driver crash the whole OS.
However, I don't think this strictly applies to robotics. Or XPe has
driver for R/C servo and IR sensors?
Fascinating. Now I wonder, who wrote that paper?
Then, when next Win XPe worm will spread world wide, I hope I have as
less as possible of that commercial devices around me.
Productive means you are able to produce more. Nothing to do with cost.
It means that there are many more applications, drivers, companies,
professionals and so on available for windows.
I'm relatively new to robotics, but I already realize that you must divide
tasks and assign them to the most appropriate tool at hand. If I want to
control an R/C servo, I won't use neither linux or windows, I will probably
use a PIC that will receive/send messages to my host computer... running
linux or windows. Although winxpe has a RTOS module available, I don't
believe it is the appropriate way to handle things.
Search, read and find out.
Only if you let. Most of embedded devices will never have a network
connection... can't beat that kind of security can you?
There is a difference in prefering something because it is better or because
you are passionate about it.
I am passionate about my favorite soccer team, but it doesn't mean it is the
I would agree with you if you said "most embedded devices do not have a
network connection"...but to use the future tense is being pessimistic
about the future of embedded microcontrollers. In the near future I hope
they are all networked: the TV, microwave, fridge, car, dishwasher,
water heater, thermostat, security system, etc. etc.
Of course, when that day comes I also hope that *none* of them are
running anything resembling the current versions of Windows.
Irrelevant in an embedded application, unless you want your toaster to
If you mean plugging a webcam into your desktop PC then yes, Windows
wins. If you mean getting the OS running on your own custom board then
I can't imagine anything better than being able to examine and edit
the source code for the kernel.
According to studies Linux is cheaper the Windows, which is cheaper
than Linux, which is cheaper than Solaris, which is cheaper than
Windows, which is cheaper than the previous Windows, which is cheaper
than NetWare, which is cheaper the Windows, which is cheaper then
OS/2, which is cheaper the Linux, which is cheaper than AIX, which is
For me, the reason is that I want my robot to serve motion video via a
web server over 802.11. You can decent cameras and web camera software
pretty cheap for Windows. It works out of the box. Plus Apache runs on
Windows now :)
Just for the record, this is pretty cheap on Linux too
(as in "free"), plus you are free to fix the code if it
doesn't do exactly what you want.
Google finds Camserv ( http://cserv.sourceforge.net/ ).
Looks like you just install it and reference the video stream
in any web page with <IMG SRC=http://machinename.com:9192 .
Bennet Williams <> wrote:
: For me, the reason is that I want my robot to serve motion video via a
: web server over 802.11. You can decent cameras and web camera software
: pretty cheap for Windows. It works out of the box. Plus Apache runs on
Free cheap enough for you ?
Chris Candreva -- email@example.com -- (914) 967-7816
My favorite quote is from Steve Oualline:
"DOS/Windows programmers spend 90 percent of their time fighting the operating
system and 10 percent of their time doing real work.
UNIX programmers spend 90 percent of their time doing real work and 10 percent
of their time engaging in flame wars in comp.lang.c++."
I find it easier to work with hardware and OS services on Linux than on
Windows. Also, Linux runs fine on resource limited hardware (older, slower,
less memory) that would not even boot recent versions of Windows.
And, of course, since Bill Gates already has plenty of money, he does not need
any of mine.
I don't know where this guy got this statistic, but I've been doing windows
development for the last 10 years of my life and I don't have to fight the
OS. I tried to get more involved with linux at least half dozen times, and I
gave up everytime... perhaps I'm not intelligent enough for linux...
Two obvious reasons are that Linux is available for a huge range of
platforms, from the largest mainframes down to some very small
microcontrollers, and that it is available in a wide range of specialized
distributions optimized for various uses. Windows is available for x86,
Itanic, and ARM and that's about it (was also available for PPC, Alpha, and
a few others once but that was a long time ago), and in only a few
variations, aimed at servers, desktops, and handheld devices. Then there's
the source code issue--the source code for Linux is freely available, as is
the source for most applications. The source for Windows used to cost
something like $85,000 and I'm sure that they've raised the price
considerably since if it's available at all, and to get the source for some
of the applications you'd have to buy the software house that produces
Another advantage of Linux over Windows is that if there are
compatibility issues, you can just use another distro or version of
Linux (for free). With windows, an additional windows disk needs to
be purchased for every computer and robot.
Networking and terminal connection are built into Linux, whereas in
older versions of windows at least, it's often an addon program.
Don't get me started about the disk and memory requirements.
"The cat was once revered as a god. They have never forgotten this" - Anon
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.