Skip to main content

36 posts tagged with "build season"

View All Tags

· One min read

Hello again. The weather is unreasonably warm for winter in Minnesota, regularly hitting the 40s. I just hope there is snow again. Anyway, things that were done today: Constants List (Me): We now have a list of constants to change. More than half of them are shooter constants. Kraken Adjustment(Rowan, Xiaohan, Zach): We finally have a practice bot with Krakens. As such, we needed to assign all of the motor and cancoder IDs, calculate the offsets, and check if the current PID values still work.
Other Adjustment (Griffin): Griffin spent most of practice on PID work for Moira. This included defining what a meter. Light Work (Davey): The lights are under construction, and are apparently going to be used for signalling this year. Pathplanner Fixes (Rowan): Pathplanner switched its coordinate system on us and we had to very rapidly fix it.

In other news, Captain23 was here today.

· One min read

Apologies for the lack of post on Thursday, both people I requested make a post in my absence forgot. Anyway, things that happened today (in programming):

  • Limelight Work (Me, Xiaohan, Davey, Rowan): We needed to make sure all of the Limelights were competiton ready. This meant making sure every limelight had the apriltag and detector software, even if not every Limelight could do both jobs. We ended up with one apriltag tracker, one detector, and two that could do both. We also figured out the offsets for the limelight currently on the robot.
  • Auto Work (Serena, Rowan, Griffin): A lot of autonomous work of varying kinds was done today. We now have an auto that shoots one note and then gets out of the way, a list of available paths, and the existing autos modified to have the feeder be off at the start and the initial pre-loaded shot to happen.

· 2 min read

Wonder of wonders, horror of horrors, it's a slow day today. The tasks available were either easily completed or out of our hands. But programming did still occur, and here is the list:

  • Climber fix (Me, Rowan): The climber now has an emergancy down button. It's supposed to let us cancel the slow climb command if the alignment misses.
  • Misc Subsystem Fixes (Xiaohan, Serena): There were a few other minor fixes that need to be done. The indexer needed to be switched to a one-motor setup, and the shooter adjusted to use right and left instead of top and bottom motors.
  • Sensor work (Rowan): We now have a sensor that lets the robot tell if something is in front of it.
  • Named Command Work (Me, Rowan): For whatever reason, the named commands in Pathplanner aren't working. Rowan did a bunch of testing to try and figure out where the error was, while I just made a ChiefDelphi account and posted our problem there. Then Rowan found out that our problem might not actually exist, fixed the thing causing the error in the one specific command that just so happened to be the only one we could run, and I deleted the post. (The specific problem was that the command required an intake, which the robot did not have.)
  • Shooter Angle Work (Griffin, Davey, Serena(?)): The bits that aimed the shooter needed to be seperated from the actually shooty bit. They spent several hours trying to refactor everything around the new subsystem division, and then made some aiming commands.
  • Xbox Controller Work (Xiaohan): Xiaohan decided to give our code Xbox controller functionality as well as PS4 controller functionality. I'm not sure why.

I also made a paper airplane.

· 2 min read

We got the limelight kind of working. It only took Act of Liam's help to do it. Anyway, things that happened today:

  • Limelight fixes (Me, Act of Liam [C]): Specifically we got the limelight working with neural vision by downloading the public model, then setting our mode to "detector". Then you go into the "configuration" tab, and upload your tensor flow lite model.
  • Getting a TFlite file (Me, Chris [M]): This was the hardest part. While we had figured out how to get a TFlite file working, that didn't mean we had a TFlite file to work with. The process for doing that included, among other things: Downloading Python to try and install Tensorflow to get the converter; messing with the command line to try and get pip to work with python; Discovering that TFRecord files are not photos; Asking the MPArors for their TFlite file; And accidentally using the wrong file and needing to completely reset the limelight. But we can finally get the limelight to recognize notes.
  • Pathing work (Griffin): Many new paths were made for autopickup, along with a new command to facilitate such.
  • Autoaim work (Serena, Rowan): The math to calculate the speaker angle and aim while moving was completed.
  • Lights Work (Davey): Davey made a design for where the lights should be and looked at the 2023 LED code. The 2022 light code is better IMO.

There was also a party after practice, but that is beyond the scope of this blog.

· 2 min read

Hello all, apologies for the lack of blog post on Tuesday. I left early for slightly personal reasons and no-one thought to make one in my absence. But I am back today, and ready to recount the events of the night:

  • Auto Work (Me, Griffin, Rowan): A lot of auto work was done. I just made two autos and then fought with Github for a while. The other two were making paths until they started working on the sensor instead.
  • Sensor Research (Zach, Griffin, Rowan): Initially this was just researching the minimum range of the planned distance sensor. More specifically, what happened when something got within minimum range. Then it turned out that we would need to download the required vendor libraries onto every single computer. We decided not to use that sensor. (For those in the future who might be looking for distance sensor options, it was the Revlib 2M Distance Sensor.) Then we started working on a new sensor and it's stuff until that broke.
  • More Limelight Work (Serena, Davey, Rowan): We are finally out of limelight hell for the moment. Averaging math was done so now we can have accurate positioning. Neural net stuff can wait.

Es geht. (I'm learning German.)

· 2 min read

Today was a day of sensors, limelights, and pain. Especially the latter, because I have a headache.

  • Indexer Work (Me, Xiaohan):Tthe indexer is the part of the robot responsible for transfering the notes from the intake to the shooter. It now has a subsystem and a mostly functional command.
  • Sensor Conversation (Xiaohan, Rowan): We have determined what sensors we would like on the robot. We want a distance sensor, a Hall Effects sensor, and three limelights.
  • Path Automation (Griffin): The robot now has a variety of paths it can use for activating the amp or climbing.
  • Automatic Climbing (Serena): The climber has been revamped to deal with the fact that one arm of the climber will come into contact with the chain first. This involves a voltage reader.
  • Limelight work (Me, Davey, Zach): This was one very long annoying process. The morning was spent trying to train a neural net to recognise a ring, which kept failing to recognise the difference between a normal note and a high note. After lunch was more attempted training of the limelight before we found a site called Roboflow, which we thought would solve our problem. It did not, as none of the available file types were compatible with limelight. Then it turned out that we were just importing images to train something else, and that either there are two different .vpr files or that the limelight is compatible with Vocaloid. Then the limelight OS needed to be updated. Then we had to spend another hour screwing around with file types to try and get CVS. Then it turned out that Tensorflow (both standard and lite) files don't like getting turned into anything. The day ended without it being done.
  • Autoaim Stuff (Rowan): The autoaim works now.

· One min read

Today the intital driver tryouts occured for the season. They were using Moirai, which has been stripped down to just a drivetrain. I wasn't really involved outside of running batteries down to the gym. Anyway, other things that happened:

  • Intake finishing (Griffin and I): We finished the intake, adding all of the various methods to RobotContainer. In addition, Evan showed us how to make the triggers actually work properly and not throw unsupported exception errors as soon as we turned it on.
  • Limelight work (Xiaohan, Zach, Davey, Griffin, Rowan): We have twin limelight capability now. The plan is to either use one for Apriltag tracking (so the robot knows where it is) and one for a neural net (so it can automatically pick up game peices), or both for Apriltags.
  • Autoaim testing (Rowan, Serena): The autoaim program was going to be tested, but then a drive motor seized up. We are 99% sure it's a motor problem, not a code problem.
  • Angle math (Rowan): Rowan did the math to find the shooter's required angle based on distance.

I need sleep.

· 2 min read

Today, half the team went to normal practice while the other half went to Week 0. Week 0 is a special competetion to make sure that FIRST's game software works/get newbies up to speed with normal competiton stuff/any other reason I missed. I was on the group that stayed at Great River, so I will let someone who went to week 0 explain what happened there. Things that happened back at the shop:

  • Light stuff (CornerGremlin and Rowan): There wasn't a ton to do, so people tested light strips.
  • Endeffector stuff (All three of us): This has a lot to do with the week 0 stuff. After some testing, it was determined that the ski plow did [DATA EXPUNGED] to either stablize the charging station or push cones and cubes around. CornerGremlin and I messed with the motore to get them working (although not without first accidently breaking them). Rowan actually programmed the thing so that it would work with autonomos.
  • Arm stuff (Rowan and I): Given lack of other stuff to do, we started working on the arm. Rowan did most of the work, I offered random bits of adivce and patched an issue with the controller. Said work included firmware updates and testing.

(If anyone who went to the competetion wants to write something, Put Description Here).

One more practice until Duluth.

Also, tomorrow is my birthday!

· 2 min read

Outside is a snowstorm, inside is music. CornerGremlin is apparently just our musician and tradition-person. Not sure how to describe it, but she has created several things likely to be programming traditions in the future. These include:

  • The creation of the programming mantra. The core is 'save, deploy, enable', but it is changed at every practice.
  • The song list! Programming now listens to music. It is selected by people writing songs on the board, and then playing them via speakers hooked up to someone's phone. For now, that someone is CornerGremlin. The speakers are from the film studies class usually happening in this room.
  • The Pink Panther Loop. The first song played is always the Pink Panther theme. It is played on repeat until someone gets annoyed. We keep track of how many loops and who turns it off. The current record is 16 loops until I stopped it. Future posters, update this if the record changes. For actual programming stuff that happened today:
  • Week 0 Packing (Me): I packed a box of stuff for the Week 0 group. It had laptops, charging cables, spare AprilTags, PS4 controllers, and etc.
  • Light Work (New Trio): The light work of today involved actually planning where the lights will go. There was also wiring.
  • 'SuperSubsystem' (Yours Truly™): Yours Truly™ created a subsystem example code containing all subsystems. It can work with anything, although I do wonder which specific bits would work if you hooked it up to a board.

Don't expect anything on Thursday, in-person practice probably isn't happening due to snowstorm.

· One min read

Today was a day of sound and light. Mostly because CornerGremlin's new job is to play music. Anyway, things that happened:

  • Lights for human player (Augie and CornerGremlin): We worked on setting up a light strip to match the color of either a cone or a cube so the human player knows what to put on the field.
  • More Skiplow Testing (Mowi and Yours Truly™): This allows us to move a cone or cube, as well as stabilize the charging station. Today's edits were to the control assignments.
  • Feature Flags (Yours Truly™, code merged by Captain 23): Yours Truly™ was working on feature flags all week, check the Valentine's Day post for details.
  • Musical Motors (Mowi, Yours Truly™, Augie, and CornerGremlin): We all worked on getting the motors to play music, because they can do that. The easy part was picking songs and converting them to CHRP. The hard part was getting the syntax to work with a Phoenix Pro. It still isn't done.

Now Programming has music to equal Build! Ops kind of just does very dramatic karaoke.