Simplified and Abstracted Geometry for Forward Dynamics
Before the ascent of CAD programs in engineering design, engineers functioned like artists working with what mathematics and formalisms they could and filling the holes with intuition and guesswork. They designed on paper in the real world, on the actual, physical object. For example, World War I era engineers designed propellers not with strict mathematical models, but with a visual sense of what a propeller should look like. Some of the geometric design for the propellers could be done on paper, but this too was an artistic and generally inefficient method of design. With the advent of CAD, however, vast new design spaces opened up, allowing engineers to efficiently model their ideas in silico and effectively communicate their ideas to others in a mathematically precise way. However, much of the design process is still done on the physical object or on a physical model.
It is trivial to say that were testing, tuning, and other tasks done accurately in silico instead of on physical systems, there would be improvements in the efficiency and quality of the design process. Computer simulation of complex mechatronic systems offers many advantages over reliance on physical prototyping and analytical formalisms. In simulation, the system can be placed in conditions in which it would risk damage or destruction. In fact, it may be pertinent to some technical inquiries to damage or destroy the system intentionally. Needless to say, such damages and risks impose a heavy cost on engineering teams who are testing on physical systems. Even tests with a low risk of damage to the system have a higher cost than equivilent tests done with simulation. Simulation also provides a boon to empirical testing as the exact conditions can be replicated for every expirement, something that is implossible with testing done on physical systems. Tests can also be run faster than "real time" and in parallel, allowing an engineering team to test in and hour conditions that would take years to test on physical systems.
Given the desirability of replacing physical systems with appropriate simulations in the design cycle, one must ask: why isn't this done? The answer is that to a large extent it is done: it's common practice to use simulation for such things as FEA, fluid dynamics, etcetera. However, there are many other problems for which no computationally efficient model exists that can produce results with a great enough fidelity to forgo physical testing. One example of this is the simulation of the forward dynamics of robotic systems with many DOFs. If such simulation could be done efficiently with satisfactory fidelity, it could be incorperated at many points in the design cycle. For examlpe, it could be used as an objective function for evaluating design alternatives. This kind of simulation would also be useful for path planning. Traditional path planning now is done strictly with kinematic constraints incorperated, few if any dynamic properties. This has the disadvantage of not being able to elegently take into account physics within the path planning. Such an absence means that a path cannot be optimized for minimizing power usage or torques, and the path my incorrectly treat operations such as cantilevering over a crevice of crawling over obstacles. Additionally, new and promising robotic designs focusing on reconfigurability will require multibody dynamical simulation to ensure that new configurations are stable and can effect the desired task. The high dimensionality of this kind of dynamic path planning has made it largely infeasible.
These simulations might be feasible, however, if efficient models can be derived for the system and the problem at hand. In the CAD models of these systems, there are an "irrelevant many and a vital few"[simulation book...] for dynamics simulation. Both the geometric model and the assembly of the system as described in a CAD program are up for abstraction and simplification. What homomorphism is appropriate depends on the context: a robot walking straight will require a much simpler representation than one undergoing unpredictable actions in a complex environment.
The need for simulation and abstraction of robot and mechanism geometry arises out of the large size of CAD data and the computational cost of simulations involving them. Typical tessellations for CAD data viewing, inside CAD programs, results in a very high number of triangles, more than can be effectively simulated with current hardware. Even with hardware advances, it will always be advantageous in some situations to cull away data irrelevent to answering a posed technical problem. The motivation for simplification and abstraction then exists, but how to simplify or abstract the system is a question that to our knowledge has not been addressed in the area of forward dynamics simulation incorperating geometric data.
Geometric simplification has played an important role in the computer graphics field by allowing believable viewing of scenes too complex for timely computation. However, the approaches used in computer graphics for geometric simplification have as their goal the realistic portrayal of a scene to a viewer, not the similarity between the simplified or abstracted system and the physical ground truth. In physical simulations, the model does not need to look like the original. If a robot's legs can be abstracted as a pair of oval wheels that hit contact points appropriately, this might be acceptable for a physical simulation. However, it would be completely inappropriate for a graphical system. This offers a freedom of abstraction and simplification that does not exist in the graphics world. However, other constraints apply: in rigid-body dynamics simulations of robots and complex mechanisms, geometry plays a key role in determining where the contact points, and thus collision joints, occur; different simplification methods will lead to different simulated results. The choice of simplification method can be the determining factor of whether a simulation is accurate enough.
// simplifications and abstractions must preserve certain semantics (joints, contacts, and other)
// paragraph on contextual simplification and abstraction
//paper organization paragraph
Snake-like robots  offer several advantages over conventional wheeled or legged robots. For example, robotic snakes have a low center of gravity, which makes them very stable when moving on inclines. In addition, if a snake-like robot were to fall over, it could easily recover by articulating its body in the proper way. Unlike their walking or wheeled counterparts, snake-like robots spread their weight out over a large area, thus exerting less force per unit area over the surface on which they are moving. This characteristic means that robots of this class are better suited for moving over soil or sand, compared to wheeled and legged robots that are very likely to get stuck in such environments.
We have designed a robotic snake capable of undergoing efficient rectilinear motion Currently, robotic snakes are available which can perform rectilinear motion by articulation each of their segments in a repeated sequence. A paper published in IEEE Transactions on Robotics and Automation titled “The Kinematics of Hyper-Redundant Robot Locomotion”  outlines various methods for accomplishing this task. In fact, this paper concentrates on creating rectilinear locomotion through body movements alone. Chirikjian classifies snake-like robots as either inextensible or extensible. The former are capable of only bending their segments with respect to each other while the latter can actually expand and contract like an accordion. He outlines several locomotion algorithms for robots of these types, but does not address the construction of such robots. We observe that robots of this family tend to be slow and require extensive operator input. In addition, the precise interaction between segments, which is required for efficient locomotion, can be difficult to achieve. “Limbless locomotion: Learning to crawl with a snake robot,”  goes to great detail in discussing the possible construction of inextensible snake-like robots, but does not settle on a particular design.
Our approach, developed through the study of these papers, as well as several prototypes that were built earlier in Philadelphia-area laboratories, proposes a completely new robotic snake design. This design does not fall into any of the previous classes, as our robot would propel itself using many small “feet”, with locomotion similar to that of a millipede. Obviously, a robot of this design will be efficient at performing rectilinear motion. Since this robot will actually walk, rather than drag itself, it should be capable of navigating rough terrains easily and efficiently. For this reason, it is expected that our design would be more maneuverable that existing prototypes.