Team 20177
High Velocity
Engineering Portfolio
Meet The Team
Hello, we are team 20177 High Velocity. We started in 2021 after we split off from our sister team 15036 Java Da Hutt. This is our third season and we have some new members. Each person has a different main job on the team including some smaller jobs they contribute to doing as well.
Ryan Schaefer
Ryan has been involved in the Cove Robotics program since 2021 but transferred from team 20300 to team 20177 to become the builder in 2022. His role as a builder on the team means he is responsible for some of the physical structures on the robot. He dreams up and designs ideas and then brings them to life.
Gus Aguilera
Gus joined the Cove Robotics program this year and started on team 20177. Gus is our driver and marketing guy. Gus spends a lot of his time practicing on the field or keeping up with the latest robotics news. Gus has built most of the website for our team and uses social media to make sure we stay relevant in the public eye.
Reese Delaney
Reese has been involved in the Cove Robotics program since 2019. At the beginning of the 2021 school year, Reese left team 15036 to start team 20177. His main roles on the team are electronics and coding for the robot. When something electrical needs to be done, Reese is your guy.
Tanner Rovey
Tanner, like Reese, has also been involved in the Cove Robotics program since 2019. Tanner also got his start on team 15036 but left this year to join team 20177. Tanner bears a lot of the robot-building responsibilities like Ryan. He designs, tests, designs, tests, and then… Finally! Tanner over time in his FTC career has proven to make long-lasting high-quality robot parts that excel and assist in giving our robot the upper hand in matches.
Sen Walker
Sen is a first-year robotics student and a freshman. Her interests include drawing, building, and helping keep the team organized. Her main job is designing and marketing for the team.
Plan Of Attack
-How We Work
On our team, every member has responsibilities and expectations they need to meet. These responsibilities are based on what the specific team member is interested in and wants to do for our team. In a few instances, we may have a team emergency where we may temporarily allocate all team members to help with something outside of their normal responsibilities.
-Our Design Process
Find Out What Needs To Be Done: Identify the task at hand.
Design Prototype: Come up with a solution that may be a solution to the task.
Evaluate Prototype: Test the prototype and see if it will work as a reliable solution.
Turn Prototype Into Production: If we are confident that the prototype is a reliable solution then we will fully implement the design onto our robot as production ready.
Introducing Our Robot
- Drive Train
For this year's robot, we knew we would have to make the robot big and open so the rest of the components could fit. We are using vertically mounted motors. This frees up a ton of space that can be used for other parts of the robot. We are using 4 GoBilda Yellow Jacked motors with a mecanum drive for advanced mobility on the field. This helps us score points faster than our opponents. Vertical motors work by using bevel gears which work at 90-degree angles.
(Images of vertical motors, the bottom two show the 90-degree bevel gears)
- Linear Slide
Like last year we are using a linear slide as our lifting mechanism, but with a few changes. The main change is moving from the entry-level Rev channel linear slide kit to dedicated GoBilda Viper Slides. Unlike the Rev channel kit, GoBilda Viper Slides use bearings which make the slides run smoother and more reliable. The slide is powered by a Kevlar string that is automated with code that stops the slide in a decided starting position. This keeps the string from breaking from going too far and maintains consistent string tension which gives the driver more consistent robot responses. This linear slide is relatively fast and compact. Linear slides can reach incredible heights that traditional arms can’t.
(The first photo is of the bearings in the GoBilda Viper slide, the second is of how the slide is powered, and the third and fourth are of the slide closed and extended.)
- Intake
Our intake is designed to load pixels automatically as we run over them with our robot. It works by sucking in the pixels with a rotational servo by gripping them with surgical tubing and then moving it up via surgical tubing and a motor into our scoring bucket. The best part is we don’t have to be overly precise with the placement of the pixels since it will be able to suck it up anyways. This allows us to gain great speed when acquiring pixels where others will have to have precision which in turn makes it slower.
(Above are photos of the path the pixel takes when loaded into the intake system)
- Scoring Bucket
Once the pixel is through the intake it slides into the Scoring Bucket. The scoring bucket is attached to the linear slide which is then raised to score on the backdrop. The scoring bucket is angled to the exact angle of the backdrop to prevent any sort of extra stress or binding. While most teams may clamp their pixels with a servo to drop them on the backdrop, the scoring bucket uses a mechanical bunt system instead. The way it works is that once the scoring bucket hits the backdrop, a piece cradling the pixel is moved allowing the pixel to fall. This system is way easier to manage since servos or other motorized methods require external wiring which can be difficult to manage when the slide has to move up and down.
(The images above showcase the bunt release system on the scoring bucket)
- Drone Shooter
Our drone shooter consists of a Servo, PVC Pipe, and some Elastic band. The Drone gets loaded into the PVC Pipe and the elastic band is pulled back to be held by the servo. When the Servo moves in the endgame the elastic band is released propelling the drone to the first or second zone, totaling 20-30 points. This has overall been relatively consistent and reliable for us and has not been subject to many changes.
(Above are images of what our drone shooter looks like, and where the drone is loaded)
(Above are images of the mechanism used for the drone shooter, aswell as what the paper drones look like)
- Lifting System
Our lifting system is built on the concept of driving under the Truss Bars on the field. Our robot does this by extending hooks on servo arms. Once this has happened the Servo arms drop and the Hooks which are magnetized latch on. The hooks are attached to Kevlar string to the robot and pulled with a geared-down DC motor. In ideal matches, the robot can pull all 4 wheels off the ground in under 10 seconds which will score us 20 points.
(Above are images showcasing our Lifting mechanism, once the hooks are latched onto the Truss Bar, the magnets detach and the robot pulls itself up with the Kevlar string)
- Camera Detection
Last year we introduced camera detection using a prebuilt library called April Tags, which worked very well. This year, however, we found April Tags to be less useful since the game rules specify they cannot be used on team props. So this year we took a different approach to camera detection called TensorFlow. TensorFlow allows us to detect any object we want. You can detect anything from game pieces to car keys with TensorFlow. For our specific use case, we are using it to detect our team prop and differentiate where it is on the 3 spike marks in the autonomous period.
(Above are images of our team props, our camera, and a layout of which part of the field our robot detects)
- PID Control/Encoders
When you normally code an autonomous without encoders it's very typical to use sleep commands and milliseconds to tell your robot how far it needs to go in a specific direction. For example, if you wanted your robot to go forward a couple of inches you would tell your robot to go forward and stop after an amount of time has passed. This works, but when your battery starts to drain and the voltage isn’t as high as it used to be then your robot won’t go as far as it did before. With PID control this doesn't happen. Instead of your robot measuring how far it goes with time it measures how far it goes with motor tics. This means you can tell your robot to go a couple of inches forward and every time it will go that same distance no matter the battery voltage. This is crucial for success in the autonomous mode because our robot will continue to perform the same regardless of battery life, meaning our first match will be the same as our last. It helps to ensure our robot will score points all the time no matter the conditions.
(Robot with normal milliseconds) (Robot with PID control)
Design Process and CAD
To speed up the development of the robot this year, we have started designing our robot in CAD beforehand. This allows us to save time in figuring out whether or not a design idea is worth pursuing further or if we need to find another solution to the problem. We are using Autodesk Fusion 360 as a team. Most team members are at least fluent in the basics of how to develop objects which also helps with designing custom parts that can later be 3D printed. We have used Fusion 360 to build our entire robot which has saved time and team resources. (Pictures are below). We can see how our robot looks with different chassis and different critical components, (like a linear slide or scissor lift).
Our Failures
- Linear Slide/Lifting Mechanism
The linear slide wasn’t our first choice when it came to choosing a lift mechanism for the robot. We first started with a dual-scissor lift design at the beginning of the year. It had many issues, the main one was that it required so much force to move even with torque motors and Kevlar string. The strings would snap in less than a day of use, which was annoying to fix during competitions. This is due to the constant issues we faced with binding and keeping the two halves of the scissor lift balanced. Because of this, we made the switch to the GoBilda linear slide halfway through the season as it would relieve a lot of the strain on the Kevlar string. Also, it's a lot easier to work on if something breaks since with the scissor lift we would have to fix both sides otherwise there would be an increased risk of binding, which in turn would increase the risk of breaking again.
(The images above show what the scissor lift looked like, the issue was making sure the two halves didn’t bind)
- Overall Build Quality
This robot is one of the best we have ever produced as a team, but due to many things, the robot has suffered some issues like always losing screws, random noises like skipping gears, and worst of all: connection and wiring issues with the robot. These may seem like they can be fixed easily, and that can be true. But things like rewiring major parts of the robot can take a couple of days and it sets the entire team back which is a killer when you are so close to competition.
- Internal Team Communication
One issue that has occurred this year is a lack of communication within the team. No single team member is responsible for this of course. This is mainly due to not being able to have the entire team at most of the practices at the same time. We have an hour in class at Cove High School, and 2-3 hours after school. But rarely is everyone able to make it to both of those. Due to this, it is difficult to translate ideas from one member to another. In simpler terms, it is hard for everyone to be on the same page about what is going on. To overcome this we have designated jobs only to people who we are 100% sure will be able to work on it at the same time, whereas before we gave jobs out to anyone who wanted to work on them even if they couldn’t be available at the same time. This has proved successful and has increased our team's productivity with the changes.
Game Strategy
- Autonomous
In the 30-second Autonomous mode, we plan on using camera detection to identify where our custom prop is on the three spike marks. With this important information, we will try to deliver the Purple pre-loaded pixel to the correct spike mark. After completing this action the robot will then extend its linear slide and score the Yellow pre-loaded pixel onto the correct position on the backdrop. After that, the last job is to park in the backstage. If all the actions are performed this should give us 45 points. (Below is a drawing of the path)
- Teleop
In Teleop we plan to grab pixels from our alliance wing and human player. Then we will work with our alliance to score points on the backdrop. At the 30-second endgame period, we will launch our drone, attempt to score more points on the backdrop, and then last but not least the robot will lift itself off the ground. (Below is a drawing of the path before endgame)
Outreach
- Internal Outreach
Between last season and this season, we showed our robot to the younger kids at our school. We wanted to generate excitement and interest in the robotics program. All active Cove teams participated. We were able to run two matches. It was very fun and we hope to see some of these kids join the program when they are old enough. This is a schoolwide effort to get more kids involved in the Cove community.
- External Outreach (Technical Communities)
With help from our coaches, we have looked to individuals in our community to help and assist with not only our team but our Cove Robotics program. We have invited and talked to multiple people from different backgrounds including IT and Technology, Aerospace Engineering, and Electrical Engineers. These individuals whom we will list below really did help us with their ideas and most importantly, their time.
Thank You to:
Sam Delaney (Reese's Dad) - Network Security Officer and Administrator
Gary - Electrical Inspector
Wayne - Aerospace Machinist`