In Tualatin Robotics our programming team is one of the most unique and organized teams in the team. Not only do we have a highly capable and efficient programming leader, Brandon P., but our team structure consists of several capable sub teams. Thanks to the power of communication, our programming teams have been able to accomplish the complex movement of our drive train system. Also our shooter program is almost done as it has been developed by one of our brilliant programmers, Kevin G..
The programming language we are using to operate and control our robot is C++. To test the robot our programmers build prototypes to test on, then if the test runs successfully, they test it on the real robot. Our primary challenge is not having a complete final robot design to work on. So far our major successes are – our Proportional Integral Derivative (PID) drive train is working, also the robot is capable of sensing where it is and moves itself based on that location. We also have advanced control of the motors which helps us with our maneuvering abilities. Thanks to our PID, our robot is accurate and it’s movement looks promising. However, we do believe that if we get a better robot chassis to program, it would help us bring all the pieces together.
The programming team has been doing exceptionally well accomplishing their tasks, and then some. The two main programmers enjoy using the LabView programming tool due to its ease of access, visual representation, and simplicity. Also, when they look at it, it gives the rest of the team some sort of clue as to what the code does. We usually test the code in the field, and adjust it thereafter if need be. We have struggled with getting the code to precisely where we would like, but it almost always gets within a good range. It is also somewhat difficult to fit the code to our designated drivers’ and coaches’ preferences for performance. There is continual debate ongoing about our preferred power setting for wheel, shooting and lifting motors.
Currently, we have all the necessary coding that we need – loading, shooting, moving, and lifting the robot– and are now working on additional code that will assist our drivers in their tasks. We want to take our robot above and beyond what would be expected of a newer team. When it comes to scoring goals, our robot has the necessary accuracy and precision it needs to be successful in this year’s FRC competition. We will not be surprised any time we score 18 points during autonomous. We will score points during teleop limited only by time and the number of disks we get loaded. We have enjoyed the challenges we have faced, and hope that our next years in FRC will teach us many more skills in the field of robotics. We have already learned we will be more capable than we ever would have believed just a year ago.
The 3192 Programming Team began the season with the goal of programming our robot in C++. We have always used LabView in the past and thought that using a “pure coding” process would be more flexible than using the object oriented techniques in LabView. Working through the fall, we eventually found that converting to C++ would be a long-term process involving more instruction and practice than the time we had allowed. So in December, we decided to return to LabView. We dusted off the template, set up baseline programs that would support any of the possible drive systems would may decide to use and waited for the game to be revealed.
On 8 January, we began the design process and the team decided to used a mercanum based chassis and drive system, something that none of us had ever done before. The learning curve was steep as we assembled a practice chassis and began learning how to program for this complex system. By late January, we had the mercanum drive programming in the bag and added the controls for the new launching and lifting systems the Build Team had devised.
For the first time in our team’s existence, we were ahead of the process! Now we could take time to program a guidance system that would allow us to shoot with great accuracy in autonomous or telemetry mode.
We are now in the process of marrying up all the sensors, programs and devices we have constructed into a single robot. We expect to have a week of practice before the Bag and Tag Day… another first for us.