3512 Spartatroniks Build Blog | Open Alliance | 2023

3512 Spartatroniks is proud to announce that we will be involved with openalliance for the 2023 season! Since our 2022 blog we have had students interested in helping with Open Alliance and will be much more involved for the next season. Our goal is to help as many teams as possible, embrace all values of Gracious Professionalism, and be a helpful source for other teams to follow.

Team History

12 seasons ago 3512 was formed within a small classroom of the Orcutt Academy High School in Orcutt, California. Since our teams forming our focus has always been just like our moto: “It’s not about the robot.” With our greek spirit and spartan like courage, our team strives for constant improvement and the teaching of STEM to young minds. Our students move onto being the next great minds of the future. For our 13th season we hope to excel and go beyond our previous years, help and improve not just local teams but become a global support, and learn and improve for coming years as we move into a new stage of robotics.

Goals

Our goal is to help others and learn from others on a global level. 3512 is committed to sharing CAD, Code, Business strategies, and all of our findings and knowledge for the 2023 season. We hope to strive at our regionals and move onto the World Championships in Houston Texas. We hope to make connections with other teams and inspire, but also learn from others as well.

Offseason projects

LINKS:
2023 CAD
COTS CAD Library
3512 Github
Spartatroniks 2023 Open Alliance Media

13 Likes

Advantages of Tube Plugs

I wanted to touch on the topic of tube plugs since 3512 has transitioned from traditional gusset structures, to now utilizing WCP tube plugs. Over the FRC Discord it seems theres alot of interest to why we made the switch, other teams looking for information on them, and why they can be an advantage for manufacturing robots in the early season.

Current experience

3512 has already used tube plugs and have made some observations about their advantages as the 2023 season approaches.
We have used Tube plugs on our 2023 protoype swerve frame and will utilize these plugs in the 2023 season as well.

Inspiration

4414 HighTide



After reviewing this, 3512 decided to experiment and see how much it would change our build process.

So why Tube plugs?

Less need for unique parts

Tube plugs are dead simple, but limitless for mounting options. Unlike a gusset which requires multiple points of contact, tube plugs can be utilized in a way that which there isnt a need for complex mounting by using 2 or more unique gussets.

Prioritizing in build season

Scheduling and prioritizing objectives is near half the work in build season. Our priorities are to get software and drivers on the robot as much as possible before competitions to hone in our skills and buff out all the problems before they become more apparent

CNC efficiency

In 2019, our robot elevator was manufactured purely by our OMIO CNC, but the drawback was the fact that it was massively overcomplicated. The elevator required 44 gussets for a single elevator, that being said we made two robots. If we utilized tube plugs sooner we could have completely avoided this unefficient process.

As said by @Nick.kremer:

In short: What we are looking for is managing time efficiently, tube plugs will make the process of manufacturing alot easier and a ton faster.

Pros and Cons

Pros:

  • Different sizes, 1x1, 2x1, 1.5x1.5, 2x2
  • Sleeves for different tube thickness (Can be 3d printed at home)
  • Less time spent manufacturing
  • Uses 10-32’s, very rigid without rivets

Cons:

  • Cost, varies from $6-$8
  • For smaller thicknesses tubing that isnt 1/8th, it will require buying a sleeve
  • Back orders

I hope this helps any team who is considering tube plugs as an option for the coming seasons, If you have any questions please let us know!

13 Likes

Mock Kickoff Recap

Kickoff is around the corner, something our veteran students are heavily anticipating. However, for new students, they can sometimes be lost and confused about details surrounding the format and basics of the beginning weeks of build season. To ease new students into their first build season, 3512 decided to host a mock kickoff.

This allowed them to get an idea of going from the game animation to a robot concept of its necessary subsystems. Due to the likeness of it being a pick-and-place game next season, we decided to use the 2019 game, Destination Deep Space. Students were assigned into groups, with them intentionally mixed with new and veteran students together.

Rules Overview, Strategy, and Robot Priorities

After watching the game animation, the groups got straight into the game manual, with each group in charge of collecting certain information, whether it be the scoring table, robot restrictions, etc. After some time, all groups present their findings. This gives an opportunity for the other groups to ask questions and clear up any confusion. After consenting together as a team that we were confident in the knowledge of the game, we would move onto developing strategies.





A similar presentation is also done here as well, with the team picking a strategy to run with. After considering many options, the “Greybots Strategy” (aka simple but effective) worked well for us. However, we would also narrow it down into a more specific robot design, giving “demands”, “wants”, and “wishes” in what we wanted to see in this hypothetical robot. It gives students opportunities to speak their desires and also see the pros/cons of certain aspects.




For example, the students initially were looking at a bot cable of scoring in only L1 targets and having a “buddy” climb, wanting to take other robots when we climbed. However, having these pros/cons discussed helps put it into a perspective on whether such an avenue would be worth it. After discussions of team capabilities and the importance of ranking points, the team shifted more towards a robot capable of scoring on all three levels with a H3 solo climb. Having open discussions allowed us to be versatile and include all of our opinions. Furthermore, we considered the factor of relying more or less on our alliance partners, fostering great input from both new and veteran students alike.

Robot Archetype

While unfortunately not having a lot of time, some groups were able to sketch their own concept of this 2019 robot, allowing students to run wild with their minds. Groups both had sketches, names, and even dedicated themes to the robots (examples below). Personally, I would say this was my favorite part. The sketches also proved 2 ideas to me as well: our students love our 2018 robot Diakoptis (as you see doodled on many of the boards) and that even in concept, these would have performed bounds ahead of our actual 2019 robot. (I think 3512 students/mentors alike can agree with this.)


Conclusion

Overall, everyone got something out of doing a mock kickoff. New students got a taste of a kickoff and veteran students are able to work with a different type of scoring and different subsystems like elevators, arms, etc. (Trust me, as a senior, I am burnt out from shooting as well.) Our new students now have basic knowledge for what to prepare for in January. If you have questions or comments around what was covered in this post, we’ll be happy to hear them!

10 Likes

The Configurable Elevator 1.0 has been released by FRC 3512! It is made for use with Solidworks.

4 Likes

Offseason Software

Hello everyone! I am Adan, the software lead to Team 3512 Spartatroniks. I am a senior, meaning this will be my 4th and final year with the team as a student. Hopefully, I am able to come back as a mentor after high school. This post will go into the different projects 3512’s software team has been working on during the 2022 offseason.

What’s new for 2023?

A lot of different changes have been going on with 3512, with software being no exception.

The 2023 season will feature our first robot programmed exclusively in Java. For many years, we have used C++ as the main programming language. However, we are now fully transitioning into Java. There are multiple factors that lead us to this decision, which I will list below:

  • Teachability: C++ is quite a difficult language to teach new students. With no similar programming classes available at our host school, we are left to self teach each other how to program.
  • No software mentor: We’ve had no real software mentor since 2022, so more responsibility has been placed onto the leads to do more, and C++ was not giving us that flexibility we needed.
  • Support: It’s clear to us: A lot more teams are using Java, so we are more likely to get support for Java questions than C++.

Java isn’t the only change we are doing. For the longest time as well, we also used base TimedRobot with our own custom subsystem class implementation. For the 2023 season as well, it’s also going to be our first robot written in the command-based format. We found it easier to write and maintain code, along with new students able to grasp concepts easier.

Another big change for us is the switch to using Xbox controllers instead of our old, bulky Logitech joysticks. That’s a big win to me, as I have to be the one to carry the driver station as technician. At least my life will get easier in that aspect.

With the decision to move to Java, a good portion of the offseason was spent building a curriculum for teaching Java to new students and practicing writing Java code with our 2022 offseason robot. Our current curriculum setup is using Exercism, where we would give a list of exercises for students to complete. This worked moderately well, but we found that new students were easily confused with the wording of many of these exercises. To solve this, thanks to a connection with a parent who works at Amazon, we are currently working towards getting donated access towards their training platform to use to train new students in the future.

We also took advantage of our Romi robots that we purchased some time ago. My software students were able to get a taste of robot programming on these robots, from getting it driving in teleop to a basic autonomous routine!

2022 Offseason

Overview

For the 2022 offseason, we decided to focus on getting our swerve drive up and running. We obtained and built a chassis with SDS MK4 L4 modules in the 2021 offseason, where our previous software lead attempted to get them working in C++. However, he was unfortunately unable to get it functional in time for it to be viable for use in 2022. Our goal for this offseason was to attempt swerve again, but in Java this time. With our protobot still left over from the competition season, we installed a Pigeon 2 and the swerve modules onto it. The plan was to work on it throughout the offseason and take it along with our comp bot to Tidal Tumble. I would then start practicing porting over our 2022 code.

https://1drv.ms/v/s!AhKg2fOh0aiilNIpRN4mLh9sM8IxlA?e=rbRbhP

https://1drv.ms/v/s!AhKg2fOh0aiilNIsBtcf9rXNmh3uOg?e=BG8mPy

https://1drv.ms/v/s!AhKg2fOh0aiilNItXacJHzBH4_yowg?e=qbX2d0

https://1drv.ms/v/s!AhKg2fOh0aiilNIrkWAoh6B1h6DDtw?e=mOIVqu

https://1drv.ms/v/s!AhKg2fOh0aiilNIqRcwaYtppvTY9Sg?e=PQAhtu

Swerve

For swerve, we found the current SDS swerve template to be ineffective for us and found it tedious to work it. Therefore, we decided to use the BaseFalconSwerve template from Team 364, but adapt it over to using NEOs. We found trouble getting our code to work, running into an issue with one of our modules being out of sync with the others. However, with the help of @jjsessa, we were able to isolate our issue and get our swerve drive running before Tidal Tumble. I am grateful for your help and thank you once again for your advice. After successfully getting it running, I was able to do a bit of autonomous work and got a successful 3 ball auton before leaving for Tidal Tumble.

https://1drv.ms/v/s!AhKg2fOh0aiilNIujAOWfYJRSD4qEg?e=D4hqCh

Tidal Tumble

Tidal Tumble was a blast for 3512! I also saw it as a huge success for the software team as well. 3512 was able to test its swerve code in a competition to see how it holds up, and glad to say it never had any issues! We ran with our C++ competition robot and our Java swerve bot, and I found the Java bot to have its software run more reliably than its counterpart, which I can say our team is not too used to. All the issues we did run into with the swerve bot were hardware based, but those were able to get ironed out before matches. We are proud of both of our drive teams, with the experienced on swerve and newer ones on our diff drive. Also, took time to finally feed our driver’s camera through the Pi instead of the RIO. To no one’s surprise, the results were far vastly superior.

Tidal Tumble 1
Tidal Tumble 2
Tidal Tumble 3

Programming a Diff Drive

Speaking of diff drive, I had our other software student get practice on writing Java by deploying code to our comp bot after Tidal Tumble. While he was unable to get far, he was able to successfully get our diff drive driving around on Xbox controllers.

https://1drv.ms/v/s!AhKg2fOh0aiilNIo22WsBNBR6fjPnA?e=sAoGoB

Winter Break Projects

For winter break, I decided to take home our 2019 robot and 2023 protoswerve to continue familiarizing myself with robot programming in Java, practice programming an elevator, and continue work on the swerve drive.

Elevator

I haven’t really had practice programming an elevator, so I took the 2019 robot home, which is equipped with one to get some practice on. I was able to get open loop control using a Xbox controller to control it working right off the bat.

https://1drv.ms/v/s!AhKg2fOh0aiilNIkLJ1agmGw_l4U4g?e=YrzELA

For closed loop control, I wanted to use the external encoder it was equipped with. However, I discovered the wiring for that encoder plug was cut, rendering it useless.

RIP Original Encoder Wiring

So, I came up with a solution using the NEO integrated encoder and onboard PID, and just fed a Trapezoid Profile state into it to allow for smooth motion. It did work, but the performance wasn’t what I wanted.

https://1drv.ms/v/s!AhKg2fOh0aiilNIlF2wVDI-mSUgWsg?e=g17nch

However, I did discover that the encoder plug wiring for our back jack (which helped it climb) was still in tact, so after some cut zip ties and managing the cables, I was able to read the external encoder on the elevator and get a state-space solution working on it instead. This allowed for a snappier responding elevator to different position setpoints. In the event 2023 requires an elevator, this is the solution we will go with.

https://1drv.ms/v/s!AhKg2fOh0aiilNInDRuPOIG0oATmPA?e=CZ6tp4

Swerve

I continued more development on my swerve code, creating a separate repo for it. I was able to switch the gearing to the more comfortable L2 and clean up some of the code as well. Originally, the 2022 protobot had its two front modules inverted 90 degrees to serve as a makeshift funnel. However, the protoswerve was built with the standard module positions, so I was no longer able to factor this, which caused some confusion with teams trying to use our NEO swerve code. Other than that, I was still able to get it up and running with our NEO code.

https://1drv.ms/v/s!AhKg2fOh0aiilNIiPSrh5SzyYtJiaw?e=4pYVCY

https://1drv.ms/v/s!AhKg2fOh0aiilNIjQh1k_PVL7SwGXA?e=Weud9H

AprilTags

Unfortunately, I haven’t been able to get super far into AprilTags as I would like. However, I have been able to get the camera calibrated and tags printed out. I do have a few more days until kickoff, so I plan on using those days on getting the robot to read and process AprilTags.

Logging

Logging is something 3512 considers greatly important. With a lot of our mechanisms from 2020-2022 using state-space controllers, logging was crucial to use for debugging them when issues arrived. We originally used our own CSV backend with Python scripts to read in the data and plot them with matplotlib. However, it only meant more code to maintain for us. This year, we decided to stop using our own backend and switch over WPILib’s DataLog framework for next season, as our solution started running into problems with freezing up our robots. Using the DataLog framework allows us to continue to have high speed logging with one less thing for our own programmers to maintain. In the offseason, we also caught interest in the AdvantageKit logging framework as well, writing our swerve bot code with it, using AdvantageScope to view the data. While I loved the AdvantageScope application with its different widgets, I wasn’t a big fan of AdvantageKit as newer students ran into issues when porting their code over to it and just having to relearn how to structure your code. With the announcement of AdvantageScope supporting NT4 as well, I decided to write our own wrapper classes around NT4/DataLog instead for the 2023 season. Thanks to the hard work of everyone at 6328, we will still be able to use AdvantageScope, which I’m looking forward to using as it’s an excellent piece of software (That 3D field looking fine though).

Looking Forward

A lot has changed since my time on the team as a freshmen in 2020. These changes are going to greatly benefit our team in the future. However, despite that, one thing stays the same: we’ll continue to contribute our part! All of our code since 2011 is readily available to the public. I’m also aware some previous features from our codebases have also been contributed to WPILib, allowing for other teams to benefit from our findings. With time, I might be able to keep that going. Last, but not least, is our involvement with Open Alliance. @Ry3512 and I have been big factors in pushing our continued involvement with it. I’m super excited to be a Featured Team this year and excited to share what we are doing during the 2023 season!

Thank you for reading my post. If you have any questions, I would gladly answer them. Good luck to everyone in 2023 and let’s get ready to get Charged Up this weekend!

https://media3.giphy.com/media/3o6gEf6bTrv3PpaEOA/giphy.gif

7 Likes

Short update

3512 is currently having issues with meetings due to a flash flood warning here in our home town. Unfortunately we arent able to meet today and finish up our kickoff schedule and if we have to cancel tomorrow as well, we will have to do an over zoom meeting to finish up our plans. The rain is expected to last through at most the rest of the week, but we hope that we can get back as soon as its safe to meet at our build shop.

Ill continue with the rest of the Open alliance members on adding to our kickoff recap since we have extra time to get it out, but hopefully post an update on what we plan to protoype and build.

Thank you all for your patience, and hope to see you all soon.

5 Likes

Hope everyone stays safe!

3 Likes

Slight update on this, all school has been cancelled today due to Flash Flooding in the area so 3512 will be hosting a zoom session tonight to finish up kickoff.

By the end of tonight we should be have settled the following:

  • Match strategy
  • Priority List of robot actions for Needs, Wants, and Wishes
  • Intial ideas for prototyping avenues to go down
6 Likes

Kickoff Recap

After an unlucky start in week 1 due to flash floods, 3512 is back in business for the 2023 kickoff and for a new season to begin.

After the kickoff stream our team went into analysis of all aspects of the game, whether that be rules, restrictions, field analysis, match strategies and mechanism brainstorming.

To effectively organize everything into a condensed, yet neat and concise format, we took inspiration from 3847 spectrum and made a PowerPoint presentation to show off everything we are working on week by week.





Our schedule for the rest of week 1 is to start prototyping and gather information. So far we have been following ri3d redux for some early ideas, Open Alliance as well has some really good information on things to protoype as well.

Robot Goals

  • Utilize swerve
  • Simple and effective design
  • Neat/Protected electronics
  • Powder coating aluminum
  • Robust frame and subsystems

Competition Goals

  • Be organized
  • Strategize effectively
  • Scheduling
  • Rank high at our regionals, and or win
  • Work hard on all awards (entrepreneurship, engineering, autonomous, impact, deans list, WF, GP, etc)

Internal Goals

  • Communication
  • Time management
  • Team bonding
  • Safety
  • Team spirit

CAD will start after this Saturday on making our early robot design, we try to get everyone involved with prototyping to have a wide understanding of what we are going to build.

6 Likes

Week 1 Recap

Wow, its already been a week? Well here’s our recap for our progress of week 1!
This will be a long post since we prefer to give a weekly recap of everything we have done, so prepare to scroll!

Prototypes







Prototype Videos

Weed Wacker Prototype
Roller Intake Prototype
Springy Boi Prototype vid 1
Springy Boi Prototype vid 2
Springy Boi up against wall

Software




Other Cool Stuff!




Looking forward to Week 2, also thank you to everyone in Open Alliance for all the help!

All of our Media can be found at this link!:

Written by,
@Nick.kremer @DaMoose3512 @niczip @Ry3512

12 Likes

Pincher Intake Prototpying

After seeing the successes of pincher intakes from 3847, 1339, and Everybot we decided to jump head first into prototying our own version.

Construction:

We built our version with 3D Printed HypeBlocks, 1x1s, churro, and various types of wheels.

Single Row of VIWs Configuration

We wanted to explore adding TTB VIWs so we started with a single row of VIWs on the middle axle.

We quickly found that this did not center the cones effectively due to friction from the squish wheels on the top shaft.

2 Rows of VIWs Configuration

Next we tried having both cones rollers be fully VIWs.

We found that while this worked great at centering the cone, the VIWs did not have enough grip on the cone.

Cone centering test

Cone scoring test (notice how the lose the cone is)

2 Rows of VIWs w/ Center Squish Wheels

We had an idea that to improve the grip on the cones we could add squish wheels but only in the center where the cones are vectored to. This proved to be the best of both worlds and we are very happy with the performance of this configuration.

Cone Centering Test

Grip Test 1

Grip Test 2

Cone + Cube Test

Conclusions

We think VIWs + some sort of grippy wheels in the center for the cone intake shafts is the best configuration of the pincher intake. It centers the cones without sacrificing grip and none of these changes had much impact on the cube.

Magic Numbers/Testing Notes for Final Configuration

  • Front and Middle shaft center to center distance is 3.5"
  • Middle to Back is 8.5"
  • Ten 2" Vectored wheels w/ 0.5" spacers and colson or compliance wheels in the middle for both front and middle shafts
  • Five 4” Green Compliant wheels with 2” spacers for middle shaft
  • Centering cube isn’t very necessary as the length of the cube node is 1ft and 6.25.”

See more testing videos in our week 2 media folder!

9 Likes

Looking great! Could you guys record a video of having the cone on the ground and having the prototype approach the cone not centered and more on the vectored wheels? I’m worried about initial pick up with the hard plastic like surface of the VIW rollers.

5 Likes

We’re awaiting our small mecanum wheels to arrive, but glad to see your testing giving the results we’re after. Thank you for posting these videos.

Have the Andymark wheels on order, and not sure how their polycarbonate rollers would compare to the PLA from Thriftybot.

1 Like

The rollers on ours are nylon, the wheel housing is PLA.

2 Likes

We should be able to test this Monday, however we haven’t noticed any issues with the VIWs being able to initially grip the cones, only maintaining grip once the cone has already been intaked.

Intook?

Intooked?

4 Likes

Intaken

9 Likes

17 Likes

Week 2 Recap

This week we worked on Autonomous, Robot design selection, and our last prototype! Going into week 3 we will be posting more frequently and including posts about award progresses. After this post is up, we will be posting about our finalized digital animation application, so stay tuned.

CAD


Design Matrix and Robot Selection


Prototyping

Robot Progress

Software


Videos:

2 Game piece Auto
3 Game piece Auto

Videos:

Auton test 1
Auton test 2

Written by

@DaMoose3512 @niczip @Nick.kremer @Ry3512

See all our week 2 Media here!

6 Likes

Nice! Somewhat surprised yall are getting good AprilTag detection results at such a low resolution, but hey.

3 Likes