This year we attempted to design our robot modularly. We assigned separate teams to each design parts of the robot (lift, grabber, chasis, minibot) and then brought them all together. Whether or not this is the best way to design a robot is up for debate. However, there are a few parts of modular design that would have helped us in the end.
Working in different teams has advantages and disadvantages. When you work separately,you can be designing the arm at the same time as you design the lift at the same time you design the chasis. This is called doing things in parallel. This is a clear advantage because things get done faster.
On the other hand, the biggest disadvantage of modular design is communication. Because teams are separate, one team might assume that the other teams are building their parts in a certain way. We experience that this year with weight. When everything was put together the resulting robot simply weighed too much. This was probably caused because each team designed their part and nobody told them how much their part had to weigh.
Design Constraints are very helpful in this situation. In essence, a design constraint is a rule that must be followed in order for the design to be considered. For instance, we could have put a constraint that whatever lifting mechanism we used had to weigh under 20 pounds. When we prototyped the forklift, we could have weighed it and made the changes necessary for it to be under 20 pounds.
The beauty of design constraints are when you bring multiple pieces together, they all work. When build season first starts, the leaders would look at the maximum weight (120lb this year) and look at the different parts that need to be built (lift, grabber, chassis, minibot deployment) and estimate about how much each system should weigh. When we go to assemble the robot, because we had those constraints placed on the individual mechanisms, the entire robot should come in under weight.
Note: Having an estimate of what each system weighs is a good idea in general. It helps you make decisions later on if you need to loose weight.
Design constraints can be used for anything from weight to the types of bolts you use to connect to the chasis. If we know that we only have 7 motor controllers, you might want to limit the lifting mechanism to two motors and limit the arm to one.
Finally, just because you put a constraint there doesn’t mean it can’t be changed. If a certain parts needs more weight, and another parts comes in under weight, everyone wins. However, it is important to first set the constraints, and then change them down the road. And when they change, every team should be aware of it so they can adapt to it.
Pingback: Modularity: What is it? | Tyler (Chacha)