|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||
|
|||
|
Re: CommandBasedRobot v. IterativeRobot
If you have been using iterative and understand it, i would recommend sticking with it at least till off-season just so that you don't need to learn anything too new in the middle of build season.
|
|
#2
|
|||||
|
|||||
|
Re: CommandBasedRobot v. IterativeRobot
This is sound advice. I think Command-Based is pretty nifty as if you have a robust set of basic actions/commands programmed, it makes building automations and autonomous routines pretty easy. But there's definitely quirks to the framework that can hang you up.
|
|
#3
|
||||
|
||||
|
Re: CommandBasedRobot v. IterativeRobot
I definitely prefer CommandBased because of having commands and subsystems split out into separate files. Yes, managing all the files can be a little hard and the structure can get confusing (most of the time it's me going "wait, did I declare that in this subsystem or that one??") but overall, it keeps everything clean and spread out so that if you break something it's easier to fix.
Not sure if you've read it, but this is the reading the previous head of programming had me read that inspired the use of the CommandBased robot: http://www.laputan.org/mud/ It's an interesting read, I suggest you take a look. |
|
#4
|
|||
|
|||
|
Re: CommandBasedRobot v. IterativeRobot
Iterative is more straightforward. Once you chafe at the restrictions that iterative imposes on you, switching to CommandBased will probably feel like a breath of fresh air. Before these frameworks came out, it was really hard for a student programmer just learning programming to do anything with coding. Now, with a rudimentary understanding of C++, they can successfully create new commands and work on Subsystems. More experienced student programmers can do the whole thing.
Doing more than one thing at a time in Iterative is complicated (i.e. driving while moving an arm). In CommandBased, it's easy. I tend to avoid the RobotBuilder because I want to explain what we're doing as we go along, but the code it emits is not all that different from what I would code by hand (that is, before you have to put your logic in). |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|