319 Big Bad Bob, 2023 Open Alliance

This thread will contain all information concerning team 319 Big Bad Bob’s

  • Strategy
  • Design thoughts
  • CAD model
  • Event schedule
  • Code
  • Photos from our shop of build progress and prototypes
  • Other relevant information

Update #1

319 CAD model

Like most of you, we spent kickoff weekend talking about strategy. We made a list of what our team’s priorities are and how we think this game is going to be played.

We think there’s going to be a lot of emphasis on cycle times this year. And this section of the field is going to get quite tight as teams travel between the loading station and the community

Our plan is to focus on collecting from the double substation where we know the game pieces will always be in the same position and orientation. Because we can choose where game pieces begin the match, we want our primary auto to focus on manipulating the cubes(we don’t plan to touch the cones in auto) we’re also looking at ending the autonomous period engaged with the charge station. (one of a few very rough plans pictured below)



6 wheel west coast drive 4” colsons


Three stage elevator (powered up and down) mounted at 35⁰ allowing us to place either game piece in any of the grid locations.[see below(or CAD)]


(still theoretical) capable of manipulating cones and cubes attached to a wrist attached to the carriage of the elevator.

Prototyping teams are currently working on creating claw prototypes that can effectively manipulate both cubes and cones. Code team is creating paths, and just finished getting the gametools and WPILib installed on the driver’s and code’s computers. Next up code will begin the process of IDing motors.

Like always, team 319 is planning to continuously improve our machine through the course of the season. But our goals for the first event are to have a robot that can effectively maneuver the playing field, score in all three rows of the grids, manipulate both game pieces, collect game pieces from the portal of the double substation, make at least 5 cycles(conservative estimate), and dock and engage with the charge station. We’d love it if we could do more than that by the time our first event (NE District Rhode Island) rolls around, but that is our goal.


Update #2


Over the past week, team 319 has been working on setting up field element replicas, and have put together a number of potential designs for collectors (check CAD for most current iterations). We began to make high fidelity prototypes of some roller based collector designs in order to get a sense of geometry that we’ll need later down the road. We began teaching our new members about the workshop, the tools, and safety. On Sunday, the first couple parts of our drivetrain were made. On the code side, we began to focus on getting our offseason project drivetrain functional so we can begin testing autos. In design we did lots of work in the CAD model and talked about needs for the robot especially regarding what we want our drivetrain to be capable of speed wise.

Moving forward with Open Alliance posts

This post will be a bit of an information dump so in the future our plan is to split it into multiple posts throughout the week rather than all in one post. We are also looking for any and all feedback on anything posted below. Also if there are any questions we are more than willing to answer.

Strategy Every season, like a lot of teams, before thinking about what the robot is going to look like, we focus on what the robot will do during a match in order to maximize the chances of winning. This results in a list of things we feel our robot will need to be able to do in order to win. We then ranked this list and drew a line that defined what 319 hopes to be able to do at our first event.

The above items in green are the functionalities that we are going to be focusing on for our first event. The idea for this is that we put the majority of our focus on these items. So to sum it up our goal during a match is to cycle between the loading station portal to obtain cones and cubes to be scored on any level of the scoring grid.




As mentioned above 319 is making a 6 wheeled west coast drivetrain. Exact specs are still being determined but we are looking to have a speed of about 14 ft/s at our first event with the ability to go faster if we find that the ceiling is too low. As of right now our drivetrain dimensions are 27.5” x 27’


The elevator this season is going to be 3 stages fixed at 35 degrees. This allows us to move parallel to the grids and score high and low. The design for this elevator is heavily influenced by our 2019 design which worked very well throughout the entire season. The 2023 design will be powered by two Neos with a 12:1 reduction which should get us to full extensions in about 1.4 seconds. The main feature of this elevator however is the bearing blocks used. The first version of these was designed in 2019 as well but the current version allows us to 3D print them and attach them via rivets to the stages. Our plan is to do a separate post on these bearing blocks all together.



As of right now we still have a bench grinder of sorts where our gripper should be. We foresee this being the subsystem that changes the most throughout build season and competition season. We have designed and prototyped multiple ideas that are expanded on below but the goal is to touch it, own it, and require as little driver input as possible. More on the progress of this subsystem can be seen below in the prototype section



Early focus on Autonomous

This year 319’s early code focus is getting a drive train running and preparing to develop autonomous pathing and engaging with the charge station. 319 is leveraging an offseason drivetrain to start coding earlier in the season than usual.


We’ve created our initial Command based project and have implemented our fork of CheesyDrive from previous years. For those unfamiliar, Cheezy Drive drive uses some more advanced control logic to enable constant-radius turning. This means that the robot’s turning radius should be constant regardless of the robot’s speed. If you take a look at our Github, this has been our bread and butter drivetrain code for multiple years.

Drivetrain characterization

This week we were successful in using WPILib’s SysId tool to characterize our offseason drivetrain. We encountered issues last year properly configuring the project with our robot’s information. Specifically the ‘Units Per Rotation’ field. As “The gearing is already accounted for in the generator” in the SysId tool. Last year we had mistakenly calculated the distance that an output wheel would travel meters for one rotation of the input shaft.

Version Control

This year 319 is getting back in the habit of maintaining our GitHub repositories regularly. We’ve developed a standard operating procedure for our team to follow to try and make using git as straightforward as possible. We’re also undertaking pull-requests to keep our code concise and bug free on our master branch.Hopefully in the coming posts we can share a branch diagram of our progress and some lessons learned while we go about this workflow.

Teaching Students

This season we are fortunate to have a few new faces and a few returning ones and that means passing on knowledge from experienced students to the newcomers. 319 prides themselves on doing all manufacturing in house and teaching students the fundamentals of manufacturing in its many forms. Students are taught how to do manual machining tasks on a bridgeport with CNC capabilities and 2 lathes.

Started machining Drivetrain parts

At the start of our last meeting we determined that we are confident enough with our CAD model that we can start making drivetrain parts. Our hope is to have the competition drivetrain up and running as soon as possible

Creating an offline QR code generator

This past season we borrowed 2713’s method of scouting which was an offline QR code generator that allowed scouts to input data during a match and output a QR code containing the data from that match. This data was then scanned into a spreadsheet via a barcode scanner and parsed out. We are in the early stages of writing the html that contains all the inputs we want but the offline QR code generation has been completed


Gripper Prototyping

As mentioned above we have spent a lot of time formulating and designing gripper ideas. Our strategy is to pick up game pieces from the double station in earlier weeks but we don't want to pigeon hole ourselves into this strategy but our main goals are to touch it, own it with any game pieces. Below are a few of the design concepts we came up with

The design above went through many different iterations not shown but the main things we wanted to determine were geometry/location of the rollers themselves, material used to interact with game pieces, and how many motors should be used to operate the gripper. We found that 2” compliant wheels worked extremely well when gripping both cones and cubes. As for the geometry and motor allocation, these are still being played with but initial thoughts are to only use one motor and the current geometry can be found in our CAD model. So far we are extremely happy with the progress of this design and are very optimistic that it will fit our needs and goals for this season.


Are you all planning to forego ground pickup entirely and solely focus on feeder station? And if not what your plans for getting game pieces into the robot? Fantastic work! Thank you for this resource!


One of our biggest goals with this robot is to continuously improve it no matter what week it is. Our focus right now is to do the things highlighted in green in the strategy tab at our first event and go from there, but as you can also see we drew the line just above ground pick up so hypothetically that is the next thing we would look at. Also it’s worth mentioning that the robot above should be able to handle cubes off the floor.

This does not mean that we haven’t thought about cones off the floor though. When thinking about it for this bot I think some sort of handoff mechanism off the front of the robot would work best

I really like this prototype 6328 posted on their thread


The image above is the current design for our wrist. It utilizes a few of the rev ion products which we haven’t had the chance to mess around with yet. Looking for any comments on successes or failures when using the rev spline shaft as a live shaft. Thanks in advance!


Update #3

Since our last update, team 319 has begun manufacturing our robot. After running into some early issues in manufacturing, we’ve been working to get our machines up and running. We have made a number of design changes in our CAD. That’s all for now, more updates to come soon. As stated previously if you have any questions about our processes or design we are more than happy to elaborate and even more than that we would love to hear any feedback you may have!

  • 319 CAD model
  • Drive Train
    • Drivetrain gear ratio - 6.25:1
    • Drivetrain speed - 14.5 ft/s (we’re using 4in colsons)
  • Collector

  • Our current design is mounted to a wrist on the carriage to allow for collection and scoring from multiple configurations and angles. We are utilizing three rollers with this design. The front two used to intake cones from the double loading station, and the third roller used to intake cubes from anywhere on the field just by changing the angle of the wrist and height of the elevator.

  • Current motor allocations
    • Drive - 6 falcons
    • Elevator - 2 neos
    • Wrist - 1 neo
    • Collector - 1 neo 550

In House Manufacturing

We do all our manufacturing in house on a number of machines we use in the shop. Students are trained how to use each machine carefully before use by mentors and more experienced students. The majority of our manufacturing work is done on two CNC machines.

For all our tube work we use our three axis Bridgeport mill. It’s an incredibly powerful and incredibly accurate tool that (provided we use it correctly) guarantees us exactly the part we need every single time.

All our plates are made on our Omio x8. We use it for all the flat pieces of metal on the robot. Including our belly pan, drivetrain gearboxes, elevator plates, as well as on the carriage and the collector. It also can be used to make high fidelity prototypes ridiculously fast and precise. We tried using it for bearing holes on our drivetrain but flipping the piece over proved too sloppy and too much of a hassle for something we can do very easily on the bridgeport.

  • Drive train
    • We made a number of the parts for the drivetrain this week and should be beginning assembly within the coming days.

  • Next up for manufacturing
    • Bellypan
    • Plates for gearboxes
    • Chassis assembly
    • Elevator tubes
    • Continue 3D printing our elevator bearing blocks

Update #4


Since our last update, team 319 has been primarily working on manufacturing our robot, but we've also worked on autonomous pathing with our off season drivetrain and have made developments on our scouting app.


Not a lot changed with regards to design since our last update. Further considerations were given to the locations of electrical hardware and what we will need in terms of space for hardware and wiring. This includes the needs for our energy chains and wire management. The only other aspect of design that we started throwing some brain power at is how we want to design for future improvements. In the past this meant throwing a pair of mounting points on the back of our robot to allow for the addition of forks in 2018. We had similar discussions this year, about how we can make continuous improvement easy. So far we added a pair of potential mounting points at the front of our DT to potentially add some form of cone collector for floor collection.


Manufacturing teams have been busy. At the moment, every part of the drivetrain except for the belly pan and a number of parts for the elevator have been manufactured. Most of these parts were made on our bridgeport mill and our Omio x8 Router but we also needed to use our laithes to turndown and tap hex shafts and standoffs for our wheels and gearboxes.



We’ve continued to work on our pathing this week and have made some decent progress. We further improved our drivetrain’s characterization, and implemented our initial path following code by following the WPILIb Path Planning Docs.

We’ve successfully generated Paths in pathweaver, and have tested that the robot can drive in paths that the heading travels a full 360 degrees. As last year we had problems because we didn’t limit our robot’s heading from -180 to +180 degrees. ( WPILib does make note to refer to MathUtil.inputModulus that helped us resolve this). This coming week we’ve got some tuning work planned and hope to start working on balancing on the charge station.



We have continued to develop our scouting app. The main progress was to first look at all the data we want to obtain while scouting a match then generating the format for which the data will be input. We also tested to verify that our scouting tablets would be able to access the app itself if it's stored locally on the tablet.
Project Management

Project Management

In past years we utilized google sheets to set up “to-do” lists. This was effective but primitive so to say. When looking through the FIRST voucher list we realized that we can use monday.com pro. An example of how we plan on utilizing this can be seen below, but the general gist is to have a “this week” and “next week” group and plan things out to be done in the current and following week. Anything that isn't completed in the current week is moved to a backlog group. We also split up tasks into subtasks that are part of the subsystem project they pertain to.

That’s all we’ve got for now, more updates coming soon. As before, if you have any questions about anything, we are more than happy to elaborate and we would love to hear any feedback you may have!


Update coming soon but in the meantime…


Update #5


It’s been a long time since our last update. Since then, Team 319 has been very busy. between manufacturing the parts to our robot and handling sudden changes with our design. We've also worked on autonomous pathing, including an auto-engage, with our off season drivetrain and are excited to see the newest Bob begin to take shape.

Since our last update, we elected to remove the lightning pattern from our belly pan as it’s the last major component of the drivetrain that needs to be manufactured. Additionally, the heavier drivetrain will lower Bob’s center of mass which we feel will be an added benefit. Our robot is going to be a light one this year. According to Onshape’s mass properties display, the robot will weigh roughly 80lb. We also wanted to lower the center of mass as much as possible and removing weight from the lowest part of the robot would only raise the center of mass. In the coming days we need to finalize the design of our collector. We’ve also decided to explore other collector designs. Our current leading design is inspired by another open alliance team 111. In a recent post they showed off their collector that was able to pick up both cones and cubes from the floor in multiple orientations. We’ve also deviated a little from our original strategy, which was to ignore floor cones all together. After seeing other teams having success with it we decided it would make sense to re explore the idea. Our current plan is to get our elevator and wrist up and running while we continue to develop and build our 111 collector design.

Along with adopting their collector design we noticed that adding a second pivot to our collector arm would make collecting game pieces off the floor a lot easier. So we now have a shoulder and a wrist between our collector and carriage.

111 Collector adaptation


Collector and Carriage


The pivot for our “wrist” is controlled by a Neo mounted on the carriage, and a series of belts that run through a series of printed HTD pulleys. The added flexibility should allow us to reach standing and tipped over cones from the floor.

Below are a few of our planned robot configurations

Starting Configuration


Collecting cones/cubes from the floor

Scoring Cones/Cubes

Getting Cones/Cubes from the loading station

Manufacture We’re so good at making parts we decided to make every part twice. We’ve spent a lot of time with our CNC machines to fine tune and test our feeds and speeds but we’ve reached a point where we can reliably manufacture robot parts quickly and accurately. This efficiency means that when we change the design of parts, we can remake them quickly. In terms of manufacturing progress, all three stages of our elevator are made and assembled onto the robot. The drivetrain is fully wired up and ready to be handed to the code team at our next meeting. Below are a few pictures of the current status of the robot.

Code https://youtu.be/jBkNJVQLzvA

Our plan is to have a more indepth dive into our progress on the controls/code side of things in a future post but as a sort of preview we were able to get out engage to work on our offseason robot.

Safety Our pitboss and safety captain took a good look at our safety and wellness protocols and updated them as well as added a section on the mental wellbeing of our team members and how to ensure that each member can bring their best selves to meetings and the team.

Bob doing things

More coming soon but here’s a short video of 319 scoring their first game pieces


Bob running cycles(kinda)

Started getting some driver practice in, looking like Rhode Island is gonna be a fun event!


Working on autos


Post #7

Event recap #1 - Week 2 RIDE

Bob spent this weekend in Glocester Rhode Island to compete in our first event of the season. Thanks and appreciation go out to all the FIRST Volunteers who made this weekend a blast for our whole team. All the teams there were great and everyone brought their A-game.

This weekend was a wild ride (Pun very much intended). From load in on friday to the final match of the day on sunday.


After spending almost 3 hours in the trailer, Bob got into the event and you could tell everyone was excited to be back to competition season. During robot inspection, we were informed that the numbering on our bumpers didn’t meet the requirements laid out by the rules of play. Specifically R406 We adamantly disagreed, citing FIRST’s own bumper guide to make our case, but decided this wasn’t the hill we wanted to die on and taped over the parts of our bumpers we were told violated the rules and finished the rest of inspection smoothly.

We played with and tuned our autos during a practice match and used the practice field to get positions for a collect position that would gather game pieces from the single substation. We were very happy with our preparedness by the end of the day friday.


The first match of the day Saturday went exactly as planned. We started the day off with A 4RP match. From here unfortunately it was as smooth sailing for some matches as we had hoped. It was nothing we could handle however. Our biggest issue was chasing a weird coms issue where we would randomly lose com due to a radio reboot. We only lost coms once on saturday and we believed we had fixed it by hot gluing every possible connection, and adding some current limiting on subsystems that didn’t have it already. Autos worked amazingly, our most common auto was to score one grab a cube then level the charging station from the non cable protector side. We complemented this with a 2 game piece auto from the same side when we were with someone who had a good balance auto from the center. We also were able to work in a single loading station configuration and this was much faster for us than going to the double, especially in terms of cones. The only other thing we discovered at this event is that our 3D printed bearing blocks are able to break and our center stages will fall out of the robot. Despite some electrical and mechanical issues we learned a lot about what our bot can and can’t do as well. We finished the day ranked 3rd.


Going into Sunday the comms issue we thought had been fixed reared its ugly head again, but now we believe we have it fixed by putting a new VRM in to power our radio. We also found that our robot was taking a beating. Whether it be from hitting other robots or dukes of hazarding it over the driver station. This became very evident when going into our last match of the day we did a systems check prior to the match and discovered that the pulley that drove our “forearm” was rounded out and no longer able to lift the arm. Unfortunately we did not have enough time to replace the part and had to play defense in the last match.

The blue pulley on the left above was the culprit. This was an easy fix going into elims, and now has been swapped with 2 aluminum versions that were turned down to get the desired double belt width.

Once it was known that 6329 was going to be picking 6328, 78 approached us to join the second seed. From here we focused on getting a good defense bot that was small enough for a triple engagement and was optimally swerve. This came in the form of 8626. Unfortunately going into the finals we saw something that I myself have never seen. Our rio went into brownout protection mode. We did not at any point lose coms but we lost all ability to operate the robot. It seemed like the FTA was a little stumped as well when they came over during the match because there was no way to get out of this state. Restarting the rio and code both did nothing to help the matter. After the match we power cycled, checked all connections then did a systems check and found nothing wrong. 319 learned a lot about this year’s game and is looking forward to UNH. We also want to thank our alliance partners for a great end of the weekend!

Moving forward(flipped boi)

One thing that we discovered at RIDE was that our robot, as functional as it was, had some areas of play we wanted to speed up. Auto was great the entire event but we believe we were maxing out the capabilities of what the robot could achieve in the first 15 seconds. Our individual mechanisms are fast on their own but when working together to score or collect there were alot of movements that needed to occur to get the gripper into the desired position. On top of this it was impossible for us to start with a cube or even bring the cube within our frame perimeter after being collected. The solution to all these problems is something we are ashamed we didn't see sooner. We are happy to introduce backwards BOB (Flipped Boi)
Flipped Boi

Floor Collect Pose

Score Mid-High

Single loading station


The ability to collect off the front and score off the back means we don’t need to turn around in auto, along with this our starting configuration can be much closer to where we want to score. We are unsure of how much time this will save us but we hope it’s in the neighborhood of 5-6 seconds allowing us to pursue a 2 game-piece and charge as well as a 3 game piece autonomous. The other added benefit is now we can approach the single loading station much faster without worrying much about damaging the intake. Before the collector was the first thing to hit the wall, and now we have a nice soft legal bumper to hit the wall first

Mechanical Changes

Our goal with this change was to have it done prior to going to UNH(week4). I am happy to say we were successful with this. Changes were made to the following subsystems

  • Elevator
    • Bearing blocks were Markforged originally but to condense rope to the outsides of the elevator we altered our elevator bearing blocks to also incorporate the rope pulley and be made of aluminum
    • These parts were machined on both a bridge port and Omio to try and get them done as soon as possible.
    • We also found that the 1/16 wall elevator stages were getting pretty beat up by carriage racking and general wear and tear so we swapped these out with ⅛ wall instead.
  • Carriage
    • We needed to make new carriage plates anyway because the previous lexan ones flexed causing a lot of our racking problems. To make them flipped boi compatible we just needed to move the pivot a few inches to allow the arm to reach over the elevator drum
  • Collector
    • The collector itself is still the AWESOME 111 design, but what we call our forearm is now able to be shorter because we don’t need to reach as far.

It was a long weekend but definitely seems like the change is going to be worth it. Looking forward to seeing everyone at UNH! Below are few pictures from our very long workday on sunday, enjoy!


The flipped boi change showing some improvements

2 Piece and Engage

Driver practice


Since you’re adding autos, do you have one that gets mobility and charge station from the center position? Looked like you only did from the flat side.

The hope is to have an option for every position, but our best autos like a lot of teams are from the flat side

1 Like

Managed to get a 3 game piece auto that scores high

Also now have a 2.5 game piece that engages, will post a video of that later


Cube tracking with limelight(not object detection)


Bump side 3 piece auto

Happy Easter!
Had to find one more egg before shipping the robot to worlds.

Also anyone seen a pit tower before?