The Robot Compiler (RoCo) is a robotics codesign and fabrication environment to help the general public create their own robots. The above image shows two parameterized geometries representing robotic grippers (left) and a section of the code used to generate the geometries (right). Although these geometries only use quadrilaterals, the Robot Compiler is capable of producing other arbitrary shapes.
The motivation for parameterized geometries derives from the challenges of fabrication. In particular, physically fabricated objects often require minor specification changes to be propagated throughout the design. For instance, suppose we have a design for a chair which requires screws with a diameter of 1cm. Then, suppose we have all the required materials to fabricate this chair, except the correctly sized screws. With parameterized geometry, we may quickly change the radius of one hole for a screw, propagate this change to all other holes, and continue on with fabrication. Parameterized geometry enables designs to be quickly changed and adapted to suit the user's needs.
In particular, for the Robot Compiler, parameterized geometry will enable users to adapt their designs for different behaviors. For instance, if a user wants their robot to have a longer battery-life, the user may simply swap out their battery for a larger one, and the parameterized geometry will adjust accordingly. Another application is to enable users to compose robots together. Suppose a user wants to attach his friend's robot gripper to his robot car. Parameterized geometry enables the user to simply specify where to connect these two components together and then let the software handle the specific dimensions.