The Falcon 500 looks like an awesome technological step. The tight integration of the electronics looks like it will deliver some powerful improvements in performance.
But I am wondering if we are going in the wrong direction.
With the programming languages of choice for the robot’s main controller, the roboRio, moving toward higher level languages that are not well suited for real time control, due to high level services like garbage collection, there is more push to move the control systems to the motor controllers, which are “black boxes” outside of the customization of the students.
It’s like FRC is moving towards LEGO Mindstorms. I feel this may be a lost educational experience. For example, I’ve always been against using provided ‘PID’ controllers. That’s something the students should write themselves. I’ve always encouraged the students to write electrical current limiting software based on the motor EMF and measured motor speed. But that now is relegated to black-box features of the speed controllers, that often don’t implement it in the manner expected.
I am excited about the Falcon 500. My concern is really more directed at the black-box ESC (motor controllers) that implement control loops, software/firmware current limiting, and vague algorithms like those that report position and velocity measurements without timestamps.
A primary objective of FIRST is education, and I think we are missing the opportunity to learn fundamental engineering.
Is too much being implemented for the students?