Robots

The idea is simple. Every robot has controllers and every controller does something to it's robot (more info under the diagram).

Every robot extends the RobotBase class. Just like Fred. This makes sure every robot has a MotionController, ActionController, a drive class and a RobotPort. In addition to these, Fred also has a PropellerController.

Fred's Drive class is the FourWheelHolonomicDrive class, because (obviously) he is a four wheel holonomic robot.

Every robot needs a Drive class, because the MotionController uses this Drive class to drive the robot.