Skip to main content

· 2 min read

Today we shall learn the names of the robots. Our two options will either be Purple Rain and Delirious or Orpheus and Euridyce. I am voting for the former. Despite that, there were only a few things that happened today. On that list was:

  • General Robot Work (Rowan, Zach, Xiaohan, Serena): We got to bring the robot to the practice field, and there was a lot that had to be made ready. Wiring, tuning, rearranging the CAN network because they got merged at some point, making sure the intake limelight had a working neural net, the works. Also messing with limit switches.
  • Shooter PID Work (Me, Rowan, Chris [M]): As part of the testing it was decided that we needed a feedforward PID system to make sure the shooter wouldn't be pulled down by gravity. This took like an hour of Chris and I struggling with various encoder types before Rowan came over and solved the problem in about ten minutes. I'm glad that Rowan is the captain instead of me.
  • Bumper Work (Davey and I): The bumper construction team required assistance, and we obliged. I only worked with them in the morning, Davey stayed during the whole practice.

Just four more practices until Duluth.

· One min read

Today was a bit of a disaster. One of the intake motors started smoking (this is bad for you, don't smoke). The programming room smelled like burning tape, which is a lot worse than burning hair.

  • Canceled task (Zack and I): We were going to set up the gym for testing Moirai but build stole her permanently.
  • Shooter angle (Augie, Rowan, and Serena): worked on testing the shooter angle math.
  • Wireing and such (Xiaohan):They worked in build with wiring and other stuff Rowan said he's good at. Also he (maybe) fixed the practice bot! This is great news.
  • Hall effect (Griffin): He worked on testing the hall effect sensor (I am not really sure what this is).
  • Limelights (me): My new job was to make the limelights on the practice bot have the correct values for something. I'm not exactly sure what. I also wrote all over the white boards in Orbonian glyphs. This was not exactly important but it made me feel better.

Side note: having itchy eyes sucks. Side Side note: It snowed last night. That was weird because it has not snowed most of the winter.

· 2 min read

Davey is the new music person. Also I have a headache again.

  • LED Work (Davey and I): The first chunk of practice was spent trying to find LEDs to test the code with. After learning that none of the LED strips had working adapters, we decided to go look for Moira's old sponsor board. This took us to the backend of the gym closet twice, all over the shop, and at the end we learned that the board had probably been thrown out. Then we tried to jury-rig together a working adapter before Chris showed up with definetly working LED strips, which had to have a jury-rigged adapter anyway. Then we tried to test the code and the Vera-be-damned thing tried to call LED 204. We only had 52 lights in the code. This turned out to be because we were creating one less LED in the code than actually existed (that number was 24 by the way) and then tried to call the last LED which according to the code didn't exist. After dinner we discovered that error and fixed it, before finally getting the lights to work. Then we learned that we could have just used the functional lights branch that hadn't been merged with main yet. By that point I was willing to call it quits, but we kept going and even got the lights to actually respond to the code.
  • Button Binding Work (Zach, Griffin): These two made a new button diagram and re-bound all the buttons so that everything works. They also added a bunch of things to Smart Dashboard.
  • Collect Note Work (Rowan, Serena): Debugging is occuring on the collect note command. That is all Serena will tell me.

That is all.

· 2 min read

Can someone who is not me write a blog post for once? Every time I am out sick for whatever reason no post gets made. i might need to just start adding 'write a blog post' to the list of things to do. Anyway, things that happened today:

  • Distance Sensor Work (Me, Rowan): I spent most of practice working on a distance sensor. This involved soldering a lot of thingas, fighting with CAN errors before learning that the fleeming thing was unplugged, and then Rowan moved everything from the intake to the indexer. Also we accidentally turned on preferences that weren't supposed to be on and had to do some work to fix them.
  • Limelight Work (Xiaohan, Act of Liam): The limelight that broke yesterday is fixed.
  • Lights Work (Rowan, Zach): The first chunk of practice was apparently spent dealing with a github error. By the end of the day the lights were finished.
  • Move 1 Meter (Serena, Davey, Griffin): The 1-meter auto is in progress. Apparently part of the issue was wheel diameter, which was re-measured and now the robot moves almost one meter. It does still consistently undershoot.

I have convinced Rowan to add 'write the blog post' to the list of things to do each day.

· 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.