Thursday, February 8, 2024

Open Alliance: Coming Along

Hi all! This past week we have been focused on refining our CAD, ordering parts, and generally preparing to move forward towards more hands-on manufacturing and assembly.

CAD Polishing and Design Review

Our team’s CAD experts have been hard at work polishing up our robot CAD and finalizing the last elements of our design. On Tuesday we held a design review with both the programming and mechanical teams to review the CAD and ensure everyone is on the same page. This consisted of the Solidworks CAD being presented with a few mech members going through the design choices of each subsystem. Speaking of design choices, let’s highlight a few interesting ones.

Flywheel motors

We’re using Vortexes for our flywheels, and, to keep everything within the launcher frame, we decided to put the motor itself inside a few of the wheels. We’ll see how well the Vortexes handles the temperature dissipation constraint of being wrapped in a rubber wheel once our robot is up and working.

Tensioned Rollerbar Belts

We’re using RoboBitz’ RoboRollerz for our indexing up until the launcher flywheels. All the rollers are driven together via belts and gears. The belt path is shown by the thin gray lines along the rollers in this CAD screenshot. The two wheels next to the middle roller aren’t completely fixed along the vertical axis. If you look closely, the slots they move along are visible. All this should help keep our belts tensioned.


Our pivot geometry ended up a pretty interesting this year due to space constraints caused by the location of our swerve modules. We also employ a tensioner here for the chain. This pivot design is pretty similar to the one used in the arm of our 2023 robot, Crane.

Programming Updates

We’ve also been progressing along on the programming team.


We’re now looking to add an LED strip to the robot. We’ve realized that with our under-the-bumper intake and with field elements heavily restricting driver vision, we need some way to signal to drivers that the robot has successfully picked up a game piece. We’d also like to be able to signal to human players which amp buttons we’d like them to press.


We’ve also been focused on adding additional logging and configuration to all our subsystems. We’re trying to reduce the time we spend tweaking values during tuning. The last few years, we’ve had to redeploy code over and over to adjust things like PIDF values. This year, we should be able to do all that tuning through Shuffleboard. To help with this goal, I wrote a sendable wrapper class for the Spark Max PID controller.

That’s about all the updates I have for now. See you in the next post!