An Intro to Mustangs Programming

Our programming journey includes various different methods in order to achieve the most accurate and efficient control in the FTC Challenge. 

The first step we can perform to accomplish this is by experimenting with different program software to determine the most effective software for programming our robot!


Blocks Programming: 

Like most, our journey started out with the simplest way to program anything, blocks!


Using the in-built block programming editor that was aligned with the REV Robotics Control Hubs, we were able to perform programming with this fairly easily. 

OnBotJava Programming: 

Throughout our time last year working with Blocks programming, we started to realize some inefficiencies and decided to shift over to software that could help us be more precise with the commands we are giving the robot.

Our journey into figuring out this solution involved going directly to FIRST. 

Therefore we decided to use the OnBotJava programming library that was supported by FIRST, an official interpretation of Java that is catered to meet the needs of FTC Robotics. 

Using the programming editor, it became easier to sync code to our REV Hubs, as well as help us understand and learn Java to make our robot more efficient and accurate through specific commands written in common line code. 

Android Studio Java Programming: 

Although we found a feasible solution to create accurate programs, in the long term we started to realize there were minute errors that would be occuring on because of the langauge we chose, but because of the restriction of the OnBot editor. 

Through lots of research, we looked into solutions that could be integrated to help avoid these errors that OnBotJava was giving us. 

As a result, we decided to move to Android Studio, a third-party IDE (Integrate Development Environment), that would help us download the necessary tools required to make our programming as a whole more accurate. 

RoadRunner: 

This leads into the most accurate control we use today, RoadRunner. 

What is RoadRunner?

RoadRunner is a library that allows us to perform a several amount of tasks. It allows us use the technology integrated in machines, sensors, algorithms, and even map out the tasks that we want to perform. 

RoadRunnner is a complex and interesting software, but it's main objective is to create as minimal error as possible. 

Using the PID Controller allows us to correct any extra movements, or position changes made in the game. PID stands for Proportional, Integral, and Derivative, three formulas that can be used to create an effective "auto-correct". 

Along with the PID Controller, we use a GyroSensor inorder to make movements such as turns, more precise. The GyroSensor allows us to tell our robot what direction it is facing, allows us to easily integrate program in order to correct a misaligned position.