Hi! Lead programmer here for the Kickoff update!
Goals
Okay so we made some interesting design decisions this season. For one our team has a very big problem with specialization. We tend to design the simplest thing design that can do almost everything. We are extremely limited in the space we have available. We don’t have a reliable testing area. That leaves us with a very small amount of testing time which our simple “jack of all trade” designs cut into.
What this means is that we are going to try and make a robot that is focused on one aspect as opposed to scope creeping the entire robot. For instance in 2024, we scored in the speaker and then we had the idea to add a bumper to knock the note into the amp, while it worked, it took a lot of testing time and ultimately lead to unreliability which materialized only later in the season due to variables in the material. The testing time could have been attributed to driver practice which we sorely lacked (and I co-drove I would know).
Aside from design goals we set some targets to measure performance
- Make States (Top 24 CT)
- Make District Champs (Top 90 NE)
(These are both just performance targets, we had very poor performance last season in terms of RPs)
- Be fully functional in 90% (minimum) - 95% of matches
(We struggled with this last season, we had a design that failed electrically which will hopefully be fixed by the changes this season)
- Be first picks or alliance captains every district event
(We had some issues with being easy to work with (which were mostly my fault, mb chat). That’s not ideal, so one of the goals (my goal) is to just be a better team to work with which will make us a better pick)
That was a lot of history but it’s going to inform our design
2025 Kickoff Design
So this season we did what we do every kickoff and created a "Need, Want, Nice to have" list. Where needs must happen, wants should if possible, and nice to have, nice to have.
High Level Design (General Needs)
Need
- No pneumatics
- Large & heavy robot for pushing defenders
- Low center of gravity
- Fit through doors
- Human play agnostic gamepiece loading (“Just chuck it in”)
- Fast accel between coral pickup and reef
- 12s cycle between reef and coral pickup
(4s score, 2s pickup, 3s + 3s travel which allows us (with auto) to fill two reef layers ourselves)
Mechanical (mechanisms & game)
Need (must happen)
- Climb Shallow (high) (for rp)
- Remove L2 & L3 algae
- Score in all levels of the reef
(L1 (trough) → L4) (L4 may prove impossible but we can hope)
- Pick up from human player station
Want (If we can)
Nice to have (It would be nice)
- Ground pickup
- Score algae ( will not )
Software (yippee)
Need
- Autonomous scoring and loading alignment (too slow to manually align in 2/4s)
- Vision (needed for auto score & load)
- An auto that leaves and scores L1
- An auto that leaves, scores L1 and attempts L4
- Advantage Kit for logging and vision review
- Reliability in every single action, even if it’s a little slower.
Want
- Robot simulation for testing
Nice to have
- Ability to knock algae during auto, (focusing on L1 & 4 lets us conveniently ignore this)
- Automated path between pickup and scoring to optimize (this is hypothetically faster)
- Lots of autos (I’ve got this one)
Why?
So we made a lot of choices right off the bat that seem insane without justification. We estimated that the number of algae bots would be quite high compared with the number of available game pieces. So we chose to create a coral only design, in hopes that we could get someone to do algae. We reckoned that forgoing algae means that we need L4 scoring because it will probably go unfilled.
We also figured that being max weight and size is very worth it because we anticipate a lot of robot traffic / defense in between the pickup and scoring. As well, it also doesn’t hurt us because it’s short distances to travel.
We decided that the ability to finish the coral RP ourselves was a goal we wanted. By focusing on L4 and L3 that leaves mixed algae / coral bots to fill in the lower spots. What this means is we have to be fast. Since we are aiming for 1 L1 and one L4 in auto, to fill up two coral layers we need 8 more coral, 105s / 8 ~= 12s (30s for climb + sloppy drive time per cycle). We calculated at max speed the travel time between the coral pickup and the nearest reef was 6s round trip using Kraken X2 swerve. That leaves us 6 seconds every cycle to pickup and score, which is insane, but is our target.
![12scylce](https://www.chiefdelphi.com/uploads/default/original/3X/3/1/31152f08c6f24e5cc1051542c191f546abdca9fc.png)
How are we going to pickup and score in 6 seconds? We’re aiming for autonomous scoring and pickup, which is a huge software strain that we do not have the testing time for. Because of this (and interest in the project) I have decided that it’s probably a good idea to use Advantage Kit to be able to review logs and rerun them due to the lack of available full scale tests.
The software is ambitious. We are switching from Neo based swerve to WCP Kraken X2. I have never written that. We don’t even have the modules assembled. We also want autonomous scoring as a need, which I have never done. With the switch to Advantage Kit, we’ve also never done that. This season is marked by a lot of change for the team (We don’t even have any seniors!), and yet, we’ve chosen to attempt it.
Let’s be honest, this is a game for teams that have the ability to test. If you don’t have the space, or the practice time, it’s so much harder. We don’t have the space, but that’s part of the game, and I think it’s a part of the game some larger teams miss out on. There’s a charm with building a robot with an absolutely tiny team and working space and yet still being capable. That’s my goal this season. I’d like to be able to say, despite our teams size, we will be able to perform at a high level.
Notes
We made a repo!