Friday, January 26, 2024

Week 1 - Frustration

Putting parts together on day 2!


Build season is in full swing! We're spending four nights a week at the shop, building, learning, and ripping our hair out! Wait, that's not right. Minus that one day...


With our chassis decision made - we were able to begin manufacturing right away. Our new modules were in hand, and we very intentionally went slowly and with mentor guidance to ensure we didn't make any mistakes. Lots of mistakes were made. (Build on the table, not in your lap please!) The base of... everything... is the chassis - it helps us drive every match, at a minimum play defence every match, etc, so we're giving a lot of time and scrutiny. Fortunately, with starting early and being deliberate, we caught and corrected our mistakes early. Before the end of the week, we completed our week 1 goal of having a dry-rolling chassis, and got started on our week 2 goal, adding some electronics, so we can hand things off to the software team as soon as possible.


Each module assembler with a laptop in front of them with the instructions.
Rookie and veteran students all got to make mistakes together!


Electrical team was kept busy all week as well, they weren't just sitting around waiting. Last year our entire robot had 7 motors on it. For this years swerve drive we have 8 motors just on the drivebase! A box full of brushless motors and motor controllers was opened up, and connectors need to be fitted onto all the wires. We use Anderson Powerpole connectors - battle tested components that provide solid electrical contact, modularity, and a locking mechanism (or, zip ties anyway...) to prevent coming undone through the jolts and vibrations these robots will experience out on the field. Once again, we used this time to help train up some of the newer students, with plenty of guidance and support from veterans and mentors. Electrical connectors coming undone during a match = bad news bear(cat)s, so we gave all our crimp jobs and housing clips a thorough quality check upon completion.


With little experience to draw on, we need to get our
chassis  to the software team as quickly as possible!

Software sat around staring at laptops all week. Well, to be fair for them it always looks like that. Every season libraries are updated, new libraries posted, and many teams share their code from last year (as part of the rules so they can re-use whatever they need from it). This week's tasks were to update all the libraries, then continue messing around with code on our test chassis from the Fall. Last year's robot was a tank drive, so we wouldn't learn much about the 2024 swerve code on that robot. The Fall robot was also peculiar as it was running Falcon motors, but we would be using NEOs for our competition robot. Still, good practice to learn the ins and outs of updating the libraries, and hopefully any path-planning we could do on the practice bot could be copied and tuned onto our competition bot. At least that was the theory... Some good and some bad happened. The bad - well, with all the rush of getting the Fall robot together, we borrowed a lot of code, and didn't fully understand what everything did. When we updated the libraries and <a lot> moved around within the library, we were in a hard place. It would take more effort than planned to understand and convert all the Falcon swerve code to be usable with the 2024 libraries. On the flip side was just how quickly the new chassis was coming together. Looking at where we ended the week, software might have their hands on the competition chassis and can start with a blank sheet of paper in another day or two. We opted for the latter - we wouldn't get any learning on the practice robot, but we would find some example NEO swerve code, and make forward progress.


This week also brought us some wood-working opportunities! Practice makes perfect (I swear I say that about this time every year...) so we started working on some field element mock-ups for the Amp, and with the chassis moving and grooving along, we got started on our bumpers. This year we have three sets of bumpers to make, because practice bumpers are just too cool to not make. With our Amp mock-up ready, and our core robot concept for scoring in the Amp not ready, this fortunately gave our design team more visual and physical "playtime" to ideate and think about how we can meet our seemingly conflicting robot goals. But more on the design team later.


Amp'ed up!
But really, this is annoying to score in...


Apparently its later - let's talk design team! 


That snippet of orange bumper look great!
Aw shoot, spoilers!


Frustration happens. Students get sick and tired of CAD. Mentors get sick and tired of staring at CAD that doesn't magically fix itself, and solve world peace, and make a good cup of coffee. Words get said. Chairs get thrown. I should stop talking about movies and get back to our build season. Friday evening we had our 'concept review' with the design students. From 2D sketches in CAD, have we found some baseline geometry that works to solve the robot goals we set out to achieve during Kickoff weekend? Well it does everything! Except the Amp.


Student 1: "Amp is lower in our priority list - so lets just cut it?"

Student 9 3/4: "No, don't cut it. Also the robot is short, which is lower on the list than Amp, so lets do Amp, but make it tall?"

Student 3.14159265: "Woah wayy heyy nooo. I really want to make a short bot!"

Mentor v2_final: "Ok well what we're looking at doesn't solve the Amp."

Nobody: "Look, if we built this large wooden badger..."


Rinse and repeat for... wayyy too many hours on Friday. Fortunately, another mentor who had been helping with some manufacturing overheard all this and stepped in, helping our group take a step back and out of our tunnel vision. We re-approached the problem, re-looked at a number of robot-in-3-days videos, open alliance build blogs, and looked at what worked and why. We ended the day feeling better, but we still hadn't actually solved the problem. Our two lead designers worked after the meeting until our 10pm CAD curfew, and promised us many high fives on Saturday.


The lines don't work.
Sad Bearcat.


Saturday showed an iteration on the previously dead-ended concept. Another day, and more alternate ideas surfaced that were the more zany brainstorming (a good idea! if they lead to other good ideas...). As an example of our method as mentors - one thought was scoring in the amp with a software coordinated lob and block. Lob the Note upwards using our primary scoring system, then use <something> to put a bar or sheet across the Amp opening to prevent the Note bouncing out. Our conversation sought to identify what variables we controlled, versus which we really didn't. We even grabed our physical Note and Amp field piece and played out the robot actions, achieving a roughly 1/3 success rate. We led ourselves to the notion that the most control we have to score in the Amp is lobbing downward. Back to the sketch board, we put the launching mechanism where we needed/wanted it to score (lots of construction lines!), and then determined if we could find a static or simple dynamic movement to get our scoring system into our needed positions. Saturday evening, frustration shifted to pleasure as we started diving down a new concept path that just seemed to click.


QotW:

Student 1: "Why do people try to show off staying up to 1am or all-nighters or whatever?"

Me: "I know, the real flex is leaving on time every day. With a great robot."


No comments:

Post a Comment