Hello all,
As I’m working on creating some systems and resources for our team to use for the quickly-approaching build season, I was reminded of a series of closely related questions I’ve always wanted to ask Chief Delphi.
The fundamental question is (as the title mostly states): Throughout the build season, what is the relationship between the fabrication, ordering, and assembly of parts of the robot in real life versus those parts in CAD?
More colloquially: On a scale from “We don’t order, cut, or take a single bolt out of a box until every detail of the full robot CAD is finalized” to “We cut router pieces for an unfinished low level assembly in a rough iteration.” Note here that I’m not saying “unfinished” and “rough iteration” in a prototype sense, although perhaps there is a team out there who has completely blurred the lines between late-stage prototyping of full subassemblies and very early robot subassemblies (but I digress).
I’m really curious to see the different answers and opinions you all have, and please feel free to comment the driving aspects of the iterative design process/general build philosophies that led you all to these answers.
We don’t manufacture parts for the robot unless they’re in CAD.
For us tho, that definitely doesn’t mean the whole robot is done. Once we release the drivetrain we try to continuously feed the shop parts. Lots of ordering occurs once we have the faintest idea we’re going to use a part. Unless it’s McMaster and then we just order it the morning we want it. We used to only have really important bolts in cad like elevator bolt surfaces but that’s screwed us over recently (no pun intended) so this year we’re hoping to every bolt in the assembly.
We’re pretty solidly in the crowd of nothing for the final robot gets made before week 3 in recent years. We might order some stuff we’re 90% certain we’ll use like wheels*, COTS gearboxes, and the bread and butter COTS stuff that almost never changes. At most, we’ll guesstimate how many VPs we’ll need. There’s also some specific COTS modifications we might make, like wheel and hub assemblies, but no “real” robot parts.
Usually around week 3 in a normal season is when the first drivebase parts will be machined, though they might sit unassembled for a bit in case we need to add something. The robot is usually 70-90% CADed once the DT is finalized for assembly. From there it’s a rapid flurry of everything else being manufactured and painted. Wiring is mostly done by the end of week 5, and usually the comp bot is 70-90% completed 3 days before bag. We’ve bagged both very incomplete and almost ready to run robots, depending down to which week we scrapped the whole robot design because of a gaping hole in our strategic analysis.
*this sometimes fails spectacularly, like the ~$400+ we spent in unused Colsons and Vex traction wheels in 2018.
We unfortunately are not very consistent in how we do this. The one thing that is guaranteed is the first point.
- Every single part is drawn in CAD before it is sent out, because we need a model to print a working drawing
- Usually, each subsystem must be reviewed and approved by a mentor before working drawings can be sent out and parts made.
- We also try to have only 1 or 2 subsystems in fab or assembly at a time so that we can finish some of them early instead of all of them late. This doesn’t always happen though.
- We do usually order parts we are pretty sure we will need for a subsystem before we are done designing it.
- We never have time to iterate on anything once we are done, so having everything done right the first time is necessary. Of course it is possible that the reason we don’t have time to iterate is the fact that we wait until the subsystem is finished.
Your last bullet point is really where I’m hoping to drive the conversation towards as the topic gets more, specific responses. Certainly a very important question that every team has to answer (for themselves) and I hope this can be a good resource.
Then, I think this might also be something useful to talk about. As I said in one of the points, we are always pushed to release subsystems one at a time to fab. Often, people on the team say we should work on one system at a time, and move on when we are finished. This isn’t really possible because you can’t have all 10 of your design people working on a single system, or even 5. There is a point where throwing more people in slows things down. I don’t know exactly where that point is though, and it’s probably different for every group of people (and functional group). So, we split everyone up and all systems get designed at the same time. This results in most of them being done at about the same time. Even then, we usually send out only one system at a time, just holding back the others. But, then there is a problem when fab has no open lathes (quite often), but there are other machines open. There might not be any more non-lathe parts in a system, so we have to start mixing in other systems.
Why do you think this is? I would think it would be more time efficient to get all the subsystems fabricated at the same time. It doesn’t seem like this would be much of an issue if you integrate all the subsystems into a larger model in CAD. But then I’m just a programmer so don’t listen to me on this subject.
The reason is because we almost always finish the robot on bag day. Our programmers often don’t get to test their code for a while after that, when we get the practice bot done. To try and fix this, we try to finish at least some of the systems before bag day so the programmers can test them. With bag day gone, this should be less of a problem.
There is usually a rough correlation between CAD and the robot throughout the build season.
Usually the robot is further along…
Everything that happens to the robot gets done in CAD first for us. Reading what Troy said makes me think we move too fast on it though, since their robots have routinely performed so much better than ours. We probably need to design less custom parts for the CNC to make and take a little more time thinking it through.
It really does vary team to team.
It’s always useful to have a virtual representation of the robot in CAD, to allow for quick design decisions and measurements. The CAD doesn’t have to be perfect, but it does have to be good enough to let you make decisions.
By process, you can enforce this like some have mentioned here: don’t make a part till you have a full drawing of it. This can add overhead and complexity, which may or may not be what you want in the 6-week window.
We don’t enforce this. We do keep CAD busy throughout the season keeping models up to date, making rough drawings of things we want to build, and updating the drawings after the thing was built.
Like anything else - CAD is a tool to help you get the job done better. Focus on what that job actually is, only incorporating CAD as needed. Don’t get too caught up on the details of the tool itself.
Hmmmm - does “the shop” imply an outside (non-team) facility making the parts? If so, I’d say this is an important distinction - CAD drawings are not only how you design your robot, but are also the required handoff to people who don’t know exactly what the robot is supposed to look like or do.
Even if the part is made “in-house”, you can still force the handoff (by process). But, you have the advantage that the person making the part is also staring at the whole robot, and was in the design discussions, and is on the hook for achieving overall functionality. The overlapping roles leads to the ability to re-design on the fly with fewer concerns of messing something up.
We CAD out a full subsystem, and once it’s approved it is sent out for fabrication. The advantages of this are we tend to get the robot built faster, and have more time for programmers to tinker and drivers to practice. However, sometimes we design ourselves into a corner doing this - there’s never as much room as you thought there was to design another subsystem.
On 1923, we aim to have 100%-90% of the whole robot in CAD and ready for manufacturing by the end of Week 1.5-2. Unless there is a massive systems integration roadblock (this year it was the fact that our drive belts ran through our elevator gearboxes, and that our pass-thru claw could interfere with our roller intake in certain positions), we will lock the drive train design and release for manufacturing by the end of Week 1ish. Again using 2019 as an example, we had ALL of the parts of our first iteration of the robot in CAD by week 2 and ALL of the parts for the Competition Robot on the table ready for anodizing by the end of Week 3. By Week 4 We had the parts back and ready for assembly. The whole time this process is going on, we are refining the CAD based on how the practice bot which does not go out for anodizing is performing. Even though we “lock” the design this is more so that we can find a good point to release parts for manufacturing. We don’t stop looking for improvements until the end of our last competition, and we will always be ready to make new parts as needed. This year notably, we changed our whole claw from a rigid ball claw to a pivoting ball/hatch claw the day after bag and tag. The week of our second district competition we redesigned and implemented our suction climber which was the last major change we made. As with the initial design, the new components are all fully laid out in CAD before they are CNC’ed.
I anticipate that even with bag and tag gone this year, we will still follow a very similar schedule, leaving us ample time for iteration and drivers practice.
tldr; on 1923 we CAD the entire robot before starting CNC ops around the end of week 2. However we still iterate and modify the CAD based on testing even during and after CNC and Anodizing.
I guess that was confusing. “The shop” is just what we call the rooms where our machines are and sometimes the manufacturing side of our build department.
We have a big enough team that usually (read: virtually always the 3 years I’ve been on the team) the students designing the robot are the not the same students CADing the robot. While those build students were likely in the earlier design discussions and have been working on prototypes, that doesn’t necessarily mean that they know exactly what every part does just by looking at the drawing file in isolation. We don’t usually have people redesign parts as they’re making them.
For us, the drivetrains get manufactured as quickly as possible, hopefully starting around day 4. They’ll have plywood belly pans to start with, so that the code kids can get to work as quickly as possible. Everything else goes into CAD before production, although there’s usually a few “plastic and plywood” iterations before we cut metal.
Around week 6 we usually have to start making un-CADed changes directly to the robot, usually involving zip ties and duct tape.
During the start of the season, after coming up with rough sketches and prototyping, we try to CAD everything for the robot. This helps us to visualize any conflicts between subsystems and generates accurate working drawings for fabrication. All of this ensures that we minimize any costly mistakes in the manufacturing process.
Granted, with the existence of Murphy’s law, some unforeseen issues might come up later in the season, so the overall design of a system might change. At that point in the season, we might go back to CAD to redesign the system. More often than not we create informal sketches and adjust the subsystem as needed.
Gotcha, sweet. Yup, as you described, aligns with my thoughts too - when you get a big enough team, it becomes just as though it’s an external shop. The CAD becomes a requirement to do a successful handoff and keep everyone on the same page.
Yay problems of scaling!
Although we try to keep our shop well equipped before season, there are items on each robot that we need to order due to unforeseen need. A good example of these are special intake wheels, elevator bearings, and v-groove bearings. If we think we will have a need for these early on in our CAD process, we will order them well ahead of CAD completion to make sure they come in time for us to start assembly.