North Carolina state high school robotics champions, the Green Hope Falcons, to be at All Things Open
We believe open source education starts early and each year we do everything possible to encourage and recognize it.
This year we’re really proud to continue that tradition as we host the North Carolina back-to-back state high school robotics champions, the Green Horn Falcons.
Ryan Shah, Dan Lieberman, and their colleagues will have their award-winning robot on display at the conference at a booth adjoining the IBM exhibit tables (#28 and #29 on the 3rd floor) for everyone to see. We encourage everyone in attendance to stop by and say hello, and check out the robot of course.
We commend the Green Hope Falcons as they actively engage students and mentors in STEM in many different ways, including using open-source code, mentoring other FIRST Robotics Competition (FRC) teams, and utilizing industry-standard programming practices to improve their performance. We look forward to meeting them next week!
Read the blog post from the Green Hope Falcons team below for yourself. You’ll see how FRC 5190 is helping the local and broader community, implementing cutting-edge technology, and achieving world-wide recognition in the process.
FRC 5190: Green Hope Falcons
FIRST Robotics Competition Back-to-Back North Carolina State Champions
FRC 5190: Green Hope Falcons strives to enrich the lives of students and mentors through STEM (Science Technology Engineering Mathematics) education and the FIRST organization. The team uses their desire to engage students and mentors in STEM in many different ways, including using open-source code, mentoring other FIRST Robotics Competition (FRC) teams, and utilize industry-standard programming practices to improve their performance.
FRC 5190 implements open-source within FRC by uploading their robot code, library, and other debugging tools to GitHub in order to benefit teams, worldwide. The reasoning for this is to exceed the mission of FIRST, which states “to spread STEM throughout the broader community,” and the team believes that open-sourcing their own robot code for other teams to read and use, take them farther down the path of exceeding the standards set by the FIRST organization. World-class teams from California, Pennsylvania, and even Israel have used FRC 5190’s library to win their own competitions, taking those teams more competitive competitions. Rookie and veteran FRC 5190 students have actively participated in developing functionality for the libraries that are distributed to FRC teams each year. For example, the code that involved robot kinematics, odometry, trajectory generation, and trajectory following have all been contributed by FRC 5190 members and is available to 3500+ teams that participate in the competition.
FRC 5190 has helped many other FRC teams throughout the years, especially in North Carolina. Through regular workshops and webinars, FRC 5190 has spread knowledge about odometry, trajectory generation and following, and much more. Teams often approach FRC 5190 or go to their lab for help or to understand the state of the state champion’s software during competitions. FRC 5190 is recognized as one of the best and most helpful software teams in the nation.
FRC 5190 uses Kotlin and Java to program their robots. The team uses Kotlin because the programming language offers more functionality than Java (in terms of multithreading) and is usually more concise than Java, even for basic tasks. FRC 5190 uses the Java Virtual Machine (JVM) platform because of the philosophy of “program once, run everything,” or in other words, the code written can run on any platform, such as Windows, MacBook, or a RoboRIO (the brain of the robot), which runs Linux ARM. The team uses JVM because of the diverse support of industrial build systems, such as Gradle. FRC 5190 uses Gradle to deploy code to the robot (a remote target) and to build and run unit tests with the help from the Java JUnit framework. Finally, students at Green Hope High School, FRC 5190’s feeder school, learn Java in the AP Computer Science A class, which teaches students object-oriented programming in Java.
FRC 5190’s coding process consists of industry-standard programming practices when programming robots and using a scouting application that helps in collecting data about other teams at competitions. First, the team uses a project management system (usually through GitHub projects) is maintained. A kanban style is used to keep tasks organized with the use of columns that read backlog, in progress, and completed. Members of the programming team take responsibility for completing their tasks. Each member works on their feature or bug fix in a separate branch, and once that branch has been tested on the robot (for robot code) or has unit tests (for the scouting application), the students create a pull request on GitHub. Students leaders then review and approve the pull request and the pull request is merged into the master branch, which represents the code that has been tested on the state championship robot. In addition, students are well versed with Git functionality, including cloning, rebasing, committing, pushing, and pulling by consistently using these features to push new changes and keep branches up to date with the master. Students observe their code in action at competitions through robot performance and take note of potential changes that should be made to the code. FRC 5190 uses many other tools to debug code during testing by developing tools to improve work efficiency. For example, the FalconDashboard is a utility that allows the team to visualize the robot’s position on the field without needing a robot or field. The FalconDashboard assists the programming team immensely when testing autonomous modes to visualize accuracy and precision with which the robot is tracking the target trajectory. Furthermore, FalconDashboard can the positions of vision targets, which helps to potential vision alignment issues during testing.
In the end, FRC 5190 has used open-source, mentoring other FRC team in programming, and industry-standard programming practices to achieve world-class recognition and to improve their own performance.