Technical Report Number
Algorithms for dynamic simulation and control are fundamental to many applications, including computer games and movies, medical simulation, and mechanical design. I propose to explore efficient algorithms for finding a stable unstacking sequence -- an order in which we can remove every object from a structure without causing the structure to collapse under gravity at any step. We begin with a basic unstacking sequence algorithm: consider the set of all objects in a structure. Collect all possible subsets into a disassembly graph. Search the graph, testing the stability of each node as it is visited. Any path of stable nodes from start to goal is a stable unstacking sequence. I propose to show how we can improve the performance of individual stability tests for three-dimensional structures with Coulomb friction, and give effective methods for searching the disassembly graph. I will also analyze the computational complexity of stable unstacking problems, and explore a classification of structures based on characteristics of their stable unstacking sequences. In preliminary work, I have shown that we can reuse computation from one stability test of a planar subassembly to the next. The implementation, which solves the system dynamics as a linear complementarity problem (LCP), outperforms an implementation that solves the system statics as a linear program (LP). This is surprising because LCPs are more complex than LPs, and dynamics equations are more complex than statics equations.
Dartmouth Digital Commons Citation
Loomis, Anne, "Master’s thesis proposal: computation reuse in stacking and unstacking" (2005). Computer Science Technical Report TR2005-563. https://digitalcommons.dartmouth.edu/cs_tr/283