Skip to content
GitHubYouTubeInstagram
1 / 29

2023 Robots & Game Animation

X-Ray — 2023 robot

Team 3847

X-Ray

  • 4events
  • 33-13-0quals
  • #3/33best rank
  • 6awards
Season Hardware
Photon 8515 — 2023 robot

Photon 8515 — development team

Photon 8515

  • 2events
  • 9-14-1quals
  • #21/33best rank
  • 2awards
Season Hardware

How Charged Up worked

FIRST's official game animation for the 2023 season.

Start of the 2023 Season: X-Ray 2023

Spectrum is back for our 12th build blog. Our robot this year will be named “X-Ray 2023”

2023 Spectrum Season Resources


2022 Robot Rules Overview

With many of the robot rules now evergreen, we did a presentation on the rules ahead of the kickoff to give our students a good understanding of the basic rules. This may be a good thing to have your team listen to before Saturday.


Video: https://www.youtube.com/watch?v=6d-DoTdu5wc


OnShape Training

We updated and added to our Design Training Slides. We haven’t gotten a chance to record videos for these, but the slides should be helpful.


  • D3.1 OnShape FRC Robot Organization - 2023: Slides

    • Updated our recommend process to use reference cubes (similar to 1678 and others)

    • Added Variable Library Details

  • D3.5 Part Design Process - Slides

    • It goes over the process of designing a part for our robot and what should be thought about and done in the design.

  • D3.6 FeatureScripts - Slides

    • Links and explains many of the featurescripts that FRC teams can use to speed up their CADing


System Organization

Spectrum has a relatively flat organizational structure. We don’t have any year-round captains or specifically assigned subteams, etc. During the season, we have system leads for hardware and software.  We try to limit it to 5 systems, with each of these systems normally led by 1 or 2 students. Here is how the breakdown normally works.


Hardware

  1. Swerve/Frame/Bumpers/Controls

  2. Game piece mechanism 1 (usually intake)

  3. Game piece mechanism 2 (was ball path in 2022)

  4. Game piece mechanism 3 (was launcher in 2022)

  5. End Game


Software

  1. Swerve/Drive Tuning

  2. Autonomous/Path planning

  3. Vision

  4. Game Pieces Mechanisms

  5. End Game (likely other tasks)


- Spectrum

Software Organization Update for 2023

One of our larger projects this fall was creating a plan to restructure our software to make it easier for more members to be involved in software development. 

The main idea was to make everything a system (subsystem), so auton, pilotGamepad, operatorGamepad, vision, etc., are all considered systems in our structure. Each of the systems has its own folder, its own config class for constants, and its own commands class (and possibly a folder for full command classes). We attempted to split more things out of the default subsystem class so they can be updated and version controlled separately. An example of this is having a separate folder for trajectories/path planning outside of auton or swerve.


Software Organization Update for 2023


Some other things that have changed or been added

  • Created SpectrumLib in its own GitHub library and include it in our project using jitpack.

  • LED Animation system using the WPILib FPGA LED driver

  • Incorporating AdvantageKit

  • Spotless auto-formatting

  • Template Mechanism classes for rollers (intakes, shooters), angle mechanisms (arms), and linear mechanisms (elevators)


2023 Software Changes Notes these aren’t all fully implemented or detailed here, but this is where we were keeping notes as we went through the process of overhauling our code structure this fall.


Our Flash-2023 Repo is the code for our swerve test platform that uses the new structure. So far, it has been working well, but without a full season, we don’t know what bugs will turn up due to these changes. 


3D Printed Timing Belts for Prototypes

We experimented with 3d printing 5mm HTD timing belts. 

CAD files

OnShape link to the belt generator we are using to make our belt models: https://cad.onshape.com/documents/0b9fe420322fe41da56645bf/w/76fedf9bfb5b78e06920c37c/e/7f7fe2c94f4c984c8a5860c6


We need to be able to tune the geometry of the belt to allow us to print it correctly and work well with our slicer settings (details below)


Materials

  • TPU 95A: This material was too elastic and stretched too much.

  • PCTPE: This is one of the most promising materials. It’s a nylon and TPU copolymer. It’s flexible but not very elastic. Belts made with this at the correct size could slip due to stretch, but we believe there may be a way to print belts slightly undersized that will stretch to the correct size.

White 3D printed timing belt loop with toothed profile resting on a wood grain table

  • TPU-CF: TPU with chopped carbon fiber this material also worked very well.

Black 3D printed timing belt loop with toothed profile resting on a wood grain table


Slicer Settings

  • This was the important part of making timing belts that worked the way we wanted.

  • The main principle is getting each layer to only be complete loops of filament. In our case, this is 4 total perimeters of 0.6mm thick extrusions. You can adjust the model to help get the correct setup.

  • The top and bottom solid layers are turned off.

  • Avoid Crossing perimeters is turned on to limit stringing

  • The seam position is set to random to avoid a misshapen tooth where the seam may be.

  • This does leave a small hole in the belt, but that didn’t seem to cause a problem with our tests.


Slicer software preview of a circular timing belt model showing toothed print layers

Close-up slicer view of timing belt teeth showing individual extrusion print paths


Results and Recommendations

  • We printed two belts for our 2022 launcher hood and were able to launch balls well with the printed belts. They do feel looser than the stock-reinforced belts.

  • At the current stage, we are confident we could print a belt for a prototype or test, but we wouldn’t want to use a printed belt on a competition robot in any critical area.

  • The next step is to alter the geometry so that we can easily print a belt with a slightly smaller diameter than a standard belt but with a similar tooth size so that we can account for the stretch built into the printed materials.

Fall Elevator Design

We also designed an elevator during the fall, like many many teams. Ours wasn’t designed specifically to be a model of how we could build a competition elevator in 2023 if needed. It was designed to experiment with a few different elevator ideas and be a useful training tool for robot assembly.

Kickoff

Priority List

We completed our initial priority list of tasks for the 2023 game. 


Slide listing a 27-item task priority list for 2023 season robot capabilities


Cones from the shelf or the floor.

From what we have seen, we are currently a lot lower ground pick of cones than many other teams. Here are a few reasons that we discussed today.


  1. The cones can’t easily roll much further than the wall when dropped onto the floor from the loading stations, so you don’t have much of a cycle distance advantage over taking it off of the shelf.

  2. Intaking the cones from the various orientations and positions against the walls will be very difficult. We don’t believe it will be faster than loading from the known positions on the shelf, especially with the possibility of vision-guided aiming at the loading station. 

  3. The Human Player shelf is just a bit higher than the middle cone node, so you don’t need to raise or lower it to be able to place it on the midsection. And for the top, you only have to raise it about a foot and extend it about a foot more than the mid. Much easier than also needing to reach the floor with your cone mechanism.

  4. You can have a specific cube(ball) intake on the ground level and don’t have to potentially compromise your robot's ability to intake cubes(balls) also to pick up cones rapidly.

  5. 15 scoring locations out of 27 can be cubes which is more than half.

  6. Each alliance has 27 cones, so if you drop one, you can always return and get another to fill the 12 required spots.

  7. Any dropped cones while attempting to score on a mid or top row will land in the bottom row. If you are strategic about when you score the bottom row, your mistakes may still count for points.


Potential Alliances composition at Districts and Worlds

Slide titled District Winning Alliance outlining robot 1/2 and robot 3 goals for auton and scoring


Slide titled Champs Alliance outlining robot 1/2 and robot 3 goals for scoring and defense


Cube Intake and Launching Prototype

Video still of students testing robot 3847 in the shop with practice cubes and cones on the floor


Robot Inspiration

  • 33 in 2012 - Stinger and other 2012 team’s bridge balance aids

  • 1678 in 2019 - Double robot lift for the end game (wouldn’t need to climb)

  • 148 - 2011 - 4 Bar Arm - Arms are potentially useful in this game

  • 1684 - 2019 - Separate intake from elevator scoring mechanism. Doing this for the cubes(balls) will give you a wider intake for picking up the cubes(balls) from the floor.

  • Tilted/Angled Elevators from 2018 - 2056, 1731, and a few other teams had slightly tilted elevators that let them reach out of the frame while extending up.


Game Comparisons

  • Logomotion - 2011 - tic tac toe near side

    • Driver training will be similar.

  • Rebound Rumble - 2012 - End Game

    • Balancing on the bridge

  • Steamworks - 2017 - Cycles and non-symmetric field

    • Autonomous and cycles will be different depending on which alliance you are.

  • DDSPBTBC - 2019 - Multi-Game Piece

    • Cubes roll like cargo, and cones behave like hatch panels.

  • Power Play (FTC) - 2022

    • Picking up Cones

Day 2

We began making some of our field elements and talking more about possible designs. 

Robot Testing

What happens when a 2022 robot runs into a cube? Watch till the end
Robot 3847 prototype chassis with tilting arm mechanism next to a purple game cube


Squishing the cone test

Robot 3847 with an upright four-bar arm mechanism parked next to a yellow safety cone


Scoring the cube with Infrared
Robot 3847 four-bar arm mechanism raised next to a wooden mock scoring shelf


8515 can score the cube as well

Prototype ball launcher on robot 8u15 firing a purple ball toward a wooden mock scoring structure


Example Sketch

Slide titled Angle elevator + Fold down arm with dimensioned CAD sketch of the mechanism


Robot Inspiration

1986 - 2012: Twin Tucking Tabs and Stingers

6800 - 2022: Arm on an elevator

1619 - 2018: Full-width cube intake


Day 3: Cone Intake, robot sketch, and game manual notes

Pinch Roller Cone Intake

One of our students devised an elegant solution for a game object mechanism that deals with both balls and cones. The circles are tubes, and it intakes cones from the top. Here is a very early prototype:
Slide on double roller cone and cube intake with CAD roller sketch next to a game cone and cube

Students drilling a yellow cone-shaped intake prototype mounted on a test arm in the shop

Close-up of the yellow 3D printed cone intake prototype being assembled with a drill


Elevator + Slider

Slide titled Elevator + Slider showing CAD sketch of a slanted single-stage elevator with belt slider


Slide titled Elevator + Slider + Ball Launcher with CAD sketch of the combined mechanism

This is one of our favorite sketches of a robot that can reach the top cone-scoring location and do most of the top items on our priority list.

  • The Slanted Elevator allows you to reach further as you raise the carriage.

  • The slider lets you extend towards the mid and top rows.

  • We use the length of the cone to reduce the extension needed to reach the top cone locations.

  • The cone pinch intake doubles as a ball intake

  • A flywheel/roller would let us launch balls to score them quickly in auton.

New things in the manual

  • District points for playoffs are official, according to the manual.

    • Game manual table listing district playoff round alliance finish results and advancement points

    • The 5th/6th and 7th/8th placed alliances don’t receive any Advancement Points

    • The points for each team are awarded based on the percentage of your alliance’s match wins that your team played in. So for an alliance without a backup robot, everyone gets 100% of the ALLIANCE Advancement Points. 

    • If a backup robot were to play 1 of 4 match wins for the alliance, they would receive 25% of the Advancement Points, and the team they replaced for that match would receive 75% of the Advancement Points.

  • Playoff tiebreakers are only Tech Fouls and not all fouls

    • This is a good improvement. 

  • New Champs Division Names

    • Game manual bracket diagram showing Round 1 playoff matches pairing named alliances

    • We believe the Milstein division is honoring César Milstein, and the Johnson division is honoring Katherine Johnson, but we haven’t seen an announcement yet.

  • R304 Blue Box

    • It’s now explicitly written that “running a 3D printer or other automated manufacturing processes overnight producing ROBOT parts” is against the rules.

Day 4: Ground cone intake & cones on the substations

Updated Favorite Sketch:

CAD side-view sketch of a pivoting cone intake arm at 70 degrees with pulley and cone geometry dimensioned

  • Today’s update allows us to lower the cone pinch intake to the floor. 

  • Our starting configuration would have the elevator raised slightly to allow us to fully retract the slider.

  • With this we will likely need more extension than a single-stage elevator can provide, but we are still working on the sketches. A two-stage elevator is easy enough for us to build.

  • A two-stage elevator will also let us have a lower starting height and lower CG when fully retracted, so there are additional benefits for the added complexity.


Cones on the Single Substation:

Two yellow traffic cones propped on a plywood test board in the shop, one tipped on its side

  • We played around with multiple ways to stage the cone on the single substation so it is stationary. This allows a robot to intake it without waiting for the HP to drop it.

  • This specific setup is likely not repeatable but using a third cone with the cone flange past the rear lip of the ramp or by using the chute door to stop the rear cone from sliding should work well.


Cone Orientation on the Double Substation Shelf

CAD rendering of a yellow cone held by a mounting bracket on the robot chassis frame rails

  • It appears possible to place the cones sideways on the shelf in the double substation. This allows robots that can intake cones in this orientation to use the shelf instead of intaking from the floor. This orientation also lowers the tip of the cone so a robot doesn’t have to extend as high to pinch it. It may be possible to place the cone in a way that allows the tip to hang over the edge of the shelf as well.


Robot Inspiration:

1323 - 2019: Carbon Fiber Linear Slider + Bearings


Day 5: Idea Refinement, Pincher and Launcher prototype.

It’ll be a short one today!


## Idea Refinement


Today we refined our current design, including working out most of the 2d geometry before moving on to 3d geometry. We will be building an Alpha Robot this weekend to prove our current theories and to be able to rapidly iterate on game-piece manipulator prototypes with the strictness of a robot chassis. It will also allow our controls team to have a robot to test control ideas with.

A significant change to our design is that the elevator is now in 2 stages. This allows us to keep our CG lower overall and extend higher. Here is the sketch now; it might be more confusing than helpful at this point, but I’m willing to answer any questions you might have


## Pincher and Launcher prototype


We also had an opportunity to test out a joint Pincher/ Cube intake/launcher prototype. Here is a video.
Students test a PVC pipe pincher prototype with foam roller wheels against a purple game cube

Students test the PVC pincher prototype with foam rollers positioned over a yellow traffic cone


Robot Inspiration: 2337 2022 (Elevator Mounting)


Day 6: Alpha CAD started

We have decided to follow the 1678 model of building an alpha robot. We quickly realized while testing intake prototypes that we will likely need to bolt them onto an elevator and slider to be able to fully tune them to the needed configuration and if we are going to do that we should just bolt it all to a chassis.


Alpha will be built on top of the swerve chassis from our 2022 practice robot. It will give us a chance to figure out many of the potential problems in our design and start programming and driver practice.


Day 6: Alpha CAD started


Five Mechanical Systems

  1. Drive Train, Controls, Bumpers: MK4i 24.5” x 27.5”

  2. Elevator: TheThriftyBot blocks for Alpha, likely continuous with a timing belt, Falcon+MAXplanetary

  3. Slider: Basically a sideways elevator, Falcon+MAXplanetary

  4. Intake: Pinch Roller + Falcon+Belts

  5. Launcher: Top spin or no spin launcher (still testing): Falcon+Belts

Day 7: 4-Bar

Switching to 4-bar from Slider

We are switching system 3 from a linear slider to a 4-bar linkage. This allows us to use our full elevator extension for raising the intake and use the 4 bar to lower the intake to the ground for pinching cones and picking up cubes over the bumper. This system configuration won’t allow us to crash the intake into the robot like the elevator+slider setup would. This should give us more reach and extension than our previous configuration.


In this sketch, the circles represent three of the intake’s positions. The lowest setting is for intaking cones from the floor, the middle for intaking cubes, and the highest for its stowed position. The orange lines are the bars in the fully extended position.

CAD side-view sketch of a four-bar linkage arm geometry overlaid on the drivetrain with pivot angles dimensioned


Continuous Timing Belt Elevator 

We worked on one of the possible ways we will power our elevator- by using a continuous timing belt to drive up and down the elevator. This has some advantages. We only have to tension one thing instead of the two a cascade setup would require. When we are scoring low and mid, we will only raise our carriage, which should keep the CG slightly lower.

CAD front view of the elevator towers on the chassis showing orange cable routing between the rails


Robot Inspiration

Nick Aarestad’s Linkage Video: https://www.youtube.com/watch?v=QsAC_seQHJY

2910-2018: Timing Belt Path on the Elevator


Day 8: Elevator and Controls

Elevator go brrr (doesn’t go brrr yet).

Today we made a lot of progress on manufacturing alpha. We made an elevator using 2x1 REV MAXTube and the Thrifty Bot bearing blocks. Unfortunately, the pattern doesn’t match up to the MAXTube, so we had to match drill into it. Our Final version might use the West Coast Elevator bearing blocks because they match up to the MAXTube. Here is a picture of our progress:

Day 8: Elevator and Controls

Controls


Our Apriltags came in today, and we got them on the acrylic backing. Gamma Ray 2021 was upgraded to 2023 Code and Firmware to help start getting our code base for X-Ray 2023.


Day 9: Alpha Elevator Assembly

Today we focused on mounting the Elevator onto the Alpha Chasis. A couple of unique things about it are the way we mount the crossbar and A-frame. Here is the concept pioneered by the EngiNERDs in 2022. The tube extends thru the plate providing more strength and keeping the end of the tube open so it’s easy to bolt/nut into and you can remove debris.

Robot chassis on a cart with drivetrain gearboxes, wiring, and terminal blocks exposed, elevator mast partly attached


We also built and rigged the elevator.
Angled elevator tower with chain and belt stages standing upright on the chassis base in the shop


Close-up of elevator pulleys, chain, and idler sprockets mounted above the battery and electronics board

The ratcheting wrench allows for the elevator to be easily tensioned. Using a wrench to provide ratcheting tension has been used by many teams including 125 in 2018.


FIRST Choice Round 2 Priority Lists Lock Monday, Jan 16th

Make sure your team has completed their FIRST Choice Priority lists for round 2. Multiple items were added to the site and all teams were given more credits to use.

Robot Inspiration

1678-2022: 4-bar linkage, bushing, chain mounts, etc


Day 10 & 11: Design Recap

Every Tuesday we hold our design recaps


Slide listing mechanical systems: drivetrain, elevator, four bar, intake, launcher, with CAD assembly thumbnails

Slide showing CAD render of the swerve drivetrain module chassis with four corner swerve pods

Slide with a photo of a purple powder-coated swerve module gearbox plate on a workbench

Slide describing the 60-degree angled elevator with a photo of the assembled elevator tower in the shop


Elevator Test Video

Video thumbnail of the elevator tower extending and retracting on its rails in the shop

Slide titled Four-Bar Extension with a CAD close-up of the orange four-bar linkage plates and pivots

Slide on the cone pinch intake with a photo of the roller intake gripping a yellow traffic cone

Video thumbnail of students guiding a yellow cone into the PVC roller intake

Video thumbnail of hands feeding a purple game cube into the roller intake mechanism

Slide describing the launcher flywheel and roller design with an annotated CAD diagram of the ball path

Slide titled Trajectories showing autonomous path planning software screens with plotted field routes


Day 12: Alpha Elevator Explained

Our Alpha elevator uses a timing belt and idler pulleys as its motion system. It’s designed around the 0.5” hole spacing on the REV Maxtube and uses the REV Max tube plugs to allow us to bolt the idlers into the rail. 


The main drive pulley is a 32 HTD 5mm hex pulley with a TheThrifityBot 3D print ½” hex insert in it.


The belt for the elevator has to be designed so that each of the vertical run is perfectly vertical, any angle in those runs will cause the belt path to change total distance as the elevator moves up and down thru its motion.

CAD front view of the elevator frame with orange belt and cable routing traced through the rails and carriage

To allow these to be vertical paths we are 3D printing our own idler pulleys that are based on the width of the 5mm timing belt and the ½” hole spacing.


The 3D printed idlers are explained here
Slide detailing the belt idler bearing stack-up with bolt and spacer specs and a cross-section CAD diagram

Tube Spacer Link: https://www.mcmaster.com/catalog/129/190/9390N12 We sanded these and then cut them to length on our lathe.

These spacers may also work for this purpose but we haven’t tried them yet - https://www.mcmaster.com/93441A425/


STLs and STEP files for the pulleys can be found here: https://www.printables.com/model/373552-spectrum-3847-5mm-htd-elevator-idler-pulleys


For Alpha, we are using 3D printed tube plugs with the ½” OD tube spacer and 3” long 10-32 bolts so they are supported through more of the tube and can’t bend as easily. We haven’t been able to test the shoulder bolt solution with the aluminum tube plugs yet as we are still waiting on that order to arrive. We will decide if we want to use the long bolts with tube spacers or the shoulder bolts in the coming weeks.


CAD render of a belt idler pulley assembly with bearing, spacer tube, and shoulder bolt

3D printed Idler pulleys for 5mm belts with ½” hole spacing.


The belt is tensioned by mounting one end of the belt to a hex shaft that is spinning in a ½” ratcheting wrench (you can also do this with a ⅜” wrench and ⅜” hex shaft). So if we need to add tension you just turn the shaft a few clicks tighter.


The other end of the belt is secured to the elevator using a laser-cut polycarb bracket and zip ties.


Close-up of the elevator's belt, idler pulleys, and motor mounted on the aluminum rail frame

We are currently using TheThrifityBot Constant Force spring and mount from the TTB Elevator Kit but we will likely move to a custom design for our competition robot.


The side bearing blocks on the Alpha Robot are the TTB Bearing Block Kit and for our competition robot, we are planning to use WCP Inline Clamping blocks since their hole patterns line up with the REV tube and tube plugs.


Day 13 & 14: It’s Always a Launching Game

Launching:

Today we experimented a bit with launching cubes and made some progress. There is still a lot of work to be done, and we are still changing all the spacing to see how the cube reacts.

Student stands beside a rolling practice bot cart with a purple game cube loaded in the PVC roller launcher


Padded rolling test cart numbered 8515 holding the launcher mechanism and a purple game cube

Cone Intake:

We found that softer rollers seem to grip onto the cones better. We can intake cones at really aggressive angles. More refinement is still needed.

Students adjust a PVC four-bar prototype arm next to a yellow cone lying on its side

Close-up of a student's hand operating the PVC pincher joint prototype beside an upright yellow cone


Day 15 & 16

 Cone Intake Testing

  • We are pretty happy with the test version of the cone intake. It’s able to pick up tipped-over cones that have their tip ahead of the flange and the flange within the width of the intake.

  • When at the right height it can pick up standing-up cones as well.

  • There are more failed attempts on in our photo gallery.

Video thumbnail of the practice bot's roller intake next to a tipped-over yellow cone on the carpet

Video thumbnail of the roller intake approaching a yellow cone lying on its side on the carpet

Video thumbnail of the intake rollers positioned just above a fallen yellow cone during a test run

Video thumbnail of the roller intake facing a standing yellow cone on the carpet


Cube Intake Testing

Video thumbnail of the roller intake with a purple inflatable game cube positioned in front of it

Video thumbnail of the roller intake testing pickup of a purple inflatable game cube


Basic Charge Station Test

  • We are still building part of the station but got enough built to see if Alpha could drive up

  • This is using unmodified SDS MK4i modules in the standard low 2x1 mounting configuration. 


Video thumbnail of a practice robot approaching a wooden charge station ramp mockup on the field carpet


Day 17 & 18: Week 3 Design Recap

Slide on completed swerve drivetrain with photos of purple swerve modules in a storage bin

Drive over the cable bump video

Drive up the charge station video

Slide listing elevator progress: rail cutting, powder-coated bearing blocks, and motor control status

Slide on the four-bar mechanism with a photo of Alpha's arm and a CAD render of the blue pivoting plates

Video thumbnail of the practice robot numbered 8515 near a yellow cone on a carpeted field with wooden obstacles

Slide comparing last week's cone roller intake to the current version with flex wheels, side by side photos

Slide on the launcher with a CAD render of the flywheel belt and pulley assembly on the purple mounting plate

Software recap slide listing autonomous path planning and swerve drive controls progress, text only

Photon robot status slide noting the drivetrain is near complete and intake plates are cut, text only

More can be seen on our Photo Gallery Week 2 and Week 3

Day 19: Elevator Rails and intake testing

Intake Testing

We had some of our best intake tests today. One of the key points in an interactive design cycle is when you begin to understand what can be removed not just what can be added to allow the system to keep working but to make it simpler and more robust. 

Yesterday Alpha’s intake had 3” compliant wheels on the top roller and launcher. Today we swapped those for 2” polycarb and silicone rubber (these are the hood rollers from our 2022 practice robot).


This test setup worked very well and allows us to build the intake lighter, simpler, and make it less expensive. This is just today’s version of the intake, we expect it will change many times over the season and probably before next week but it’s at a good progress point.


The current intake can

  • Intake cubes from the floor in the full down position.

  • Intake tipped-over cones from the floor when the nose is slightly pointed at the intake and the flange is inside the width of the intake. We estimate we have around 150 degrees of intake range on the cone. With training, we believe this should be good enough for our pilot to use this as an efficient loading option from the loading zone.

  • Intake standing cones if the intake/four bar are set to the correct height. The current intake is pretty height sensitive to standing cones. We need to be within in about a ¾” height window for it to intake well. This should be good enough for us to intake cones from the Human player shelf.


Things to experiment with

  • Intake from the single substation?

  • Improve storage geometry to make sure the cone tip always goes in the intake so we aren’t holding cones tilted up.

  • Ensure our grip on the cones is firm enough so we never drop a game piece.

  • Improve scoring geometry on high and mid posts.


Intake Standing and Tipped Over Cone

Robot with tall extended elevator and roller intake tested near a traffic cone on carpet


Intake Cube

Robot with raised elevator practicing intake of a purple inflatable cube in test field corner


1/25/2023 Intake Specs

  • Lower roller is just 1/2" hex with silicone tube floated on top.

  • Top roller is a 2" polycarb with silicone tube floated on it around it (actually, it's just our practice bot hood roller from last season).

  • Gap between the roller surfaces is around 4.75" in these tests and roller C-C is at a 73° angle from the floor.


Elevator Progress

Stack of perforated aluminum elevator rails cut to length on a shop workbench

We cut all of our elevator rails for the practice robot and competition robot. We also began laser cutting some of the additional parts.


WCP Inline Clamping bearing blocks are being powder coated, as are The Thrify Bot Elevator Gussets we will be using on the elevators.


Day 20-22: Intake and Practice bot

Intake

We experimented more with the intake these past two days. We have added a second roller to the bottom to better guide both the cone and cube into the correct position for transporting across the field. This lets us pull the nose cone up more and stops the cone from diving down and being held in an incorrect position for scoring. Other experiments can be seen in the photo gallery including a hard wooden floor that helped guide the nose but reduced the floor cone intake abilities.


Robot roller intake reaching toward a traffic cone on a practice field with a blue ball nearby

Robot with dual-roller intake positioned next to a purple inflatable FIRST cube

Practice Bot


Practice and Competition bot; drive and elevator MAXtube rails were powder coated. We started assembling the practice bot elevator.


Practice robot drivetrain frame assembled from aluminum rail with wheels, on a shop table


Day 23-24: Launcher go brr

 * *Exceptions apply, see terms of service for details

Launcher

We did more testing on our launcher by replacing the launcher motor with a 12:18 gearbox with a Falcon 500. We also switched the 2” silicone rollers for 3” compliant wheels. Here are 2 videos about how that went:
Robot 8515 with tall LED-lit arm on a game field mockup with vision tags and a blue ball
Wide view of practice field with wooden charging station mockup and AprilTag-labeled substations


Practice bot swerve

We have been refurbishing out 2022 Comp bot swerve modules for our practice bot this year. It’s a really slow process and takes around 3 hours per module. 2 are done, and the rest will be done through the week. This is what our drivetrain for the practice bot looks like right now.

Launcher wheel assembly with four Falcon motors wired and mounted on aluminum rail frame

Day 25: Design Recap

Slide listing updates: practice and comp bots being manufactured together, sheet metal sent to Solarcraft

Drivetrain slide with photo of swerve module frame assembled with drive motors on a shop table

Elevator slide with photo of practice elevator rails and carriage frame standing on a table

FourBar slide detailing pivot plates, lathe-turned shafts, and joystick control setup

Intake slide with CAD render of the roller mount plate highlighting the second lower roller

Launcher slide with photo of the arm launching a purple cube toward the scoring grid

Vision slide noting Limelight 3.0 mounted and flashed, with next steps for pose estimation

Day 26: Practice Robot Progress

Our practice robot is coming together quickly. We had cut and powder coated all the rails. We are powder coating practice parts for two reasons, one we started competing with our practice robot more at off-seasons so it’s nice for it to look good, and it lets us choose the best coated parts for our competition robot. 

Angled practice robot swerve frame standing upright with four swerve modules and loose wiring

Practice robot swerve frame viewed from directly above showing four corner modules and center bracing


Our competition robot should be assembled pretty quickly behind this one, we already have all the rails cut and powder coated and the swerve modules assembled. 


Progress will begin on getting the Four Bar components mounted on to practice robot, and then we will need to manufacture our V1 competition intake and launcher.


Launcher Progress

Changed all intake/launcher motors to Falcons, still running open loop and manual aiming. 

Robot with LED-lit arm parked next to charging station platform on the practice field

More test videos where it misses are in the gallery


Day 32: Design Recap

Robot Status slide noting Alpha testing, practice and competition assembly progress, weekend plans

Drivetrain slide with photo of a student holding the powder-coated steel belly pan with mounted swerve modules

Elevator slide with CAD render of the angled two-stage elevator frame and carriage

Fourbar slide with two CAD renders of the linkage mechanism showing chain and tensioning rods

Intake slide with CAD plate highlighted in orange and photo of the belt-and-roller intake assembly

On-the-Fly Generation slide describing working autonomous path code to given field coordinates

Robot 8515 with purple LED-lit arm driving toward charging station platform in a dim practice room

Mechanisms slide listing elevator and fourbar hold-position, zero, and delay command progress

Vision slide with CAD render of the Limelight camera mounting bracket plate


Week 4 Gallery

Week 5 Gallery

Day 39: Design Recap

General Updates slide with photo of the practice bot's open electronics bay wiring from above

Drivetrain slide with CAD cross-section of the swerve module bumper mount and Y-shaped slot

Drivetrain slide with close-up CAD render of purple MK4i gear plate and bearing spacer

Elevator slide with photo of a student adjusting the fully rigged practice elevator with belts and pulleys

Elevator slide with wide photo of the tall assembled elevator towers and polycarbonate cable carrier

Four Bar slide with photo of a student installing the fourbar roller mechanism onto the competition frame

Intake slide with photo of a student adjusting the wired roller intake mounted on the orange-draped frame

On-The-Fly slide describing semi-usable field-position code with link to Waco testing video

Video Link


Floating Intake Rubber Videos


Setup and Explanation

Close-up top-down view of a red compliant roller wheel inside a white PVC intake tube


Video of floating the rubber on to the polycarb tube.

Student wrapping white splicing tape around a roller tube held against a shoe for scale


Day 53: X-Ray and Autons

X-Ray update

X-Ray has been fully assembled, wired, and can drive. We are very happy with how it looks.
Red 3847 robot with tall elevator mechanism and see-through polycarbonate panel, rear angle

Blue 3847 robot with sponsor decals on elevator tower, top-down view near windows


It did have some issues yesterday.

  • Its intake was very wobbly at first when compared to practice bot. This is an issue because when the intake retracted, the inside roller’s pulley could hit the four-bar arms, pushing the belt off. We never had this issue with practice bot, but it happened immediately with comp. We switched out X-Ray’s chains and sprockets with practice bot’s, which helped a bit.
  • X-Ray also did not intake ground cones for some reason. We solved this by making the intake rollers run while retracting intake, and making the elevator bob up for a moment while retracting as well. Switching its lower roller with the practice bot’s also helped, for some reason.


Autonomous

3 cube and balance sequence.

Video still of robot running an autonomous path over a wooden ramp on the practice field

 

Event Recap: Waco District 2023

Team 3847 poses with the FIRST Impact Award banner from the 2023 Waco District Event


Results:

Finalists, Impact award, Deans list semi-finalist


This Weekend Spectrum competed at the Waco District Event. We would first like to thank our alliance partners: 6672 Fusion Core and 5503 Smithville Tigertrons as well as congratulate the winning alliance of 624, 2881, and 8088.


Spectrum went 12-6 overall at the event, finished ranked 5th, and was invited by the 3 seed of 6672 to join their alliance. After inviting 5503 to join this alliance, we played through the top bracket upsetting the #2 and #1 seed alliances and falling against the 5th alliance in an extremely close tiebreaker finals match.

On top of having a successful event with the robot, we also were honored to receive the FIRST Impact Award and one of our team members was selected to move on to compete to be a Dean’s List Finalist at our District Championship.


Failures and Fixes:

Failure: Carriage derailment: our carriage twisted in place. This was a problem we saw once on our practice robot, we had already replaced the thin wall rev max tube with a thicker wall max tube and added 1/16” spacers behind our WCP bearing blocks but that wasn’t enough to prevent it from happening during the event.

Fix: We cut some extra extrusion we brought and made the carriage 9” tall, 3” taller than it was before. We were able to perform this fix between matches. This wasn’t a planned upgrade but a solution we developed at the event. Because of our continuous elevator, the fix didn’t require any adjustments to our setpoints or limit us in any way as we had about 6” extra in our first stage that we weren’t using to score top cones.


Failure: Cable carrier snapping
- Once as the elevator went up while scoring a cone. The polycarb had already been dented a bit, but one of these dents finally snapped. We remedied it with some backup polycarb and tape, but this did not last long.
- In a later match, we reversed quickly when the elevator was up, and the cable carrier got caught between stages. It snapped completely and fell off the robot. This also caused the four-bar motor to be disconnected.
Fix: We wrapped all the cables in gaff tape and tied the wire bundle down with a string. This allowed us to continue to use the elevator and not catch the wires on anything.


Long blue chain link with cracked black tape repairs laid out on a tableRobot's polycarbonate elevator panel with team logo and sponsor decals in the pits


Failure: Camer mount bent. We believe this happened because of the cable carrier problem above, when the cable carrier got caught it bent the camera mount.

Fix: Replace it with the spare. We will likely make this slightly thicker in future versions to prevent it from ever getting caught by the carriage.


Failure: Lower Intake Roller 3D printed pinion pulley friction locked to the polycarb motor mounting plate. 

Fix: We replaced it with metal versions of that pinion that we had always intended to run for competition but had never replaced. This problem never caused an issue during a match, it was discovered during a system check in the pit. 

Close-up of a hand holding a small worn gear and pulley destroyed from mechanical failure


Failure: The lower intake pulley slammed into the four-bar arms a couple of times, forcing the belt off and rendering the intake useless. 

Fix: We fixed tension by slightly increasing the diameter of one of the idlers. We also printed a new spacer that should have kept the belt on a pulley. We had one more failure of this kind during the tournament so we will continue to improve this belt run.’


Failure: We had a few wood screws back out or shear on our bumpers.

Fix: We just rescrewed them, but we are working on a better bumper attachment system for our next events.


Failure: Carnivore booted into a new USB cable state and cause to sit idle for match 34. 

Fix: Replaced the carnivore USB-C cable, and checked it’s status light after boot up before leaving the field before each of our matches.

Close-up of robot electrical wiring showing CAN bus module, battery connector, and bundled cables


Failure: network switch failure prior to finals 2. We believe we left a cut thru ethernet cable (it got cut by the carriage weeks ago) installed in our robot and someone inadvertently connected to our switch and it shorted out somehow. This did not cause us any issues in a match. (Thank you 15 min match breaks)

Fix: VHBed the spare switch on top of the old one and played finals 2 and 3 with that switch. 


Controls Update

Autonomous:

We ran a three-cube auton sequence for most of this event. Auton was strangely inconsistent. The robot would dodge the staged cubes right after a match where it launched all three perfectly. The most consistent part of auton was the first cube launch, which landed in the top or middle cube node regularly.


Our best Auton Performance was in our first playoff match where we landed a cube in 1 top node and 2 cubes into the mid-nodes.
Livestream view of match scoreboard with Alliance 6 vs Alliance 3 including team 3847 at 0-0
Video


Self-Driving (On the Fly Path following)

Self-Driving did not work at this event. We eventually determined that if the robot touched the charging station or cable bump, odometry would get messed up and self-driving would break for the rest of the match. Our LimeLight 3 was reading april tags correctly but we haven’t adjusted the pose estimator to quickly enough adjust our estimated position to correct for the large odometry errors. It did work once during a match where we didn’t go on the charge station in auton.


Planned Improvements: 

  • Improve autonomous repeatability and switch to starting the match by scoring a top cone.

  • Increase intake gap distance to allow for better cube intaking. We had some issues with cubes not entering the intake cleanly.

  • Enable closed loop heading control at all times the pilot isn’t steering the robot, this should eliminate some of the drift that we saw this weekend and enable features like auto-locking the robot parallel to the grid for easier scoring.

  • New Cable carrier/management plan for the elevator

  • New/improvement bumper mounting

  • Improve lower roller belt and pulley setup to prevent it from ever skipping in the future.


Drive team operating team 3847's arm robot from behind the field glass during a match

Strategy/Scouting Recap

Scouting: Things went rather smoothly. We had many new scouts and being the first event there were a few hiccups such as keeping all the tablets and laptops charged but we were able to get good data and share it here after the first day of matches. Thanks to 2719 and Ty Trembly for developing their QR scout program, this is our 2nd year of using it and it has helped us immensely. 


Pick List Meeting: This was a complicated and long pick list meeting. Waco was a relatively balanced event with multiple (8-9) robots capable of scoring 5+ game pieces per match. The rankings at the end of Friday did not make it clear who would be the top seed at the event so we had many things to look at and discuss throughout the night. The overall goals of the pick list meeting are for our team to better understand 2 things, who are the top teams at the event and how would we rank/tier them, and then for us to get 24 robots into our tiers so we know if we are on the #1 alliance we will have a pick ready if all our other choices are taken. Sorting the top 8-9 robots took quite a while (and this ended up changing a good amount before alliance selection on Saturday morning) and even longer to get to 24 in our higher tiers. We finally wrapped up a little before 1 am. (about 3 hours of meeting).


Alliance Selection:  The last qualification match and a replay were needed to set the top 5 seeds. 6377 Howdy Bots were able to lock the #1 seed by securing 3 RP in the final qualification match and 6672 was able to move up to the #3 seed in a replay of qualification match 69. This ended up being extremely important during alliance selection. Waco saw the #2 and #3 seeded teams decline invitations from the #1 because of how strong a field existed to draft from. We were very excited to be picked by 6672 as we had never gotten to be in an alliance with them even though we have known them for a few years now. Once selected we were able to find each other in the stands and pretty seamlessly worked to get a list together for our third pick and were very happy to see 5503 was still available for us to pick. We worked with the Smithville Tiger Trons in 2022 at Dripping Springs and knew they would be ready to work with us to do well in the playoffs.


Story Time: Load In Tornado Warning

Load in was quite the adventure for us. As we were approaching the venue just after 7pm Thursday night when we start getting texts that the area is under a Tornado watch and we may not be able to load in as there is likely going to be a shelter-in-palace order once it elevates to a warning. 


We were able to pull in and unload our bus and equipment in just under 10 minutes and while I was moving the bus I started feeling the winds pick up and dust started swirling in the parking lot. I was able to get back in the building but another team in a charter bus pulled in and we need to help get their students out the bus and into the building before the winds picked up any worse without the tornado sirens going off. Everyone was brought into the building safely.


The event was under a shelter in place order for around 30 to 40 minutes before we were allowed back into the pits to continue with inspections and getting ready for the matches the next day. And we were able to help the other team get loaded in after the warning was over. 


Thank Yous

Thank you to our sponsors REV Robotics, Solarcraft, Inc, the Gene Haas Foundation, Analog Device, Texas Workforce Commission, Intuitive Foundation, International Society of Automation, Houston Chapter, QAD Works & St Agnes Academy & Strake Jesuit College Preparatory.


Thank you to all the volunteers that helped make Waco an awesome event.


Photo Gallery Link

 

Event Recap: Texas State Championships 2023

Results:

Award: Gracious Professionalism Award


This past weekend, Spectrum competed in the FIT District State Championship. For playoffs, our alliance partners were FRC#5427 Steel Talons and  FRC#2582 PantherBots.


Spectrum had a 9-3 win-loss ratio in Qualifications. During playoffs, we lost our first match in the upper bracket, and continued to lose in our second match against 5415 Pearadox, 5431 Titan Robotics, and 9140 The Robobots, which ultimately eliminated us from the competition. 


Team members working on the robot's elevator in the pit area, surrounded by parts bins


Four students form a triangle hand sign beside the robot at the Phillips 66 championship sign


Failures and Fixes:

Failure: The charge station couldn’t press down in a few matches.

Fix: Raising the rear bumper a small amount seemed to help but the charge stations were still not as smooth as in previous events.


Failure: Pulley flange on the inside roller failed at a print layer and fell off

Fix: Replaced the pulley

Failure: Elevator lower idlers bend at the shaft. The autonomous mode was stalling down the elevator and that was a contributing factor to it bending

Fix: Replaced, and have no solution that mounts them together for Champs


Failure: The elevator belt had a tear, which we caught during visual inspection before it failed

Fix: Replaced the elevator belt


Failure: Damaged the tread on one of our wheels. Because the replacement tread was significantly bigger in diameter compared to the original diameter, the discrepancy between the new and old diameter would affect our autos. This is the first tread swap of the season after the damaged one from Waco.

Fix: Swap treads on all four wheels with new ones 


Failure: Misaligned bumper mounts to the robot.

Fix: Bolting the ones that were aligned and it was fine for the rest of the event


Controls Update

  1. Implemented AprilTag relative aiming for cube node scoring. The field pose estimation wasn’t accurate at our first two events. We made quick control loops to center us on the cube nodes for cube scoring.

  2. The cone scoring command retracts the 4 bar and lowers the elevator at the same time, making that process quick and smooth compared to the districts.

  3. Had high cone auton modes on clean and bump sides.


Planned Improvements:

  1. Improved autonomous modes

  2. Change to cube scoring to become more consistent.

  3. Flashlight to help with mid-field intaking


Strategy and Scouting Recap:

  • Our scouting went well. Our data was pretty accurate, and most of our match and alliance predictions were true. 


Thank Yous:

  • Huge thank you to our alliance partners: FRC#5427 Steel Talons and  FRC#2582 PantherBots; you guys were awesome to cooperate with! We wish you a happy rest of the season.


  • Also huge thank you to our sponsors: Analog Devices, Solarcraft, QAD Works, Team REV, Gene HAAS Foundation, ISA - Houston Section, Texas Workforce Commission, and Intuitive Foundation! You all made this brilliant season possible.Grid of team sponsor logos including Analog Devices, Solarcraft, QAD Works, and Team REV