---
# System prepended metadata

title: Programming Update Week 1

---

# Programming Update Week 1

## Swerve Drive (Maybe)

This year, we're considering using swerve drive and have ordered six REV MAXSwerve modules set to arrive this Saturday; however, since the season has already started, we're going to try to get it working within a hard deadline of the end of Week Two. If we aren't able to do spinning figure eights by then, we'll stick with the Kit-of-parts drivetrain.

To achieve this, we're going to dedicate a few CAD and Fabrication personnel to the project as soon as our modules arrive and a couple programmers as soon as construction is finished. We think this strikes a good balance between maximizing our chances of getting swerve working and minimizing our risk. 

## Autonomous

We believe auto will be very important this year, so we're prioritizing working on autos in the first few weeks of build season. 

With a fairly simple auto we should be able to get 3 points for scoring the preloaded game piece in the low goal, 3 points for leaving the community zone, and 12 points for engaging with the charging station. That means with just a drive train and a few hours of programming time we could have an 18 point auto. 

Last year our auto chooser was a clunky switch statement that was horrible to work with and ended up causing the robot to run into walls and trash cans multiple times. This year we want to have a flexible way to create and store autos that will make them easier to work with. We also think it might be helpful to derive certain autos programmatically to reduce the number of paths we have to maintain manually. E.g., it would allow us to mirror autos depending on the alliance as which we're playing.



## Vision

We are hopefully going to purchase a Limelight 3 once one is avaible, but until then we will continue using PhotonVision. We recently purchased two Orange Pi 5s and set them up with PhotonVision for detecting AprilTags. We had some issues with latency, but we were able to fix them by tweaking some settings as recommended in [this Chief Delphi thread](https://www.chiefdelphi.com/t/co-processor-for-upcoming-season-for-vision/415153/167). We also bought an [Arducam USB OV9281 Global Shutter Camera](https://www.amazon.com/Arducam-Distortion-Microphones-Computer-Raspberry/dp/B096M5DKY6?th=1) which is recommended by Photon Vision for april tag tracking.

For purchasing a Limelight, we've also set up two methods we hope will notify us when the Limelight 3 is released:

- An UptimeRobot monitor on https://limelightvision.io/products/limelight-3, which we assume is the URL where it'll be published. When the page stops being a 404, we'll get a notification in our Discord server.
- A hacky scraper using [Puppeteer](https://pptr.dev/) to detect when the banner changes and send a message to a Discord webhook.
