Celt-X 5406 Off-Season Robot 2023

Celt-X 5406 Off-Season Robot 2023

On Celt-X 5406 we don’t like sitting around twiddling our thumbs, which is why we’d like to present our 2023 off-season summer robot – Q-Bert! Here’s a reveal video by our media team:


Q-Bert (Cube-Bert) is an 80 lb. cube runner that can score every level on the grid. We made the dimensions 28” x 24” (without bumpers), the same as our in-season robot, Edwin so that we could reuse old bumpers. We used this as an opportunity to learn new skills and test new ideas. This robot was made in 4 weeks (or 8 meetings of about 4 hours) using inspiration from team 1923 The Midnight Inventors.


For our drivetrain, we decided to do something new - summer 2022 was our first time using swerve, and we started off with treaded wheels, and as we used swerve during the 2023 season, we noticed that tread wore away extremely fast which had major consequences with things like autos. This summer 2023, we decided to try out colson wheels on our SDS Mk3 swerve modules to see if they made any major differences - we noticed that even as a light-weight robot, we were still able to push around heavier weighted robots. Although we only played one competition, the wheels held up well compared to tread and we didn’t have to do any maintenance. Most of our findings do require more data and testing - this is just what we’ve noticed so far.


Throughout the regular season, we witnessed ourselves and other robots struggle to pick up cubes, and we decided enough was enough. With some of our own testing and inspiration from 1923, we noticed that having a top horizontal roller as well as two sets of vertical rollers would get us closer to “touch-it, own-it” performance (which is one of our build philosophies even if we don’t always achieve it). The intake was designed to double as a shooter that could shoot cubes forwards and backwards, making everything far more seamless and efficient.

We also decided to try out different materials and ways to cut them because we have a habit of breaking intake plates. We normally laser cut all of our plastics, but for the first time we decided to try CNC routering Lexan to see if that would help prevent cracks. Unfortunately the lexan still ended up cracking once during competition (fortunately we caught it during pit checks). We liked that the routered parts came out cleaner, with less burrs though.

The long arms for the horizontal roller were made from laser cut HDPE. This material is extremely crack-resistant and did the job well, but it’s soft and weak compared to Lexan. One plate got bent pretty early in competition (see photo below) and while it didn’t fail, it changed the roller geometry a little.


This is by far Q-Bert’s simplest subsystem mechanically, consisting of 2 steel plates, a couple of hex shafts for supports, and two chains tensioned with turnbuckles. This was the first time we tried a Rev Max Planetary gearbox, and the female output made it really easy to mount to the wrist drive shaft. Originally we had a really rough and slammy intake, but thanks to a simple trapezoidal motion and profiled PID controller, the pivot is now a lot smoother.

One clever part of this pivot is that the long plates for the horizontal roller have built-in cams. When the arm rotates downwards, the cams push against a hard stop, causing the horizontal roller to lower into position for intaking. When the arm rotates away from the hard stop, the horizontal roller is pulled away from the vertical rollers by some latex rubber tubing. This moves the horizontal roller clear of the cube for shooting. Other teams with similar intakes used an air cylinder for this job, but our cams allowed us to do all the movements with one motor, and no pneumatic system.

Competition Results:

We took Both Q-Bert and Edwin to Robots @ CNE (Sept. 1-3) with our main robot placing 7th and our off-season placing 9th at the end of quals. Q-Bert played extremely well, maintaining its position in the top 8 until its final qual match. Having no on field breakdowns and little needed maintenance, Q-Bert held up exceptionally. Although, during our final playoff match, our robot suffered from a complication: an anderson connector for the horizontal roller motor came undone due to overstress on the wire which made intaking almost impossible. That was a disappointing finish, but we were happy to finish with our alliance in third place!

Future Improvements:

We’re not sure if Q-Bert will play in any more off-season events, but we’re continuing to work on it for training purposes. Some improvements we’d like to make in the coming months (before kickoff) include:

-Vision: adding a limelight so we can align with the AprilTags and cut down our cycle times - currently we average about 8 cycles, but we’re hoping to get up to 11 or 12 - we waste most of our time trying to line up manually, so vision should help substantially.

-Holding Current: during matches at the CNE we noticed that Q-Bert would drop a lot of cubes when driving fast - to combat this in season, our competition robot had holding current for cones and cubes, so we just need to implement that on Q-Bert now.

-Autos: We ended off the CNE with a cube + balance and a cube + mobility on both sides, and we’re hoping to perfect our 2 cube as well.

-Light Show: We’d like to add LED strips to indicate when we’ve grabbed a cube and just to finally test out LED strips and their use cases on a robot.

-Intakes: The length and position of the horizontal roller is not perfect, so we might tweak the geometry if there’s time. Mechanically we’re still searching for the perfect intake material - we’ve begun testing the properties of Nylon and if it’s a viable option for the upcoming season. We’re open to other suggestions! .

-Revlib Error Checking: We want to implement the same error-checking setup functions we added on our main robot to make sure that the Spark Max’s get initialised properly.

CAD and Code:

Here’s our CAD and robot code for Q-Bert!

Q-Bert CAD

Q-Bert Code

All-in-all Q-bert was a fun project that gave us confidence we can design and build robots faster than we normally do. Thanks for reading our summary of the project. We’re happy to answer any questions you might have.


Im curious to see some more testing from yall with the colson wheels.

Is this because you were on Colson wheels, or because you were on MK3 Modules with more torque?

:person_shrugging: It could also because we had a lower CG than most robots. Not to speak for Owen, but I think this was more of a behind-the-glass feel than a scientific measurement.

Because some people were interested, here’s a video we took of the first time we tested Q-Bert’s cam-action wrist pivot:


Awesome writeup. I can tell you put a lot of work into it.

Really like the cam to get the horizontal roller out of the way for shooting.

Using nylon for the intake? Is that for the intake plates (instead of lexa)?

If you remember, what were the sizes of the intakes wheels and their gear ratio (sorry I’m on mobile and can’t check the CAD)?

If further testing goes well then yes for intake plates

We are using 4" wheels with a 2:1 ratio on the vertical rollers and 2" wheels with a 3:1 for the horizontal roller


Today we took Q-Bert to a demo on a cracked up concrete floor.

The colson wheels held up perfectly (other than a bit of dirt) after about 3-5 hours of straight demoing


So I think we’re done testing the nylon now. We used HDPE for the horizontal roller (white parts) and lexan for the vertical rollers (clear parts). I don’t think we will be using nylon for intake parts that need to be robust in taking hard impacts. Nylon has very poor impact resistance after our tests with it. It tends to snap after experiencing concentrated force in one spot, such as a light hammer swing, or the FRC equivalent of maybe running into the wall at half speed. It held up great to all other tests however, I just foresee it snapping during a match, and that one property alone doesn’t make it a good material for an intake which is expected to take hard hits.


There are some action shots of Q-Bert in our CNE recap video, which our media team finished today:


Celt-X took a marathon (21 hour) day trip to Rochester yesterday to compete at Ra Cha Cha Ruckus. Despite the sleep deprivation, Q-Bert managed to seed 3rd and captain the winning alliance! What a great first outing for our rookie students, and a rewarding finish to our summer robot project!

Thanks to the Ruckus hosts for putting on a fun event in a new venue! Thanks also to 1591 and 3003 for building a strong alliance, and to 9993 (another off-season bot!), 4039, and 1511 for being gracious opponents! Q-Bert will compete once more as a loaner-bot for two pre-rookie teams at the STEMley Cup Championship next month, but otherwise this marks the end of Celt-X’s Charged-Up career. See you next year!


Awesome bot guys!

Thank you to one of your mentors for talking us through your pit design too!


At the end of STEMley, our Colson wheels had lost about 3/8" of diameter, enough to start affecting our autos. That means they’ve lasted 3 events, and one day-long demo. I think they’ve earned their retirement!


Did you design the cam in CAD? If so, what kind of sketches with what kind of constraints allowed you to simulate the cam motion and positioning?

1 Like

We did! We’ll post some sketches once our Sunday event finishes today.


Sorry for the delayed response. You can find the original OnShape file for the Q-Bert’s cam-action “horizontal intake roller plate” here.

The driving sketch is a little complicated, and it was iterated over several weeks, with several designers so it’s a bit of a mess. To help make it less confusing, I’ve made an annotated version below:

The basic approach was this:

  • We drew how we wanted the plate to look in the “down / deployed” location.
  • We also drew the important details of the fixed superstructure in construction lines (the wrist pivot (red), the downward wrist hard stop (yellow), the frame perimeter, etc)
  • We decided how much we wanted the intake plate to rotate (about 23 degrees) and when that should happen (in the last 30 degrees of wrist travel).
  • We then patterned the hard stop by 30 degrees about the wrist pivot.
  • We then drew an arc (green) that was tangent to the hard stop and had a center above and to the right of the plate pivot which will form the cam surface (think of it as one tooth of a huge gear. Since a normal force on an arc points through it’s center, we wanted to maximize the distance between the center of this arc and the plate pivot point (light blue arrows) to give the cam the most lever arm length to work with
  • We then circular patterned the cam surface arc by 23 degrees, and made it tangent to the patterned hard stop, which provided most of the constraints needed to fully define the arc. That now shows the position of the cam right when it first contacts the hard stop.
  • We fiddled and tweaked with all of the geometry to make sure there was no interference with the other intake plates, the wrist pivot or the bumpers.

There might be a faster way to have done all this, but it worked. Does that answer your question?


Yes! Thanks for being willing to share. The key is now you modeled two positions of the hard stop and cam plate surface – each moving in a circular pattern around their respective pivot points. Brilliant.