In our second year, our aim is improve on all we learned last year. In addition to attending the kickoff, we hosted a workshop to share what we learned about starting a team before attending workshops to see what we could learn. In September, we went camping together where we engaged in team building activities and discussed our design plans, settling on a GoBilda slide that we found in the catalog as a key design piece. When we were able to secure funding we purchased a second matching slide and embarked on a new team plan whereby each team member took the lead on a part of the process.
This year, learning CAD is on our list of goals and we worked on learning that software. We bought a new drivetrain and assembled that and quickly chose a slide to add to the build. Both builds went much more smoothly this year with some experience under our belt and coaches with build (and tool) experience to give guidance.
Our drone lead (Alice) did a little YouTube research on drone launchers for inspiration and built it using Tetrix parts, two servos, and a rubber band. It is actually a stand-alone piece that can be detached from the robot. She also has experimented with several airplanes to determine which one is most reliable and accurate. Our drone currently works about 50% of the time (landing in the 20- and 30-point zone), but Alice is undertaking further refinements to improve that success rate.
Illy took the lead on our hang mechanism and quickly determined the best course of action was to install a second bar on the slides we already had placed and attached a "hook" mechanism. She went through our spare parts box to find the perfect piece to hold the weight of the robot on the bar and the hang design and implementation was successful from the first test.
Pixel collection and placement was our biggest challenge. As lead builder, Maya worked on all elements, but most of us worked on the elements. We originally started with an intake system that involved a sweeping mechanism that resembled a Roomba. Coach Austin pointed out that it was unnecessarily complicated and we removed it and moved our pixel guide to the front of the bot for collection. With the addition of some guide bars, we determined he was correct.
Our claw went from a fully non-functional design that tried to grasp the pixels from the sides to a design that picks pixels up in the center. The original build had pinchers that were too wide and required too much precision to place them in center hole of the pixels and was replaced with slender arms enhanced with rubber bands for gripping. This design proved successful for pixel collection and placement, although we want to refine it for speed and precision following our first competition.
Our lead coder, Eleanor, was successful last year, bringing a functioning, if not complete, autonomous to our first match. Her goal this year is to have a reliable autonomous that scores 45 points. She has moved from block coding to OnBot Java for this year's coding and started the year brainstorming what kind of sensors were needed to best control the bot. The result is a bot with distance and magnetic sensors, as well as a camera to read April tags. The magnetic sensors are key in ensuring the smooth functioning of our arm and claw system.
In autonomous, she is using a algorithm this year to test her autonomous, which has improved her process greatly. The teleOp coding this year was more challenging, requiring not only control of driving and a "claw" but also controls for the hang and the drone launcher. In consultation with the drivers, Eleanor has divided those tasks between the controllers so that even our first-year drivers are able to control the bot successfully.
A primary part of our game strategy this year is to have a bot that is reliable in all game components and that does not break down. Eleanor hopes to have a 45-point autonomous, Illy's hang is always successful, and Alice's drone always launches (barring rubber band failure) with about a 50% success rate in scoring points. At our first competition, with a brand-new driver, our goal was to score six pixels on the board. Although all the elements were not always successful in that first competition, we were able to score well in every match and completed the qualifiers in first place. After the competition, we determined our bot could be faster and score more pixels if it was smaller and we want to develop a pixel placer that works without the need for adjustment so that we can place more pixels faster and in mosaic patterns. These improvements to teleOp should support our already successful autonomous, drone, and hang elements.
Since we are a rookie team, our first step was to learn the basics of building a robot. We attended kickoff workshops, watched YouTube videos, and talked with other teams to get a good idea on how to begin the build process. We also attended a qualifier to meet other teams and got a better understanding on how the competitions worked.
We began learning about the basics of building a robot and watched many YouTube videos to get started. We had REV, goBILDA, and Actobotics to choose from, and began experimenting with each of them. We decided on Rev and began diligently following instructions to build our drivetrain. We also order Mecanum wheels that allow the robot to move smoothly. After our drivetrain was completed we began designing our arm. We found designs for an arm by another team and had Maya 3D print it. This arm was heavy and difficult to attach so we salvaged a linear slide arm from our team's past robot. This arm was goBILDA, and it was challenging to connect it to the drivetrain. We also got the control hub set up to the robot so we could drive it around. We had the arm attached, but ran out of time to find a claw design for our first qualifier so so we practiced scoring ground junctions as a push bot.
After the first competition, with the help of the Tie Dye Samurais, we made a Tetrix claw with parts from an Andy Mark wheel. We also used screws from every company. We used a servo to power the claw and a REV motor (20:1) to power the arm. We found that our arm was not long enough and added another slide to be able to reach the highest junction. We won two matches in our second competition in between troubleshooting robot malfunctions. Heading into our last competition, we are having issues with the linear slide motor as the axle is coming off, and we hope to fix that with Loctite.
When we did not have a functioning arm and claw, our game plan was to use our drivetrain to push the cones into a terminal or ground junction. We also are planning to contribute by parking in autonomous and endgame. Once we expanded the functionality of our robot, we have the ability to score on all junctions and therefore make a circuit. Our drivers are practing hard to be able to score the most points. After trying a different approach in the second competition, we are returning to our original autonomous plan, which reliably scored 20 points.
Eleanor did the majority of the coding, while Maya and Margo assisted and learned. We used onBot Blocks to accomplish our Autonomous and TeleOp code. Hopefully, we will be able to transition into onBot Java or Android Studio Java for further experience. Also, as well as help from mentors, there were many online resources used such as the FTC Blocks Tutorial on GitHub (https://github.com/FIRST-Tech-Challenge/SKYSTONE/wiki/Blocks-Tutorial) and the tutorial about programming Mecanum Wheels (with Java) by gm0 (https://gm0.org/en/latest/docs/software/tutorials/mecanum-drive.html).
For Autonomous, our goals were to park in the specified zone by reading the signal cone and scoring a few cones. For the first competition, we were only able to complete one of these two tasks due to a decreasing amount of time. To read our custom signal sleeve, Eleanor programmed a REV V3 Color Sensor to react and move to the different signal zones according to the color perceived.
In the second competition, we thought we were able to do both. However, on the field, the autonomous code failed miserably. Eleanor fixed the code to make sure that doesn't happen again, and her code is fully functional now. Eleanor programmed a REV V3 Color Sensor to read our custom signal sleeve to react and move to the different signal zones according to the color perceived. She has done a lot of testing to precisely move the robot to grab a cone. For our TeleOp code, our goals were to control the mecanum drivetrain according to our driver(s)' needs. For our TeleOp code, our goals were to control the mecanum drivetrain according to our drivers' needs. We also were hoping to control our arm and claw but we had an unused arm and nonexistent claw during the first competition. By the second competition, we were able to finish our arm & claw in the nick of time, ready for competition use. For the final competition, Eleanor has recently been adding "fast" and "slow" buttons to help control the robot better.