Skip to main content

13 posts tagged with "limelight hell"

View All Tags

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

· One min read

Hello again. Various things happened today, mostly because we had the robot to work with.

  • Intake work (Me): This was annoying to code. Five motors, multiple potential configurations, design requirements changing MULTIPLE TIMES during production... ugh. This was made marginally easier by not needing a PID loop, but was still pretty difficult. It was also helped when the brush-roller miscommunication stopped.
  • Limelight Work (Xiaohan, Griffin): There was going to be limelight stuff done, but Xiaohan got called away and Griffin didn't have the knowhow.
  • Autoshoot (Serena, Zach): Most of the math is done. In addition, there is a command for rotating the robot with the autoaim.
  • PIXY stuff (Zach): Zach did work with object tracking and a PIXY camera.

So, yeah.

· 2 min read

This was the first Saturday practice of the season, and due to miscommunications and poor memory a bunch of people forgot to bring a lunch today. For those who don't know, while dinner is provided on Tuesdays and Thursdays, on Saturdays you bring your own lunch. Anyway, actual programming things that happened today:

  • Shooter PID (Us): We finished the PID code, and committed it, after struggling with the Smart Dashboard code for a while. As it turns out, RobotContainer is annoying but also made it so we didn't have to spend half an hour making functions that it turns out don't work that way because RobotContainer doesn't have individualised teleop bits.
  • Auto-Fire Math (Serena, Zack, Rowan): Serena worked on and finished the Auto-Aim, theoretically at least, as it has yet to be tested. Zack helped with the math.
  • Limelight Stuff (Rowan, Davey, Zack): Zack worked some on trying to use machine learning combined with the limelights to recognize images the robot sees. Zack also did a lot of research on limelights, image recognition, and the PixyCam. Davey also did things with limelights, but left early.
  • Climber stuff (Us again): We worked on making our second subsystem of the season, a climber. The physical design hasn't quite been finished, but we had enough information to make a sequential command group, and bind it to a button.
  • Swerve Drive(Rowan): Rowan tried to fix this, because it wasn't working. The PID had been wrong, and was actually auto correcting to the worst possible place instead of the best.

To practice on Saturday, you should bring a lunch, for eating and thinking, and eating chips that crunch. But if you should not, feel no despair, for with stores of food from the closet, the mentors will be there.

· One min read
  • Limelight Work (Augie, Xiohan, Act of Liam): We tried to get a limelight to functional. We had to flash it and then get the casing off to fix the fan. This took far longer than it should have.
  • Auto Code (Xiaohan, Rowan, Augie): These two have been building auto code for Minne trials. Modifiying last years swerve code to fit this year's needs. Meanwhile, I made an emergancy backup auto (with help from Xiaohan's ChatGPT skills).
  • Odometry Work (Act of Liam, Serena): They seem to be doing a lot of math and complicated stuff to get odometry working. Odometry is how the robot positions itself on the field, and is essential for autonomous. They have already called two people about math stuff.

Hello, as Augie's heir I must make something very clear. " " I'm sorry you can't see it it's clear.

· One min read

The last full-team practice before Minneapolis 2023. Things that happened today:

  • Limelight Testing (Me): Just getting Tyche's limelight to functional.
  • Programming Bin Packing (CornerGremlin): We once again cannot bring the cart to the tournament, so CornerGremlin packed a bin.
  • Arm Testing (Rowan, Captain 23, eventually more people): The first success was in telling the arm to go to a set position using Smart Dashboard. They then started working on hooking that up to a button.
  • Cone Mode Switch (Multiple Unknowns): We now have multiple modes for picking up cones on either the endeffector, intake, or both. I'm not sure which.

Yours Truly™ can add anything that happened after I left. Otherwise, this is the end.

· 2 min read

This blog post has two sections. The first is written by "[REDACTED]", and covers some of the events prior to the extended bag day section of practice. The second is by Yours Truly™, and covers the events of the latter half of practice. Things that happened earlier:

  • Pneumatics testing (me): I spent the morning helping Build test pneumatics by enabling the robot. After a few instances of accidentally pressing spacebar and e-stopping the robot, I just left a laptop with build.
  • Skiplow solenoid adjustment (me): I adjusted the skiplow from the existing double-solenoid system to singe solenoids, as well as allowing the left and right arms to move independently.
  • Limelight coordinate testing (Yours Truly™ and Captain 23): Yours Truly™ and Captain 23 spent most of practice working on turning the limelight coordinates into something usable. I will let Yours Truly™ describe it in more detail.
  • Swerve Preferences (New Trio): The new trio named all the swerve modules. This means that it's easier to trade out modules if/when they break, because then each module can simply be assigned as front left/front right/back left/back right.

Apologies, I have to leave now.


Yours Truly™

HAHAHAHAHAAAA I stayed past the 4:00 time and Oh boy did not much more get done.

We wrapped up the rest of the work, I continued working on the limelight, the whole lining up this is really cool. Rowan also worked on lights, but they weren't working by the end of the night so who knows how thats gonna go, but I have high hopes. Actually, the idea for lights this year is kinda cool with our lights being in a yellow triangle for cones and a purple square for cubes. I'm kinda excited for how this one is gonna go! :) besides that, the Swerve tuning got done-ish and some more planning (For when we get the robot) got done. I had to leave at 8:30 and the robot was not even done at the time. I'm writing this currently as an afterthought and I was what, 15 minutes early? The robot got done at 8:45 and we await the robot on Valentines day!

· One min read

Lots of things happened today.

  • Limelight Testing Finished (Yours Truly™ and I): This is the reason for the title. Most of programming was spent hunting for the bug, which turned out to be the command not requiring the subsystem to run. This was confusing, as we thought that that was fixed. A bit more digging on Yours Truly™'s part revealed the error, and so we got the thing working. A bit of debugging in the merge request and we were done for today. As I said, Next Time.
  • Further Swerve Calibration (Captain 23, assisted by myself): This has been going on for several practices now. Today, Captain 23 and I downloaded a firmware update to fix the massive inversion issues from last week. After that, Captain 23 spent the rest of practice PID tuning the drivetrain.
  • Pneumatics (CornerGremlin, Mowi, and Yours Truly™): These three were working on pneumantics, and realized that there were wiring issues. They also began writing the skiplow code.

See Y'all in February!