2024 FRC Robot: Voyager
Mechanical design, electrical integration, and the controls that connect them.
My work with Team Optix crossed mechanical design, fabrication, electrical integration, and controls. What interests me most about robotics is how those pieces depend on each other. The mechanism defines what can move; the wiring makes that motion possible; the software has to work with the machine we actually built.
Voyager, our 2024 robot, is a useful example. It combined a single-jointed arm with a four-bar intake and shooter. As design lead, I finalized the initial robot design before electrical integration, working alongside the subsystem teams. Team build recap.

What the hardware taught me
Design through the motion
Voyager's four-bar interfered with the front swerve covers, and its motion later exposed an extension-limit issue at inspection. Those are team experiences that make the same lesson tangible: check the path between configurations, not just the endpoints. Build and competition reports.
Assembly details change the machine
The build report records a binding bushing and shafts bending under load. These were team-level fabrication and assembly problems, not fixes I claim to have made alone. They sharpen how I think about clearances, stiffness, and inspection before control tuning. Assembly recap.
Electrical integration deserves design time
The team also traced CAN errors to loose connections made with crimps sized for larger wire. It is a concrete reminder that dependable robot behavior starts with the physical connection. Electrical recap.

The software that powers it
Across my Team Optix work, I implemented Java-based AprilTag pose estimation, inverse kinematics, gravity compensation, and spline-based autonomous path following. These connect the robot's desired behavior to its geometry and actuators.
For arm controls, inverse kinematics translates a desired mechanism position into joint targets. Gravity compensation supplies an estimate of the effort needed to support the mechanism, while feedback corrects remaining error. My controls work included using nonlinear regression to estimate that effort across configurations.
The double-jointed-arm work belongs to a different mechanism from Voyager's single-jointed arm and four-bar. I want to preserve that distinction rather than present several seasons as one robot. The team's 2023 build thread provides additional context for the earlier arm work.
My main learning is to stay close to the hardware even when writing software. Before changing a controller, I want to understand the mechanism's available motion, its load, and whether the electrical system can deliver the command consistently.