Greetings fellow robot fans,
I’m just throwing an idea out here. Are any of you interested in a Linux version of WPILib? I see several companies are starting to produce ARM-based boards that have all of the DIOs and AIs that you would need for a robot e.g.:
http://www.vexforum.com/wiki/index.php/VEX_Arm9_Microcontroller
http://www.phidgets.com/products.php?category=21&product_id=1070
These are way cheaper than the NI cRIO platform. Don’t get me wrong, I like the cRIO, but for cash-strapped school systems, the expense of the cRIO can be daunting. I actually looked into NI’s robot starter kit as well. But, I found that the multi several $K price tag to keep the software licenses running after the 6 month software timeout to be way too expensive even with the substantial educational discount.
Before you panic about sponsors, both WRS and NI support Linux versions of their development environments as well as Linux target code. An the development environments can run on Linux or Windows and still cross-target code to Linux. I’m not looking to alienate anyone here, just looking into an alternative that can help lower costs and provide for a little more flexibility.
In addition, for those who are really interested, you could then support Python, Java, C/C++, Perl (shell scripts !?!?!) etc. with multi-tasking and have memory protection that would keep bad pointers from crashing the system as easily as it can be done w/ the flat memory model of VxWorks. Also, with WRS’s Linux and the PREEMPT_RT patch (which WRS includes in their distro), you can get the kind of real-time performance that we would need for FRC. Or, you could build it yourself with something like the OpenEmbedded distro if you were so inclined.
Of course, the WPILib would need to be ported. That wouldn’t be trivial. But, it’s certainly doable in a couple of months based on my examination of the code. Certainly, with the memory protection of the kernel and key data structures that Linux provides, you could certainly argue that a robot based on a protected-mode O/S like Linux would be “safer”. Also, as someone who works in the embedded space and has for 30+ years, I can tell you that Linux is a serious contender for embedded systems (e.g., Android, WebOS, Nokia’s Maemo, etc.). Having embedded Linux experience would be a real plus for the students.
This isn’t intended to replace the existing hardware/software combinations – just provide a lower-cost alternative. One that would allow the students to continue to develop and test code in the absence of the main robot or after the build season.
So, what are your opinions? Would you be interested in a low-cost Linux-based solution? I’m sure that I’ve not taken into account all of the political ramifications, but let’s worry about the technical challenge first.
Any thoughts?
Mike