Can't Control 4788 | Build Blog 2024

Team 4788 - Can’t Control’s inaugural Open Alliance Thread


We are thrilled to be the first Australian team to join the Open Alliance! We are a community team based out of Curtin University in Perth, Western Australia, ~4000km/2500miles from the nearest regional on the other side of the country. Team 4788 began its modern form by merging team 5333 and 5663. We have been sharing our robot dev, code, and CAD freely for the 10 years we have been active, as such, joining the Open Alliance was a no brainer!

Last Year


2023 was our official return the national/international stage and it was a beaut! Taking the impact award and making it to playoffs at the Southern Cross regional, was experienced by all team members that flew with us. This was our only regional and we had a blast. Our biggest success in Houston was the learnings we gained and the friends we made. Running our offseason event for the 3rd year was also tons of fun and it was great to grow the West Aus community again.

Resources


2024 Github: GitHub - CurtinFRC/2024-Crescendo: Our code for FRC 2024: CRESCENDO, using single project Gradle, Wombat, and probably other stuff
Website: [Coming Soon]
Youtube: https://www.youtube.com/@CurtinFRC4788CantControl
Instagram: https://www.instagram.com/frcteam4788/
Facebook: Curtin FRC Team 4788 - Can't Control

Expect more to come soon, and feel free ask any questions!

17 Likes

Goodbye 2023, what a year it has been!

FLL

FLL is one of our favorite outreach programs we run, in 2023 we only ran 10 events and 1 championship, this was in favor of moving our rural events to 2024 and running them as offseason so we can better support the teams. There was fierce ‘coopertion’ in the FLL championships held at Curtin University with matching energy at the regionals leading up to. We wish the best of luck to the qualifying teams in their international competitions to come and all FLL teams for next year! We’ll do more in depth posts on FLL (the competition set-ups, our custom tournament management software, etc) later in 2024 when it becomes relevant to us again, so be sure to hit that notification bell!

Master Classes

Our students at 4788 (and anyone around WA [West Aus] that we could invite) have been involved in our new hands-on learning Masterclasses, to prepare for the 2024 season we’ve hit the ground running with students gaining experience in the programming, mechanical and marketing skills required for the season to come.
Masterclasses is a revised version of our former “preseason”, the goal was to grow the knowledge base of all WA teams (now that there are many pre-rookie teams). We get people like university lab demonstrators to present engaging “lectures” in the morning and then hands on workshops in the afternoon.

Ri3D Training

Now our members are testing their problem-solving abilities in an unofficial Ri3D 2017 FRC challenge working to have a functional robot by the 6th of January. This is our annual brain warm-up before kickoff so that we are ready to kick in to gear! More on this, Friday.

10 Likes

Very exciting–I look forward to closely following your team’s progress!

3 Likes

Fully Prepped for Kickoff :rocket:

Ri3D?!

Every year prior to kickoff 4788 meets for 3 days, in these 3 days we build a robot to kick our brains into gear and practice our skills.
This year we did 2017 steamworks (balls only), this decision was made by the mentors because we still have an outlandish amount of fuel around and with a very rookie heavy team this year we wanted to do something a bit easier.

Final Robot

Choices:

  • Robot Must intake from floor and hopper
  • Should be able to unload as many balls as possible as quickly as possible
  • Can’t be too complex as we only have a short amount of time
    Features:
  • Full length roller intake
  • Hopper style magazine ( Ultimately voided by the electronics panel being put on top :rofl: )
  • Static hooded shooter with indexing wheel

See Robot Reveal HERE

Design Guidelines:

Heavily inspired by Spectrum’s design guidelines (thanks @allengregoryIV) we created our own. Our process was to run though Spectrum’s as a template, and steal the best and invent the rest. The “inventing the rest” for us looked like removing irrelevant guidelines or guidelines that didn’t reflect our own team limitations, and then adding any guidelines we have experienced. This is a process we have never previously documented before season, and only discussed.

Do

  • Make a good robot (be in the meta)
  • Low center of gravity
  • Build compact robot
  • Simple
  • Swerve if viable
  • Use brushless motors only
  • Allow room for error

Don’t

  • Telescoping elevator/arm
  • Resting position shouldn’t need motor
  • Use claws/pinching mechanisms
  • Have unnecessary bumper cut outs
  • Passively drop mechanisms
  • Use pneumatics
  • Try to do everything
  • Shoot during pick and place games
  • Scissor lift
  • Pick up flat objects at a steep angle
  • Ramp bot (we expirenced this in 2018, in the end we removed our ramps and won the comp)

Materials

  • 25 x 25 SHS & 25 x 50 RHS
    • 1.6 or 3mm
  • 25 x 25 angle
    • 1.6 or 3mm
  • Aluminum sheet metal
    • 3 or 5mm
  • 3mm Polycarb
  • Corflute
  • 1/2 in hex shaft
  • Circlips

3D Printing

  • Filament
    • PLA+, PETG
  • Don’t
    • Print anything structural
    • Print hex bores
    • Print gears
    • Large objects
    • Full mechanisms
  • Do
    • Print spacers
    • Anti-crush blocks
    • Print RSL mounts

Bumpers

  • Removable bumpers
  • Corner mounting (One of our students made quite a good system last year, I think it was inspired by 8177 Vector)
  • Good quality plywood
  • Solid core noodles
  • Cricut numbers
    • Put on before making bumpers

Handles

  • Give handles space for hands
  • Solid handles

Electrical

  • Battery → Mount flat
  • Create standard for battery lead direction
  • Breaker - Never use optifuse
  • XT60’s for power
  • MT60’s for brushless
  • Always solder CAN
  • Test ethernet cables
  • Mount radio landscape
    • Above bumper + 150 mm away from motors
  • Hot glue ports (after inspection)
  • Sensors
    • Encoders on gear bores
    • Sensors in home positions
    • Game piece detection

Power Transmission

  • High speed → pulleys
  • High torque → Chain
  • Bearing for all fast motion
    • Launchers, intakes
  • Bushings for slow motion is ok
    • Arms, wrists, pivots

Programming

  • Set points
  • Xbox controllers
  • Github
  • Vision
  • Remove control from driver to give control to robot

Things to consider

  • Starting config
  • Electrical layout
  • Custom driver station?

Aesthetics

  • Primary → Pink
    • Powder coat/vinyl
  • Secondary → Black
    • Vinyl only
  • LED’s must also serve a purpose
  • Sponsor panel

Goodbye 2023 Video

7 Likes

Kickoff Night!

4788 likes to stay overnight at Curtin to watch the live stream. We do this mostly as a bit of fun and a team building exercise, this year we leant into playing some strategy out more than previous years. This was all done knowing that its only rough preliminary thoughts, as for us the kickoff stream is at 1am, so any “critical thinking” between 2am-4am is hard to trust!

Key Thoughts

  • Prior to kickoff we established our goal is to be 1st pick to number 1 alliance.
    • We find that in Aus there is usually one or two crazy good teams
      • This year we suspect that those teams will be 4613 Barker Redbacks and 4253 Raid Zero
    • Our strategy will likely be to fulfil a complementary role to a top seeded team
  • This game looks like it will be really fun! Certainly in the engineering and hopefully in spectating
  • We’ve liked watching the Unqualified Quokkas’ stream

Next Steps

We will next be meeting on Tuesday, this is mostly to give our members time to rest. The added advantage is that we get to see Ri3D robots on that day and since we have to wait for our KoP to be shipped to us the time until we get that from start is less.

  • Discussing
    • Game Strategy (What will matches look like)
    • Robot Strategy (How will our robot fit into that)
    • Robot Mechanisms (How will our robot accomplish this goal)
5 Likes

Strategy Strategy Strategy

COVID is still real, and some of our members have it, so unfortunately we had to work from home today.
Today was about defining a concrete list of priorities, goals, and establishing our strategy.

Robot Goals

The reason we define these is so that we can have a good expectation within our team on how the robot should be performing (i.e. stability → the robot should be remaining fairly stable as it drives.)
We understand these are a bit loosey goosey.

  • Reliability
  • Fast scoring
  • Robustness
  • Stability
  • Mobility
  • Fixability

Expected Archetypes

These are the general robots we mostly expect to see at our regional, we don’t expect to see many if any of the final option.

  1. Does not complete objectives
    1. Defence Bot
  2. Only does one objective
    1. Amp
    2. Speaker
    3. Stage
  3. Completes two objectives
    1. Speaker + Amp → Most Viable (of 2 mech bots), Park + 1 shot in speaker (even not amplified) is worth same as climb
    2. Stage + Amp → Potentially a good support bot
    3. Stage + Speaker → Least Viable (of 2 mech bots)
  4. Completes all 3 objectives
    1. Speaker + Amp + Stage
  5. Completes all 3 objectives + More
    1. Speaker + Amp + Stage and More
    2. Trap Scoring, Shuttling device, buddy climb, etc

Winning Alliances

The following data/analysis is based on a 2v2 match up. Mostly because the analysis is easier that way.

We think both robots doing low, then high (whilst amped) is by far the best. Our expectation of the winning alliance is 2 bots score low, then all 3 score high (3rd pick is a kitbot high only, cycles half the speed of the other 2 but scores 83.3% of the others) the 10 secs amplification should be plenty for everyone to score.

Quick Data Analysis

More detailed analysis to come later

Requirements

Our requirements for the 2024 season are below, these requirements are what we will be referring to when making design decisions and sacrifices.

5 Likes

Oh yeah, it’s all coming together

Robot Architecture

The big debate today was Single Arm vs Double Arm vs Handoff. This took a fair amount of discussion and consumed our whole morning.
Our final verdict was that Single Arm is easily viable and we believe it to be our skill floor, but to be more competitive we want to surpass this floor. As such our final architecture will be a double arm.

Some Geometry

We explored our double arm geometry in CAD. We found that to simplify the arm we ideally want the drive base to be 650mm long, this may change as we progress in season.
The goal for our geometry is to use the “forearm” to intake, score Speaker, and shuttle Notes. The purpose of our “bicep” is to score the Amp effectively and if needed adjust angles.

Architecture 1


Architecture 3

Schedule

Moving Forward With COVID disrupting the expected flow of our season, we’ve had to adapt. Our approach is to have parts manufactured tomorrow and a mechanically complete drive base by the 12th. This will allow our already developed swerve code to be tested and tuned for a driving base by the 14th. Shortly after, our first version of subsystems will be mounted resulting in the birth of “Alpha Bot” by the 18th, allowing for driver testing.
After the immediate crunch, our schedule relaxes with almost 3 weeks dedicated to manufacturing and Electronics followed by 3 weeks of programming, resulting in the “Beta bot”. Don’t let the name fool you, as this is the bot we plan to be competing with at the Southern Cross Regional.

Alpha Bot

Our Alpha bot should be completely viable for the southern cross regional. Alpha bot is iteration 1 of our final robot, the goal of which is to learn failures earlier rather than later. Learning from these failures we can make Beta bot better. Alpha bot will also give us the opportunity to start driver training and co-driver selection earlier rather than later.
This is unusual for us, but we think it is beneficial for this season and all seasons going forward.

8 Likes

What’s in the Pouch?

Since December 2022 our team has been working on a library for our team, Wombat. The aim of Wombat is to reduce the learning curve of writing code for FRC. In particular it prevents breaking changes in dependencies from drastically changing the way we write code, along with providing powerful abstractions over the APIs they expose. So what’s happened since then?

Over the 2023 season, offseason and now this season, we have come a long way. From one macro to an expansive library of utility functions and classes. Some of the highlights include:

  • behaviours; our in house commands alternative with lots of syntactic sugar
  • our swerve library
  • our unit safe PID controller

We also have a documentation site site in order to try and make the experience as nice as possible.

Going into the rest of the 2024 season we are excited to expand and improve Wombat as a tool for programming competitive robots. This week we will be testing core functionality on our new drivebase and then creating our first ever release of Wombat!

5 Likes

We are so back

Mechanical

With the goal of a fully assembled drive base by the end of tomorrow, we’ve made quick progress. Two of our four swerve modules have been assembled, and the frame is nearing completion. A few brackets and a belly pan later, we’ll be ready to attach our electrical plate. With our experience in swerve from last year and organized schedule, this hasn’t been too painful for us.

Programming

Due to our many goals for programming, we divide and conquer. Students decided which subsystems sounded the most interesting to work on, while others dedicate their time towards features such as vision, dashboard, a scouting app, and autonomous planning. Despite the extra work, we’re aiming to have quite a “smart” first iteration with as much information as possible from encoders and sensors. While this may add to the initial crunch, it will ensure a similar feel between alpha and beta bot.

CAD

We spent the day completing our drivebase CAD and working on the overall geometry for our double arm. The geometry we’ve decided on gives us nice positions for intaking, shooting, stowed, and scoring in the amp. With geometry now decided, we’ll be moving on to the full robot CAD for our alpha bot with the goal of having the CAD done by Sunday.

6 Likes

Here are some photos of our CADded geometry:


RobotGeom 2

7 Likes

The Hunchback of Noteredame

We’ve been lackin’ on posts, so here’s a massive one. This post details the design process of our alpha-bot, our next post will be detailing the specifics of the constructed robot.

Bicep

Our Bicep arm draws heavily from 2910 and 1678’s 2023 robots. Our visit to champs allowed us to learn a lot last year, one of our learnings (which we have been broaching for a while now) is that Hex Shaft will hold you back if you let it.
As such we are using 40mm Round tube for our bicep shaft. This is live on alpha, connected to a 200:1 gearbox with a built in tensioning for the chain, powered by a NEO.

Forearm

With a lack of Notes and time, we skipped prototyping for the most part in favour of watching other OA teams. We still have some plans in mind to test on Alpha, but its not something we have found necessary with this simple of a game and so much data out there already.
Prototyping Favorites:

Our current design runs our wrist actuation from the base to the 40mm tube, to the wrist through 25 Chain. This is to keep CG as low as possible and keep the end effector light.
We also run our shooter up, but with 9mm HTD belts instead. Both of these runs are not in the CAD.

Drivebase

We are using SDS Mk4i L2 modules, we used the Mk4s last year and loved them, however over the offseason we identified how game changing having a low CG robot is (Especially with our new rather wild driver).
Our size is 650x600mm

Next Steps

We are working on having our robot mechanically finished ASAP, as I post this we are assembling with the parts we’ve manufactured throughout the week. The hope is to provide programming with as much time as possible, especially with the unforeseen issues we’ve had with migrating from last years’ libraries. Robot should be mechanically finished Sunday, as we have a 2 day break now.

We’re hoping this can streamline our competitive bot, while providing our drivers with important practice.

7 Likes

Noteboy Bebop

Our Alpha-bot is now mechanically complete. (and has been for a week, blogging is hard)
The following is a breakdown of our robot, the techniques used to build it, and any issues we faced.


Forearm

The “Forearm” is our integrated intake + shooter. V1 is okay, V2 and subsequently V3 will be massive improvements upon this version, but our goal was to have a testing base ready for now.

Features:

  • Intaking directly to shooter
    • The idea behind this choice was that we would be able to make a more elegant robot if we didn’t have a separate indexer/handoff for notes
  • Powered joint, this gives us 3 main benefits
    • Angled shooter, low to the ground. Keeps our CG low while traveling + allows us to get better angles on the speaker
    • Stowing. Having an in bumper position whilst doing full field movements always proves useful against G417.
    • A bit of distance we won’t have to cover during auto battles. (This is as opposed to an under-bumper intake)
  • Stats:
    • 2in intaking AND shooting wheels with 15mm (~1/2in) compression
      • NEO ~1:1 on the shooter, driven from the drivebase via 9mm HTD Belts
      • NEO ~2:1 on the intake
    • Powered Joint
      • NEO ~100:1 on the shaft, driven from the drivebase via 25 Chain

Tests:

  • Shooter
    • Can we make 2in shooting wheels work? This would make packaging nicer, but we suspect it will be too slow
    • Wheel spacing + Compression? We like the idea of top and bottom wheels just at the edges
  • Intake
    • Compliant wheels vs PVC rollers (with or without coating)
  • Power Transmission
    • Will the slop from running the chain up the bicep be too much?

Failures

  • FAILURE: V1 breaks frame perimeter, “intentionally”
    • FIX: V2 will account for the length of the Bicep

Bicep + Shoulder

The “Bicep” is the large section of arm and the “Shoulder” is the joint it sits on.

Features:

  • The Bicep sits on 40mm tube and is driven by a gearbox in the drivebase, the final stage is able to rotate around the output of the 2nd stage so we can tension the chain.
  • Can do 180 in <1 seconds
  • 40mm tube is driven in 4 HDPE plates which also act as bushings
  • Negligible backlash, with an absolute encoder on the edge for ideal control
  • Stats:
    • NEO 200:1

Tests:

  • Speed/Torque
    • Too fast/slow for perfect automation?
    • Strong enough for us to use in part for climbing?

Failures

  • FAILURE: HDPE does not act well as a bushing for large diameter shaft
    • FIX: Use bearings
  • FAILURE: As expected our polycarbonate gearbox plates flex, occasionally the NEO disengages
    • FIX: Temporary; Support the NEO to reduce flex. Final; Get the plates made by a sponsor out of aluminium
  • FAILURE: Brake mode doesn’t quite hold the arm level
    • FIX: Add a jank alpha only hardstop

Techniques:

We don’t have a CNC router, lathe, laser cutter etc, We just have hand tools and standard power tools. And yet, we prevail! Here’s how:

  • Intake Plates + Gearbox plates:

    • To make these we print our working drawings out 1:1 and use a jigsaw to trace the outline
    • We then tape the cut paper to the part and drill the holes
    • This method works great for us when we are in a pickle, we can get sponsors to make parts for us, but the lead time can be days or weeks. It is not ideal.
  • 3D printed pulleys

    • This is our first time trying this but it worked great!
    • We ripped the pulley CAD from online and smoothed out the faces for better printing
    • DON’T 3d print a hex in the middle, DO put an aluminium insert
  • Belt tensioning

    • Just put a bolt through to add an extra center for the belt
  • Chain tensioning

    • Method for getting a master link on:
      • We put a ziptie through both sides of the unfinished chain, and tighten
      • This will hold the chain in position for us to lock in the final link
    • Method for Jank Turnbuckle
      • We purchase a generic turnbuckle from Bunnings (local retailer)
      • If we can find a small enough turnbuckle, job done, bolt it to the chain
      • If we can’t, sometimes it will require an extra plate on either side to adapt the bolt size
  • Using HDPE salvaged from the 2024 field disposal

  • Direct Hex NEO

    • Sometimes you just need to drive something with a NEO 1:1
    • We Drilled a 7.5mm (this was a bit small, go bigger if possible) hole in a short piece of thunder-hex
    • Then in a table vice, we squeeze it on to the NEO
  • Tensioning the gearbox/chain with zipties

    • This is a quick, cheap, n easy method
    • As detailed above, the final stage is able to rotate around the output of the 2nd stage so we can tension the chain by pulling away from sprocket, as such adding distance to C-C of the pulleys

More blogging soon, make sure to follow the thread!

8 Likes

Anything note-worthy happen while I was gone?

Our second robot iteration dubbed “Betta Bot” is now mechanically complete circa last week. This post will breakdown the core decisions we’ve made these past couple of weeks and the many issues opportunities we’ve encountered.

Alpha Bot is Over Party:

This season has been coordinated very differently from our others in the past. The decision to build two primary iterations was made to streamline programming and minimize “dry patches” where a lot needs to be done, but members still lack jobs. With this structure, our first iteration “Alpha Bot” was disassembled across a two-day live stream. While Alpha Bot was extremely valuable in deciding the best possible drivers and making the path forward clear, it’s disassembly was required to re-use the parts and sensors. In future seasons, we hope to have two swerve robots existing simultaneously, to further the efficiency of the season and strengthen our driver training. (RIP Alpha Bot, you might be missed).


Single and ready to win:

A primary decision reached after many days of heated discussion and voting was to transition from a “double arm” with a rotating wrist to a “single arm” with a fully static rotating arm. While a difficult decision, especially occurring later in season, the pros outweigh the cons. A single arm reduces the programming threshold substantially, reduces points of failure, streamlines construction as there is no need for an “integration” team, the degrees of freedom provided by a wrist were not seen as necessary and the arm will be less top heavy without an extra gearbox and hex shaft.

  • Easier to program
  • Less points of failure
  • Streamlines construction (intake and arm)
  • Unnecessary degrees of freedom
  • Weight (top heavy) and real estate

Spreading Our Wings:

As our season progresses the discussion of a climber has been a constant one. In the last week, this discussion was put into action with a small team dedicated to designing an effective climb. We initially planned to design an external climber as an entirely separate subsystem, however utilizing our arm to climb is more efficient. With the complexity of a double arm removed, we have the resources to dedicate towards a climber. While not essential, a climb allows more strategy during end game and reflects well on scouting data.


Programming and what’s next:

This season has had an unprecedented increase and retention of programming students. Because of this, we have been able to dedicate efforts towards many side projects which in the past have typically become abandoned. We now have a reactive LED display, a customizable FIRST Dashboard and a user-friendly data pipeline for scouting and strategy at competition. These are all things we’ve always wanted to do but thanks to our dedicated team, this has become a reality and greatly improved the quality of life of these aspects of our team’s software.
With Betta bot mechanically finished we are going to be “programming all over the place” with efficient poses, PID tuning, multiple autonomi and vision tracking coming soon. Don’t worry, we will have mechanical updates as programming attempts to push Betta bot past it’s limits (we may or may not have already melted one of the pulleys). It’s crunch time for all of us at 4788. (Don’t forget to enable notifications and follow!)

image

7 Likes

Please enjoy our robot “reveal video”

10 Likes

Uniform Needs to be Note-worthy :fire:

We fly out tomorrow, so our uniform arriving today was just in time.
Thought we’d post our thoughts on team uniforms.

We find that uniform can really solidify branding.
Good branding will make a team standout from the crowd and be memorable, this is important to us for a few reasons but most just because we like being remembered! It’s more fun that way :smile:

When making uniform we try and remember 3 things:

  1. We are a robotics team, let that be known! We do this by adding our robot CAD wireframe, it looks cool and gives people who may not be in the FRC community a better taste of what we might be wearing that shirt
  2. BRANDING. Our colour is magenta/pink, lets be that. We want to paint our position in the stands with pink, not only does it set our team apart but lets everyone know where we are. (It makes my job a bit easier, because its pretty hard to miss a student in bright pink)
  3. Professionalism. When we want to be clean and slick, wear our jackets, they’re black so its a bit more toned down when we go out to schools or presentations. We also value our connection to sponsors, so you’ll see our sponsors pictured on our (mandatory for students) Polos and on our more professional jackets.

Pictured below is our 2024 Drop :shushing_face: :deaf_man: :



Personal notes about uniform:
Our pink on pink hoodie was inspired by 3847 Spectrum’s white on white that we saw last year, which was inspired 148’s black on black.

3 Likes

Who is that fine fella in these pictures

3 Likes