599 The Robodox | 2023 Build Thread

Team 599 is excited to join the #openalliance for 2023!

The Robodox is an FRC & VRC student-led team, based out of Granada Hills Charter High School in Southern California. This year, we have 45 students total and 2 VEX teams, leaving 36 students involved in FRC.

We started this school year with a new lead mentor, new school administration, and a team half-full of rookies. Offseason has been an incredible learning experience for both the technical and administrative sides of our team. We successfully upgraded from an Everybot to a new swerve bot (shown at Tidal Tumble and Beach Blitz), and we strive to continuously improve while reinforcing measures for team sustainability.

Team Links

2023 Regionals - hoping to attend 3

  • Ventura County Regional (Week 2)
  • San Diego Regional (Week 4)
  • [Waitlisted] Aerospace Valley Regional (Week 5)
  • [Waitlisted] Silicon Valley Regional (Week 6)

We’re looking forward to a great season and sharing what we can do with this community!

(written by @cactuz, our wonderful president)


Can’t wait to see what you guys build! Also, can’t wait to see you at ventura! (And hopefully aerospace)


Team 599 Offseason Recap

We’ve been fairly busy during this offseason. Here’s some of the projects we have been doing:

Rapid React Offseason

We competed in both the Tidal Tumble and Beach Blitz offseason events. We ended up building a new robot in the beginning of the school year, as a form of rookie and veteran training across all subteams. We never completely finished the bot, and there were a number of issues; however the robot offered valuable insight into ways we could perform better during the 2023 season.


  • Veteran CAD members designed the offseason robot, allowing new CAD members to see what would be expected from them during the season
  • Participating in the F4 CADathon provided us an opportunity to practice CAD skills and working together among the subteam members. This also allowed us to run through what would be done for kickoff and see if it works or not.
  • The CADvent series of practice parts, allowing subteam members to hone their individual skills
  • Designing a new robot cart (hopefully this gets built in time)
  • Designing a new battery/charger box


  • Working with new control system components
  • Working with pneumatics on the offseason robot
  • Testing new members on knowledge they should have accumulated in the offseason, such as control system synthesis and electrical troubleshooting
  • Working with CAD to design a new battery box


  • We are beginning to restore our bridgeport mill, cleaning rust, oiling, and installing a new DRO.
  • We are also restoring an old dividing head that we can use to create custom gears if needed for our next robot.
  • CNC team has been tuning feeds and speeds for our omio CNC router, as well as installing a new power supply after our last one died.


  • Strategy has developed a new plan for kickoff that will hopefully work better that that for 2022
  • This was in part tested during the F4 CADathon


  • Prog developed swerve code for the offseason robot
  • They also developed AprilTag detection capabilities
  • Prog have also been working on developing autonomous with pathweaver


  • Outreach helped establish a new FLL team along with the CHEER nonprofit organization in our area0

2022 Recap Video

Robodox 2022 FRC Season Recap | Team 599


The F4 CADathon results recently came in, and we placed 7th out of 34 teams.

Feedback doc:

Tech binder:


you know, i was gonna write this the day of but then i got really sick and sort of forgot haha


the The Robodox 599 kickoff featuring :: underestimating the game challenge :: bad designs :: passable designs :: not enough prototyping :: and some ctrl-c


In which we read the game manual, did strategy, and read the game manual more. And then took the rules test.

Our game analysis document:

We began to discuss what mechanisms we would use on our robot. We settled on a swerve drivetrain (with L2 mk4is).

A few designs for a manipulator and intake:

And a few very terrible drawings made when I explained them during our recap meeting:

2019 pivot extension:

Four-bar (double compounding optional):

Double elevator (in name only, the second ‘elevator’ is a slider):

Wristed intake:

“Noah’s roller thing”:

Eventually during the yknow midnight discord convos we decided that a pink arm system (eg. 294 in 2018) was worth looking into.

in other news our omio power supply got fried (fun) and we’re waiting on school admin to be able to get a new one

Our team completed some worksheets prepared by our strategy team.


We began to prototype today, among other developments. Mostly we prototyped noah’s roller thing, as the rest of our design team was still discussing options for scoring and an arm structure. After running geometry, we decided that a pink arm system didn’t leave enough space for the intake structure. We eventually settled on something like 971’s 2018 system, with two independent arms.

We started machining drive rails for our chassis. (150 holes go brrr)

Programming updated laptops

e&p started prepping batteries

We cleaned 60 years of rust off our bridgeport mill. apparently it was supposed to be silver

We also began to fabricate game elements. We are focusing on charging station first but we’re missing some materials, including the hinges


week 1 recap (if you squint) featuring :: cad :: misguided prototyping :: actual prototyping :: field building :: “cad release” :: a goat named rianne :: the cad lead, suffering :: or well just plain suffering

should i have gotten this done earlier? i should have done this earlier

“CAD release”

…is it still a cad release if there isnt a neutral file format

there isnt a step because there isnt a main assembly. this is fine.

would you believe me if i said cad is only a day or two behind

GrabCAD public drive:


Cad’s been. Going. Has it been going well? …good question how about maybe

We settled on an intake design similar to most 2018 intakes, with horizontal rollers. We plan to build in some compliance by using both compliant wheels and some small gas springs.

We had a discussion on our prototyping, and decided that our way of prototyping was ineffective. We temporarily paused prototyping in order to work on CAD and create layout sketches. After finishing them, we continued to prototype and should be done next week.

CAD screenshots:

FEA of the arm with a 500 N force at the intake attachment point:

Arm assembly as it is right now:

dont look at the bottom i want to cry

does it work? good question


Mechanical have been working hard on our parts. After finalizing the drivetrain CAD, we sent the drivetrain rails out to be fabricated.


We replaced the power supply on our omio CNC router, and it works again. Here we’re cutting a belly pan segment:

Our (newly silver!!) bridgeport mill:

Official goat Rianne machining drive rails:

More drive rails:

Electrical and Pneumatics

We got six new MK batteries and two new chargers to support them. We are transitioning to 4 gauge wire this year, so we’ve been changing out our battery leads to 4 gauge.

Electrical have also begun to plan out the electrical layout on the belly pan.


Programming has been working on apriltag detection with photonvision. We are setting up photonvision on a beelink minipc that we got recently.


flashing lights warning - 599 Week 1 Recap Video


I only forgot about this for like four days and it’s still technically on time so everything is fine i swear


We were supposed to be done this week. We, uh, aren’t, but we’re “done enough” that mechanical can have our parts. By “done enough” I mean “we have a cad release with a .step and main assembly” and “if it were made now i can pretend it works”.

GrabCAD workbench link (should be the same, should also include a .step file):

Some CAD images

Intake iteration 0 (Sushi style intake in order to have one by CAD’s deadline)

Intake iteration 1 (A native claw-style intake with pneumatic actuation in order to intake both game pieces)

Final (we hope) arm

Arm gearbox (missing: brakes)


We began assembly of the chassis, and fabrication of sponsor panels.

Electrical & Pneumatics

In E&P, we were able to figure out a general layout of the belly pan that is able to contain both pneumatics and electronics. Many of the challenges we faced in planning the board came from the large number of components we needed to be on there like the Beelink or the CANdle, in which we were also able to figure out how to have cool LEDs working. In addition, we continue to work with our batteries to ensure that they are ready for competitions and analyze them through the use of Andymark’s Computerized Battery Analyzer.


During the offseason we managed to get working swerve code that can easily be translated to this year’s robot. So going into this season the main priority was figuring out how to optimally utilize swerve during autonomous periods. We began looking into pathplanner as one of our best options as unlike pathweaver, the 3rd party stuff is more suitable for holonomic drive and decoupled headings. By Wednesday we were able to get output from our drive motors that sorta matched what the trajectories we were creating. However, as we moved onto the ground we realized that our current code kept swaying to a side when we imputed a straight line for a path or could not rotate while moving. After a couple days of banging our heads against the computer we created a chief delphi posted to hopefully get some advice on where our code could be going wrong. The creator of pathplanner himself actually replied and provided some extremely helpful advice.

One problem that now seems painfully obvious in retrospect is that we created wpilib’s HolonomicSwerveController in the execute part of the command instead of the initialize. This meant that on every iteration of the command it created a new object instead of reading from the old one. Sorta insane how we missed that. Another piece of advice that we hope to start testing with on Monday is using pathplanner’s own swerve controller. Hopefully this could provide a more accurate translation of the trajectory states that are produced in pathplanner.

The end goal is to use this to reliably run 4-6 key autonomous routines that can make us extremely competitive during matches. Most of them will likely be run through top of the charging station as crossing the wire cables could mess up our odometry, although hopefully our plan to implement apriltag vision into our poseEstimator could help alleviate this potential issue.

We are still early in development for developing the code in our arm subsystem. From the amazing help of our mentors we have been able to learn a solid foundation of inverse kinematics that we hope to apply to the design of our code to make arm movement as seamless as possible. We plan to create a simulation of the arm movements to predict the PID values that are needed for the arm. The idea was explained to us by our amazing mentor Mr.Siegert.

Week 2 Recap Video:


(written by me, Chanon, William, Diego)

happy (belated) (lunar) new year!