View Single Post
  #38   Spotlight this post!  
Unread 28-04-2010, 02:05
taichichuan's Avatar
taichichuan taichichuan is offline
Software Mentor
AKA: Mike Anderson
FRC #0116 (Epsilon Delta)
Team Role: Mentor
 
Join Date: Feb 2010
Rookie Year: 2010
Location: Herndon, VA
Posts: 333
taichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud of
Send a message via AIM to taichichuan
Re: Anyone interested in a Linux-based robot solution?

Quote:
Originally Posted by EricVanWyk View Post
I think it is a fantastic idea to create your own control system(s). I learned a heck of a lot working on the 2009/2010FRC one. Please do not interpret any of the rest of this post as a suggestion that you shouldn't go for it: You Should Make Your Own Control System.

But, please examine your reasons for doing so carefully. If one of those reasons is "I want to fix something", please consider instead contributing to WPIlib! I believe that the system is nearing a point that it fundamentally can not improve beyond without direct, explicit user input. We all know what the bugs in the implementation are, and they are being worked on. What is hidden is the bugs in the underlying design of the user experience.

Several people have already submitted patches, and some of those have been accepted and put into the main line. Submit your own today! Go to the developers with specific and detailed information. They'd love to see things like: I was doing {use case description} and found myself doing {awkward work around description} because of { design flaw} , when really I should have been able to do { more intuitive user experience }.

You can not polish a design by starting over, no matter how many times you try. Quite the opposite happens.


Now, if your reason is either "The current system is fundamentally incapable of {X}" or "Dude, making our own system is going to be [fun / educational / totally wicked hawtsome ]", Rock On. I suggest talking to Squirrel or Keen101 - They have some really cool stuff in the pipeline already.
Well, there are a couple of primary motivations:

1) We need a way to be able to develop and test code in the absence of a cRIO.

This could be done via a cRIO simulator ala the Wind River Virtuatech (Simics) simulator. However, Simics is a 6-figure kind of product. And, then you've got to make the software models to make everything work. Not cheap, but it would have some value to National Instruments as well as the students.

2) We need a control system that is affordable by schools or individuals in larger numbers so students aren't limited to using just the cRIO during the build season but have something after the build season as well.

Related to #1. That is, enabling the students to work with a control system like the cRIO and WPILib at a more affordable price and without recurring subscription fees (as found in NI's robotics kit). Assuming that WRS isn't willing to pony up the cost of the Simics environment, we still need a way to help students learn basic control system techniques on a cost-effective platform. It can be argued that an O/S with Linux's protected mode memory model, is actually safer than the flat memory model in VxWorks (unless you try to teach the WRS Real-Time Process model). Either way, the WPILib would have to be enhanced to handle protected mode code. This benefits everyone.

3) There are elements of WPILib that are obscure at best and not consistent with current industry best practice.

This piece of it was not really related to the starting concept of the thread, because the original idea was to port the WPILib to make it platform agnostic; improving it for all platforms as we went. But, it appears that the thread touched a nerve. I have personal experience with the difficultly in using certain elements of the WPILib. Hopefully, everyone would come out ahead if we enhanced it to support a protected memory model and made fixes to usability as we went.

Whether or not FIRST approved the Linux solution for competition, just being able to have a faithful reproduction of the cRIO functionality for just a couple of hundred $ would be a big boost. It would be an emulation rather than a simulation. It could certainly support both the C/C++ and the Java environments. I don't have enough background with the Labview environment to know how well that development model would be supported. I can see that Labview supports Linux, but which CPU architectures isn't clear.

4) Finally, the process of getting a less expensive (and lighter!) version of the control system would, in fact, be fun.

I think many folks would benefit and the benefits to WPILib would also be tangible. Everybody wins.

Mike

Last edited by taichichuan : 28-04-2010 at 02:09.