Robot OS discussion

That isn't really how engineering works in the real world, it is more of an iterative process:

10 Concepts 20 Define Requirements 30 Can requirements be met? If no, goto 20 40 Design 50 Does design meet requirements? If no, goto 20 60 Can design be built? If no, goto 40 70 Development 80 Has development discovered any problems? 81 Are development problems based on design, if yes, goto 40 82 Are development problems based on requirements, if yes, goto 20 83 Are development problems based on concepts, if yes, goto 10 90 Delivery - alpha (QA) 100 Has alpha product hit any problems? 101 Are alpha problems based on development? If yes, goto 70 102 Are alpha problems based on design? If yes, goto 40 103 Are alpha problems based on requirements? If yes, goto 20 104 Are alpha problems based on concepts? If yes, goto 10 110 Delivery - beta (release candidate) 120 Has beta product hit any problems? 121 Are beta problems based on development? If yes, goto 70 122 Are beta problems based on design? If yes, goto 40 123 Are beta problems based on requirements? If yes, goto 20 124 Are beta problems based on concepts? If yes, goto 10 130 Delivery - version 1.0 .... ....

You get the idea. Sure, much of this is done in parallel, but rarely is it ever done in such a linear fashion.

Not nessisarily. There are a non infinite number of operating systems available. Most are unacceptable for various reasons. The actual field from which to choose is rather small.

From a technical view point, I find it hard to justify Windows for any sort of control based application. So, that leaves one of a number of UNIX type operating systems. Linux, FreeBSD, and NetBSD are all free. QNX is not free, but free enough for personal stuff. If you have no "real time" requirements, you don't need QNX. That leaves Linux or a BSD. Linux is more popular with better device driver support, so Linux is an obvious choice without any up-front exclusionary requirements.

I would bet most of them are running a flavor of UNIX, and possibly Linux. Linux is huge in asia.

I'm curious, like what?

That is a good discussion, we should have it.

I remember all the crap we had to do at Denning Mobile Robotics with z80s and some of the first 68000s. These days the raw computer power available for $99 is amazing.

That's not true unless you want to develop the infrastructure all by yourself. Using an OS with a lot of supporting programs makes a lot of things a lot easier.

Like any tool, one should learn about their OS.

Interesting, what is?

It is hardly a copy.

Well, that isn't true at all. The new Windows, NT, 2K, and now XP were originally designed to be a portable version of OS/2 for IBM. When MS and IBM split ways, Microsoft put a Windows sub-system on it and called it Windows NT.

The original work on NT was by Dave Cutler, and it is widely acknowledged that Windows NT was based on Digital Equipments VAX VMS. This is one of the things that was settled in a law suit by DEC against Microsoft.

This is certainly not true either. The UNIX environment has created *every* advancement in computers in the last 30 years. Microsoft has not created one piece of original technology yet.

Name some things you think Microsoft created, you'll be surprised where they really came from.

It may not always be the "best" solution, but there is rarely a "better" solution without some exclusionary requirements.

Windows is a disaster, I programmed it for 15 years, published articles on it, and personally beta tested Windows 3x, Windows 9x, Windows NT 3.5,

3.51, and 4.0. I am done. I'll do it for money, but for my own work, I won't touch it.

I disagree, the OS is a serious part of a project. Having opinions based on experience about the relavant merit of one OS over another is a valid discussion, and an important one. If you don't like the discussion, you need not participate.

Reply to
mlw
Loading thread data ...

Seems like Windows XP Embedded would be a nice fit, but looks like it is not easily available. It runs windows 32 binary programs, therefore you can use the vast array of development tools, hardwares and drivers for it, but without the hassle of "user friendly" features. For example, it is not going to checkup for "live updates" while you're trying to process images from the video cams.

I particularly like windows because it's easy. Although I agree that theoretically linux makes sense, in practical terms I know I'd spent lots and lots of time dealing with issues not related with my program (e.g. trying to make the OS to recognize one given USB driver with a given webcam that was made with windows in mind). If I had that time to spend, I'd probably go for it, but it is rarely the case.

Reply to
Padu

Which distrobutions of linux do you recomend for robotics?

Reply to
godavemon
[...]

[...]

Perhaps however much of it is restricted to the advanced programmer? For example I used the DJGPP C/C++ compiler extensively but was unable to use the Allegro graphics library with it because I couldn't get it to compile.

Free software is not much use if you don't have the time to learn how to use it.

You gave your pet peeve now I will give mine:

Imagine how many novels and entertaining stories we would have if only professors of English (or French etc) had the know how to write them ??

Those who built the electronics of the tv industry don't automatically have the ability as a result to make good tv programs that use that technology.

Once programming was the province of white coated mathematicians in the big Universities. Although the computers were simple they could maintain their mystique as only they had access to them. And then along came the microcomputer....

Experts do not have a monopoly on ideas:

An example is when I owned a C64 and bought a touch tablet for graphics. It was flawed in that a glitch would put bumps in any hand drawn lines. Because they gave the hardware details I was able to fix it with a better algorithm.

Of course I had then to write my own graphics routines. It was fun working out algorithms to make use of the multicolor mode but I thought one day we would have enough memory and cpu power to give and display our pixels with a RGB value. The day came but only via a slow graphics interface or by a complex DirectX that takes an expert to decipher and implement with loads of OOP paper work required by a bureaucratic OS.

Now we are reverting to the bad old days. Power to the people I say. Why can't a language be both easy to use, easy to learn and compile fast code that can access web cams, printers, graphic/sound cards etc. at a price most people can afford?

At the moment I am looking at Power Basic which seems to be offering all the above. Working as a team means allotting the things to be learnt according to interest and talent.

Really I don't mind paying experts to write functions to do things like grab an image from a web cam into an array or display it in 24bit color. I just don't have the time to learn to use a complex OS or language in order to use that function.

- John

Reply to
JGCASEY

or even worse! Imagine how many robots and entertaining mechanical slaves we would have if the people who built them typed too long in a meaningless debate over X vs Y, and neglected updating the software to control those robots!

Rich

Reply to
aiiadict

I apologize for standing on my soap box a little long last night, but I do not consider my OS a religion. I do have strong feelings for Linux and against Microsoft in general.

I used to work for Microsoft and you should hear some of the attitudes they the company fosters towards its customers, much less its competitors. Having done so, I feel fully justified in my opinions towards Linux being a better OS.

I fully agree with MLW on this. After building the software and cramming it onto whatever storage device you choose, the robot is not going to need the bloat that comes from having a nice GUI on the screen.

Now I am not so blind as to say that Linux is the "perfect OS" for building robots. A standard distro comes with SO much extra software that will simply not be needed running around on a robot chassis, hence the reason I pointed out the "Linux From Scratch" project and an RTLinux kernel.

I have not seen a better solution to the problem yet.

BTW DOS is an 8 bit OS that does not utilize the CPU architecture well at all. It was simply written as a quick CP/M clone to use on the PC jr. It was never intended to have the lifespan it had.

Xerox Corporation built and tried to market the first GUI based software and OS back in the early 80's. It sold well to newspapers as a typesetting engine, but they could not produce it cheaply enough for the home user, also it has always been difficult to get the general population to accept new technology.

We on the other hand are not the general population. We're building machines to try and mimic life and a coherent thought process. We have no room for closed mindedness and boxed thinking.

No need to bet. It's a documented fact. China is making moves currently to swap their governmental computer systems over to Linux and heartily encourages the use of Linux by the general population.

So am I. What has led you to believe that Linux doesn't have awesome driver support? Or are you talking about hardware that Microsoft licensed to be built specifically for the Windows arch, so they could ensure their monopoly in the two markets combined?

I will say again that I used to work for Microsoft and used to think that it was the greatest thing since sliced bread or at least the Atari

400 I started out with. I migrated to Linux after making an extremely WELL informed decision. I liked the shear overload of documentation I could find on everything from how to configure the hardware and software to writing new software and drivers. I liked the availability of the source code so that I could study how it all worked. Most of all, I enjoyed all of the FREE libraries and development tools I suddenly had available to me. OOH even better, I liked not having to steal all the software I wanted, since I never had a decent budget to work with until I went to work for dear old uncle Bill. By that time, I no longer cared and would simply hack my way to any new software I needed or wanted.

Suddenly it was no longer fun to hack any more, since every thing I wanted was either included in the distro or FREE for the download off the net.

I agree, but would probably get banned for starting a flame war, since I enjoy this argument WAY TOO MUCH. ;-)

Such a beautiful thing....

The performance is a huge issue when working with a slower processor and less head room. I apologize for including LISP in there. I got a little carried away with that one. Bad EMACS memories.....

The operating system of a robot is it's tasks. Technically a hard drive is a robot that is manipulated by the CPU and OS and BIOS (firmware). A robots arm or leg needs to be thought of in the same way. Take a look at the MCU on your network card or video card and then read up on the firmware stored there. You'll start to realize that an arm or leg or sensor is just another peripheral to the robots main CPU.

Using that analogy, create your hardware and then write a driver to support it. Your robotic control software (OS) will take over from there.

It has evolved into something much greater than its beginnings. You obviously have not spent too much time looking into Linux.

Windows itself is merely a new version of the same technology developed at Xerox 30 years ago.

Well if the Linux community would start stealing as much code as Microsoft has and could field as big a team of lawyers as MS has then maybe we wouldn't be so far behind in whatever area you seem to think we are behind in.

BTW what area are we behind in? Do you think that Linux doesn't crash enough or something? I'm not understanding what it is that you are referring to.

I submit that it is you who are reacting like a religious zealot in defending such a flawed and over monopolized OS as Windows is. MAC users tend to be far more zealous.

What does "consider requirements to drive decisions" mean? What's the matter? Without Big Brother Bill around to feed you your answers, you can't form an intelligent sentence?

I won't even begin to say that Linux is the BEST solution, but I haven't found a better one yet. Something new will come along, probably from the open source community, that will redefine the robotic operating system.

Both Windows and now Linux are wrong for the job. You don't use a hammer to turn a screw. Both operating systems are now designed for desktop use. A robot is not a desktop. Do I think that Linux will be easier to convert into a true robotic operating system than Windows is? I will give a resounding YES!!!!!! Do I think that it will in any way resemble the desktop computer system I am currently sitting at? NO!!!

I will be able to talk to and call up information from my robot using natural speech. I will not have to log onto my robot to get it to respond to my commands. I will rarely have to look at a screen and read at least not one directly attached to my robot, so the GUI will be nonexistent.

I am currently talking about the software related to the operating system itself. I think that the Linux kernel could be modified for use or maybe the HURD would be better suited. Either will be vastly stripped down and modified to handle the specific requirements that a robot has. You can't do that with the Windows kernel. Bill Gates and his copyright lawyers will not allow you to.

I'm more than willing and able to keep this going. I do not , however, want to limit this to just a Windows vs Linux debate. I came to this site to learn something, not keep dredging up and rehashing the same OLD crap over and over again.

I want to hear some one come up with something different. Something I haven't heard of before. Micro-controllers will play an integral part of the overall system, but I do not believe that they can successfully handle the overall job of information sorting and processing. So please, some one is just sitting out there with another idea. Speak up. I for one want to hear what you have to say.

Eljin

Reply to
Eljin

There are thousands of packages most are pretty good, some are less so. It isn't fair to paint the whole environment with one or two experiences. I can remember quite a few Windows programs which were utter and total crap.

Imagine if we were forced (in school) to read books published by people with no more than a 6th grade education! Dick cand Jane can only run so much.

I'm not sure how that is important.

This was *never* true, by the way.

It was very much harder to program the old computers. There was no mysique, it was like expressing complex idea with a very limited vocabulary.

Yes, a very neat invention.

Experts typically don't have many orginal ideas, but their expertise is generally useful in bringing ideas to fruition.

OK.

Yup, Windows sucks. Been there, done that. I've written a couple video drivers for Windows 9x and NT.

That's where "free" (as in freedom) software and open source come in to play.

Linux, has a great price: $0.00 and can use web cams, printers, graphics, sound, etc.

As for "easy," that is a complex topic. What is "easy?" Seriously, think about this for a minute. DOS and old CP/M were "easy" because they were simple. If all you want to do is something simple, then they are enough. If you wanted to do something more complex, they were very much more difficult.

Think about a robot or other complex system. "Easy" takes on a new aspect. Easy to me has come to mean good multitasking, memory management, process management, file systems, networking, etc. etc. The basic facilities that are, in their own right, very complex projects. If I want to create a vision system, I don't want to write a whole video management system. I want to access a video stream and process it.

Bascally, there is an amount of complextity that comes with more advanced facilities.

This is fairly short sighted thinking. Knowledge is almost always helpful. A complex OS and language can make your task much easier to accomplish. If it takes you 2 months to come up to speed on an OS and language, and then takes you an additional two months to do a project instead of doing a project in 6 months, the complex OS and language saved you 2 months.

You are thinking the the OS gets in your way, when you should be thinking, wow!! These guys have done all this work! All I have to do is build on it. This is so easy!

Reply to
mlw

Hear hear!!

I worked indirectly as a contractor for Microsoft in the late 80s and early

90s, I know exactly what you mean.

I don't have anything against GUIs or displays on robots, but it is important that they be optional.

There is *no* such thing as a perfect OS, but Linux is the least sucky OS thus far. IMHO.

Actually, it's funnier than that.

Seatle Computer wrote QDOS (Quick and Dirty OS) for the 8088/8086 and it was a virtual clone of CP/M. IBM was looking for an OS for their new IBM PC, and after a negotiations failure with Digital Research, approached Microsoft for an OS. MS then purchased QDOS for $50,000.

Talk about an investment paying off!

Xerox PARC had a number of cool technologies, but the company, as a whole, did not understand them and therefore did not know how to sell them.

Unless you are careful, being "out of the box" simply means you are in a different box.

Windows-only hardware is a bad thing, not the least of which it is a rip-off. There is no guarantee that the OEM will support an old product on a new OS. I had a number of Windows 9x compatible peripherals that were never going to be ported to NT,2K,XP. So, even though the hardware works, it won't work on a new OS. Stupid and wasteful.

That's why Linux is great. If your device is supported on Linux, you'll be able to use it as long as *you* want.

I have a similar experience. Linux (or FreeBSD and the other BSDs) are "free" both with regards to acquisition and freedom.

Windows is not free on both accounts. *Anything* done for Windows is by its very nature designed to keep Bill rich. I would rather invest my time and energy on other things.

It is so true. I used to love Windows. I wrote a couple articles in the book "Tricks of the Windows 3.1 Masters," and a couple about sharing device driver code across Windows 9x and NT.

With Linux, Windows is no longer interesting. It is a dead platform.

As long as it does not devolve into a flame war it should be OK. Most robots need an OS, and a good discussion about them should be helpful.

Linux is a fairly good OS. Its power is that it is based on POSIX, which is based on UNIX which is based on Multics.

The computing world owes great respect to Multics one of the most revolutionary concepts in computer operating systems. Almost every system in use today build on their early work.

Slight correction here.

Linux is not designed to be a desktop. It is mostly designed to be a general purpose computing platform. Most distributions target the server and desktop markets, but make no mistake, Linux, like unix before it, are designed as general purpose computing systems. Ideally suited for robotics.

I think we can dispence with the Linux aspect of the discussion and focus on OS phylosophy. POSIX vs Windows. These are two very different design criterias, and where POSIX is intended to be general pupose computing and Windows is designed to run consumer desktops, I don't see any real debate. POSIX wins.

Reply to
mlw

Really? Where's the documentation describing how to write drivers in the 2.6 kernel? "Read the source code" isn't documentation. Info files are o.k. but they don't tell everything. Good examples and thoughtful presentation save lots of time.

Cheap video input devices, for example.

The more I do robots, the more I believe that real-time is significant, especially if the robot is going to be working around people. If a robot moves, it needs to respond to its sensors in a real-time fashion which depends on its mass and speed in order to lower damage to people and property.

Again, the Linux 2.6 kernel is becoming more like a real-time system and there are definitely more peripherals available for Linux. Since we've agreed that there probably needs to be a microcontroller anyways, Linux or Windows only need to communicate over USB, serial ports or ethernet.

Cheers, Ed L

Reply to
Ed LeBouthillier

Google: "HOWTO write linux kernel drivers"

743,000 hits, including: Porting device drivers to the 2.6 kernel Write a Linux Hardware Device Driver

And my favorite:

formatting link
Hop on over to:
formatting link
(The Linux Documentation Project) Lots and lots of info.

What? What's cheap? There is lots of support for most USB web cams, video cpature boards, etc. The V4L (Video for Linux) project is amazing.

"real-time" is an interesting word. I used to work at Keithley-Metrabyte, and "real-time" is a very subjective term with almost no meaning outside a specific discussion. It is largely based on your requirement of maximum to time to response. Some systems this is measured in micro-seconds, milliseconds, or even seconds.

I wouldn't use Windows for anything that *needs* a computer :)

Reply to
mlw
[snip]

Again like your other thread , you are assuming an OS is necessary.

What about the KISS principle ?

Why not have a specialised robot version of the OS, that makes it easier for beginners to get started ?

Why require them to learn the OS first ?

A pre simplifed linux or other os based roboOS that lets people get started easily.

People need to be motivated in different ways, to say you have to learn all this first is going to turn a lot away ,especially school kids.

Decreasing percentages of the population are getting into electronics , engineering and science.

A lot of people are turned off by labelling some thing as 'learning' or educating.

Not just the US.

But why does some one need to know how somethings works to be able to use it ?

If that was a requirement 99% of people wouldn't be able to use a car or a ball point pen or a computer. Would rule out most people from using anything.

Seems to be an increasing adversion to technology.

You guys (US) seems to have more than your fair share of people who want to shift the clock back to pre 1950's and 1960's technology / lifestyle and others who want to do away with all electronics.

Peoples reactions to technology is why usabilty is so important, hide the technology and focus on usability. Going to be seeing a lot more of this.

formatting link
Circuit Cellar magazine (print and electronic edition) design contests are very good

formatting link
from same publisher

Alex

Reply to
Alex Gibson

Imagination is not required.

Rich

Reply to
aiiadict

It is if you are doing anything complex or interesting.

OK, lets build one.

Why require someone to learn how to drive or operate power tools?

Sure.

That is a VERY SAD statement. Oh my god!!! Kids learning yikes!!

Uncurious people shouldn't be in electronics, engineering, or science, or any other technical field.

And isn't that a disgusting state of the USA!!! In japan and china kids love to learn. They are not afraid of a little work. We have been so afraid of challenging ourselves and our children that *any* challenge seems too hard.

No?

LOL, why be curious? OK, seriously, because *nothing* is perfect and when it fails you should be able to recognize that it has, and, if required, work around it.

Why should you need to know how to change a tire on your car? Because it could save your life.

That is a real problem for the USA. We are in an intellectual decline.

Regressives are all too abundant, and they are the ones that want everything easy, a flat earth, and that darwin has never published.

We need to teach people to be inventive and curious again, not make it easier to hide from it.

Reply to
mlw

yes, we are capitalist country. We want money. Teachers want money. School "administration" want money. They get paid even if children don't learn. Children don't learn in the schools. They get propaganda. If you want to learn something, you have to do it yourself. Unfortunately, we associate learning with public school. Learning = bombardment with propaganda. Learning = not fun. We get out of public school and we know nothing. public school = learning = know nothing after 12 years = don't do it.

I've taught myself more in 1 day of reading a book than 12 years of public schools taught me.

Rich

Reply to
aiiadict

This is something someone such as yourself would be able to do for your robot? It would be of interest to me to start with a simple version (not GUI for example) of Linux. Maybe the RTLinux thing? I would want sufficient support for web cams however. If your hardware/software configuration is simple enough to learn yet powerful enough to make use of the speed and memory capacity of a modern PC I would certainly want to copy it.

Japan and China have a different history and culture. As for loving to learn I think there is a high suicide rate for those who are pushed beyond their limits. I think in Japan the youth are following the Western trends as regards what is seen as a good lifestyle.

Although I agree there is a general decrease in the appreciation of those who generate the science and technology that allow the populace the comfortable lifestyle they now enjoy I am inclined to think that the actual number of youth interested in these things is probably much the same as in the past.

A question for alt.sociology?

- John

Reply to
JGCASEY

It is Linux, it is free.

Seriously, while there are no Robot Linux distributions that I know of, there are a large number of distributions out there. Virtually all of them would do quite well. The main ones alow you to pick and choose which components get loaded.

You can network boot Linux, boot and run off memory cards, there is no limit and there is plenty of documentation. The Linksys wireless rounters run Linux, why not your robot?

There is a project that will allow you to boot off a CDROM and save back to a CDRW disk.

Not the ones I know.

No, I see a lot fewer.

Perhaps so.

Reply to
mlw
[...]

I was talking computer *language* not OS ...

Yes I think Linux sounds great. I will give it a go. But ultimately the outcome depends on how easy the language is and how complete it is with regards to enabling me to use the OS.

It takes more than 2 months to come up to speed with a complex OS or language. Do you think I haven't tried? What you say makes perfect sense to someone just starting out but my situation is different to yours. It is your job and you have put a lot more than 2 months into learning and practicing your skills. It has been a part time, on and off, hobby for me. I enjoy the subject but I am an amateur.

*I rely on experts like you to make it more enjoyable.*

First I set my goal at a height I think I can achieve. Then I look for the means to achieve that goal. In my case I have a hammer and in your case you have a nail gun. So I have to limit my goals to a playhouse for the kids and you can go out there and build a house. Or you might loan me your nail gun? Or I might pay you to do some of the expert bits just as those do that decide build their own home. They do what they can and hire experts to pour the cement or wire the house etc. They might limit their input to laying the carpets and tiles, painting the house, designing the house etc.

I don't know what your home building skills are like? If you have none and decided to build yourself a house on the weekends would you do a 5 year builders course first and learn all the skills required?

We all have limited time. The knowledge and skills we need for our job may not be useful in our hobby. You are fortunate in that your hobby (build a robot) happens to require the skills you use in your job. I am just the little guy that likes to look at the stars through his little telescope and read the latest works of those lucky enough to do it for real. I might not find a planetary system but with some luck maybe a new asteroid?

So to sum it up I cannot build an all dancing all singing robot and utilize the latest and greatest software systems to implement the robot. My goals are humble. I have been able to write simple programs and put together simple hardware that can control motors, read sensors and do simple visual processing that I hope will enable my robot to stagger around the house and maybe get that beer or better still sweep the carpet/tiles/lino so my wife doesn't think my hobby is completely useless.

May I point out that top sportsmen are appreciated and rewarded by the amateurs that play golf or tennis on the weekends.

I understand it if you want to limit yourself to interacting with those with an equal footing as regards electronics, programming, mechanics, AI etc and will await for your book on the subject :)

Regards,

John

Reply to
JGCASEY

There may be now, but there hasn't been in the (recent) past. Of course, Video 4 Windows precedes V4L by many years.

Yes, realtime. Like, able to initiate termination of motion within one or two milliseconds. Able to come to a complete halt within X milliseconds. Able to minimize force on an effector within X milliseconds.I think if a robot is going to be around humans, it needs to be safe.

Additionally, if the robot is vision guided, then it needs to be able to perform a certain kind of analysis in fairly "real time."

Then again, I don't think a robot does need an operating system. Do humans have an operating system? Does a dog have an operating system?

Perhaps the developer needs an operating system to simplify the development task, but a robot doesn't need one. That is not to say that since we haven't perfected robot software that we don't need good development tools. We do. On that basis, operating systems make sense.

Additionally, as multicore and parallel systems become more available, we'll probably need operating systems to simplify the distribution of tasks across the CPUs.

That's your preference. I'm willing to consider it or other operating systems.

Ed L

Reply to
Ed LeBouthillier

"Ed LeBouthillier" wrote in message news: snipped-for-privacy@news.west.earthlink.net...

This is an excellent point and it illustrates a couple of things about how we think all by itself. Computer people are so often bound by how computers are defined that they apply a blanket solution (such as the operating system) to a problem that a computer must solve. Organisms have operating systems of a sort but they are unlike computer operating systems in the following ways. First, they are more or less hard wired into the organism. Second, they are distributed in a manner that might best be described as granular. The closest approximation we might reach is to assign a small, simple processor to each task and link them all together loosely. Imagine a hand created in this manner. Each digit of each finger might have a processor that reads its sensors for touch, position, and damage and integrates the resulting data into an image of its state. You would end up with an "overlay" of many maps, each reflecting specific data about that digit of the finger. One would correspond to the temperature sensed. One would be the pain data, one would reflect flexion or extension data. As far as the dedicated processor was concerned, it would simply be returning a small set of arrays of number values, which when taken together would tell us all we need to know at a raw level. And, there would very likely be a round-robin task scheduler in that processor that scanned rapidly through the raw sensory data to develop the arrays of information. This is entirely unlike the OS of a real finger digit, but it would in effect return the same results. In our case, it would not matter because the outcome of that operation is all important- the pattern matters, not how it was arrived at. And we can eliminate some of the inherent differences in the microchip OS method versus the biological method by having all the processors run asynchronously- all we care about is the data, and that it is produced rapidly enough so that the time instants overlap or blend together. Now we have a bus that takes all that information to a master processor in the hand that integrates all the finger digit information into a whole net of information about the hand- but take note (and this is most crucial) that never does any single "bit" of information get sensed at any higher level! Only the derived, integrated picture of what the whole hand is doing and feeling is relayed to the next higher level. On this basis, the OS of each chip is immaterial. We subsume all the data into a whole, smooth image that is not time dependent (except that there is a fastest possible sensing time) and that is not processor dependent. The content and the overall image are all that make sense to the whole organism. Now, this might sound like a terrible load of overhead, but truly it is not. It is through small, granular processes that we are most likely to succeed in duplicating the extremely fine scale of organic sensing and processing to reveal the entire state image of the organism's limbs and systems properly. After all, how much processing does a neuron do, especially in the context of a net of neurons or sensors? Now, when using a traditional processor, you always have some sort of OS involved, but the trick is to write code that has the absolute minimum of system-related overhead. You can completely simulate everything in code, but you have to make certain that the system does not interrupt what your robot is doing in any significant manner. So the contribution that the OS makes is simplicity of using your particular machine, but the catch is that it takes major chunks of time that might be critical - imagine if you were to black out for a fraction of a second every few seconds... that is what Windows would do to your machine. Linux can do away with a lot of that, but a real basic system like DOS is always a far better choice. If only it would handle large memory spaces and large disc spaces...

Cheers!

Sir Charles W. Shults III, K. B. B. Xenotech Research

321-206-1840
Reply to
Sir Charles W. Shults III

Recent past? Linux has been able to interface with video hardware for many years.

Is that a "real" requirement? How fast can you really stop? Even the best controlled servo or stepper can't respond that quickly. Acceleration and velocity must be carefully planned.

What hardware can come to a complete halt in milliseconds? Certainly not anything with significant mass.

Again, what is the "real" response time? If you are assembling microcips or PC boards, you might want to have a very tight loop and very high precision mechanics, but in general purpose robotics, roaming around imperfect floors on imperfect wheels, with a non-zero mass, single digit milliseconds is not possible.

Yup, and depending on the speed of the beast, you have to carefully plan the deceleration or it will skid or topple over. How fast can you bring a robot with greater than zero mass moving at a greater than zero velocity to a complete stop? Will a single digit millisecond response time *REALLY* be noticable over a double digit millisecond response time? no.

Yes, which a micro-controller is certainly not capable of doing.

The more and more you look at genetics, the more and more it looks like software. Gene sequences behave very much like algorithms. Maybe we do have an operating system we just don't understand.

However, genetics aside, an operating system is a form of glue that holds together many different process, arbitrates conflicting requirements, and schedules routine operations. So, yea, in a way perhaps we do.

I think this is short sighted.

I don't understand the resistence to operating systems, it must be a Windows thing. A UNIX variant makes development, implementation, and operation easier and more reliable. A good OS implements many useful and nessisary tools on which you can build.

Already there, has been for years.

Your choice.

Reply to
mlw

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.