Blog

4533 Phoenix’s Blog

Today in Code Team - January 15, 2025

Your semi-regularly updated blog from the code team.

Overview Today focused on two main areas: PID tuning for the test chassis and vision system improvements. Drake, Sean, and Ethan worked on debugging the swerve drive PID loops. We’re seeing issues where the wheels know their target direction but aren’t reaching it correctly - they either undershoot/overshoot or exhibit erratic behavior. While the code correctly calculates desired wheel orientations, there appears to be a disconnect between the commanded positions and actual wheel movement. We suspect this could be related to how the PID controllers are interpreting feedback from the turn encoders.

Code · Drive · Frc · Pid · Vision

Drake

1 minute

Today in Code Team - January 13, 2025

Your semi-regularly updated blog from the code team.

Overview We’re starting to make some major progress. Drive code is way ahead of schedule, with the test chassis nearly operational. Drake switched to 2025 YAGSL and started testing the code on the test chassis (image above) after gathering necessary data required for it to work closer to correctly. Sean read through most of the YAGSL documents (to be completed) and learned about the chassis and assisted in data gathering.

Code · Drive · Frc · Vision

Lincoln

1 minute

Today in Code Team - January 11, 2025

Your semi-regularly updated blog from the code team.

Overview After ongoing issues with the Kotlin language server (which appears to be unmaintained), Drake made the decision to switch the robot code back to Java. The team spent time converting the existing Kotlin code and adapting to Java. While waiting for the chassis, Drake implemented button mapping and control code for driving the robot. A subsystem manager was briefly explored but ultimately deemed too complex for our needs. When the test chassis was ready, we deployed the code and attempted to drive it. The drive motors exhibited erratic behavior (spasming) while the turn motors remained unresponsive. We suspect issues with the feedback sensors for the turn motors, likely due to significant API changes in the 2025 update.

Code · Drive · Frc · Router · Vision

Drake

1 minute

Today in Code Team - January 10, 2025

Your semi-regularly updated blog from the code team.

Overview Drake, Ethan, and Sean researched and fixed all the API changes. They added some comments to document this. “I really wish they documented better but I think all the code has been updated correctly, however, it still needs testing.” –Drake They got the code down to 4 issues but after an hour of debugging it seems to be a problem where the Kotlin Unit library is overwriting the WPILib Unit library. Drake’s going to try getting help on the Kotlin discord to get help as he assumes it’s a common problem. After this is fixed, we should have working code. Sean and Ethan also researched YAGSL and how to configure the robot.

Code · Drive · Frc · Router · Vision

Lincoln

1 minute

Today in Code Team - January 8, 2025

Your semi-regularly updated blog from the code team.

Overview Drake and the robot team in set up the 2025 robot project in Kotlin FRC extension after using WPILib to create the project. The FRC Kotlin extension caused some headaches since it was designed for 2024, but we fixed it by updating configurations and Gradle settings. Vendor dependencies like YAGSL and REVLib were set up, and we began structuring the robot code. Vendor Dependencie’s API changes remain an issue for next time.

Code · Drive · Frc · Router · Vision

Drake

1 minute

Today in Code Team - January 6, 2025

Your semi-regularly updated blog from the code team.

Overview So we’re going to do a blog post every (meeting) day this year, summarizing our accomplishments and mistakes. Drake helped everyone on robot code get WPILib 2025 installed, which took forever over the school’s WiFi connection. In the meantime, the rookies learned kotlin which is what we are going to program for the robot. Here’s Sean’s Kotlin notes: Chloe flashed a fresh image onto a Pi 5 for vision testing. She also started learning Linux.

Code · Drive · Frc · Router · Vision

Lincoln

1 minute

RIP Spark Max 1

A sad day for the team.

Today is a sad day. We lost a trooper in the field. The Spark Max, a motor controller that has been with us since the beginning of the season, has been fried. The cause of death is unknown, but it is suspected that the motor controller was plugged in backwards. The motor controller was found dead on the field, with the smell of burnt electronics filling the air. The Spark Max will be missed, but we will continue to fight on in its memory. It was declared dead at 4:20 pm on October 2nd, 2024 with the cause of 12v gate fault. Rest in peace, Spark Max. You will be missed.

Electrical · Frc · Rev · Spark · Sparkmax · Whoopsie

Drake

1 minute

More Coral

FRC Vision Research Part 1b

It’s been a while. I know this isn’t AprilTag stuff, but the next blog post (coming soon) will be. This is kind of a personal project, but it’s related to vision. So I did more Coral stuff. I tried to reverse engineer and rewrite libedgetpu in Rust and actually learned quite a bit of possibly useful information, even if it feels like a waste of time in hindsight. The README explains why I’m doing this (pardon the tone):

Code · Edgetpu · Frc · Tpu · Vision

Lincoln

7 minutes

Simulating a FRC robot

FRC simulation in godot to train drivers virtually.

This year, before we were able to finish designing and building our 2024 robot Bothoven, I was busy at home reconstructing the field in Godot from the CAD models provided by First to make a semi-realistic simulation. Building the field To make a good simulation you first have to start with the environment. In this case, it would be the FRC field. I first imported the CAD model from the Onshape page into Godot, however, all the textures and colors were gone due to the file format/Onshape. To fix this I made scripts in Godot to help apply textures I sourced online. I grabbed the carpet texture from the manufacturer’s website, images from first, and textures from various online sources. When I was done it looked something like this:

Code · Frc · Godot · Simulation

Drake

6 minutes

Phrogs

4533 Phoenix’s Phrogs Collection

Phrogs are cool Morgan likes Phrogs because they are very cool. some phrogs have small teeth at the tops of their mouths Phrogs also use their eyes to help them eat Alex “GET IT FROGS + PHOENIX = PHROGS” Alex

Imagery · Phrogs · Random

Morgan · Drake

1 minute