View Single Post
  #2   Spotlight this post!  
Unread 12-02-2015, 16:22
cstelter cstelter is offline
Programming Mentor
AKA: Craig Stelter
FRC #3018 (Nordic Storm)
Team Role: Mentor
 
Join Date: Apr 2012
Rookie Year: 2012
Location: Mankato, MN
Posts: 77
cstelter will become famous soon enough
Re: Pd loop autonomous

Quote:
Originally Posted by Poseidon1671 View Post
I agree that command based is better, but it can be harder for newer teams/programmers, especially if you are used to using Simple or IterativeRobot. That is the main reason we are using IterativeRobot with no commands this year. It's simpler and we find it easier to adjust and add things, at least until we take some time to test and learn how to use the command based format effectively.
That is a real concern in a 6 week period of time. I still encourage teams to start that way if at all possible. In the long run, I think they can do more with less headaches.

For kids to be successful in 6 weeks (assuming mostly rookies coming in), I question how simple 'SimpleRobot' really is. I would rather teach the kids how to use RobotBuilder which writes a ton of infrastructure code for them. RobotBuilder is the grease that makes programming in command based accessible for even students very new to programming. I realize some dislike the RobotBuilder infrastructure for its propensity to expose elements at the global level that ought to be kept private down in the subsystems, but I can overlook that because my goal as a mentor is to teach the students how to make the robot go and as much java/OO concepts as I can in the process of making the robot go.

Once RobotBuilder has done its thing, one can teach them where they need to go to enhance vanilla Robot Builder (mostly subsytem methods and command execute()), and teach them how Commands and CommandGroups work. Wrapping their head around how to write a loop that does states or even how to deal with an iterative function that has to do different things under different conditions is in some ways just as hard as grasping the object oriented concepts involved with commands, subsystems, schedulers and RobotDrive. In the end, they've learned more toward what real programming is about in today's industry (IMO). They'll be thinking OO and even starting to understand data abstraction, inheritance, and encapsulation even if we don't use those terms a lot. To me that's more valuable than learning how to write a state machine. But that is just one guy's opinion and I can certainly appreciate different perspectives on it.
Reply With Quote