Elsevier

Computers & Graphics

Volume 25, Issue 3, June 2001, Pages 483-492
Computers & Graphics

Technical Section
Constraint resolution using optimisation techniques

https://doi.org/10.1016/S0097-8493(01)00070-XGet rights and content

Abstract

Constraint-based CAD systems are useful for handling design applications in which the precise rules are not known beforehand. The designer can introduce new constraints as these become apparent as the design task proceeds. A variety of ways for resolving constraints currently exist. This paper considers the use of a direct search optimisation approach. It is shown that this has the advantage of being able to handle a variety of different applications and that problems of under- or over-constrained systems no longer exist. A software system using this approach is introduced and its application to a number of areas is illustrated, including typical problems from computer-aided sketching, assembling modelling and mechanism simulation.

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 p:x 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)

  • S. Mittal et al.

    PRIDE: an expert system for the design of paper handling systems

    IEEE Computer

    (1986)
  • G. Nelson

    Juno, a constraint-based graphics system

    Computer Graphics

    (1985)
  • G. Mullineux

    The introduction of constraints into a graphics system

    Engineering with Computers

    (1988)
  • Cited by (54)

    • Robotics and automation for packaging in the confectionery industry

      2012, Robotics and Automation in the Food Industry: Current and Future Technologies
    • Modeling of machine tools using smart interlocking software blocks

      2012, CIRP Annals - Manufacturing Technology
      Citation 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 Theory
      Citation 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 Geology
      Citation 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 Design
      Citation 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
    View all citing articles on Scopus
    View full text