Here is a pretty interesting thought my teammates and I were thinking about: is opaki legal or not
Many teams take advantage of Okapi’s premade functions for advanced programming such as odometry and motion profiling, Which greatly improves the accuracy of a robot’s autonomous.
However, G2 states that adults may only assist Students in urgent situations, and Adults may not create premade commands for students to copy and paste. Okapi in this situation can be considered a set of premade commands made by adults. Is okapi illegal in this case under the ruling of G2?
Ngl if this actually gets ruled to be illegal, I’ll consider whether C++ is legal or not
I don’t think you can rule it like this, cause then you could make the argument that VEX parts were made and designed by adults. The function thing is interesting, but I believe it should be legal. You can’t take things TOO literally. As the rule book states. use common sense.
G2 is there to keep competition fair, and to encourage learning. Okapi is available to all competitors, so it is fair to all. When it comes to using a library or API, there is obviously no expectation that a middle school student understands how something like VexOS works under the hood, however when using a tool like Okapi, a student should be able to understand and explain what’s going on. Okapi shouldn’t be ruled illegal imo, as it’s a great building block or time saver for even the best teams. Even so, it is no magic bullet that will instantly make you a better team.
If for example, an adult software engineer created an okapi-like library for me and me alone, that would probably violate G2. Okapi (and the rest of PROS) are open source and available for everyone.
Yeah that’s how i thought the rule will go after some further thinking. However the team should still be able to explain how some parts of okapi works, rather than just blindly copy and pasting to use it
The student centered learning guide covers programming in some detail and includes this:
Teams that utilize example code or custom libraries from outside sources should use caution. The program used in the robot should represent the students’ design efforts and abilities. Blindly using code without understanding the code functionality is not consistent with the educational goals of this program. Students should be able to understand and explain the code used on their robots, and students should be able to demonstrate that they can program on par with the code included on their robot.
Trust me teams will have any easier time explaining okapi than explaining the scheduler /multithreading scheme in each programming environment. So I think it’s all moot.