The Robot Compiler (RoCo) is a robotics codesign and fabrication environment to help the general public create their own robots. This image shows an assortment of programmatically-generated, parameterized polygons (left), the script used to generate the polygons (upper right), and a nonlinear system of equations solver (lower right).
Currently, the Polygon class is able to generate polygons of any number of sides and represent any arbitrary shape. By changing a single value, users are able to simultaneously alter many other side lengths and angles. These values will change according to the preconfigured constraints for that polygon. This differs from direct modeling, where the user is typically unable to propagate changes without manually determining the other regions which will be affected. Moreover, this programmatic approach allows us to associate other features with the polygon. For instance, if the polygon were part of the geometric representation for a circuit board, we may associate a pinout diagram or even other separate required components, such as a battery.
The next step will be to create fully parameterized polygons using a nonlinear solver. As of now, variables such as the hypotenuse of the right-angle triangle cannot be altered because ordinary solvers cannot properly solve for the side lengths given only the length of the hypotenuse; however, the nonlinear solver is able to solve these sort of sytem of equations. After that, we will attach polygons together to create polyhedrons.