Although there’s still one more Cresendo event ahead of us - the Israeli Offseaon, we’re still going to include it in this 2025 thread as it is the first event for team members in their new roles (and for some their first FRC event ever). We believe it directly impacts the season and is an integral part of our process.
Technical skill development for old and new members.
Practicing and learning build-season team processes.
To put together a competitive robot.
Up until the summer build
After seeing and hearing a lot about Monday.com from our friends 2231, the new team heads pushed to implement it in our team management.
We also worked on student recruitment and general workshops for new members.
__
During the season we encountered a few repeatability problems with our swerve, especially in auto.
So we rewrote our swerve code, also adding simulation support, kinematic limits, skid detection, collision detection and high frequency odometry - thanks to the wide array of available information (especially 6328’s)
Offseason Build
We started our demo build season in august, with some design goals in mind:
Under the bumper intake - An UTB with rollers has many advantages over an OTB intake and over the season we just couldn’t allocate resources to take on the challenge.
A pivot system - our past two robots didn’t have any pivoting systems and the offseason was a great opprotunity to learn and develop one. With focus on reduced backlash and high controllability.
Just like last season, we put emphasis on using existing information and resources. After seeing in person 2056’s amazing machine in Galileo its design really stuck with us and we were thrilled when they posted their technical binder and drawing package. Our offseason robot is our attempt at a 2056 concept robot, fit for our capabilities (we decided to opt out of climbing due to the increase in complexity and relative lack of strategic impact).
Onto Prototyping!
The prototyping phase was relativly short because there wasn’t any need for any proof of concept prototypes and a wide array of available information.
Intake Prototype
Prototype Goal: Compare passive vs active intake centering.
2056’s LOW-KEY had an active note centering system on the sides of it’s intake, we wanted to avoid the added complexity and decided to evaluate whether passive centering (which was seen on several other robors) would be a viable alternative performance wise.
We tested everything on one prototype, with one side having passive centering and active on the other.
The passive system worked well and we decided to continue with it for the final design.
Amp Prototyping
Prototype Goal: Test amp scoring angle
We know generally how our amp scoring is going to look like, but we wanted to verify that our desired arm angle and overall geometry allows for proper amp scoring.
We learned a lot throughout CAD week, including the importance of pocketing aesthetics:
Going Forward
We just about finished modeling our summer robot (minor tweaks and pocketing left) and started manufacturing in the past few days, hopefully starting (and maybe finishing) assembly by the end of the week.
We lifted the motors in order to increase the width of the intake.
We could’ve only lifted one motor for each module but then they wouldn’t be identical (one rotation motor and one drive motor). We decided to make them uniform so they’ll be easier to work with.
We had some slack in the intake roller pulleys, originally the rollers only had shafts connecting the sides of the rollers instead of going all the way, switching to full length shafts fixed the slack issue.
Had a small collision getting in the way of the arm zeroing, a small crude cut fixed the problem.
More problems were only discovered after the robot came to life, as usual
Other than that something of note was how we reduced backlash in our arm, putting a lot of emphesis on the matter as did 2056 with LOW-KEY.
All shafts in our arm gearbox are oversized - we were lucky enough to purchase shafts with a manufacturing defect, which allowed for a very tight fit.
Lots and lots of loctite 648 - putting loctite on regular sized shafts didn’t have as much an an effect as it did on the oversized shafts but nontheless the loctite helped.
Electric
Not really my area of expertise and there weren’t any big setbacks so here are some picture:
Occasionally notes got stuck between the intake and the arm feeder - fixed by adding a spacer and widening the space between the polycarb shooter walls.
Had a “dead-spot” in the arm feeder - fixed by respacing the sushi-rollers.
When spinning the shooter at high speeds the wheels widened and rubbed against a support rod - currently working on repositioning the support.
We also have a considerable offset in our swerve, in one module especially - we found a faulty bearing in the module but haven’t ran the drivetrain since fixing.
But overall, we’re pretty pleased with how things are turning out:
(Huge thanks to 3339 for being great hosts!)
Main things left:
Fix swerve offset.
Improve consistency, range, and auto-alingment for shooting.
Find a solution for the scenario of a missed amp note falling on the robot.
Lots of autos.
LEDs.
Practice Practice Practice!
And more small tweeks and imprvments and fixes of problems yet to arise.
Feel free to ask a lot of questions, there was a lot done these past weeks and we couldn’t fit everything in the post (and keep it readable)…
Hopefully well also have a programming focused post up soon,
Thanks for reading!
Thanks! The frame is 29"×31", and we currently don’t know the weight as our measure is broken…
Those who lifted the robot say it’s lighter than our previous one so we’re going by that for now. Next time we visit a team we’ll be sure to weigh it (:
The robot’s relatively slow drive speed in the video is due to acceleration/speed limits we put in place until driver practice so the programmers don’t injure anyone
Hi everyone, my name is Gal and I am the head of our electrical and software subteam.
Programming
This off-season, we decided to change our robot’s main control scheme. We transitioned from a command-based system to a state machine, and also implemented an IO structure (similar to Team 6328’s approach). These changes made it much easier to test code without the robot.
We started tuning each subsystem and testing all of the automations. By day three with the robot, we completed all the automations except for shooting. Without a field at home, testing became more challenging. After collecting all the data for our linear interpolation (static shooter speed with only angle adjustments), we just had to work on automatic adjustment of the swerve.
In recent practices, we’ve had the chance to fully test the software. We added auto angle alignment for the amp and refined our “stop and shoot” feature. Both are performing well at this point. However, we noticed that in some matches, our odometry shifts significantly from our actual location, which occasionally causes us to miss shots, so we’re currently working on that.
Things we have left:
Autos
Fixing occasional odometry jumps
Adjusting our feeding operation
Small tweeks to improve overall driving quality of life
Electrical
On the electrical side, apart from adding a few zip ties in certain areas, the system seems reliable with no issues since it was built. We are planning to replace our shooter beam break sensor, as it has been a bit unreliable under certain lighting conditions. Unfortunately, it also looks like our LED strips are broken, so we’ll need to buy new ones.
Overall
The team is preparing for the competition, our CNC router is broken so we’re trying to find a solution to manufacture spare parts. There’s less than 3 weeks until the competition and there’s still work ahead of us.
Here are some videos of our latest practices, jumping on every opportunity to join teams with fields in their practices. Big thanks to 1690, 3075, and 3339 for hosting us!
We finally got around to working on some auto routines! We probably won’t be able to fit all the paths we’ve planned but for now we have the following two:
With the help and advice of our friends at 2231 we pinpointed the issues in our machine to be in the linear slider blocks which - due to poor maintenance over a long period of time - stopped moving smoothly.
Deep cleaning the blocks seemed to have fixed the issue however in the cleaning process we noticed some blocks were missing some bearing balls so we ordered new sliding guides just in case.
Proper machine maintenance is crucial!
Pit Layout:
Over the summer we got our hands on a new tool chest - which of course meant having to plan a new layout for our pit.
We also added two tool racks that sit ontop of the new toolchest:
This is our first time uploading designs through onshape as we CAD in Solidworks so let us know if there are any issues.
More Practice Videos!
This has been by far one of our most packed weeks in terms of team visitations, getting some milage on the fields of 1690, and 7039. The opportunity to work on a full field is a gamechanger!
Overall, we are very satisfied with the team’s accomplishments. Starting rough, we faced some problems in our first three matches. We missed our amp scoring and some of our speaker shots because our arm angle was a bit too low. After playing with the angles, we thought we were in the clear. However, when we played on the blue alliance we started missing amp notes again. We changed the angles again until we were satisfied with the results, though it still wasn’t perfect.
From our fourth match on we started to get consistent, and we finished the quals in 4 place with a record of 8-2. Going into the playoffs, we were the first pick of the second alliance with 1690B and our second pick 3388. The first elimination match went smoothly (apart from us not moving in the first 30ish seconds of teleop due to a controller issue).
In the second match, after a good fight against the number 6 alliance (other than our auto getting stuck for an unknown reason), we lost by 5 points, placing us in the lower bracket. From there though, we went on to win our matches against alliances 5, 4, and a rematch against alliance 6 to land us in the finals against alliance 1.
Final 1 was rough, both we and 1690B faced some malfunctions. We kept missing notes in the amp over and over. Then midway into the match we lost one of our shooter wheels when the high speed caused the rubber to expand and delaminate from the hub.
After a quick stop at the pit to replace our broken shooter wheel, we were ready for a second match. We were scoring in the amp and speaker, while 1690B was forced to move to feeding because of a malfunction . Unfortunately, we just couldn’t keep up with the fast scoring of alliance 1.
All of our full-field match videos are already uploaded and ready to watch in this playlist!
We are currently conducting reviews on every subteam and competition crew to learn what we did well, what to repeat, and what needs to improve.We’re also finalizing our schedule and projects until the season.
Look forward to another post coming soon with details about those projects, as well as a deep-dive into our 2056 offseason clone!
It’s been a little while since our last post, but we’ve been making steady progress over the last few weeks. Here’s a look at what we’ve been working on:
Programming:
We’ve significantly improved our swerve drive code, adding advanced vision and swerve physic simulation and cleaning up existing code. Additionally, we’ve been expanding our library to improve the overall efficiency of our systems. We’ve also been providing some training for our students to help them stay up-to-date with the latest updates and changes.
Electrical:
We’ve been implementing a new electrical approach. The goal is to do as much wiring as possible outside the robot itself, which requires extensive planning. This includes accounting for all electrical systems in our CAD models, allowing us to mount everything after the robot is assembled. This approach significantly reduces the time required to get the software team running, going from days to just minutes.
By designing each part of the electrical system as a standalone unit, all following the same standard, we ensure that components can be easily connected, replaced, and swapped when needed. This standardization simplifies both the assembly and troubleshooting.
Here’s a picture of our electrical plate before installation on the robot.
A key part of this approach in our swerve drivetrain is the M(A)odule Hub. This device mounts directly to the swerve module, allowing us to completely wire the module before it’s even attached to the robot. The Module Hub is designed to make a swerve module a standalone component, making it quick and easy to connect or replace without interrupting the rest of the system or wiring anything again.
Here’s a look at the on its stand-alone module, and mounted on the robot:
About three weeks ago, we started a project to simulate the season’s first two weeks. This included building a complete set of practice field elements, planning our match strategy, designing robot concepts, and CADing each mechanism. For this project, we chose to simulate the 2019 Deep Space challenge.
After analyzing the game and discussing possible robot concepts, we came up with two main ideas:
A robot with a three-stage elevator, a ball intake system, a hatch scoring mechanism, and a level 2 climb.
A smaller, simpler robot focused on low ball scoring and a stationary hatch scoring system, with a level 3 climb.
After some discussion and careful consideration, we chose the second robot design, as it would be simpler and allow us to spend more time on driver practice and software, while also providing an almost guaranteed RP each match.
After making the decision, we built a full field and some prototypes.
Stay tuned for an early strategy/prototypes update, hopefully up in the middle/ end of the week. Good luck to all of the team in the 2025 season!
After some consideration, we decided to focus mainly on collecting corals from the feeder and scoring at all levels, with a simple ball ejection mechanism and some form of climbing. We haven’t yet decided which level to climb, as that’s still based on prototype testing.
Robot Concepts
Currently, we’re testing and refining three main concepts:
Passive Slanted Elevator
This concept features a 10-degree slanted elevator with a static intake mechanism. We use this intake to both pickup and place corals. However, it’s proving difficult because there are only a limited number of angles from which we can score and intake. The challenge is to find the perfect angle or a way to angle the coral inside the intake.
Semi-Rotational Intake
This concept uses a vertical elevator with a simple two-axel intake for corals. One wheel is static while the other can rotate around it to address the angle issue.
Rotational Intake
This concept also uses a vertical elevator, but the entire intake is mounted on a pivot.
Based on our prototypes, we’re leaning toward the semi-rotational intake, but we still have some testing to complete.
Prototypes
Here are the prototypes we’re working on to prove our concepts:
Passive Intake and Scoring Mechanisms
Ball Intake Prototype
Floor Intake For Corals
Today, we plan to assemble and test the semi-rotational intake, start working on the main robot geometry, and start to work on our climb. We should have another update in a day or two!
Yesterday, we assembled and tested our coaxial-rotational intake design, and it performed well. With that, our scoring concept is now finalized(hopefully): a vertical elevator with a coaxial-rotational intake at the end.
Check out some videos from our tests:
Intake Rotation Concept (One axle rotates around the other):
Station Intake Test
Level 1 Eject Test:
Ball Rolling Test:
Ball Pinching Test
Today, we’re continuing to work on the robot’s main geometry and starting the CAD design. At the same time, we’re testing different methods for centering the coral in our intake. Our goal is to create a larger intake that’s easier to align. Here’s the most effective design we’ve tested so far:
Vision
We’ve begun experimenting with vision for detecting game pieces. Currently, we’re focusing on identifying them by color and shape. So far, this approach has proven successful with the balls, but it’s been more challenging with the corals. However, we’re starting to make progress and are getting some promising results.