FRC 353 POBots Open Alliance 2025

Shortcut to 2024 Recap Posts

2024 Robot Cad
2024 Robot Code
Nadav’s Programming Recap
PSW’s, Community Service, Public Relations and Media
EAN, Fundraising, and Grants
Mechanical, Electrical, and Project Management and Quality Control

About Us

Founded in December of 1999, we are a student-run program from Plainview NY. We structure our team into two sides, Design/Manufacturing, and Business/Administration, with 13 officers and lead roles overseeing the 10 subgroups. The 10 subgroups are Secretary, Treasurer, Mechanical, Electrical, Programming, Logistics and Operations, Analytics and Strategy, Project Management and Quality Control, PR and Marketing, and Community Service and Awards. Our team while large, doesn’t have access to all the same supplies, tools, and funding some other teams have, but have made great strides in building competitive robots with a combination of custom and off-the-shelf items to tackle any challenge. Last year during build season we had over 90 kids sign into our shop sign-in system from Kickoff until President’s Day. We boast 6 mentors with a combined 90 years of FRC experience across 7 teams, with 5 of us being 353 alumni. We are excited to be a part of Open Alliance and help to offer a unique perspective and assistance to teams. In the coming weeks, we will talk more about our team structure, focusing on various subgroups, their success in 2024, and how they will improve for 2025.

2024 Recap

2024 was the best season in our team’s 25-year, storied history. After a lackluster 2022, we scaled back in 2023 to try and reset, and not push ourselves too far. This year we snapped our 23-year Regional Win dry spell, from winning the first two Long Island regionals, to not winning again until the 2024 Hudson Valley Regional. For the first time in a long time, we finished our robot early, having a robot ready to compete in what would have been Stop Build Day. This gave us much more time for programmers and the drive team to practice with our first year using Swerve Drive. At the Hudson Valley Regional, we finished as the 1 seed going 10-0, picking 1796 - The Robotigers, 6593 - HyperDrive Robotics, and 354 - G-House Pirates as a backup bot. We narrowly lost Match 11 due to tiebreakers, suffering our only loss of the event before becoming Regional Winners along with winning the Creativity Award.

Next, we attended the Long Island Regional, where we finished as the 4th seed after going 9-1 (with a red card disqualifying us from a match) and were picked by the one seed 9016 - Syosset Supersonics and finished our alliance with 2875 - CyberHawks. After going 5-0 in playoffs to secure our second win, we immediately set our eyes on how to take the next step for Houston.

In Archimedes, we finished 3rd with an 8-2 record, becoming the 2 seed captain, selecting 6036 - Peninsula Robotics, 4967 - That ONE Team, and 6090 - Wayland Wildcats. We were able to make our way to the division finals, losing after 2 tough matches to the 1 seed. Finishing out the year with a 40-7 record, we were immediately looking toward how to step it up for 2025, including putting more work into our community outreach and improving our chances at the Impact Award.

Vibe Cad (Just a note, this was made on inventor, and quick sent to Onshape as a reference model.)

Changes for 2025

In the fall, while working to train our new members, we are working on testing many new ideas and items. These include trying Krakens and other CTRE components, including Canivore and Pigeon IMU, Canstar, and WCP X2i. Other efforts include moving over to Onshape for more collaborative CADing efforts and putting a larger push on working on community outreach programs alongside the POB Robotics and Engineering Inc. (PRE), a non-profit that helps our team and the wider community. A few students and mentors have been working alongside the PRE this offseason to help with more fundraising and help push a large initiative on growing it to help offer assistance to a larger scale, hoping to help bring our STEM is Fun program into school curriculums. For Business and Marketing, we switched over to Canva, allowing more collaboration and work on the student’s Chromebooks. We are currently running our PSWs (Pre-Season Workshops) to train our new members, and we currently have 138 students who have signed up for our team.

2024 Resources

Instagram Github Website

27 Likes

For Elastic and our 2024 programming, I will default to our Alumni and former head of programming @Gold87. For anyone unaware, during the summer of 2023, he had put in countless hours on creating Elastic, an alternative to Shuffleboard, and a new simplistic and customizable smart dashboard. Even after graduating, he continues to support and work on trying to improve Elastic for the 2025 season.

This was on top of all the time he spent building and learning everything he could to help make our robot work so flawlessly on the programming side. Our lead mentor had a great quote recently about him, “He was a comet shooting by, it was amazing and beautiful to watch. But we can not expect it to happen again.”

13 Likes

Can’t wait to see how you guys will do this year!

2 Likes

Wow its my favorite team in the third picture

2 Likes

I know a lot of teams with over-the-bumper intakes struggled to keep them functional in a rather violent game - how did 353 prevent and manage intake damage? Any particular build practices that you all recommend?

4 Likes

I will let one of our design leads speak on specifics of intake design, but we put an emphasis on maneuvering around the field in such a way that limited exposure of our intake. When possible, our operator raised our intake to be inside of our frame perimeter while driving. When we needed to get under the stage, our driver drove with the intake facing backwards so that there were no head-on collisions.

3 Likes

Hey @Kevin_Leonard hope you’re doing well! I’ll again differ to a build lead, but I want to just add on to what @mkopp said. In 2023, we suffered a huge hit in playoffs, which ultimately made our intake fly off of the elevator. https://www.youtube.com/watch?v=PqVrV4R0E-c (2:16 into this video). Ultimately the causal factor was too much tolerance, and wiggle room. Every 1/16" made a difference.

We took this lesson learned from 2023, and ensured in our pre match checklist that every part of our intake was square. We had 3 or 4 measure points that we looked for the same dimension, and even a smidge off, we would adjust. Obviously the increased risk of the external intake led to more work for quality assurance, but in the end it was worth it!

3 Likes

POBots 2024 Software

Man, it has been a while since I’ve written anything about our code from last year.

This will be a 2 am braindump write-up of most of our 2024 software.

Our Goals going into 2024

2023 was some of our best programming in a very long time, it was only our 3rd robot being programmed in Java, and until this time we had only scratched the surface of what can be done with FRC programming. The Charged Up season was the first season where we consistently scored multiple pieces in autonomous, and had very little emergency hot fix debugging in the pit between matches.

Of course, we were nowhere near the highest level we could reach.

Swerve

We built a swerve chassis, obviously we have to program it… I know, crazy

Fast Mechanisms

When watching the Einstein of 2023 and watching the Behind the Bumpers videos afterward, I realized something about the software of all of the top robots. They had almost no automation, they just did everything very fast. To make a lot of cycles, everything that involves movement on the robot has to be done as fast as possible. Once everything was extremely fast, then we could look into automation (which is what we did, more on that later).

Autonomous

After 2023 and ending our season with only one functioning auto (which broke towards the end of Hopper), our biggest priority was to be one of the teams that could start an autonomous from several spots, and execute everything very fast.

We attempted to use PathPlanner for our autonomous routines in 2023, however, due to our center of rotation on our 2023 robot (which was a tank chassis), we were not able to get it working consistently.

Logs

So fun fact, if you mention logs to @austinp, he’ll get very excited, it’s like when you hold a tennis ball in front of a dog.

For 2023 we sorta had logs, we used the Shuffleboard record feature to capture all NetworkTables data during a match. This was surprisingly useful and we were able to get a good amount out of it. For reasons I don’t want to get into, this was a horrible way of logging. For 2024, we needed DataLogs, ones that could be used with AdvantageScope.

Pre-Season 2024

Aside from training the new programmers, pre-season programming was almost entirely dedicated to swerve. I also started running some tests of Trapezoid Profiling on the elevator of our 2023 robot, it didn’t quite work which was due to a math error.

One other feature that was under experimentation was AprilTag vision tracking to fuse with odometry. We were using odometry during 2023 mainly as a way of testing whether or not we could make use of it. Since we weren’t using any sort of path following it wasn’t really used.

Offseason 2023 (Half Hollow Hills Invitational)

The Half Hollow Hills Invitational (HHH) was the test of the 2 biggest additions we wanted to add: AprilTag tracking and data logging. Both of these were successful to an extent. Data logs working incredibly, and it was really cool to be able to visualize everything after a match.

Vision tracking didn’t work so well, when it saw an AprilTag, the measurements would be pretty accurate, but the moment it stopped seeing it, the robot would suddenly jump a few hundred meters off the field. I’m impressed that we were able to make a robot drive faster than a Formula 1 car with DRS.

After further research and some help from @anivanchen from Team 694 (StuyPulse), the most probable cause for the jumping was setting our standard deviations too high. I also later learned that we should have been prioritizing accurate readings instead of high framerate, our resolution was too low.

Day 1: 2024 Build Season

The first day of build season was something that I wanted to change. Normally it’s just the boring stuff of updating everything, setting up the git repository, porting over old code, all that stuff. Instead, this whole process was streamlined. All old code and git repository setup was done over the weekend before we had access to the robot. All firmware updating I quickly did during the school day so we could get right into testing new features.

On the first day of build season, we got dynamic path generation with PathPlanner working, and it’s also the only time we ever ran it since we didn’t have much of a need for it.

The Writeup

If you scrolled all the way down this single post megathread brain dump here’s probably what you were looking for. Here are all the highlights of our 2024 software.

Auto Code Formatting

The most simple change that made such a massive difference. Spotless formatting.

We quite literally just copied the gradle config from here: Using a Code Formatter — FIRST Robotics Competition documentation

Then add project.compileJava.dependsOn(spotlessApply)

Our code looks beautiful now.

Automated Pre-Match Checks

The pit was an area where programming could have sped many parts up. During our pre-match checks, there would be a lot of repetition, “Drive forward”, “Drive Left”, “Move the elevator up”, etc. Instead of doing all of this manually, we wrote a class that allows for fake joystick inputs. 2024RobotCode/src/main/java/frc/lib/controllers/VirtualXboxController.java at main · POBots-353/2024RobotCode · GitHub

I wouldn’t recommend faking the joystick inputs, since it’s a very dangerous API to be messing with, and it also slows down your code a decent amount. I had to add a bunch of optimizations to reduce loop overruns.

This was used with a customized subsystem that allows it to build sequential commands to execute what is essentially unit tests but on the robot. 2024RobotCode/src/main/java/frc/lib/subsystem/VirtualSubsystem.java at main · POBots-353/2024RobotCode · GitHub

The Alerts API was used to send information to the dashboard regarding the status of the system test.

This idea was inspired partially from Team 3015.

Autonomous

For autonomous, we used Choreo to plan our autonomous paths. This allowed us to score more notes then we ever could have imagined. We then used the Choero event markers to run commands while driving in the paths.

There’s not much else to it, the actual routines we were running came more down to strategy, which isn’t entirely in the scope of this post.

AprilTag Vision Tracking

After the relatively poor results of the HHH invitational, we were careful in how we were processing vision measurements. One lesson we learned was that one camera was just not enough, we needed 2. The first was a Limelight 3, and the second was an Arducam OV9281, powered by a Khadas Vim4. Both of these coprocessors were running PhotonVision, although up until champs we were running Limelight OS on the LL3.

There were 2 steps to processing vision inputs, validation, and calculation.

Validation

First, is the robot in autonomous mode? If so, reject.

Is the average distance to each of your tags greater than a certain distance? If so, reject

Does the vision measurement put you far below the ground or high in the air? If yes, reject

Does the vision measurement put you off the field? If so, then reject

Now the more complicated rejection is the comparison of rotations. While updating our odometry we kept a record of gyro measurements in a TimeInterpolableBuffer, which essentially allows us to look up angle measurements from the past. We took the timestamp of the vision measurement and sampled the gyro angle from that time. If the rotation of the vision reading was more than a certain angle off from gyro angle, then reject it. We were a bit more lenient if there were multiple tags in view since the vision readings were a lot more accurate.

Here’s the logic for this step: 2024RobotCode/src/main/java/frc/robot/subsystems/Swerve.java at main · POBots-353/2024RobotCode · GitHub

Calculation

The next step after validating the vision reading was applying it to the drive kalman filter. Our standard deviation was determined by how many tags were in view, and our distance to them.

If more than 1 tag was in view, then the standard deviation was calculated by 2.5 inches multiplied by the average distance squared over 30.

If only 1 tag was in view, then we used polynomial regression to predict our standard deviation based on our distance to the tag. These standard deviation measurements were calculated by recording vision measurements for about 30 seconds, then seeing the standard deviation of x, y, and theta in AdvantageScope’s statistics tab.

Here’s the logic for this step: 2024RobotCode/src/main/java/frc/robot/subsystems/Swerve.java at main · POBots-353/2024RobotCode · GitHub

Our pose estimation worked great. The only thing that could have helped it more was additional cameras.

Logs

Log log log log, I want to log a room robot. A lot of logging libraries and techniques were used to allow effective debugging in the pit.

Firstly, we enabled DataLogManager to log both NetworkTables data and DriverStation joystick data, which was a must. Next, we added Monologue. For structs, Monologue was used to log these easily without using the raw NetworkTables API.

One other important aspect was the addition of subtables on NetworkTables. Instead of having a bunch of entries all over the place like we’ve had in past years. Everything was organized by subsystem.

Here’s an example of the updateTelemetry() method in our swerve module class:

private void updateTelemetry() {
    String telemetryKey = "Swerve/" + moduleName + "/";

    SmartDashboard.putNumber(telemetryKey + "Position", getPosition());

    SmartDashboard.putNumber(telemetryKey + "Velocity", getVelocity());
    SmartDashboard.putNumber(telemetryKey + "Angle", getAngle().getDegrees());
    SmartDashboard.putNumber(telemetryKey + "Absolute Angle", getAbsoluteAngle().getDegrees());
    SmartDashboard.putNumber(telemetryKey + "Desired Velocity", desiredState.speedMetersPerSecond);
    SmartDashboard.putNumber(telemetryKey + "Desired Angle", desiredState.angle.getDegrees());
    SmartDashboard.putNumber(
        telemetryKey + "Velocity Error", desiredState.speedMetersPerSecond - getVelocity());
    SmartDashboard.putNumber(
        telemetryKey + "Angle Error", desiredState.angle.minus(getAngle()).getDegrees());

    SmartDashboard.putNumber(telemetryKey + "Drive Temperature", driveMotor.getMotorTemperature());
    SmartDashboard.putNumber(telemetryKey + "Turn Temperature", turnMotor.getMotorTemperature());
    SmartDashboard.putNumber(telemetryKey + "Drive Applied Output", driveMotor.getAppliedOutput());
    SmartDashboard.putNumber(telemetryKey + "Turn Applied Output", turnMotor.getAppliedOutput());
    SmartDashboard.putNumber(telemetryKey + "Drive Output Current", driveMotor.getOutputCurrent());
    SmartDashboard.putNumber(telemetryKey + "Turn Output Current", turnMotor.getOutputCurrent());

    SmartDashboard.putBoolean(telemetryKey + "Open Loop", isOpenLoop);
    SmartDashboard.putBoolean(telemetryKey + "Allow Turn in Place", allowTurnInPlace);
    SmartDashboard.putBoolean(telemetryKey + "Characterizing", characterizing);
    SmartDashboard.putNumber(telemetryKey + "Characterization Volts", characterizationVolts);
}

The use of subtables allowed for easy navigation on both the dashboard, debugging, and logs.

There were several instances where logs were used after a match to troubleshoot issues. The most useful instance was when we randomly missed a very close shot that we should have made. After looking at the logs, we determined that we needed to measure another data point for that distance. After that, we didn’t miss a shot again (that’s a lie but you get the point).

Debugging

This is less of a specific thing we did and more of how we approached issues. In the past, our debugging has been more of IT support, which is “power cycle the robot a few times”, and “remove everything that we’ve done and see if it works”. While these can be effective in some scenarios, it’s not always. Instead, we took a more “trust your instincts” and “work from the source outwards” to figure out issues.

Simulation

We added simulation. Over February break I got bored and simulated our robot, which is how we were able to test shooting on the move. We were able to make use of the AdvantageScope 3d field to load our robot model and use it to run practice cycles without the robot.

Auto Shooting

As I mentioned earlier, before automating everything, we have to make mechanisms as fast as possible. We accomplished this with a TrapezoidProfile on the arm and a well-tuned feedback system. Once this was solidified, it was time to have some fun.

First, we placed the robot right against the subwoofer and measured the angle. Then, we moved back about 0.25 meters and measured the shot angle. Then, we went back another 0.25 meters and measured again. We did this a few more times until we had a good set of data points to work with. Once we did this we used WPILib’s LinearInterpolation to approximate the shot angle based on our distance from the speaker.

Here’s the logic for this: 2024RobotCode/src/main/java/frc/robot/commands/arm/AutoShoot.java at main · POBots-353/2024RobotCode · GitHub

Auto Shooting… while moving!

Our shooting on-the-move code might be my favorite code I’ve ever written on an embedded system. The first step was measuring the shot times at several distances from the speaker. After that, it was some basic physics kinematic equations to predict the arm angle and shooter speeds to make the shot.

Here’s the code for it: 2024RobotCode/src/main/java/frc/robot/commands/ShootWhileMoving.java at main · POBots-353/2024RobotCode · GitHub

A lot of this was taken from Team 1706’s 2022 code: Shoot While Move Code (1706)

One other idea tested that didn’t end up working is a “lookahead” shoot on the move. Essentially how it works is instead of continuously tracking an angle that is constantly changing, we look at where the robot will be at a certain period in the future, and then move to that angle. This would in theory allow shots to line up faster and allow for higher speeds. Unfortunately due to some mechanical limitations with our arm, this didn’t work, but it was a really interesting concept to try out.

Here’s the code for the lookahead: 2024RobotCode/src/main/java/frc/robot/commands/LookAheadSOTM.java at main · POBots-353/2024RobotCode · GitHub

Other Small Additions

There are a lot of other small things that don’t deserve an entire section, but I’ll add them here since they were a big part of our software:

  • Multi-threaded Odometry (inspired from 6328)
  • Automatic Fault Logging Library (written from Team 1155)
  • Network Alerts (written by team 6328), which will be added to WPILib in 2025

What I Would Change

2024 was easily the best programming in our team’s history, at the beginning of the year we were expecting to pick up maybe 3 notes in autonomous, not 5 with over 3 seconds to spare.

The only major regret/change is the way we were tuning autonomous paths. We were mostly tuning autonomous paths to work with our robot. There was a lot of small shifting of waypoints and adding max speeds at different spots. While this certainly worked, it was not ideal. We had 3 unturned PID controllers running while path following, a poorly characterized system, and an unturned wheel radius.

If we were to do this season over again, we would have spent more time tuning our robot to follow any path on the first try.

Source Code

Since switching to Java, the POBots have kept their code open-sourced, and is something that is planned to continue in future seasons.

Our full 2024 source code can be found here: GitHub - POBots-353/2024RobotCode: POBots code for the 2024 Crescendo season

My Life as an Alum

I figured since I was introduced as an alum and former head of programming (all of which is true), it would be appropriate to give an update on my whereabouts.

Firstly, I still keep close with the FRC community. I am not currently involved with any teams and don’t plan to be for at least a year, as I need a break from FRC. I have been keeping up with Elastic and am also working on another FRC-related project which I’m very excited about.

I’m happy that I have been able to use my FRC experiences in other fields of robotics. I joined the Mars Rover Team at my University, where every year they build a Mars Rover (in a lot more than 6 weeks) and compete in the University Rover Challenge. Since there’s no standardized set of hardware, nearly everything is custom-made. It’s really interesting to see the lower end of the hardware and what’s happening behind the scenes of your motor controllers and sensors.

17 Likes

Did someone say logs?

1 Like

Hi, I am the build lead of the POBots.
Keeping our intake safe was a priority for us during matches. We protected it in both strategy and design. At our practice competition during week 0 we found that our intake was very susceptible to breaking. So we added 2 poly belts on the inside of the intake so that if one broke we could still use the intake. If these poly belts were to break, we would lose motion in our bottom intake roller but not our top. Allowing us to still pick up from the source. We also chose to use lexan for the intake as it is more flexible and will not bend if it’s hit into. Other than that for design we just emphasized having backups for all of our intake parts.

For strategy, we set up rules for when our intake can be down and when it has to be up. Going to the source we have our intake up and we do not go under the stage. Coming back from the source and scoring, we have the intake down and we drive under the stage. This is so that we never drive with the intake in the front of the robot, minimizing collisions with other robots as much as possible.


Our robot going from the source to score


Our robot going to the source

5 Likes

Looking forward to watching another New York team throughout the season! Can’t wait to see what 353 builds in 2025.

4 Likes

Extra! Extra! Read all about it! There’s a new version of Elastic available!

7 Likes

PSW’s, Community Service, Public Relations and Media

PSWs

As we continue through the fall, we have worked on having more Pre-Season Workshops to train our students in various subgroups at each meeting. With a mix of lessons in the computer lab and the shop, students get hands-on lessons for various aspects of the team, helping them figure out where they want to get involved. Students go to one subgroup or more, helping them find their ‘niche’ in the club. Some of the main workshops so far have been in mechanical, electrical, programming, and analytics, with more upcoming courses in logistics, strategy/mock kickoff, community service, and marketing. During this time we also use it to build complete projects such as test beds or other projects we may not have time for during the season.

Recent Community Service Events

This week, we focused on one of our larger events: Engineering Awareness Night (EAN). We also had a lot of larger tasks to get out of the way, such as flyers, advertisements, and inventory. Engineering Awareness Night has been an annual STEM night for over 15 years. We make strides to engage with our local community, which helps us out immensely year in and year out. At EAN we have activities for kids of all ages, including our STEM is Fun booths, showcasing different fundamentals of STEM in enjoyable, bite-sized lessons, geared toward elementary school kids. We also have FRC, FLL, and Vex robot demos, shop tours, and a raffle with many prizes donated by local businesses. (We will cover EAN a bit more next week after the event on 11/25)

On Saturday, November 16th, we held a beach cleanup at Point Lookout Beach on Long Island, open to all FIRST teams in the area. We had a successful turnout, with 65 participants present. As a group, we were able to collect over 165 lbs of trash over 2 hours. We collaborated with the Atlantic Marine Conservation Society (AMSEAS) and asked them if they would be interested in setting up a cleanup with our team. We had worked with them in the past and attended events that they had set up around Long Island. With their help, we were able to pick out a date and start the advertisement. Last month we participated in another beach cleanup at Lido Beach, where our team managed to pick up over 173 lbs of trash, with over 240 lbs collected that morning.

|721x479.7922770293402

We also set up a Thanksgiving Food Drive to be held at our school this week. In collaboration with Our First Steps Daycare, we reached out to our school administration and asked to set up a bin in the front lobby of our school for November 19th through 22nd. We asked that people bring in canned items and other non-perishable foods. We are also looking into setting up another food drive with Island Harvest during the build season, as they mentioned January/February being a lower point for donations.

Public Relations and Media

Last year, as a team we faced a challenging but successful season. This is due to the team’s resilience and teamwork, pushing through hard work to gain valuable experience. However, that season marked a gap with the team’s Media, Public Relations, and Spirit departments, which was unable to reach its full potential. This year, we are looking at making major improvements in media presence: with a renewed focus on innovation, outnumbered improvements in members, and stronger community support. We want to focus more on visuals for all of our events, creating flyers to share, print, and showcase around our community easily. We have taken to using Canva for this, in terms of simplicity and ease of sharing projects. While Photoshop is a great tool, Canva helps make designs quick and simple. The PR team is determined to rise above last year’s limitations and make a significant impact during the season. We expanded our PR and Marketing team to include a Marketing workshop, and additional support from our brand-new lead positions: Media Lead, Social Media and Website, Merchandise Coordinator, and Diversity, Inclusion, and Spirit Lead.

4 Likes

Important Update about Elastic

Elastic is now bundled in the WPILib installer!

Read more about it here!

9 Likes

EAN, Fundraising, and Grants

EAN

Recently, the POBots held one of our largest community events, Engineering Awareness Night (EAN), which has been a long-standing tradition of the POBots since 2009. We dedicate our attention months ahead of the event to plan and coordinate everything to ensure the event runs smoothly and everything is up to date.

EAN includes our signature “STEM is Fun for Everyone” activities, designed to teach kids STEAM in fun bite-sized lessons. These include squishy circuits, marble races, magnet towers, wind tunnels, catapults, our middle school Lego robotics teams, and more. EAN is geared to inspire the youth and shift the next generation into a bright future in STEAM. At EAN, we feature numerous professional engineers and specialists in their fields. We also host an interactive scavenger hunt. When you walk in, two volunteers from the POBots hand you a scavenger hunt sheet with tasks included. Once completing this sheet, a goodie bag consisting of a POBots pin, a unique POBots sticker, and a robot information card is awarded. This year, we’ve had engineers from AirStream and Cyber Engineer, two structural engineers, an Industrial Engineer, and an Electrical Engineer volunteer to come and speak to our audience about their work and how STEAM is incorporated in our lives. A new addition to EAN is the Atlantic Marine Conservation Society, which had a booth talking about Ocean Awareness and described the positive effects of our beach cleanup events.|497.50479846449133x331.6250426960083|566.1971830985915x384.33947667985126

|629.3333333333334x420.44665012406944|720x479.6683741969639

This year, we had over 500 people sign up to attend the event and over 70 volunteers, which included the POBots, the engineers, AMSEAS, and the middle school Lego robotics team. Linked below is the EAN playbook passed down from older generations, which details the timing and scheduling for the EAN event to run smoothly. EAN is a great night to bring in our community, the families of POBots, as well as our alumni who are home from college to share their experiences in classes and when they were on the team.

Check out our EAN Event Handbook.
|720.0000000000001x540.528240274832
We also recently found one of our sign-in sheets from our first year hosting Engineering Awareness Night 2009. All the students who signed in from elementary and middle schools ended up becoming future POBots, with many being prominent leads during their time on the team. This makes the event an excellent pipeline for future members to have an early engagement with STEM.

Fundraising and Grants

Fundraising

Our fundraising efforts last year were highly successful, financing our team through multiple regionals and worlds. This reflects the hard work our previous treasurers did, a legacy we are looking to continue this year. As good as these efforts were, there is always room for improvement. This year, we plan to significantly expand our fundraising events and continue gathering support from numerous sponsors in our community.

Records

To better record our fundraising events this year, we have created two new systems-- a master list and a calendar of events. The master list details all of the local organizations that we could host fundraisers with, along with the percentage of sales we receive and how far in advance we’d need to book these events. Having this information in one place has streamlined the process of coordinating fundraisers, and will allow us to continue to use this information in the coming years. The sheet also includes the total amount raised, cost, and profit of each fundraiser we host. This helps us to quickly determine the effectiveness of our fundraising efforts and easily keep track of the total amount raised from our in-school and out-of-school fundraisers.

Furthermore, having a fundraising event calendar has allowed for better event management and planning. One of our goals this year is to have a fundraiser every night during build season; without the calendar, it would be incredibly difficult to manage which events are on which night and which nights we still need to schedule events for. The calendar provides an easy-to-read visual summary of our events each month.

Spending/Sponsor Tracking

This year while working with our non-profit on more fundraising efforts, we wanted to add a greater emphasis on tracking our expenses from both accounts. We have all of our purchase requests made by subgroup leads, which then get compiled into our purchasing log for our non-profit to order and generously donate to the team. We have been diligent about keeping a log of each expense and money put into either account to keep an accurate account of our funds. While doing so we have tabs coordinated for grant/sponsorship applications filled out, as well as the local companies we have reached out to. We want to be able to look back each year for who we contacted, and how and make sure we have a concise effort of not having multiple people reach out on the team’s behalf.

For our current sponsor tracking, we list all of our sponsors, the tier they are sponsoring us for, what type of donation it is (monetary or not), a link to their logos (on our drive), social media handles, website, and contact information for us to give proper thanks to everyone who supports us.

Our Sponsorship tiers for reference:

These resources will perpetuate the efforts made this season and serve as valuable tools for future treasurers looking to continue these efforts. By compiling all of the year’s fundraising events, it will be easier to look back on what made this season successful and what needs to be improved. Future treasurers will have a guide for the amount of fundraising events necessary in a season and will be able to learn when to schedule these events.

Events

Going into this year, one of the changes we wanted to make was to increase the amount of fundraisers we have. So far, we have been very successful in doing this. We have had numerous events with local restaurants and have many more planned throughout the rest of the season. In addition, we have been able to host multiple pizza sales at our school and will continue doing so. Having an extensive amount of these events has proved to be a useful addition to our fundraising efforts. So far this year, we have already raised more than we did at the same time last season.

Our most recent fundraising event took place at our annual Engineering Awareness Night (EAN). Throughout the fall, we have been requesting donations from local businesses and major corporations for the purpose of hosting raffles at EAN. Our efforts to obtain items were successful, as we had 11 raffle baskets total with items donated by parents, small businesses in our community, and major sports organizations. These raffles were very successful, and we hope to continue adding similar fundraising components to future events.

|733x548.3428258850778

The raffle will be running until 12/17 when we will be drawing tickets and reaching out to the winners. If you would like to purchase a ticket you can fill out the form. The online form will only be open until 12/15.

One of our most important fundraising goals for this year, though, is getting as many dinner fundraisers as possible for the build season. Every Monday-Thursday in build season, we are in the shop from 3-9pm. We order dinner on these nights because we are there for so long. Last year, we hosted fundraisers with local restaurants on a few of these nights. Whenever we are in the shop and hosting a fundraiser with a local restaurant, we always order dinner from that restaurant for that night. This allows us to raise a significant amount of money just off of our members buying dinner, something they would have done regardless of whether the team was making money off of it. By greatly increasing the amount of fundraisers we have this upcoming build season, we will be able to raise even more money this way than we did last year. As mentioned earlier, we are looking to host a fundraiser every night we order dinner during the build season. While this is a massive undertaking and will require extensive effort, it will be worthwhile in the long run as it will provide our team with a considerable amount of money.

Grants and Sponsors

Running a championship-caliber robot is extremely expensive, so we can’t solely focus on small-scale fundraising events to raise money. For this reason, we have to look to outside organizations to help fund our team. To this, we have applied for numerous grants and reached out to businesses in the community, asking if they’d be willing to donate to our organization.

Grants

Many major corporations sponsor FIRST teams, so we have started to contact corporations that are involved in the fields of STEM or have similar social responsibilities to our organization. So far, we have been able to receive numerous items from tech companies. We plan on continuing to reach out to new companies as the season progresses and hopefully receive many more items and support for our team. Last year while we were looking at future and potential grants to apply to, we were keeping a list with links and open and close dates. While working on creating a running log of applications that could apply for us whether locally or sharing some of them with other mentors who might be able to apply, this started the work on the Grant Database. Something that started as a collaborative effort between 353 and 358 to improve our fundraising efforts has evolved into a tool to help others with their financial goals. We were honored to have the database featured in the Fundraising Guidelines recently put out by HQ and 6328. Over the next few weeks, the plan is to try and add a considerably large amount of potential grant/sponsorship applications and opportunities, along with more resources for teams.

Sponsors

A large amount of the money we’ve raised so far this season has come from sponsorships. We’ve been reaching out to local businesses, giving them our sponsor packets, and asking them to donate. Many businesses have been very generous, giving us a significant amount of money. In addition, our sponsors from previous years have expressed interest in continuing their support of our team. As a result, retaining any new sponsors we get is imperative to our fundraising efforts. This will allow us to build on previous years’ work and continue obtaining more sponsors for our team that will hopefully sponsor us for years to come.

On a separate note, we are also fortunate enough to have been sponsored in a more unorthodox way by one of our local restaurants. One of our team members knows the owner of a popular restaurant in the community, and the owner has been kind enough to donate dinner to our team for multiple nights of our Pre-Season Workshops and will continue to do so throughout our build season. While this is not traditional, we are incredibly grateful for the support. Having dinner completely covered one night allows us to focus more on the tasks at hand and eliminates the time wasted to coordinate team dinner orders and payments. The generosity of this restaurant has provided us with a new way to look at sponsorship and introduced to us a new option that we will bring to other restaurants in the community.

However, we haven’t only gotten sponsored by local businesses – we’ve had many generous families donate money to our team. Our families are an integral part of our organization, so having their support is invaluable. The monetary contributions made by our families show their faith in and dedication to the team, two values on which we pride ourselves. The support we receive from our families rounds out our fundraising efforts as a team, acting as the final push made by an essential part of our organization.

Weekly Comic and Riddle

Something else new for this year: Our Secretary has been trying to add some more fun and engaging content to our weekly emails. He has included a weekly comic and riddle, which we thought would be fun to add to the bottom of our OA posts going forward.

Riddle

(Currently not Robotics related just yet)

If you’ve got me, you want to share me; if you share me, you haven’t kept me. What am I?

Comic

11 Likes

Mechanical, Electrical, and PMQC

Mechanical

Design Principles

Last year, we built the best robot in our long history. When designing our robot, we decided from a very early stage not to go for the trap. Just like in 2023 when we decided not to go for the high node, we thought that we would be stretching ourselves too thin. We wanted to focus on the other aspects of the game more. In addition to strategically restricting ourselves, we always try to stay simple. We believe that a simple robot with great programming, executed to its full potential is the way to go. The simpler the robot we build, the faster we have it finished, resulting in more testing time. As evident by our last two robots, we have both restricted ourselves and made simple, yet effective robots. This has played out well for us, allowing us to have more testing time, and limiting room for error. Some more design principles that we like to follow are as follows:

Touch it, own it: Once we touch the game piece, it must be ours and cannot fall out of the robot.

Wide intake: We should have a chassis-wide intake with middlers. Allows for faster cycles.

|325x193.25484211312255

Design for manufacture: Create parts that are easy to make—ex: intake plates. Allow them to be made as the same part, creating symmetrical parts to lower the amount of unique spare parts needed.

Design within our means: We have an Iconic CNC with a 2’ x 2’ working area at our disposal, which has been helpful for custom fabricated parts, but a majority of our design aspects come from a mix of CNC, COTS, and what we machine in-house. Between the CNC, 3D printers, Lathe, and Mills we encourage students to fabricate parts themselves.
Design for CNC and 3D Printer: Allow for parts that can be CNC’d. The CNC produces parts fast without sacrificing speed and reliability making it extremely efficient. The 3D printer allows us to design a multitude of parts that may have an irregular shape. We recently received two Bambu printers which will improve our 3D printing capabilities.

Always (or most of the time) within frame perimeters: Make it such that the robot is only out of frame perimeter for very short periods. Quick, movable intake, etc. Our over-the-bumper intakes for the last two years were stowed inside the frame when we weren’t intaking or going under the stage, otherwise, it was protected from collisions.

Robust: Our robot must be able to play in every match without the fear of it breaking. We cannot win if we cannot play. The more practice time we get the more we figure any parts may need improvement. The week 0 event we attended has been vital for successfully troubleshooting our robot before the real competition starts.

Simple: Maintain a simple design that plays the game efficiently.

All subsystems work together: Ensure that the subsystems work together efficiently. We have to make sure on and off the field, every system is functioning at its full potential. If a single mechanism malfunctions that could mean the difference between winning and losing. Before each match, we perform a full systems check and have a physical checklist so that everyone on the team can have the confidence that everything worked properly right up until the time that the robot entered the playing field.

Brief Overview of a POBots Build Season from Mechanical

We spend the first-week prototyping. During this week, we don’t test out ideas that we know will work. For example, we know that wheels on both sides of the note will shoot the note. Instead, we tested out different spacings between wheels and we tested the difference between wheels on the top and bottom versus wheels on both sides. After this, we start our design process. We used Inventor last year so it was difficult to collaborate with multiple people. This year we are switching to Onshape which will make collaboration significantly easier. When we have the main structure done, we start sending out CAD drawings to start being manufactured, before any parts can be machined, they have to have a drawing made and signed off by the Head of Mechanical or Mentors. As the first parts are being manufactured, we finalize the CAD. After a couple of weeks of manufacturing and assembling, we start testing. We aim to have our robot done at least a week before Presidents Day. We have our February Break that week, meaning we can’t meet, so we want to be testing before we have to leave for break. Last year was a big jump in terms of mechanical, using our CNC for metal for the first time, switching to swerve drive (MK4i), and designing a custom gearbox for our pivot arm. (something we haven’t done in a long time)

This year

As we continue toward Reefscape and the 2025 season, we are trying a couple of new things. First of all, as we said before, we will be using Onshape as our main CAD software. This will allow us to have increased collaboration between members of our CAD team. Also, with the custom scripts and MKcad, Onshape is very accessible for FRC teams. We hope that this switch will speed up our CAD and make our design more efficient. We switched to WCP X2i modules which came in recently, and we just started testing with them. We chose the X2i over the MK4i as we liked the option of having 6 gear ratios right out of the box, allowing us to have a wider range of adjustability and not worry about one of the gear ratios being out of stock. We were able to switch the drive pinions in about 1 minute per module the other day to see how simple and easy it would be, along with having a gear for the wheel rotation over a belt seemed like a plus for us. Also, with switching to Krakens this year, we would now have a full WCP/CTRE family. This season, we look to incorporate our CNC and new Bambu 3D printers into manufacturing even more. In 2024, we used these the most in our history. These two machines expedite manufacturing time and they reduce errors. Last year, we made a Mechanical Handbook to help teach the principles of the mechanical subgroup. Handbook

2025 Test Bot

|388.0415224913495x219|398.06052631578945x280.83698121696096

Electrical

Last year in the electrical subgroup, we had amazing success with no issues at all during competition and we intend to expand upon this, increasing redundancy and reducing possible errors in wiring the robot. To start we have switched to all CTRE components (minus the PDH and mini PDH) for a single ecosystem to exist. Our CANivore houses only our drive train CAN loop to make troubleshooting much easier and faster on top of trying out CANstar with CAN splitters from Playing With Fusion. This increases redundancy and if something in the CAN loop breaks, the rest is not affected. Among the CANivore are a few more new toys that we are playing with during the Pre-Season including the Pigeon and the laserCAN from Grapple/Thrifty (which only just arrived but are very excited to try out).

So far with the test chassis the Pigeon has been treating us well and working as intended but we would like to try more with it and test autos to see its accuracy over our previously used NAVx. Last year we saw a few issues with the NAVx and would have preferred not having our Rio in the center of our robot if we didn’t need to. Currently, the wiring has yet to be shortened as it is a work in progress, and we didn’t want to modify any of the wires that shipped with the Krakens. (We are waiting on our inventory restocking to come in, which is when we will look at running new wires and removing some of the excess) The main goal is to get everything working and tested quickly to allow programmers more time with the test bed, and since this is only the first time we are wiring things up. As we go back to attach the CAN wires to the splitters it will be cleaned up more and testing with the CANstar will begin.

Trying out many new mechanical and electrical components we wanted to make sure our programmers got more than a sufficient amount of time to test/learn before build season came around. As a team, we are always looking at new avenues to improve, and testing new products, ideas, or methods, while making sure we have a fallback if it cannot be implemented to the standard we like in time. Last year we tried to implement the Pigeon between Long Island and Houston, but were having some issues and didn’t wanna make the change without having enough confidence in it being 100%.

Project Management and Quality Control

The main jobs of our subgroup are the management of communication throughout the club, making sure that all tasks are completed efficiently and accurately, that all deadlines are met on the determined date, and that we oversee all of the other subgroups. Our subgroup doesn’t run any PSW’s during the workshops but we still have a lot of work to complete so that the team runs efficiently. Working on other assignments and creating sheets/documents to prepare for kickoff/build season. During the Fall we look at ways to improve our organization and get everyone acclimated to the progress checks/updates PMQC requires. Some examples of sheets that were created to ensure all subgroups are on task are “Subgroup Check-In”, “Weekly Updates”, “Deadlines” and “Goals”. The information from all of these sheets is then transferred to a digital version to prepare for competition.

The Subgroup Check-In is used to make sure that each subgroup is running smoothly and to keep track of any setbacks/roadblocks that they might face.

213x297 The Goals are used to monitor the progress of each subgroup and make sure that they are completing all of the goals that they had set the previous day/ week.

214x279

The Subgroup Check-In and Goals sheets are filled out by the head of each subgroup once a week when we meet for our PSWs. Once build season begins, the Subgroup Check-In and Goals will be filled out every day by the head of each subgroup.

The Weekly Updates is used to follow along with the tasks that each subgroup plans on completing that day.

333x437

346x453
The Deadlines is used to keep track of all tasks that each subgroup has and whether or not they were able to meet the deadline that was agreed upon and set. If the deadline is not met in time, it will be recorded and a new date to get the task completed will be talked about and then set.

336x438

330x430

The Weekly Updates and Deadlines will be filled out by the head of PMQC as communicated with each subgroup head.

|588.9855072463769x442.32254338306575
The PMQC wall hangs up right next to the entrance to the shop and is constantly updated with our progress. For Mechanical all part drawings not currently hanging above a machine are located in their respective folder, this helps students know what parts can be manufactured and allows them to take the initiative to get started.

|510x381.911915870399

On the bookshelf, we have binders for each subgroup to keep full physical documentation throughout the year. At any point we can go into the binder and look back at a past year’s documentation to help understand what was done, and notes for what to improve upon. With the Drawings and Instructions binder, we make sure to add any notes for adjustments/ease of assembly amendments.

Weekly Comic

Weekly Riddle

I am in space, the beginning of everything and the end of time. What am I?

7 Likes