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…