FRC125 - The NUTRONs, 2023 Code and CAD Release

Hey CD!

We’re happy to finally get this off our to-do list. Below please find links to CAD and code of our 2023 Robot, Duality.

Robot CAD can be found at this link.
I apologize in advance as this CAD was built natively in Solidworks, and we had a bear of a time getting a clean export ready to share. There are definitely some minor issues here and there, but the good stuff is all in there.

Some of the highlights worth checking out:

  • The Telescoping arm includes 3d printed bearing blocks with a heavily optimized part breakup/assembly methodology. These blocks went through nearly a dozen iterations as the season progressed.
  • The Cable management spool, which included a mechanically synchronized spool to wind out/in the cable assembly going to the End Effector
  • The Ground Intake, which we eventually removed, included some really cool progression. The Deployed Roller was split across the front to allow the arm to swing through. The main arms of the Deployed Rollers were an aluminum/3d printed gear rack assembly that rode on printed bearing blocks.
  • The End Effector and Wrist use several printed components to help simplify, reduce size and part count

Robot code can be found at this link.

Some highlights/ fun things in our robot code:

  • Trajectory magic found in tools/solver125.py. Inspired from 6328, creates trajectories offline which are used when going from one position to another instead of using a state machine which allows us to optimize for time while following some given constraints such as velocity, acceleration, jerk, and avoiding obstacles such as shelf or scoring peg.
  • Instead of pressing “Restart Robot Code” on the driver station, there is a button combination that throws a runtime extension which causes a crash making the code restart.
  • Orchestra plays music using talons when a button is pressed and automatically cancels when driving
  • Automatically switching arm position for cone/cube for scoring based on which is intaked(intooked?) latest and a button to switch between the positions on the single station
  • Button to switch between coast and brake mode on all arm motors when disabled.
  • Selecting auto based on dashboard before the match starts which is generated using PathPlanner and incorporates commands for intaking, scoring and balancing
  • AutoBalance Command which looks at the angle of robot and uses PID control to adjust as needed
  • Downloading match logs and using AdvantageScope to debug after matches

One final thank you for this season to all of the teams who helped us along the way. The NUTRONs are honored and privileged to be apart of a great FRC community.

-Brando

69 Likes

Instead of pressing “Restart Robot Code” on the driver station, there is a button combination that throws a runtime extension which causes a crash making the code restart.

Truly the innovation we need in 2023 FRC

27 Likes

no, this is the peak of innovation!

3 Likes

I saw that in your CAD you squeezed your PDH in between the center bars of the drive base, did this work in the real world? If so would you recommend that way?

2 Likes

I think the holes in the rails are integral to this working and maintaining some semblance of wire management.

A little detail on how prominent the wire management was in the design process would be a cool insight. It is often an afterthought for most teams.

4 Likes


???

18 Likes

The holes in the frame are obviously necessary for this to work, but ultimately this worked very well for us. The side of the PDH facing the front of the robot was filled with front half of swerve and the intake functions. The opposite side had the back half of swerve plus all the arm functions. We have little printed snap in grommets that keep the wires from being cut on the aluminum.

How this came to be really is just simple optimization of space. We placed high requirements on low CG and balanced CG, so battery in the center was a hard constraint. We debated putting the electronics on a brain pan but ultimately that would force us into a higher CG. Turning the PDH sideways let us fit everything front to back in that middle section.

4 Likes

Ah yes - the memes run deep on 125. There are many others in that CAD model.

11 Likes

These little easter-eggs are a fun touch. More teams should do this :slight_smile:

Also, be nice to your CAN terminals. They’re trying their best.

17 Likes

I saw the Falcon 500 with no motor controller and was very confused, so I went looking for it :skull:

2 Likes

Loved your robot, Is there any chance you’re willing to share a Parasolid or pack and go of the robot? for those of us still using SolidWorks:)

The onshape link lets you export as parasolid.

The STEP they used to import it into OnShape seems to be in the CAD Imports folder in the OnShape document, if that is of use.

1 Like

The biggest thing that is inspiring me from your robot this year is the 3D printed bearing blocks for the telescoping arm. When looking at the cad there seems to be a bunch of different versions of your top 3D-printed bearing blocks. Do you know which one is the most recent version? Also, were these FDM printed or SLS? If FDM what supports did you use dissolvable supports?

1 Like

Brandon and crew are always cutting edge with the prints.

They put me more out of my printing comfort zone than Lil Nas X does to Travis Hoffman any day of the week.

12 Likes

Big thanks to everyone on 125, students and mentors alike, for helping out 2713 so much this year. From prints and broken printers to moving in for a week to borderline throwing a Rio against the wall, you guys all saved our butts more than once this year. Super happy to have you guys as our closest neighbors and looking forward to future seasons with y’all.

We were psyched to see your Einstein run and that at least one of us made it out of Daly; next year we’ll just do the Einstein run together.

7 Likes

Really cool seeing this robot evolve from Week 0 to Einstein! One thing I admire greatly about the Nutrons is the willingness to scrap what’s working decently to get something that eventually works great.

Who knew the Greater Boston trendline would keep going:

image

10 Likes

I’ll create a package that has our all of the final blocks in one file. As I mentioned above, they went through several iterations, some being major and others being small adjustments to optimize fits.

These were all printed on FDM printers, the final parts being printed on Markforged Onyx Ones. One of the most critical aspects is getting the fit just right. Small differences, even in the raw extrusion used for the arm can make a sloppy fit. We ended up essentially building up an entire arm, powdercoating the arm stages, putting it all together, assessing the fit, measuring any slop, and then shifting the bearings in the blocks and reprinting on the same exact printer to make it perfect.

8 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.