The OpenSTORM Project: A Proposal for an Open Simulation Tool for Robotics, Automation, and Manufacturing

Computation for complex, mechanical systems has traditionally focused on minimizing computational complexity. This is the result of scalable simulation typically focusing on computer graphics needs, such as those required when producing a feature-length animated film. However, these techniques are often hand-tuned by experienced animators, with the only goal being plausibility rather than validation of a physical mechanism in simulation. As a result, we have well-established simulation techniques for systems that operate in virtual worlds. Simulation of manufacturing systems must be physically meaningful, and must be so without much input or tuning from the user. Even finite element methods (FEMs) often require hand-tuning of parametric inputs to the model, and the computational complexity of FEM techniques often make them inappropriate for computations that require multiple simulations. Hence, we propose to develop a common software infrastructure to be used both for evaluating existing software simulation tools as well as eventually providing a platform for robust simulation. The goal is to allow more seamless sharing of algorithms to enable demonstration and comparison. This code will be open source, and will be specifically designed with manufacturing systems in mind, such as assembly lines where multiple physical processes are occurring simultaneously. An assembly line can include conveyor belts, grippers, and blades, and would moreover come equipped with sensors of various sorts. Each of these components has its own modeling needs that would be modularized and incorporated into OpenSTORM’s specification language. Without a package such as the one that would result from the OpenSTORM project, we cannot virtually prototype, verify controllers, or develop planners for a wide range of systems. This proposal stems from the recent IEEE International Conference on Robotics and Automation (ICRA 2008) Workshop on Algorithmic Automation, the ICRA 2008 Workshop on Contact Models for Locomotion and Manipulation, and the upcoming IEEE Conference on Automation Science and Engineering (CASE 2008) Workshop on Algorithmic Automation. The ICRA workshops were unusually well-attended–with over 80 people attending at times–indicating recognition in the research community of the importance of the topics. All three of these workshops illustrate the need for physically reliable simulation techniques for manufacturing systems. Some of the realizations from these workshops are very high-level in nature–that successful next-generation manufacturing requires advanced technologies and that the United States’ continuing global competitiveness requires investment in our manufacturing infrastructure. In particular, reliability in manufacturing is key to consistent product quality. Reliable simulation is necessarily only one component of what is needed, but will play an important role in improving manufacturing state of the art by improving our rapid-prototyping and system verification capabilities. Our view is that a single simulation environment, independent of its intended application, is not feasible. Hence, a key goal of the OpenSTORM project would be to provide a common specification for simulation that involves rigid body systems with constraints and impacts–both elastic and plastic– for polygonal bodies and special nonpolygonal bodies (e.g., circles, cylinders). This is similar to the Collada project [1], but Collada was primarily intended for animation specification rather than physical simulation. The simulation specification environment would need to support: