Technical SectionConstraint resolution using optimisation techniques
Introduction
Computer aided design (CAD) systems have found uses in a large number of application areas. Since commercial systems tend to be general purpose engines, there have been a number of attempts to tailor them to more specific applications. Many of these have relied on the underlying user language of the system and the use of parametrics is one such case [1], [2]. When the application area is well understood, rule-based expert systems provide a means for capturing that information for the less experienced user [3], [4]. These can be used to control the CAD system via its user language.
In the more general design situation, a designer is often meeting a task for the first time. In such cases the precise rules which apply are not immediately obvious. What are clear are some of the constraints which bound what can be done. These might include limitations on weight or size or allowable forces. As the design proceeds more and more constraints emerge. These are often in conflict and the designer's skill is in deciding which can be comprised with reasonable safety.
The use of constraint-based systems has emerged recently [5], [6], [7], [8]. Often these systems underlie sketching software and the constraints relate to the geometry involved particularly in relation to the underlying cartesian coordinates of points. A range of solution techniques exist.
It is generally acknowledged that there is a range of constraints that need to be considered, ranging from the purely geometric to more complex engineering considerations. However, the constraint resolvers employed do not generally seem designed to handle this range satisfactorily.
This paper proposes that resolution techniques based upon mathematical optimisation provide a means for handling all the various different types of constraint within a single unified approach. While more sophisticated means of solution certainly exist, they depend upon specific forms of constraint. Optimisation strategies, particularly those based on direct search techniques, require only the ability to be able to evaluate the imposed constraints. Problems of too many or too few constraints are not a problem and indeed the optimisation approach allows best compromise solutions to be obtained when constraints are in conflict. Furthermore, as the speed of computing equipment increases, numerical methods can afford to be less efficient in speed and cruder but more robust techniques become acceptable. The approach using optimisation is demonstrated using a constraint modelling system called SWORDS.
In the next section, related research in the area of constraint-based systems is reviewed and this is followed with some background from optimisation theory. The structure of the SWORDS system is described and is then applied as an example to a typical problem arising in sketching systems. In the following sections, techniques for addressing applications in assembly and mechanisms are discussed including the use of solid models. Finally conclusions are presented.
Section snippets
Background
There have been a variety of strategies used to try to make computer aided design (CAD) systems more helpful to the human designer. Many stem from the use of an underlying language for the CAD system. Via the language geometry for standard parts can be generated more or less automatically. This leads on to the idea of parametric design [1], [2]. Here a generic part is described via the language in terms of a number of parameters, often specific dimensions, which the user is asked to supply.
Optimisation
The typical mathematical optimisation problem [12] is one of finding an extremum of an objective function of several variables subject to certain constraints between the variables which must be satisfied. The constraints can be equality or inequality relations. There are several methods for dealing with such problems. One is the use of penalty functions in which the constraint relations are effectively added into the objective function to reduce the problem to one of unconstrained optimisation.
Software environment
A software environment called SWORDS has been created to investigate the use of constraints within engineering design. Underlying the system is a user language within which design parameters can be defined and constraints between them specified and resolved [16]. The aim in this section is to introduce the elements of the language and then in subsequent sections to discuss extensions and to show how it can be applied to problems of current interest in the literature.
The language is similar to
Geometry
A number of simple three dimensional geometric entities are supported by the SWORDS environment itself. These include points, lines and circular arcs. These are created as structures with a colon used to separate fields. For example, if p represents a point, then is its x coordinate, and the y and z coordinates are obtained similarly. A line l is composed of two points representing its ends, and these are referred to as l:e1 and l:e2.
An additional geometric type is the model space [17].
Assembly modelling
There has been recent interest [18], [19], [20], [21] in the use of CAD techniques in modelling the assembly of parts. Again constraint based procedures can be used.
Since the objects to be assembled are generally composed of many geometric entities, it is useful to group these in model spaces. As well as simply mapping geometry into world coordinates, a model space can also map into another model space. Indeed a hierarchy of spaces can be created in which each embeds into another, thus forming
Solid models
Model spaces are useful ways of handling solid objects. These have been incorporated into the SWORDS system by means of the ACIS library of procedures [24] which is built into the system. Solid objects are created via the ACIS procedures in response to commands given via the SWORDS user language. They can then be manipulated via that language. For example, the arithmetic operations of addition, subtraction and multiplication are interpreted as the Boolean operations of union, difference and
Mechanisms
The previous examples have all involved assembly of geometry into a form which is intended to be static. However it is equally possible to create assemblies which move. In this section, simulation of the motion of planar mechanisms is considered.
To perform such a simulation all that is required is to be able to assemble the parts of the mechanisms at different positions of the operating cycle. For this purpose, a loop statement exists within the SWORDS language. This allows the drive link to be
Discussion and conclusions
The ideas behind a modelling system called SWORDS have been presented. The system allows variables and geometric entities to be defined and constraints imposed upon these. An optimisation scheme is used in the resolution of these constraints.
It has been shown that the system is applicable to the types of problem encountered in constraint-based sketching systems, assembly modelling systems and mechanism simulation. Solid objects can be defined via the ACIS system and manipulated alongside other
Acknowledgements
The ideas discussed in this paper have resulted from research carried out under projects funded by the LINK Programmes supported by EPSRC/DTI and by MAFF. The financial support and help provided by all the participants is gratefully acknowledged.
References (26)
PIGMOD—parametric and interactive geometric modeller for mechanical design
Computer-Aided Design
(1990)- et al.
Rule oriented method for parameterized computer-aided design
Computer-Aided Design
(1992) - et al.
Geometric constraints and reasoning for geometric CAD systems
Computers and Graphics
(1990) - et al.
Modelling with constraints: theoretical foundation and application
Computer-Aided Design
(1996) - et al.
Connectivity analysis—a tool for processing geometric constraints
Computer-Aided Design
(1996) Optimization scheme for assembling components
Computer-Aided Design
(1987)- et al.
A hierarchical data structure for representing assemblies: part 1
Computer-Aided Design
(1985) - et al.
Inference of the positions of components in an assembly: part 2
Computer-Aided Design
(1985) - et al.
Assembly modelling by geometric constraint satisfaction
Computer-Aided Design
(1996) - et al.
VT: an expert elevator designer that uses knowledge based backtracking
AI Magazine
(1987)
PRIDE: an expert system for the design of paper handling systems
IEEE Computer
Juno, a constraint-based graphics system
Computer Graphics
The introduction of constraints into a graphics system
Engineering with Computers
Cited by (54)
Robotics and automation for packaging in the confectionery industry
2012, Robotics and Automation in the Food Industry: Current and Future TechnologiesModeling of machine tools using smart interlocking software blocks
2012, CIRP Annals - Manufacturing TechnologyCitation Excerpt :In the proposed system, a constraint modeler, capable of optimizing and solving complex systems of equations has been utilized. For details about the constraint modeler and its use refer to [15]. The overview of the proposed modeling approach is shown in Fig. 4.
Using constraints at the conceptual stage of the design of carton erection
2010, Mechanism and Machine TheoryCitation Excerpt :There are a number of geometric constraint solving approaches available (e.g. [26,27]). The one used for the examples in this paper is a constraint modelling environment [32] which allows the creation of wire-frame graphical entities including points, lines and faces (which can be shaded). These are defined via a user interface language which also allows constraints to be defined between entities.
Drawing parallels: Modelling geological phenomena using constraint satisfaction
2010, Journal of Structural GeologyCitation Excerpt :However, resolving the imposed constraints can still be a problem and a variety of numerical and symbolic ways for resolving constraints currently exist (Mullineux, 2001). The constraint-based modelling environment (Mullineux, 2001) used in this work has a class of functions to define and resolve constraint rules. Fig. 7
Constraint-based simulation of carton folding operations
2010, CAD Computer Aided DesignCitation Excerpt :Various means for resolving constraints have been used including computational reasoning and numerical solution of simultaneous equations. The constraint modelling environment [31,32] uses optimisation techniques for constraint resolution. It has an underlying language in which design parameters are declared.
Case study: Constraint-based improvement of an overwrapping machine
2009, Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture