Automatically added tabs for a cube structure
This week, I worked on improving how the RoCo system handles connections. RoCo is designed to allow users to easily fabricate 3D robot designs in a number of ways. Often, this involves breaking up or flattening the geometry, which causes the need for a way to reattach parts detached in this unfolding process.
In the past, RoCo was highly geared toward the creation of paper robots, so this problem was addressed by allowing the users to add tabs to the unfolding, which could be slotted together later on. However, the user was forced to specify which edges should be broken up into tabs; thus the majority of the work in unfolding was being done by the users. Additionally in some cases adding tabs to a certain connection would leave the user with and invalid unfolding. To tackle this problem I set out to make the addition of tabs automatic, without need for input from the user. The main challenge in this endeavor was changing the way tabs were added. Tabs were previously added at the face-edge graph level, and then simply drawn normally during the graph to drawing conversion process. However, adding tabs needed to be done concurrently with the graph to drawing conversion process forcing me to come up with a new method of adding tabs automatically where tabs are treated as drawing components rather than graph components.
While I was working on the problem of connections in paper, I was also collaborating with another one of our researchers, Wenzhong Yan. He is working on modifying the current mechanical composable in order to allow us to target a wood/laser cutter fabrication method. Unlike paper, wood cannot be easily folded, so all angled connections must be broken apart during the fabrication process and put together later. Instead of tabs, the wood pieces will be reconnected using finger joints. Working with Wenzhong, we derived a plan to add these finger joints using much of the same interfaces as tabs, in a effort to minimize code rewriting. He will be working on implementing this idea in the coming weeks.