View Single Post
  #1   Spotlight this post!  
Unread 11-09-2007, 08:48
Gdeaver Gdeaver is online now
Registered User
FRC #1640
Team Role: Mentor
 
Join Date: Mar 2004
Rookie Year: 2001
Location: West Chester, Pa.
Posts: 1,357
Gdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond repute
New R/C Chicken or the Egg

There has been some discussion concerning the new First control system. recently there was the survey and Kevin Watson's post about a Linux R/C.
Question, Do you pick the programming environment and then choose the hardware to fit the programming environment or do you design a hardware platform and choose the programming environment to fit the hardware? To me this seams like the chicken or the egg problem. I expected to see posts debating the architecture or form of the new controller. Instead the focus has been on Linux, RTOS, .net, windows CE, plain old C, etc.. There has been no discussion of the control paradigm.

Maybe we should forget the software, step back and think about how we want to control our robots 5 years from now and what kind of games our robot will be playing. Do we want more autonomous play? Do we want more human remote control type games. Personally, I always thought robotics was about removing the human from the loop.

I think the first choice to be made for the new control system is do we go to a distributed serialized control with intelligent peripherals or keep all the processing in the controller and stay with cheap dumb peripherals. First could stay with a system like we have now and just go to a more powerful processor. Or, go to a distributed intelligent serialized control. Think of todays modern cars. The wind shied wiper is a intelligent peripheral. There are intelligent door modules, lighting modules, electronic steering Modules, dash board modules, cooling Modules, hvac Modules, etc all connected by a buss (usually can or lin or combo). Look at the ST micro automotive site for an example of of what i"m talking about. Cars are 12 volt robots, we can borrow allot from their systems. Think of the pneumatics system as it is now. If you wanted to have 8 dual solenoid controlled cylinders, think of the mess you would have with all the spikes and single solenoids. We could have a pneumatic Module. Have a serial buss connected pic controlling a intelligent high side switch for the compressor, the pressure switch connects to this pic and 4 quad intelligent high side switch chips drive the solenoid coils. The pic is sent commands over a serial buss to control the solenoids. From a software perspective the pneumatic subsystem is an object with properties and methods. Add a manifold for the solenoids and the pneumatics are now a smaller neater subsystem more easily removed or added to the robot. In a serialized system the victors have to get smart. That means they would also take serial commands and effect the commanded actions and also would have feed back. There would still be a master RC handling the supervisor, safety and communications routines. The big question is where to put the master control program (user routine). In a laptop at the player stations or in the master RC on the robot. To me this is the first choice to be made. Stay with or current system and make it more powerful or serialize it. Comments?