7492 CavBots - 2022 Build Blog

The upper hub as specified in the field drawings is mostly HDPE and polycarb, which is going to be less rigid than the setup shown. I guess the wait continues until teams have actual upper hubs to video shots on…


Looking at the shots that bounce out and comparing them to the shots that don’t I noticed the shots that bounce out often hit near the center of the goal and come in at a steep angle/close to vertical.

The shots that don’t bounce out often look to to hit higher up in the goal and hit at a shallower angle. I think this might be because the further down the ball travels the more it accelerates thus more kinetic energy meaning when it hits the bottom of the goal it bounces up a lot. I realize

Example of shots

Score (hits higher without as much energy and at a less steep angle)
Near miss (it hits at a steep angle and bounces off the ball at bottom)
Miss (same issue as last shot)
Goal (bounces off the rim so does not have as much energy as it travels down so it doesn’t bounce as high)

Watching the Hub field tour video the balls seem to hit the goal at a higher angle and bounce from one side to the other of the goal.

I realized this watching the WCP CC the balls seem to go in because the robot is shooting the ball at the far side of the goal and not at the bottom thus the ball bounces from one side to the other.

I think the ideal shooting scenario is hitting the far end of the goal at a shallower angle like this.

non ideal shooting scenarios are hitting the goal at a steep angle causing the ball to bounce up and out or hitting the edges at a steep angle and bouncing down into the goal causing it to bounce out.

Other things that affect shots are multiple balls hitting each other, hitting the rim.

This is just my observations of the videos. Our team still cannot meet in person so we have not been able to test high goal shooters.


Yep, this checks out. We thought at first that hitting it off to the side would be better so it would sqirl around the goal and go in, but this is definitely more repeatable. We’re finding the strategy to be to minimize the amount of energy the ball has as it enters the cone, so we are trying to clear the cone with as little vertical height as possible (lowest hood angle and shooter wheel RPM), and then reduce backspin with a hood roller. When we implemented all of those, bounce-out was greatly reduced - at that point it only would bounce out if it hit the wheel directly (so maybe 1 in 6 shots? Tuning could probably get you even farther). I uploaded more videos of our testing, mostly focusing on the affects of the center wheel on the balls. If you would like to do farther analysis, there are quite a few videos of us zoomed in on the cone to allow us to see the behavior of the balls better.

Right now, we’re working on building the overall robot itself. We’re on schedule to finish that by the end of the week. As-is we think we’ve learned all that we need to know in the way of shooter geometry from the prototype, so we’re just going to run with it now. I’ll make a post on our progress tomorrow. Our big shipment of cargo (20 red, 20 blue) also shipped a few hours ago so I’ll do some testing on that to see how consistent the balls are, in terms of shooting (both inflated and deflated), wear, and deflation over time, so I’ll continue to update y’all with our findings.

As always, thanks for reading, and let me know if there’s anything in particular you’d like us to test. Till next time,

Ethan Ocker


First post in a while that’s mainly focused on the bot. I’ve been focusing on shooting balls, at least in the blog, because I think that’s what is most useful for other teams. However, behind the scenes we’ve been making a lot of progress on the bot.

First - our schedule

The schedule planned for us to finish the robot mechanically by this Thursday, the 27th. We knew this was ambitious, unreasonable even, but we thought by putting an aggressive schedule in, we could avoid the “eh, we have 6 weeks left, it’s fine” rut we found ourselves getting caught by in years past. Because, ultimately, 8 weeks until our first competition doesn’t mean 8 weeks to build a robot. We did, however, still give ourselves two weeks of “float” between the mandatory 2 weeks of driver practice before our first comp and the week we set aside for programming to get everything figured out. We knew we would lose days in all parts of it, but as long as we kept working diligently, we would be fine. And, well, seems like we’re almost there; we won’t mechanically finish 100% on schedule, but we can realistically get everything done by the end of this week, which would be huge for us - not only is it the most complex and ambitious and complex robot our team has ever done, it would be the fastest build we have done. By far.

Anyways, as for the smaller details. The overall CAD is almost done, it’s just a few things that have been worked out but need to be modeled. The only things left are the intake mounting (we’ll switch from the two 1x2s to flat plates that bolt to the upright 1x1s), the climber (we’ve already figured all the details for that out - TTB 2 stage climb, powered by a 12:1 or 15:1 MAX planetary), as well as the control system and electronics mountings.

As for individual mechanisms, we’ve finished machining for the entire shooter, including the hood and turret, and have made progress in the rest of the mechanisms. Today marked something of a milestone with our first subassembly completed, the turret. Ironically. That was done first not because it was the most important, but because our team had never built a turret so, if we deemed it unreasonable, we needed to know right away so the rest of the designs could be changed accordingly. Fortunately, we found something we’re happy with, so we rolled with it.

Also did some stress testing by screwing it across two tables, similar to how it will be mounted on the bot, and then standing on the mounting points for the shooter. Idea being that if it could hold >300lbs of person standing still, it can hold <30lbs of shooter moving around. Scientific? Not really. Safe? Probably not. But hey, it held up!

Short term next steps are to finish the shooter.

We have all of the parts here, at least as far as we know, so with any luck I’d like to keep our momentum going and finish assembling that tomorrow.

Small learning experience here: I told the team (mostly directed at the CAD/design people) that, with how shipping is these days, if their design requires a part that is out of stock, backordered, or relies on something that ships out of the country, it was a no-go and they had to redesign. We couldn’t risk our season on a random part that got stuck for a week. Fortunately, we’ve been alright, but especially with the SDS Mk4s we ordered, we can feel the impact the shipping delays are having. One example of how this rule came into play was the WCP Nut Strips - the shooter required two of those, but they were backordered with no clear signs of when they would be in stock, so instead we overnighted some .5x.5x12" 6061 bars from McMaster-Carr and made them ourselves. Worked perfectly, and we were able to move forward with the assembly.


This is really cool. I am looking forward to seeing it in-person at the Channelview event.

End of Week Three update
Pretty long post here. It covers our progress in the season thus far, our next steps, including what needs to be done if we want to add a High or Traversal climber, and then at the end going into more detail about the mechanisms that have been completed but not yet covered in this blog.

Yesterday we pulled a long meeting (from 8am to 5pm) and got a LOT done. We’re coming very close to being able to officially hand off the robot to electrical to do the final wiring. Here is what the robot and schedule looks like so far:

What we have gotten done:

  1. All machining
  • Minimizing the amount of aluminum that we needed to machine, mostly by using VersaFrame, saved us a huge amount of time here - we only have two machined tubes (which are identical), and all of the parts for the turret were cut out of a single .19" plate. The rest of this is polycarb or HDPE, which we can machine much, much faster than aluminum.
  1. Assembly of the intake, shooter, hopper, and chassis
  • We opted to use almost exclusively belts here. I have mixed feelings about whether this was a good call - while belts are very straightforward if you get them right, this proved to be a struggle because we forgot to order or had the incorrect sizes for several of them. Inevitably, considering the sheer amount of belts (almost 20 unique sizes), it’s not surprising. We made it work though, just needed to use oversize belts and idler shafts to tension them properly. Lesson learned for bot 2.
  • Other than belts, we are using Ultraplanetaries/Maxplanetaries for all of our reductions - these worked out great. Much cheaper, more compact, and lighter than a spur gearbox.
  1. Mounting the turret, shooter, and hopper to the chassis

What we still need to do:

  1. Mount the intake to the chassis
  2. Assemble the climbers and mount those
  3. Finish the “shooter shelf” that holds the Igus chain and most of the control system
  4. Do all of the wiring

The hope is to finish this first robot and hand it over to programming by the end of this week. The important thing is to keep moving; the robot is by far the most complicated one we have ever done, so we can’t really afford to take our foot off the gas.

Next steps

After the first bot is finished and running, the next major obstacle is to assemble the second bot, the one that will actually go to competition. This should be faster, because in the process of the first one, we’ve been taking notes on how to change the design, etc to make the second one easier to assemble and manufacture, and of course the design is already complete for it.

We’re also looking at adding a L3/4 climber. Our current plan for that involves a third telescoping arm in the center of the robot, which can rotate at the bottom. Since we don’t have pneumatics, this requires two motors, and as-is… we have no motor slots remaining.

We have 19 motors currently, with the last slot being taken up for our CUSTOM CIRCUIT to power the Limelight, sensors, etc. So, if we want to install the third telescope, we have to save two motors somewhere. As we see it, there are a few ways we can do this:

  • We can use pneumatics. This could save us a motor to raise/lower the intake, and potentially also work for rotating the L3/4 climber.
  • We could reduce the amount of the motors being used - we’re waiting to finish the bot and do some testing before making a decision here, but likely we could do a single motor for the shooter and not power the hopper walls at all. Alternatively, we could make the intake not be able to rotate back up at all and simply remain locked down. We are hesitant to do this because the intake is far above the height for bumpers, so we could easily hit another robot within it’s FP if we are not careful.

Of course, there’s other issues with a high climb that would need to be address before we could run this in competition

  • Since we are using swerve, a fall directly onto a module could be potentially catastrophic, so it has to be fast enough to be worthwhile while still being incredibly reliable. This means even more work for programming, on top of the already highly complex shooter.
  • Mechanically, we’re not even sure if it would be within weight - our robot weighs 95lbs according to the CAD, but that doesn’t include any of the electronics or wiring, which would likely weigh as much as 20lbs by themselves (8lbs for the 11 Smaxes, 4 for the rest of the CS and sensors, and then 6lbs for the wires and energy chain), which brings us to 115lbs. The telescoping climb itself would weigh about 8lbs, excluding all the reinforcement that would be necessary for the climb to bear the entire weight of the robot as it swings from bar to bar. We’ll just have to see.

Finally, the mechanisms. Yesterday we fully completed the hopper, and got that mounted to the chassis, allowing us to mount the shooter on top. We also came close to finishing the intake, and the only things we really have left are just doing the superstructure so we can mount it.

Starting with the hopper.

It consists of two main subassemblies; the hopper floor and tube, driven by a NEO on a 12:58 gear reduction. This brings the balls into a single file line and then throws them upwards through the turret into the shooter assembly. The walls are powered by a N550 on a 10.2:1 reduction (4:1 and 3:1 UP), with a long belt connecting the two sides together. We expect we can safely make the walls unpowered and still work fine, but we are waiting until we can do some real testing to make a decision here.

Next step was mounting the shooter/turret.

Had a good time using clamps to hold everything in place - it had to be centered to the hopper, and the tubes were slightly out of parallel, so using almost all the clamps we owned got us there.

Last but not least, the intake.
It consists of 3 rollers with TTB squish wheels every 2", and then will have a “flapper wheel” in the front to catch bouncing balls and direct them into the intake. The whole thing is powered by a NEO on a 14:24 belt reduction, and will rotate up and down with a NEO in a 15:1 MP, then 18: 30 and 18:42 belt reductions. We chose to use motors as opposed to pneumatics to rotate it because at the time of designing, it was the only part of the robot that would be using pneumatics. The entire system would have come out to something like 8lbs (iirc), as opposed to about 4lbs for the motor and gearbox.

That’s all we’ve got for this week! Thanks for reading and let me know if are any specific things y’all would like more details on, or any questions you may have.
Till next time,
Ethan Ocker


Big milestone here! On Monday, we finally got the bot to a point where we can hand it over to electrical. That’s not to say mechanical is done, there’s still a decent amount of work that needs to be done to get the first bot in full working order. Realistically, no one’s job is ever really done. But, this is still the fastest we have ever gotten a robot to this point, which is especially exciting considering that this is also by far the most ambitious and complex robot we have ever done.

Electrical is hoping to finish all the wiring by this weekend, and then we scheduled a few more days so that we could troubleshoot any issues with mechanical/electrical. Goal is to have a fully functional bot by early next week, at which point mechanical/electrical can put their full focus on the second bot (we don’t want to sink resources into a copy of a design if it’s flawed to begin with), and then programming will have primary access to it for a few more days to get everything working smoothly and have some time to work on autos.
After that, it’s the driver’s turn, and hopefully the second bot will be done shortly after that point so programming can focus on the more high-level things (such as shooting while moving), and working on getting autos working. Once both bots are running, our next priority (depending on time) will be getting a L3/4 climb.

Unrelated: this year we’ve been using a lot of REV’s new MAXplanetaries. They’re great, we’re using 2 of them for climb, one for rotating the intake up and down, and then one for the turret. Yesterday we were testing all the individual mechanisms and realized that the intake rotation (which we had not yet tested) was completely locked up, so we disassembled the planetary and found that the 3:1 stage was defective. As you can see in the picture below, one of the 3:1 center gears was made incorrectly, which lead to it sticking into the spline that is supposed to connect one stage to the next, therefore seizing it up. We have an extra and are going to reach out to REV, this is just a PSA to always make sure you check that everything runs smoothly before committing it to the final robot.

That’s all I have for you today. Hopefully next post will be a “completed” robot. Almost there! Can’t wait!


We had a 3:1 stage with the exact same problem. The press fit of the gears isn’t super tight, so you can support the outer gear with a socket or vise jaws and use a press or hammer taps to line the faces up properly. We haven’t run it long enough to be sure the fix is permanent, but it feels solid.

Electrical has now finished with the robot!

Due to the roads being icy, we missed a meeting, and were only able to have 6 people show up at Friday’s and Saturday’s meetings. Despite that, they managed to finish days ahead of schedule, basically putting us right back on the original schedule that we set on day 1 (mechanical had gone over schedule by a few days).

Schedule/Next Steps

Since electrical finished two days early, that means programming gets it two days earlier, meaning we will have a functioning bot and can start making serious progress towards the second bot two days earlier, and so on… Having a schedule made a HUGE difference with staying on pace and keeping everything moving, and as the season has progressed we’ve been working on integrating it into the team more and more. We try to go over it about once every other day as a full team, and having individual subteams update us continually. We will definitely be using a schedule in future years.

Today effectively marks the halfway point in our build season - this is the end of Week 4, and there are 4 more weeks remaining until our first competition. We did make sure electrical was ready to hand over to programming yesterday, by running each of the mechanisms individually and then running the swerve drive. Immediate next steps for this robot will be getting everything working well, so that we can start making progress on the second robot - the one that will go to competition. That will likely take a few days, but fortunately all of the aluminum parts aren’t ones that we foresee changing - just the turret and the drivetrain, which allows us to go ahead and make those so we can get them sent off for powdercoating. This will be our first time coloring a robot in any way, so that’s exciting. The goal is to have that completed and driving around the end of week 7, giving programming a full week to run autos and such with it before our first competition.

Random things

In fact, we liked the schedule so much, it’s inspired us to go through and make some more graphic organizers. In case anyone is curious, here is the layout for our PDH (at least so far).

Last week we met and made the choice to switch Human Players. Originally we were going to have a varsity basketball player do it, but considering that each alliance gets to throw at most a single ball (and only one of the three Human Players per alliance gets to do that), we felt like we would be much more benefited by having someone there who could help fix the bot between matches if/when that was needed. After discussing it and throwing a few balls each, we ultimately decided that the other Vice President, who mostly does programming would be the Human Player. Ideally we won’t rely on the Human Player to score points and instead pass the ball to the robot, but if they have a moment, we figured they may as well practice. You can see the results above - we were right at 50/50, but considering this was their first day really practicing, we are confident we can get a lot more consistent by the time events roll around.

Progress on High/Traversal Climber

Given our progress in the season, we have decided to start seriously pursuing a High/Traversal climb. We made a gif/video demonstrating our forefront idea for how to approach that (first frame is starting config, second is “playing” config with everything out of the way of the turret)

Video for viewing frame by frame

From what I have seen, it appears most teams with similar approaches to climb are doing one telescoping arm on a pivot (or maybe two that are tied together and function as one), with passive hooks on the robot for transferring bars. We chose to do active telescopes that go up and down and then one arm in the middle that can telescope and rotate at the bottom. This weighs more, but it allows us to stow it out of the way of the turret and also means we can add or remove the entire third arm without significantly impacting the rest of the robot design.

Having one central arm means we are more dependent on CoG, however, it seems we got lucky with it; with the intake down, we are dead center front/back, and about an inch off to the right. We plan to mitigate this by adding some adjustability in the mounting of the third arm, so we can mount it slightly to one side to allow it to be inline with the CoG.

Most of the challenges detailed in our earlier blog post still stand - we need to free up a motor and some weight. However, now that we’ve gotten the first bot finished, we’ve gotten some ideas for solutions for both of those; there are a few places where we can likely drop a motor without having to sacrifice any performance. Right now the robot is at 105lbs (as pictured in the photo/video above, minus the battery), plus 13lbs for the two climb arms. That puts us at 118, and we anticipate the third arm to be about 6lbs, plus another 6lbs for the mounting (since the mounting itself has to also hold the entire weight of the robot). That puts us at 130lbs, which as far as I know is more than 125lbs. However, by switching to thinner tubing for the energy chain and turret shelf, we should be able to save about 5lbs, and then we can save a few more by just general weight optimizations. We’ll be cutting it close, but as it stands I do believe it’s possible.

As for programming and electrical - the leads for all the subteams involved, as well as the lead mentor and drivers, talked at length about this. After mechanical finishes the climber, the hard part will be programming - because of poor visibility on the field and the potential catastrophic damage if we fell, we agreed that we would only run an advanced climber if it was fast (max 30 seconds, preferably well under that), automated (no driver input other than lining up and pressing a button to start), and reliable (minimum 90% success rate). Realistically, we don’t expect to have it done for our first (Week 2) event, but getting it working before Amarillo (Week 5) would put us in a good spot for District Champs (literally 2 days after we get back).

Hopefully in a few days I can make another post, this time showing y’all a completed robot. Thank you for reading! Till next time.


So looking at your animated climb it appears that you extend out of your 16 inch box. What are you doing to prevent that?

Hope no one notices.

Actual answer, the robot will want to tilt because the CoG is a little behind the climbers, so that will change where the 16" box is relative to the bars and should allow us to grab it without leaving the limit. I just didn’t want to go through the process of changing the angles in the animation to work, it’s really just for reference.


Ok thanks for sharing.

1 Like

In the animation it looks like the hood is running into the bar as it tries to move to the next hook. is that solved by swinging instead of the basic translation as shows.

1 Like

In the real game we wouldn’t pull up so much, we’d be like 6" lower relative to the bar so it would clear the top of the shooter while we were swinging from bar to bar

I was talking about at this point, How did the front hooks reach?

Week Five Update / Robot Code

Big milestone yesterday! The robot now officially can drive, intake, index, and shoot balls. Of course, it can’t do any of those things as well as we like, but from now on, the question will always be “how can we make this better?” not “How are we going to make this work?”

video of us doing all of the above, but CD won’t let me do embeds

We also got limelight and the turret working yesterday (although neither of those were used for that video). Today, however, we got those working in tandem. The turret can now automatically home on start-up with a current spike, and will then immediately start searching for the goal; once it finds it, the turret locks on and basically stays locked on for the rest of the match. If the turret reaches the hardstop, it whips around and starts searching again until it finds it. The turret can travel 303 degrees, so there’s a very small deadzone where the limelight isn’t able to see the ring (10 degrees or so). Video of us moving around with the turret/limelight

Next steps? Get the climber and adjustable hood working, get auton working, and keep improving what we’ve got. For example: the intake works well, but it struggles with bouncing balls and has a tendency to jam on the sides, and the igus chain keeps getting caught so we will need to add a spring to tension that. As for the climber, hope is to have that installed tomorrow.

For auto, we’ve been working on those, and have a 3 ball lined up, potentially a 4 ball (neither of which use the HP shot). But, like I said, at this point it’s all about making the robot better, not about making the robot functional. In the past, we’ve never gotten a working robot before our first competition, so with 4 weeks left… we’ve done well. This team has truly improved a ton since our first season my freshman year.

Code release

As for code, some of y’all had asked us to post, so here is is!

We haven’t cleaned up our github quite to the point that we’re comfortable posting that publicly, but this should have everything we have so far. Turret, swerve, limelight, etc. I’m not in programming, so I don’t know the specifics, but if y’all have any questions then I’ll pass it onto them and we’ll answer you as soon as possible.

Thanks for reading! Till next time.


Not sure what you’re asking here; the front hook can rotate at the bottom and telescope. It extends out, rotates up so it hits the bar, and then retracts to grab it

1 Like

Started slowing down on updates because as it is we’re in between the two robots - haven’t made a whole lot of progress on the second bot, and, well, the first bot is pretty much done and we’re just working on optimizations. However, what I think I will do is break this up into two main sections: a more straightforward build update, and then one talking about the specific issues we’ve had with the robot and what we’re doing to fix them or improve them, which will hopefully be of more benefit to other teams. The second part will come tomorrow.

Week Six Update

The climber works now (video). As it is, we can get to both Level 1 and Level 2.

Also did some stress testing… I was standing on the adjustable hood, which is mounted to the shooter, which is mounted to the turret, on the hopper, on the chassis, on the swerve modules. And all of those things appear to be capable of carrying at least an entire me. I don’t know that we learned anything from this but, hey, it survived right?

We’ve also started working on parts for the second bot. This is not our first time building two full robots (we did it in 2019, but had to make the “practice bot” after the competition bot because we ran out of time before bag), however, it is our first time coloring the bot in any meaningful way. Of course, I’m biased, but I think the blue HDPE and aluminum tube look great with the black polycarb and gussets. Here is a quick render showing roughly what the final robot will look like:


Once we had determined what the final robot would look like, we voted on robot names. After a long voting process, we resulted in the names Boing 7492 for the practice robot and Artemis for the competition one, which is what I will be using now. Feels nice to have a name, instead of just being “bot 1” and “bot 2”.

Next Steps

We have about 3 weeks left until Channelview, then another 3 weeks to Amarillo - then District Championships will be immediately afterwards. Probably won’t even bother unpacking the trailer if we make it, certainly won’t have time to work on the robot, so our robotics season is split into two blocks from this point on: what we have left of Build Season, before Channelview, and then the block of time between Channelview and Amarillo/State Championship. If we manage to qualify, we will have a week and a half between State and World Championships, so still not as much time.

A little hard to see the details in the season planner but mechanical is effectively split three ways right now; some people working on making small improvements and fixes to Boing as they come up, most people working on Artemis, and then we have a group mostly focused on the traversal climb. For Artemis, we’re severely bottlenecked by the Markforged printers, so we’re mostly just working on individual components before we start getting full subassemblies together. But that’s still progress.

Finally, the traversal climb; originally, we were planning to add that after Channelview, but after looking at our pace and doing some game analysis, we have determined that having a traversal climb is massively beneficial. Now, the robot was not designed around the third arm for traversal, so packaging it is proving to be very difficult, but we think we have something that will work. Our goal is to have that mounted and functional in two weeks, as well as having the competition bot done at around the same time. This gives programming a week to get the traversal climb working - we told them that, due to poor visibility from the drivers, we would ONLY run traversal at competition if it was just “click a button and let it go” and was very reliable. Cutting it very close, and ultimately it might not be possible, but if it gives us a better chance at winning at Channelview, we may as well try. Worst case, we shelve it and put it on after Channelview.

Assuming all that goes according to plan, next major thing will be the robot cart, which we are planning to build after Channelview, before Amarillo. We had a design for it that we were working on in the offseason, but that got delayed due to the CNC machine going down.

That’s all I have for you in terms of a direct build update; hopefully tomorrow I’ll have a more universally helpful post detailing some specific challenges we’ve encountered thus far and our solutions - I’d like to start doing that more regularly. Otherwise, thank you! Till next time.


Is the control system installed on the underside of the chassis?

How did you happen to get that hoodie?

No, the control system is mostly installed on the underside of the shooter shelf.