Wednesday, March 5, 2025

Week 8 - Preparation and Execution

Glacier Peak Competition!


Depending on the moment, it feels like kick-off was either just yesterday, or an eternity ago. From that first livestream, watching Robot-in-3-Days, following Open Alliance threads (including the EveryBot!), designing, manufacturing, (re-designing), assembling, breaking, testing, and tuning - we've now completed our first competition event. Re-typing all that, I'm going to say it's been a long build season. Let's pull up a comfy chair by the fireplace, and enjoy our Week 8 preparations and the Glacier Peak Competition.


This post will be formatted a little differently from previous, as there’s four topics that I want to tell stories about.

Editor's Note: This is... a long one. I wonder what would happen if I posted directly to Chief Delphi...


  • Week 8 Preparations

  • Introducing our 2025 Robot: Lil' Al

  • Celebrating our Failures

  • The Glacier Peak Event


Week 8 Preparations:


Practice makes perfect! And exposes a few issues, like this loose power connector.

The final week on our build season calendar has one primary goal: DON'T PANIC. On the calendar, it apparently isn't written in large friendly CAPSLOCK, and probably should be! Also, keep driving, test autonomous paths, create a packing list and pre/post-match checklists.


We started the week at the practice field, and for the first time this year, we scored Coral using all the robot-y bits that we designed and constructed. Our friendly practice field also happened to have a table router sitting one room over, and after some shady backdoor deals - or a friendly question - our good friends at 2522 cut our final End Effector plates out of polycarbonate plastic to replace the current final wooden iteration. Kayla and I actually took these home and <gasp> spun a wrench, so Tuesday we could simply re-mount the new end effector and get to driving and testing as quickly as possible.



Polycarb intake looks good in this light!
Pretty sure it's the lighting.

One goal of ours for this week was working on a camera-based alignment with the Reef. Each face has AprilTags for detection and we were able to drive toward the image and get close to a scoring position, but unfortunately without enough fidelity and consistency to entirely rely upon it.


Thursday we were at the practice field once again, starting to test autonomous, when our basic scoring started failing to score. We had been using 3D printed gears and pulleys in our end effector, and the day before our event, we stripped the hub on one of these pulleys. Fortunately, 3D printers are getting better, and using tools in OnShape, we generated a new pulley with a metal hex-shaft insert to help prevent this issue recurring over the weekend.



Round hole doesn't work overly well on a hexagonal shaft.

So we hadn't quite gotten automated alignment, we didn't quite have a consistent multi-piece autonomous path, and we had to ditch our climber, but we were hoping we could make a good showing as a competent and reliable Coral bot, able to score on the top three levels and bring up an Alliance's score.


Lil' Al:


Our basic thought for this year was to both learn from, and build on top of lessons from last year. Understand our resources, keep things simple, and get a robot together quickly for maximum practice time. It's a good thought, I'm sure we'll have it again in future years.


Some lessons from last year were process - as we design and iterate and modify - keep tabs on our robot priorities. Don't sacrifice our priority one to have a mediocre priority three item on the robot. We also had some technical lessons - we were able to use YAGSL and PathPlanner (software libraries for our swerve drive and building splines for path-following) effectively, and had started work with AprilTag vision. We could build off that.


Chassis:


Our 28" by 28" chassis is a little bigger than last year's - giving us a bit extra room for wiring and other activities, and the ability to mount ballast to help with climbing. This is the first year in recent memory we added all the mounting holes for electronics on the pan, and had them laser cut by a sponsor to make mounting easier. (We may have installed it upside down, then flip-flopped on where to mount the PDP several times, but we got there eventually.) This was also the first brain pain - electronics mounted to the underside of the plate - that we attempted. This was entirely to protect them from falling Coral, but it really worked a treat in terms of keeping our deck nice and clean!


Plus we got these sweet module covers!


Elevator:


How detailed should I get about these? We wanted to score in L4 while keeping the elevator and end effector as lightweight as possible. Light weight would mean less wear and tear on the bearings, but also allow us to move between setpoints rapidly. (At Glacier Peak we were using 60% full power in an effort to retain reliability due to limited drive practice and overall running.) We didn't want an extra degree of freedom (tuning) on the carriage, so our passthrough would have to be tall enough to score on L4, thus the three-stage design.


All of the elevator tubes are 1/16" wall for lightness - we were hoping for punched tubing, but that all sold out before we could get our hands on it. I'm glad we bought the Westcoast Products elevator kit on Sunday after kickoff. I believe they went out of stock on Monday. We chose WestCoast this year after choosing the Thrifty elevator in 2023. That year, we had issues with the bearing bolts bending (it was at a 60* slant after all...) and we read a number of sources saying that the larger bearings on the WCP elevator kit were holding up better. (Thrifty has since updated their bearings.) WCP had an import-able CAD model, but either we imported it incorrectly, it was more difficult to use and modify compared to the Thrifty CAD model. We ended up having to re-make and re-mate most of the parts - using variable studios so we could alter lengths as we refined the elevator.



We bought an elevator kit to save design time!
Then redesigned half of the kit.

We did also end up applying a "Thrifty fix" to the WCP elevator. The base elevator kit utilized a very narrowly packaged chain run and gearbox straight up the middle of the elevator stages - not really compatible with a pass-through mechanism. We chose to rotate and duplicate the chain runs, putting them as wide as possible, freeing up the center of the elevator. Duplicating the chains (and keeping them mechanically linked at the base) limited the opportunity for racking (side-to-side lifting inconsistency). As described in our Week 6 post, we also made a blunder with the Thrifty fix, and thus applied a fix-fix by splitting and cantilevering the upper chain sprocket axles, providing clearance for all the moving parts. 


I feel like I need to take a breath here...


Final note on the elevator - we also included a 16-pound constant force spring! Our Lead Designer loves constant force springs. The idea behind this spring was to balance the weight of the end effector (and friction in the system) against gravity. When we apply power to the motors, they should only have to manipulate the position of the weight, they should not need to "lift" the weight - thus allowing us again to travel faster.


On the downside, I personally put too much emphasis on the light weight. This likely restricted some ideas for a side-mounted end effector, or even things like widening the elevator, which might have impacted some potential options for space claims or other integrations. In my defense, simplify, and add lightness. (It's a good thing words don't weigh much, otherwise these posts would have to get very terse...)


End Effector:


Acquire Coral. Hold Coral. Release Coral. Pretty simple job. Also, small and lightweight. After a few OnShape sketches and a little bit of geometry, we had a system of pulleys and one gear set to reverse direction, and we could intake, hold, and release Coral.


Whilst looking at images and CAD, we noticed that it just might be possible that the Algae sticks out beyond the Reef, possibly into our frame perimeter. If we placed a larger wheel right at our frame edge, maybe we could knock Algae out - no extra DoF's needed! (As it turns out, no, that didn't work. Fortunately, we didn't really "design" anything, so we didn't really lose anything either.)


As we didn't have a hard stop and we wanted to provide a basis for automation, we added two Time of Flight sensors (set up as beam breaks) to help detect when we were acquiring, or had released Coral. We got some feedback during a design review and modified our direct drive 1:1 to a 3:1 ratio, providing some extra control and torque so we could increase the compression and hold Coral through the bangs and bumps of FRC. (More on that later... Much more...)


Gearboxes:


Oh these gearboxes, how lovely do they look? Upon completion, our Lead Designer commented "This is the type of stuff I would see as a freshman and I would hope that one day I would get to make something cool like this."


Integrated form and function.

The gearboxes are built into the elevator support for 1. coolness, and 2. clean integration. (I cannot stress enough how cool we thought this would look. The packaging and other benefits were all secondary to the coolness factor.) The elevator gearbox houses two Kraken motors, and a two-stage final ratio of 15:1. As noted above in the Elevator section, we wanted to ensure we mechanically linked both chain runs to mitigate racking issues, and we wanted to ensure we had a rigid shaft capturing solution. Our climber gearbox includes one Kraken and three gear stages for a 72:1 reduction. We also included a pivot shaft for our Coral chute within this assembly. A previous iteration for climbing had us rotating the chute up and out of the way of our climbing space. It's currently being used as a static mount.


In hindsight, we could (should?) have saved some design resources here and simply used planetary gearboxes and some simple gusset/tubing elevator support. Flip side, we now have this tool in our belt and can refer to these gearboxes in the future, when and if we need to go custom. (It was also slightly less expensive in terms of parts ordering.)


Chute:


Our Coral chute is a static polycarbonate V, that really just needs to funnel Coral into our End Effector. Our first chute was made of aluminum to handle the significant drop and impact the Coral would impose, and was a flat bottom funnel chute. The geometry was not quite right and we constantly found locations where the Coral could jam. One Saturday morning before the practice field, we gathered some scrap pieces of metal and a piece of angle bracket and built a V, and it worked rather superbly. Our final version was made lighter and wider, and facilitated an iteration on how we could package our climbing mechanism.


Elephant:


Sometimes you design something and it takes a shape, and it's... interesting. But all of the pieces exist for a reason and meet some requirement of the system, so, you just call it what it is, an elephant.



Yeah, teenagers definitely saw an elephant, ears, and trunk.

Go figure we grabbed the EveryBot climber. No real design work required - yay! Except that packaging this climb requires every team to make some modifications and adjustments. So there is design work after all. The main problem to evaluate and solve was packaging the climber underneath the Coral chute. We shortened up the arm slightly, but that didn't place the Cage where we needed it inside the robot. We saw a number of Open Alliance build blogs using fold-down or extending appendages to place the Cage where it needed to be, so we designed our elephant's trunk to perform that same responsibility. We always try to consider our driver's point of view, and aligning this mechanism looked to be challenging, so we added the elephant ears as alignment devices, hopefully saving precious time at the end of a match.


While the climber is fully manufactured and assembled, we ran out of time to properly install, test, and tune it on our robot. However we have more competitions upcoming, and as we saw in Week 1, climbing can be a valuable addition to any robot.


Now that we've met Lil' Al and seen some of the how and why it came together as it did, how did our first competition go?


Celebration of Failure:


I love talking failures. It's better when we fail early and then play in event finals, but other times you just need to learn from all the mistakes, and move forward with improvement. Fortunately, our list of failures is not too long!


"It was a Dark and Stormy Night"


Can you spot the issue?


Actually it was a Thursday night. We had left the practice field about 30 minutes sooner than planned as we had stripped a pulley in our End Effector. Kayla suddenly broke the silence with a phrase akin to "I may be tired, but are we backwards?"




So many pieces suddenly clicked into place. Tuning the beam break sensors was tricky, the compression was off, the motor amperage was off... We had not in fact installed a 3:1 reduction on our End Effector, we had installed a 1:3 up-duction. Several students and mentors looked over the design, several students and mentors disassembled and reassembled it, and somehow, we all missed the fact that we were backwards the whole time.


We were loading into Glacier Peak literally the next day, and we didn't have the clearance to simply swap the gear and pulley set. We would just have to make it work for the whole weekend... 


"Totally Unchained"


During our practice match Saturday morning, one of our chains came off. Good news: the elevator will indeed operate with only one chain. The cause was stripped out shaft collars of all things. They were spun until they felt taught, however they stripped out and started shuffling sideways, allowing the sprocket to shift, and the chain to derail. Some new beefy split collars remedied that, and we had no issues for the remainder of the event!


"Oh, Chute..."


Our first match lasted about 60 seconds instead of the full two minutes. After much bumping and banging (some intentional, some probably not), the 3D printed mount that had been holding the Chute in place failed under the impulse loads. When our human player dropped a Coral into the weakened Chute, the whole assembly basically flipped up and off the robot.



I don't think this breaks the 18" extension limit...

We re-secured the Chute to its mounting positions with high-test zip ties, and used some spare elevator cord to tension the widest panels down to the chassis. Once again, no further issues!


"Let It Go"


Our second match started like any other, until our End Effector decided it wasn't going to release the stored Coral. All match it didn't want to relinquish its new favourite toy. (We definitely should have gone to play defence much sooner. Operational failure/lesson on that one.)


Our pulleys in the End Effector are all 3D printed plastic, and we abutted them against polycarbonate plastic. After enough running, apparently they got warm enough and slightly melted against each other, then cooled and effectively seized. Once again we employed a shaft collar to retain a gap, and once again the issue resolved for the remainder of the event.


"The Force Is Strong"


In that same Match Two, we did eventually cross the centerline to play defense, which included a treacherous drive past the Deep Cages. I can safely say that we missed two of the Cages. We maybe slightly bonked the other Cage however, and it smacked and snapped our 3D printed camera mount.


That mount was one of a few pieces and plates that we used Altair's Inspire software for optimization. We input parameters for camera mass, mounting locations, avoidance locations (for wiring and etc), expected forces and loads as we drove around, and the software provided a structure that would be able to support and resolve all the input loads. I described this to another friendly mentor at Glacier Peak who's only reply was "I guess you didn't include all the loads!"



<Clever Star Wars related caption>

We fortunately had a spare mount, and asked our driver to kindly not drive into Cages after that!


"The Dentist's Office"


Ashamedly, it took us until Match Four to deal with this one. When we produced our end_effector_v7_final_v2_latest.dxf plates, we added a tab at the back that we would heat and bend to flare outward, removing another avenue of stuck or jammed Coral. We made this tab rather large however, and found that while this design fixed every other jam location, we introduced one new one where Coral could actually get stuck at the tip of the flared bend. We borrowed a dremel and hacked off about four inches of material, and I don't recall us getting jammed Coral in the chute after that... Either it worked flawlessly, or I'm bad at taking notes...



Adding some lightness!
You can smell the burning plastic from here!

Well... that was about it. By Match Five, we basically stopped having any (new) failures, and just ran our routine with the robot we had.



Glacier Peak Overview:


You made it! I made it! Part Four of this lengthy tale! Fortunately, even though the topic is the event overview, it actually might be the shortest section yet. We've described our robot and our failures - how did that play out across our weekend?


While there's always disappointment when you haven't met all your targets (and you know there’s an incurable flaw that you have to deal with all weekend...) I still am super proud of our build season, the robot we have, and the challenges the team took on. Two years ago this team's expectation was to run reliably and be a positively contributing alliance member. Our expectation this year was automated vision aligned scoring. Part of achievement is setting high goals, and we're certainly pushing ourselves!



Our pit setup is nice and easy. I love it!

Since we didn't get our vision alignment to competition-ready robustness, we ended up having to line up manually, so one of our first modifications was adding Bearcat Whiskers - flexible strips of polycarb with tape on the ends to help visually assist when we were in a scoring location. Our drivers properly loved them. Our pit crew was less excited about them.



Whiskers!

With knowledge that we had to use manual alignment, and we were very non-optimal for acquiring and holding Coral, I think our weekend went about as expected - across our 12 random-alliance qualification matches, we ended with a record of 5-7. At some point next week I'll go through the exercise of "how many matches could we overturn if we had scored two pieces during Autonomous, or not dropped any Coral during the match, etc".


For Elimination rounds, we were selected as the first pick by the 7th Alliance Captain - some good friends at Liberty High School's Iron Patriots 4131. We also teamed up with some other old friends, who are... 4911 CyberKnights..? 



The lunchtime view from Glacier Peak

All three drive teams appeared slightly more frazzled playing in Elimination matches, and we had a rather poor showing during our first match, losing to Alliance 2. We made some improvements, took a few calming breaths, and had a better performance in our second match, beating the number 6 alliance. Our third match was close, but in the end we were unable to overcome the powerful fourth alliance. Lil' Al's first event was over and done. A solid foundation, but with some needed improvement if we want to qualify for and compete at the District Championship level.


The day wasn't quite complete however! Over the course of the weekend we got to talk about and share our robot design and implementation with many people, students, family members, and judges! We actually talked to a lot of judges. Apparently they liked what they heard, and we were recognized with the Rising All-star Award, celebrating a team that is on the rise to greatness! We'll get the Quality Award next time.



All four judges pulled out their phones when we showed off the wiring.

Mentoring robotics is.... Hrm. Crazy? Fun? Energetic? Time-consuming? Stressful? Empowering? All those. Everything wrapped into one, and through the long afternoons and evenings of build season, through every failure and success, we mentors love helping our students and programs grow. The Woodie Flowers Award is a mechanism for students to recognize and honor a mentor who has impacted their lives through meaningful communication, creativity, and knowledge. We were all so happy to see Kayla get nominated for this Award! She now has a ticket to District Championships where the Woodie Flowers District winners will be announced, and get invited to the World Championship! Good Luck!



Illustrious company!

And so the dust settled, the sun began to set (at a nice reasonable 6 o’clock-ish), the robot and pit areas were packed up, and the weary-eyed team members were probably thinking about getting a good night’s sleep. We'll take Monday as a rest, then turn the ignition once more on Tuesday as we prepare for our second event in two weeks time. 


Catch you then!


-B

No comments:

Post a Comment