Introduction
Traditional dynamics software packages, while powerful in their analysis capabilities
are somewhat lacking in their ease of use. They are most suitable for use when a design is
complete to perform "soft prototyping" of a mechanism. In practice they are
typically used by expert analysts who have been extensively trained on the software.
Mechanism synthesis packages, on the other hand, while easy to use, are limited in the
types of problems which they are designed to handle.
A third type of package which has recently emerged as a tool for the early or
"conceptual" phase of mechanical design is the variational geometry system. In
this paper, we describe a variational geometry approach to mechanism design and analysis.
The technical basis for this approach is a new method for solving constraint systems,
called "Constructive Variational Geometry". [1,2] This
method lends itself to incorporating engineering mechanics into a variational geometry
system and provides an extremely flexible and easy to use tool for the conceptual phase of
mechanism design.
Mechanism design with variational geometry
In this section, we describe how such a system appears to the user. In particular, we
describe the Analytix mechanism design package developed by Saltire Software.
To create a model of a mechanism in the Analytix package, the user first sketches the
mechanism. Typically the sketch contains a simplified representation of the mechanism's
geometry. Links are usually represented by straight lines between joints or points of
force application. Centers of gravity of any links with non-negligible mass are explicitly
sketched.
The user then specifies the exact geometry by adding constraints to the drawing. The
constraints specify angles or distances on the drawing. For a kinematic analysis, the
constraints should represent quantities whose motion is known. In practice, for a single
degree of freedom mechanism, all the constraints but one represent quantities which stay
fixed throughout the motion of the mechanism. The final constraint represents the driver,
whose motion is known.
The Analytix system aids the constraint specification process by giving continuous
feedback on whether the model is underconstrained, overconstrained, or consistently
constrained.
To perform a kinematic analysis, the user specifies the velocities and accelerations of
any constraints which are in motion. The user also must specify a fixed point and a fixed
line.
With the constraint velocities and accelerations given, the model is able to output on
demand the position, velocity, and acceleration of any point of the mechanism and the
angular velocity and angular acceleration of any line.
Static analysis of a mechanism may be performed in a very natural way in a Variational
Geometry system by assuming that constraints carry reactions. Hence not only the motion,
but also the statics of the model are defined by the constraints. If loads are applied to
a mechanism in Analytix, reaction forces are generated in the constraints. The system will
sum the constraint forces which impinge on a point to give the reaction force at that
point. The system will integrate the forces on a single line segment to give shear force
and bending moment.
Analytix allows external forces to be applied to any point on a mechanism and external
torques to be applied to any line. These forces may be constant or they may vary with
geometry, time or some other parameter. Analytix also provides conformal force elements:
translational and rotational spring-damper-actuators.
To perform inverse dynamics in Analytix, the user specifies the instantaneous motion of
the mechanism in the same way as for kinematics, but also applies forces and specifies the
mass of points representing mass centers. The user also specifies the moment of inertia of
lines which represent rigid links. The user can now generate the same reaction force
outputs as for the static analysis, except the inertial forces generated by the
accelerating masses will be taken into consideration.
In a dynamic analysis, some constraints represent quantities whose behavior is known in
advance - either quantities which remain fixed or drivers, whose motion is given. Other
constraints are free to accelerate in response to unbalanced forces present in the model.
To set up a dynamic model, the user specifies the fixed constraints and the input drivers
in the same way as for kinematic analysis. Free constraints are given initial values and
initial velocities and marked as being free to accelerate. The user then specifies a time
interval over which the motion is to be integrated and an interval at which snapshots of
the motion are to be taken.
The result of the dynamic analysis is a sequence of models, each of which represents a
single instant of the motion. These models may be interrogated individually or as a group
for any of the kinematic or reaction force outputs mentioned above. This provides the user
with a high level of interactivity in the manipulation of the results of a simulation.
An advantage of a constraint based mechanism design package is the ease with which the
flexibility of the software may be enhanced by integrating general purpose mathematical
tools with the special purpose mechanical tools described above. For example, the Analytix
program provides an equation calculator with a two way link to the geometry and mechanics
of the model. Expressions generated in the calculator can be used as input forces or
constraint values for the model. Conversely, geometry, velocities, accelerations or
reaction forces from the model may be used in the equation calculator. In addition, a
numerical root finding capability is provided.
Having the general purpose mathematical tools with full access to the mechanical model
provides a powerful capability for the user to manipulate his mechanism design and is a
strong advantage to the variational geometry approach.
Model iteration
Because of its Variational Geometry design, Analytix
provides an extremely powerful platform for iterating the mechanism model in order to
achieve an optimal design. For example, engineers at Camloc, an English gas spring
manufacturer, have used Analytix to help them optimize placement of springs in clients'
designs.
Before acquiring Analytix, engineers at Camloc were figuring by hand the moment
calculations needed to select springs for new applications. Typically, they knew the
geometry of the object that the spring would be lifting, as well as its weight and center
of gravity. They also knew where the spring should be mounted in relation to the center of
gravity. They then calculated the amount of force required in the spring to lift the
particular object. This was not too difficult, but hand calculations limited them when
they wanted to optimize spring selection by exploring other mounting possibilities.
Depending on where a spring is placed, different forces are needed to lift the same
weight. The nearer a gas spring is mounted to the pivot position, for instance, the more
force it needs to produce to lift a certain weight. By investigating different mounting
positions, engineers can decide which spring would be the best for a particular
application. To balance the appropriate amount of force with other selection factors such
as spring size and cost was taking three to four days using hand calculations, when it was
possible. In situations where they had to fit the spring around particularly complex
geometry, it was impossible to consider all the possibilities because there was not enough
time.
With the use of Analytix, spring optimization can be done in only one day even for
applications with complex geometry. The main benefit of Analytix, however, is the ability
to easily modify geometry and rerun the analysis as many times as needed to investigate
different mounting positions. The three to four days needed to optimize a spring by hand
has been reduced to one day using Analytix, even though the engineers try many more
iterations. The ease of modeling with Analytix makes it possible to add more intelligence
to the model, as well, by adding extra details of parts and features that would not have
been attempted when using hand calculations. This gives more accuracy to the model, and
gives engineers the confidence that they have modeled real-world behavior.
Front end to software prototyping
Analytix' readily accessible 2 D parametric mechanism
analysis makes it a suitable tool for use as a front end to more elaborate 3D software
prototyping programs. For example, in the Naval Surface Warfare Center in Dahlgren,
Analytix fits nicely into the Engineering Analysis Group's environment.
Although the group has 3D dynamics packages, many projects do not require the investment
of a detailed 3D study. In general, Analytix is used by project engineers for quick looks
at design concepts, what-if studies, or whenever a quick layout sketch is needed to
investigate fit or kinematics. In studies of systems that open and close missile launcher
hatches, for instance, the combination of a quick 2D analysis tool and a more detailed 3D
program was very beneficial. Most hatch systems operate under automatic control where an
electric motor operates a complex linkage. The timeline for this system is very tight and
small design changes can have a big effect on whether it stays
within the specification. In one project, the engineer needed to adjust the linkage design
to improve the alignment of the hatch when closed. The initial studies were done with PC
based software including Analytix to quickly investigate different configurations. Then a
higher fidelity three dimensional model was developed by analysis specialists, using
Mechanica in this case, for a complete simulation of the final design. Having a tool to
use for the quick look studies allowed the project engineer to rapidly develop a design
for the detailed timeline analysis. Without the ability to do the what-if analysis the
opportunity to optimize the design would have been lost.
Up front tolerance analysis
Manufacturing issues are frequently neglected in the initial mechanism design process.
This may prove costly, however, when errors in tolerance specifications imply that
production mechanisms do not function as required.
Analytix provides a number of tools for incorporating tolerance
analysis into the initial mechanism design process. Driven by input tolerances on
dimensions, tolerance stack-up on output distances or angles are computed, using either
statistical (RSS) or worst case stack up. In addition a percentage contribution analysis
is performed, which lets the designer pinpoint which input tolerances are most influential
in their effect on the stack-up. Tolerance zones may be computed which show the region
where a point may lie under the given (statistical or absolute) tolerancing. Tolerance
zones for coupler curves may even be computed.
A practical example is provided by a small part of a circuit breaker designed by Siemens
Energy Automation in Atlanta GA. The purpose of the linkage is to change linear motion at
the button on the front of the breaker, to rotational motion several inches away inside
the breaker. While the mechanism is simple, the tolerance issues involved are complex. On
the first developmental prototypes the button stayed against the paddle holding the
breaker open. It appeared that the paddle height dimension had to be changed to alleviate
the interference. The layout showed that nominally there seemed to be adequate clearance
and the parts should not be in contact. Instead of simply changing the dimensions based on
empirical data, a tolerance study was performed. The tolerance study of the button
position was straight forward since all of the dimensions were linear and in a straight
line. The tolerance study of the linkage was not easy to calculate manually. The use of
Analytix avoided a potential interference that may not have been found using conventional
techniques. Drawing and dimensioning this assembly in Analytix showed in the starting
position that the distance from the bottom of the button to the top of the paddle was
0.072 inch with an absolute tolerance of ±0.107 inch. It was quite a surprise to find
that the tolerance was so large. This showed that it was possible to have no clearance
between the parts. Care had to be taken at this point since the button had a fixed amount
of travel possible and the paddle had to fall within that range. Few designers would
realize that tolerances of this magnitude would be involved, and calculating this stack-up
is very time-consuming because of the need to change linear tolerances into angular
tolerances, back to linear tolerances and
finally back to angular tolerances.
Integration with other design tools
A critical aspect of an up-front mechanism design package is a capability to integrate
with the other computer tools used by the engineer. Typically, the engineer uses a word
processor, a CAD package and a mathematical analysis package. The mathematical analysis
package may be a spreadsheet, such as Microsoft Excel or Lotus 123, or a free form math
package such as Mathcad. Analytix provides a number
of different ways of linking with these other computer tools.
Analytix is an OLE Server Application. This means that the user can embed a live drawing
of his mechanism into a Windows based Word Processor. When he double clicks on the
drawing, Analytix is invoked to let him edit the drawing and modify his design.
DXF input and output of geometry provide a first level of link with CAD packages. Dynamic
Data Exchange (DDE) however provides the capability of creating a hot link between
Analytix and a Windows based CAD package.
Because Mathcad is such a widespread tool in the engineering world, Saltire Software have
built a custom link which allows Analytix models to be embedded in Mathcad documents and
which, furthermore, allows active links to be maintained between Mathcad variables and
input or output parameters of the geometry. This lets the user combine the full
mathematical capabilities of Mathcad with the mechanics capabilities of Analytix.

Figure 1: An Analytix model embedded, using OLE, in an Excel
document
Cams
An important aspect in the design of machinery is the design and analysis
of cams and cam driven motion. There are a number of different ways in which it is
desirable to define cams. In some situations, the cam is defined as a sequence of
piecewise smooth functions describing different segments of the desired motion and joined
with continuous acceleration curves. In other cases, the cam profile is known and the
follower motion is desired. In still other cases, the downstream motion of a mechanism is
known and it is desired to synthesize a cam to drive the motion.
Analytix/Cams, the cam design module of Analytix, allows a cam to be defined either in terms of follower
motion or in terms of cam geometry. Follower motions may even be derived from analysis of
a downstream linkage in Analytix and pasted into the cam design dialog.
The kinematics and dynamics of the entire cam driven mechanism may be analyzed in
Analytix. Because the relationship between cam and follower is established analytically up
front, this downstream analysis is extremely efficient.
Symbolic Mechanics
A symbolic mechanics system has been built by Saltire Software as an
additional module to the Analytix package. This symbolic system creates mathematical
descriptions of engineering mechanics problems expressed as Analytix models. The
mathematical descriptions may be analyzed using the Maple symbolic mathematics package, or
turned into C or Fortran subroutines for use in numerical simulations or numerical control
applications.

Figure 2: An Analytix model of a geared 5-bar linkage.
For example, we derive equations for the curve traced by one point on a
geared five bar linkage. A gear pair is modeled in Analytix by creating a formula linking
the values of two angles. In Figure 2, one angle is given a value t, while a second angle
is given a value r*t+s. r is the gear ratio, s represents the offset between the gear
angles in an initial configuration.
Table 3 gives the expressions derived by the system for the coupler curve drawn in figure
2.

Table 3: Equations for the coordinates of the coupler curve for the
geared five-bar linkage
Examples
In this section, we give examples of the use of the variational geometry
system in mechanism design problems. Our goal in presenting these examples is both to show
how the constraint based mechanism package is used in practice, and also to exemplify how
the general purpose equation solution capabilities enhance the flexibility of the tool for
solving real world problems.

Figure 4: Analytix model of a "flying blade" mechanism
The first example (figure 4) is in the design of a cutting tool for use
with a conveyor belt. The mechanism is driven by a stepper motor at A which turns the
crank AB. Line BD is constrained to slide through point C, which is fixed with respect to
point A. In order to match the speed of the conveyor belt, we require the horizontal
component of the velocity of D to be constant through the cutting phase of the motion. The
problem we wish to address is to derive a velocity profile for the stepper motor which
gives a unit horizontal velocity component to D.
Figure 4b shows a variational model of this mechanism. The angle CAB is given unit angular
velocity and the x component of the velocity of D may be output. The desired input angular
velocity is w = 1/xvel(D). This output function may be simply tabulated or graphed in
Analytix.
Our second example (figure 5) is a parallel lift mechanism, where a mass positioned at
point E is counteracted by a spring/damper between points F and G. We wish to examine the
dynamic response of this mechanism when it is perturbed about its position of static
equilibrium. First we need to find the position of static equilibrium.

Figure 5: Static equilibrium and dynamic simulation for a parallel
lift mechanism
A variational geometry model of this mechanism is shown in figure 5. The
model specifies the lengths of the various members, and also specifies an angle. The angle
does not represent a physical restraint but rather parameterizes the position of the lift.
The static model used by the variational geometry system, however assumes the presence of
a reaction torque in this angle in order to maintain equilibrium at the given angle value.
In real life, however, there is no moment bearing structure at this joint, hence for
static equilibrium the angle value must be such that no reaction force is present in the
constraint. To find the equilibrium configuration, therefore, we need to find the value of
the angle such that its reaction torque is zero. The root finder in Analytix may be used
to find this value (figure 5b).
To examine the dynamic response of this model, we specify that the angle is free to move
and give it an initial value perturbed from the equilibrium value (figure 5c).
Discussion
Although kinematics and dynamics software has been available for well over a decade,
practical mechanism design is still frequently practiced with pencil and paper, with
hardware prototypes, or with the limited computer assistance of a CAD package. One reason
for this is that conventional dynamics software is rather difficult to learn and non-
interactive in its application. It is thus perceived as applicable only to the most
complex of dynamics problems and not to the simple problems routinely addressed by the
design engineer.
A variational geometry model consists of a sketch with constraint values specified on the
sketch. This model of geometry corresponds closely to the natural mode in which the
geometry of engineering problems is expressed, and is thus a very easy user interface for
the engineer to learn. Further, it is extremely easy to modify a constraint based geometry
description either by manual intervention or as part of some numerical analysis procedure.
This ensures that the software is flexible enough to be of use in a wide range of
real-world situations, some not within the pure domain of mechanism analysis.
References
- Todd P. (1989) "A k-tree
generalisation that characterises consistency of dimensioned engineering drawings", SIAM
Journal of Discrete Mathematics 2:255-261.
- Todd P. (1992) "A
Constructive Variational Geometry Based Mechanism Design Software Package" ASME
DE-Vol 46, Mechanism Design & Synthesis, pp 267 - 273