![]() |
How important is Linux?
There have been many discussions over the years about having Linux as a target operating system on the robot controller and I'm just curious if this is really what teams want, or is it just a few vocal members expressing their desire. What about VxWorks? QNX? Some other RTOS?
-Kevin |
Re: How important is Linux?
To avoid confusion, are you talking about having Linux having am official supported IDE and code loading OR are you talking about the controller running something like uClinux?
|
Re: How important is Linux?
Kevin,
That is a great question. No doubt there are some advocates pushing linux because it is linux. I think the better question is what is the best platform for this target audience? For many users the code is input->process->output. The input being external I/O or the telemetry stream and vicey versey. That is even true for the camera and such. What I trying to say is the most users don't deal with interrupt driven routines or 'hard real time' requirements. Momentarily ignoring things like interrupt driven pulse counters the user could write a plain old gnu app that interfaced to the external world via a kernel drive (supplied). One downside is the development environment just got a whole lot bigger (relative to MPLab) plus it is more difficult for this level of user to hook custom hardware to the software or to configure some I/O pins. I'm not sure that chasing an RTOS for this audience is a good idea. The linux idea has plus and minus points. I'm not too sure the plus'es outweigh the minuses primarily because of what it takes to get to the hardware. I write linux kernel drivers to do I/O to the world and it ain't trivial. (Kevin already knows this isn't trivial because he is Kevin). What say you world out there ? |
Re: How important is Linux?
Quote:
|
Re: How important is Linux?
I'm an Assembly/C guy... i feel like you have enough problems debugging your own code let alone the 10's or 100's of people's code you add in to the mix with an RTOS...
Plus, the FIRST controller as it sits doesn't have enough MIPS and memory to run much of an RTOS along with running the user's tasks at the same time... it's more than enough for Assembly/C/EasyC people to run wild but I'm not sure about a full blown RTOS... Just my 0.81 Rupees... -q |
Re: How important is Linux?
There is a small vocal crowd that would like linux as a platform
do develop their RC program, and other things, but running an OS on the robot controller itself is a bad idea. Having at least a 16 bit processor for the RC, with a clean implementation for the I-O, and most importantly, interrupts, would be great. One does not really need an OS running on the RC to get these things. The 8 bit addressing, the interrupt functionality that has suffered from gremlins since the 8722 was introduced and the arcane violations of the ANSI C standard to obtain more efficient execution on an 8 bit processor would most certainly be things to leave behind. Eugene |
Re: How important is Linux?
Outside of the technical details of actually implementing Linux on the RC the amount of very good and free development tools provided by GNU would be an incentive.
In addition the community and spirit of open source is highly compatible with FIRST and gracious professionalism. |
Re: How important is Linux?
Does an OS necessarily have to complicate things? I would think some example/default code could be provided that runs in a single thread, follows the input->process->output paradigm and in general behaves in much the same way as the current system. If more advanced users want to explore the extended feature set an RTOS has to offer they may do so. If you look at a PC running windows it is extremely complex, but you can still write a "hello world" program without understanding the many levels of abstraction below you.
|
Re: How important is Linux?
Over the years, I have read many discussions about using Linux or other favorite platforms to program on, but I think it is irrelevant what we program on. When I started programming, all I knew was a little bit of C and it took me a long time to grasp exactly how to get the robot running. I feel the most important thing is to have a system where over the period of maybe a year, even a student can understand what is going on. Even today I DO NOT understand most of the code Kevin Watson gracefully provides us. I have just learned to use it. Maybe what I'm asking for is something where I don't have to understand EVERYTHING about the controller and yet I will be able to write code to get the robot working. After that, if it has the infrastructure to support complex devices such as an SD card, LCD screen, etc etc, then that might be fun to work with. If Linux can accomplish this, then I'm all for it.
|
Re: How important is Linux?
in my opinion, that would be a bit comlex. i'm a relatively new programmer, and i have no clue about anything like that. personally i'm for pretty much what we have now. also, we have to remember the new teams who might not know even how to program with mplab. i know it's relatively easy, but it's still difficult enough that new teams/programmers could experience trouble just getting their robots running..... jyst my 2 cents...
|
Re: How important is Linux?
I dont think that we need a full blown OS, I'm just all for totally open sourcing the current RC..
|
Re: How important is Linux?
As a programmer, part of me would love the possibilities opened up by going to Linux, or some other full blown OS on the controller. As a CS teacher, however, I think it would serve to increase the gap between the teams with lots of programming skill (and extra people in order to use that skill) and those without.
I do think squirrel is right about choosing an OS because it is not one that you dislike. I spend an awful lot of time with my students telling them that if they want to be good at development, they have to learn the difference between "I don't like xxx" and "xxx is a terrible operating system/program/whatever." |
Re: How important is Linux?
I think the use of an RTOS on the RC would be very beneficial to the forward progress of the FIRST program. Is it absolutely necessary? No, not at all. But, with the size/cost ratio of computing power going down by the day, we should really try to pack as much punch into our controllers as possible.
I think a problem with our current RC architecture is there is a real cap on innovation. Without interfacing to an external controller, there really isn't too much you can do with the standard hardware. Bringing an RTOS to the RC would open the door to networking, file systems, threading, and a multitude of other features. We could start using a modular, service based back end to handle I/O data. And with cool stuff like this floating around on the net, there's only more incentive to use an RTOS which can interpret anything that can be compiled to run on it. Whether or not the controller uses an RTOS, I think it is very important that the development environment be freed up. Windows only software like the C18 compiler has got to go. There are a multitude of users who would like to run another operating system and are left in the cold without installing C18 in WINE. Yuck! |
Re: How important is Linux?
Quote:
Quote:
I think it will be a big step to get over the "that seems too hard" barrier. We are used to writing C code to run on an embedded controller in real time... not an easy task for a high school freshman! But, there are tools to help facilitate in this process (default code, EasyC). These tools make it possible for people with absolutely no knowledge of C to program a robot to do basic functions with a very shallow learning curve. There is no reason why using an OS on the robot should be any different. If anything, it makes it easier because we can interface standards that most people are familiar with, instead of trying to teach them something entirely foreign. |
Re: How important is Linux?
Quote:
-Kevin |
| All times are GMT -5. The time now is 20:15. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi