KR20150099464A - 방정식들에 의해 제약된 물리적 시스템의 설계 - Google Patents

방정식들에 의해 제약된 물리적 시스템의 설계 Download PDF

Info

Publication number
KR20150099464A
KR20150099464A KR1020150024506A KR20150024506A KR20150099464A KR 20150099464 A KR20150099464 A KR 20150099464A KR 1020150024506 A KR1020150024506 A KR 1020150024506A KR 20150024506 A KR20150024506 A KR 20150024506A KR 20150099464 A KR20150099464 A KR 20150099464A
Authority
KR
South Korea
Prior art keywords
variables
curve
computer
equations
projection
Prior art date
Application number
KR1020150024506A
Other languages
English (en)
Inventor
장-프랑수아 라모
필리쁘 세르
앙드레 끌레망
Original Assignee
다솔 시스템므
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 다솔 시스템므 filed Critical 다솔 시스템므
Publication of KR20150099464A publication Critical patent/KR20150099464A/ko

Links

Images

Classifications

    • G06F17/5004
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD

Abstract

본 발명은 특히 변수들을 포함하는 방정식들의 시스템에 의해 제약된 물리적 시스템을 설계하는 컴퓨터 구현된 방법에 관한 으로서, 그 방법은 방정식들 내에 포함된 변수들을 고정 변수들 및 비고정 변수들로 파티셔닝하여, 상기 시스템을 1과 동일한 자유도를 갖는 제한된 시스템으로 설정하는 단계 (S10), 비고정 변수들의 도메인에서 제한된 시스템의 솔루션들의 파라미터화된 곡선을 컴퓨팅하는 단계 (S20), 비고정 변수들의 적어도 한 쌍에 대해, 그 쌍의 도메인들의 프로덕트 (product) 로 곡선의 투영을 디스플레이하는 단계 (S30), 및 파라미터화된 곡선 상의 솔루션들을 네비게이팅하고, 곡선의 투영 상의 현재의 네비게이션 위치를 실시간으로 표현하는 단계 (S40) 를 포함한다.
그러한 방법은 변수들을 포함하는 방정식들에 의해 제약된 물리적 시스템의 설계를 개선한다.

Description

방정식들에 의해 제약된 물리적 시스템의 설계{DESIGNING A PHYSICAL SYSTEM CONSTRAINED BY EQUATIONS}
본 발명은 컴퓨터 프로그램들 및 시스템들의 분야에 관한 것으로서, 특히 변수들을 포함하는 방정식들에 의해 제약된 물리적 시스템을 설계하는 방법, 컴퓨터 시스템 및 프로그램에 관한 것이다.
물리적 시스템들의 설계, 엔지니어링 및 제조를 위한 다수의 컴퓨터 시스템들 및 프로그램들이 시장에 제공된다. CAD 는 컴퓨터 지원 설계 (Computer-Aid ed Design) 의 축약어이며, 예를 들어 그것은 객체를 설계하는 소프트웨어 솔루션들에 관련된다. CAE 는 컴퓨터 지원 엔지니어링 (Computer-Aided Engineering) 의 축약어이며, 예를 들어 그것은 미래의 제품의 물리적 거동을 시뮬레이션하는 소프트웨어 솔루션들에 관련된다. CAM 은 컴퓨터 지원 제조 (Computer-Aided Manufacturing) 이 축약어이고, 예를 들어 그것은 제조 프로세스들 및 동작들을 정의하는 소프트웨어 솔루션들에 관련된다. 그러한 컴퓨터 지원 설계 시스템들에서, 그래픽 사용자 인터페이스는 기법의 효율성에 관하여 중요한 역할을 한다. 이들 기법들은 제품 라이프사이클 관리 (Product Lifecycle Management: PLM) 시스템들 내에 내장될 수도 있다. PLM 은 회사들이 확장된 기업의 개념에 걸쳐, 구상으로부터 그들의 수명의 끝까지 제품들의 개발을 위해 제품 데이터를 공유하고, 공통 프로세스들을 적용하며, 회사 지식을 레버리지하는 것을 돕는 비즈니스 전략을 지칭한다. (상표들 CATIA, ENOVIA 및 DELMIA 하에서) 다솔 시스템므 (Dassault Systemes) 에 의해 제공된 PLM 솔루션들은 제품 엔지니어링 지식을 조직화하는 엔지니어링 허브, 제조 엔지니어링 지식을 관리하는 제조 허브, 및 엔지니어링 허브 및 제조 허브 양자 모두 내로 기업 통합들 및 연결들을 가능하게 하는 기업 허브를 제공한다. 모두 함께 컴퓨터 시스템은 최적화된 제품 정의, 제조 준비, 생산 및 서비스를 구동하는 동적, 지식 기반 제품 창작 및 결정 지원을 가능하게 하기 위해 제품들, 프로세스들, 리소스들을 연결하는 개방 객체 모델을 제공한다.
물리적 시스템 설계의 분야는 넓다.
하나의 대중적인 개념은 "최적화" 이다. 최적화의 목표는 목적 함수들 및 제약들에 의해 설계 문제를 구성하는 것이며, 양자 모두는 설계 파라미터들을 수반한다. 그 후, 설계자에게 목적 함수를 최소화하는 견지에서 "최선의" 솔루션을 제공하기 위해 전용 솔버 (solver) 가 실행된다. 넓은 클래스의 솔버의 알고리즘들은 넓은 범위의 컴퓨터 과학 (수치 해석, 조합적 최적화, 인공 지능) 으로부터의 최적화를 다룰 수 있다. 최적화 문제를 구성할 때, 설계자는 제약들 및 기준들을 부가함으로써 "최선의 가능한" 솔루션을 정의하도록 요청된다. 그러한 "최선의 가능한" 기준은 확실히 알고리즘을 돕는다. 또한, 설계자는 알고리즘이 이웃하는 솔루션을 컴퓨팅하는 초기 조건을 제공하도록 요청된다. 많은 검색 알고리즘들이 솔루션을 발견하기 위해 발견적 (heuristic) 방법들을 실행한다. 이러한 분야에서의 통상적인 참조는 문서 "Mathmatical Programming: Theory and Algorithms", M. Minoux, 2008. 이다.
다른 대중적인 개념은 "제약 만족 문제 (constraint satisfaction problem" (이하 CSP) 이다. 통상적은 참조들은 다음의 문서들을 포함한다: "Foundations of Constraint Satisfaction", Tsang, Edward (1993); "Global optimization using interval analysis", Eldon Hansen (2003); 및 "Handbook of constraint programming", Francesca Rossi (2006). CSP 의 목표는 함수들 및 제약들에 의해 설계 문제를 구성하는 것이며, 이들 양자는 설계 파라미터들을 포함한다. 그 후, 설계자에게 솔루션들을 포함하는 설계 파라미터들 값들의 "작은" 서브세트를 제공하기 위해 전용 솔버가 실행된다. 여기서 또, 넓은 클래스의 솔버의 알고리즘들은 넓은 범위의 컴퓨터 과학 (수치 해석, 조합적 최적화, 인공 지능을 포함) 으로부터의 CSP 들을 다룰 수 있다. 통상적인 실제의 설계 문제는 고유 솔루션을 특징으로 하지 않는다. 솔루션들은 국부적으로 고유할 수 있고 (현존하는 솔루션의 이웃에는 어떠한 솔루션도 없지만, 다른 솔루션들이 현존하는 솔루션으로부터 "멀리" 있고), 또는 솔루션들의 연속체일 수 있다. 일부 설계 문제들은 심지어 양자 모두의 케이스들을 특징으로 한다.
최적화 기술은 문제가 "최선의 가능한" 솔루션에 의해 공식화될 때 효율적이다. 이러한 공식화 (formulation) 는 알고리즘에는 좋지만, 설계자는 이러한 목적으로 여분의 제약들 및 목표들 (objectives) 을 부가하도록 강제된다. 설계자가 초기 조건을 제공할 것이 요청되는 경우, 컴퓨팅된 솔루션은 그것에 높게 의존하지만, 이러한 의존성은 통제 불능이다. 반복적 알고리즘들 예기치 못한 방법으로 하나의 솔루션으로부터 다른 솔루션으로 "점프" 할 수 있다. 결과적으로, 초기 조건을 조정함으로써 솔루션의 변동을 제어하기를 시도하는 것은 효율적이지 않다. 현실적으로, 물리적 시스템을 설계하는 프로세스는, 특별히 초기의 설계 단계들에서 최적화 및 유일성에 대한 자연적 기준을 항상 제공하지는 않는다. 결과적으로, 설계자는 솔루션들의 구조들, 파라미터들의 영향들, 파라미터들 종속성들, 또는 불만족스러운 솔루션들을 이해하기 위해 솔루션들의 필드 (field)를 조사하기를 원한다. 종래 기술의 최적화 기술은 이러한 능력을 허용하지 않는다. 앞에서 설명된 바와 같이, CSP 의 목표는 문제의 솔루션들을 포함하는 서브세트의 범위를 좁히는 것이다. 그럼에도 불구하고, 이러한 서브세트에서의 네비게이션은 설계자의 책임이다. 이러한 네비게이션은 다음의 현상 때문에 곤란하게 된다. 구간 [a, b] 이 CSP 알고리즘에 의해 출력되지만, 그것은 솔루션들의 2 개의 더 작은 구간들 [a, a'] 및 [b', b] 을 포함한다. 그러한 경우에, 더 큰 구간 [a, b] 은 솔루션들의 더 작은 구간들을 분리하는 "홀 (hole)" ]a',b'[ 을 포함한다.
이러한 맥락에서, 변수들을 수반하는 방정식들에 의해 제약된 물리적 시스템을 설계하는 개선된 솔루션에 대한 필요가 여전히 존재한다.
따라서, 변수들을 수반하는 방정식들의 시스템에 의해 제약된 물리적 시스템을 설계하는 컴퓨터 구현된 방법이 제공된다. 그 방법은 방정식들 내에 포함된 변수들을 고정 변수들 및 비고정 변수들로 파티셔닝하여, 시스템을 1과 동일한 자유도를 갖는 제한된 시스템으로 설정하는 단계를 포함한다. 방법은 또한 비고정 변수들의 도메인에서 제한된 시스템의 솔루션들의 파라미터화된 곡선을 컴퓨팅하는 단계를 포함한다. 방법은 또한 비고정 변수들의 적어도 한 쌍에 대해, 그 쌍의 도메인들의 프로덕트로 곡선의 투영을 디스플레이하는 단계를 포함한다. 그리고 그 방법은 또한 파라미터화된 곡선 상의 솔루션들을 네비게이팅하고, 곡선의 투영 상의 현재의 네비게이션 위치를 실시간으로 표현하는 단계를 포함한다.
방법은 다음 중 하나 이상을 포함할 수도 있다:
- 곡선의 투영이 X-축 및 Y-축 각각이 비고정 변수들의 쌍 중 각각의 비고정 변수에 대응하는 직교함수계 프레임에서 디스플레이된다;
- 곡선의 투영을 디스플레이하는 것은 비고정 변수들의 수개의 쌍들, 수직적으로 정렬되는 동일한 비고정 변수에 대응하는 X-축을 갖는 프레임들 및 수평적으로 정렬되는 동일한 비고정 변수에 대응하는 Y-축을 갖는 프레임들에 대해 수행된다;
- 디스플레이 하는 것은, 비고정 변수들의 적어도 하나의 세트에 대해, 그 세트의 모든 쌍들에 대해 수행되며, 프레임들은 삼각형 그리드에 따라 배열된다;
- 곡선들의 투영에 현재의 네비게이션 위치를 표현하는 것은 곡선들의 투영에 현재의 네비게이션 위치의 투영의 수평적 및 수직적 정렬의 마커 (marker) 를 디스플레이하는 것을 포함한다;
- 파티셔닝, 컴퓨팅 및 디스플레이하는 것은 반복되고, 파티셔닝은 2 개의 계속적인 반복들 사이에 상이하다;
- 네이게이션 위치는 2 개의 계속적인 반복들 사이의 천이에서 동일하다;
- 네비게이팅은 연속적이다;
- 네비게이팅은 사용자에 의해 디스플레이된 커서를 슬라이딩하는 것을 포함한다;
- 방법은 사용자에 의해 비고정 변수들의 적어도 하나의 세트를 결정하는 것을 포함한다;
- 비고정 변수들의 적어도 하나의 세트를 결정하는 것은 하나 이상의 비고정 변수들을 숨기는 것 및/또는 비숨김 비고정 변수들의 그룹을 세트들로 분할하는 것을 포함한다; 및/또는
- 물리적 시스템은 기계적 제품, 기계전자공학 제품, 전기 제품, 생체, 패키징 제품, 건축 제품, 멀티-피직 (multi-physic) 시스템, 재정 시스템, 또는 인구통계학적 진화 모델이다.
방법을 수행하는 명령들을 포함하는 컴퓨터 프로그램이 또한 제공된다.
컴퓨터 프로그램을 기록한 컴퓨터 판독가능 저장 매체가 또한 제공된다.
컴퓨터 프로그램을 기록한 메모리 및 그래픽 사용자 인터페이스에 커플링된 프로세서를 포함하는 시스템이 또한 제공된다.
본 발명의 실시형태들이 이제 비제한적인 예를 통해, 그리고 첨부하는 도면들을 참조하여 기술될 것이다.
- 도 1 은 방법의 일 예의 플로우챠트를 도시한다.
- 도 2 는 컴퓨터 시스템의 그래픽 사용자 인터페이스의 예를 도시한다.
- 도 3 은 컴퓨터 시스템의 예를 도시한다.
- 도 4 내지 도 10 은 방법의 일 예를 도시한다.
- 도 11 및 도 12 는 물리적 시스템의 일 예를 도시한다.
도 1 의 플로우챠트를 참조하면, 변수들을 포함하는 방정식들의 시스템에 의해 제약되는 물리적 시스템을 설계하는 컴퓨터 구현 방법이 제안된다. 그 방법은 방정식들 내에 포함된 변수들을 고정 변수들 및 비고정 변수들로 파티셔닝하는 단계 (S10) 를 포함한다. 방법은 이로써 (방정식들의) 시스템을 1과 동일한 자유도를 갖는 제한된 시스템으로 설정한다. 방법은 또한 비고정 변수들의 도메인에서 제한된 시스템의 솔루션들의 파라미터화된 곡선을 컴퓨팅하는 단계 (S20) 를 포함한다. 벙법은 또한, 비고정 변수들의 적어도 한 쌍에 대해, 그 쌍의 도메인들의 프로덕트로 곡선의 투영을 디스플레이하는 단계 (S30) 를 포함한다. 그리고, 방법은 또한 파라미터화된 곡선 상의 솔루션들을 네비게이팅하고, 곡선의 투영 상의 현재의 네비게이션 위치를 실시간으로 표현하는 단계 (S40) 를 포함한다. 그러한 방법은 변수들을 포함하는 방정식들에 의해 제약된 물리적 시스템의 설계를 개선한다.
특히, 네비게이팅하는 단계 (S40) 는 제한된 시스템의 솔루션들 상에서 수행되기 때문에, 네비게이션 (S40) 은 물리적 시스템을 제약하는 방정식들의 시스템을 준수하고/충족시키고, 따라서 물리적으로 허용가능한 솔루션들을 제공한다. 네비게이팅하는 단계 (S40) 가 현재의 네비게이션 위치를 실시간으로 표현함으로써 수행되기 때문에, 방법은 "시행착오" 와 같은 방식으로 솔루션 공간을 파악하는 방식을 설계자에게 제공하고, 따라서 설계를 용이하게 한다. 방정식들에 포함되는 변수들의 파티셔닝 (S10) 및 파라미터화된 곡선의 결과적인 컴퓨팅 (S20) 및 곡선의 투영의 디스플레잉 (S30) 은 모든 솔루션들의 공간에서의 네비게이션을 2D 에서 제한된 네비게이션으로 변환하는 것을 허용한다. 이것은 2D 가 설계의 관점에서 디스플레잉의 특별히 효과적인 타입이기 때문에, 솔루션 공간의 파악을 매우 용이하게 한다. 그 방법에 의해 수행되는 2D 네비게이션으로의 복소 네비게이션 문제의 변환은 물리적 시스템을 제약하는 방정식들에 포함되는 변수들을 파티셔닝하는 것을 포함하고, 그러한 변수들은 설계자에게 의미론적으로 의미가 있기 때문에, 그 방법은 다시 사용자에게 물리적 시스템의 설계를 용이하게 한다.
방법은 컴퓨터 구현된다. 이것은 그 방법의 단계들 (또는 실질적으로 모든 단계들) 이 적어도 하나의 컴퓨터 시스템 (즉, 자동 컴퓨팅 성능들을 포함하는 임의의 시스템) 에 의해 실행된다는 것을 의미한다. 따라서, 그 방법의 단계들은 가능하게는 완전히 자동적으로 또는 반자동적으로 컴퓨터에 의해 수행된다. 예들에서, 그 방법의 단계들의 적어도 일부의 트리거링은 사용자-컴퓨터 상호작용을 통해 수행될 수도 있다. 요구되는 사용자-컴퓨터 상호작용의 레벨은 예상되는 오토매티즘 (automatism) 의 레벨에 의존할 수도 있고 사용자의 소망들을 구현할 필요와의 균형을 요구할 수도 있다. 예들에서, 이러한 레벨은 사용자 정의되고 및/또는 미리 정의될 수도 있다. 예를 들어, 파티셔닝 (S10), 컴퓨팅 (S20), 및 디스플레잉 (S30) 하는 단계들은 가능하게는 사용자/설계자에 의한 초기의 트리거링으로 완전히 자동적일 수도 있다. 한편, 네비게이팅 (S40) 은 사용자-상호작용을 통해 수행될 수도 있다.
방법의 컴퓨터-구현의 통상적인 예는 이러한 목적을 위해 적응된 컴퓨터 시스템으로 그 방법을 수행하는 것이다. 그러한 컴퓨터 시스템은 메모리 및 그래픽 사용자 인터페이스 (GUI) 에 커플링된 프로세서를 포함하고, 그 메모리는 방법을 수행하기 위한 명령들을 포함하는 컴퓨터 프로그램을 기록하고 있다. 메모리는 또한 데이터베이스를 저장할 수도 있다. 메모리는 가능하게는 수개의 물리적 구별가능한 부분들 (예를 들어, 프로그램을 위해 하나, 그리고 가능하게는 데이터베이스를 위해 하나) 을 포함하는 그러한 기억장치를 위해 적응된 임의의 하드웨어이다. GUI 는 예를 들어 디스플레이 및/또는 햅틱 디바이스를 포함함으로써 디스플레잉 (S30) 및 네비게이팅 (S40) 을 허용하도록 적응될 수도 있다.
방법은 변수들을 포함하는 방정식들에 의해 제약된 물리적 시스템을 설계하기 위한 것이다. 물리적 시스템은 물리적 우주의 임의의 부분이다. 예를 들어, 물리적 시스템은 물리적 객체일 수도 있다. 이제, 그 방법에 의해 설계된 물리적 시스템은 변수들을 포함하는 방정식들에 의해 제약된다. 이것은 물리적 시스템이 일련의 파라미터 값들에 의해 기술될 수도 있고, 이들 파라미터 값들은 방정식들에 의해 (즉, 방정식들을 준수하여) 제약된다는 것을 의미한다. 이러한 의미에서, 파라미터들은 방정식들의 변수들에 대응하고, 상기 변수들은 상기 파라미터들을 표현한다 (이 둘은 이하에서 동일하게 된다). 시스템 설계의 분야로부터 알려진 바와 같이, 파라미터들 및 따라서 변수들은 설계자에게 의미론적인 의미를 가질 수도 있다. 예를 들어, 물리적 시스템이 물리적 객체인 경우, 변수들은 질량, 속력, 및/또는 체적을 포함할 수도 있다. 물리적 시스템은 기계적 제품, 기계전자공학적 제품, 전기 제품, 패키징 제품, 건축적 제품과 같은 임의의 제품일 수도 있다. 물리적 시스템은 생체 또는 멀티-피직 시스템과 같은 임의의 타입의 객체일 수도 있다. 물리적 시스템은 또한 재정적 시스템 또는 (인구통계학적 진화 모델에 의해 설계된) 모집단 (population) 과 같은 사회 시스템일 수도 있다.
방정식들은 그 시스템의 물리적 상태들을 기술할 수도 있다. 방정식들은 "f(...) = 0" 의 유형일 수도 있으며, 여기서 "f" 의 변수들은 수치적이고 연속적이다 (예를 들어, 실수들). 또한, "f" 는 연속적인 변수들에 대해 연속적으로 도출가능할 수도 있다. 함수 "f" 는 또한 정수 (이산) 변수들을 가질 수도 있지만, 그러한 변수들은 사용자에 의해 고정될 필요가 있을 수도 있다. 그러한 변수는 통상적으로 도 1 에 묘사된 방법의 단계들에 포함되지 않을 수도 있다. 변수들은 임의의 단위 (길이, 각도, 질량, 및/또는 에너지) 이거나 단위가 없을 수도 있다. 함수들 "f" 는 시스템을 모델링하는 임의의 특성을 표현한다: 기계적 연결, 기계적 폐쇄, 위치 좌표들, 질량 보존, 에너지 보존, 플럭스 보존.
설계된 물리적 시스템은 모델링된 객체, 즉 데이터베이스에 저장된 데이터에 의해 정의된 임의의 객체이다. 확장에 의해, 표현 "모델링된 객체" 는 데이터 자체를 지정한다. 방법을 구현하는 컴퓨터 시스템의 타입에 따라, 모델링된 객체들은 데이터의 상이한 종류들에 의해 정의될 수도 있다. 방법을 수행하는 컴퓨터 시스템은 실제로 CAD 시스템, CAE 시스템, CAM 시스템, PDM 시스템 및/또는 PLM 시스템의 임의의 조합일 수도 있다. 이들 상이한 컴퓨터 시스템들에서, 모델링된 객체들은 대응하는 데이터에 의해 정의된다. 이에 따라 CAD 객체, PLM 객체, PDM 객체, CAE 객체, CAM 객체, CAD 데이터, PLM 데이터, PDM 데이터, CAM 데이터, CAE 데이터로 말할 수도 있다. 그러나, 이들 컴퓨터 시스템들은 모델링된 객체가 이들 컴퓨터 시스템들의 임의의 조합에 대응하는 데이터에 의해 정의될 수도 있기 때문에 다른 것에 대해 배타적인 것은 아니다. 따라서, 컴퓨터 시스템은 아래에 제공되는 그러한 시스템들의 정의들로부터 명백할 바와 같이 양 CAD 및 PLM 시스템일 수도 있다.
CAD 시스템에 관해 말하자면, 그것은 적어도 CATIA 와 같은 모델링된 객체의 그래픽 표현에 기초하여 모델링된 객체를 설계하도록 구성된 임의의 컴퓨터 시스템을 의미한다. 이러한 경우에, 모델링된 객체를 정의하는 데이터는 모델링된 객체의, 및 따라서 물리적 시스템의 표현을 허용하는 데이터를 포함한다. CAD 시스템은 예를 들어, 면들 또는 표면들을 갖는 소정의 경우들에서 에지들 또는 라인들을 사용하여 CAD 모델링된 객체들의 표현을 제공할 수도 있다. 라인들, 에지들, 또는 표면들은 여러 방식들, 예를 들어 비균일 유리 B-스플라인들 (NURBS) 로 표현될 수도 있다. 구체적으로는, CAD 파일은 사양들을 포함하며, 이들 사양들로부터 지오메트리가 생성될 수도 있고, 이것은 차례로 표현이 생성되는 것을 허용한다. 모델링된 객체의 사양들은 단일의 CAD 파일 또는 다수의 CAD 파일들에 저장될 수도 있다. CAD 시스템에서 모델링된 객체를 표현하는 파일의 통상적인 사이즈는 부품 (part) 당 1 메가바이트의 범위에 있다. 그리고, 모델링된 객체는 통상적으로 수천개의 부품들의 어셈블리일 수도 있다.
CAD 맥락에서, 모델링된 객체는 통상적으로, 예를 들어 부품 또는 부품들의 어셈블리, 또는 가능하게는 제품들의 어셈블리와 같은 제품인 물리적 시스템을 나타내는 3D 모델링된 객체일 수도 있다. "3D 모델링된 객체" 는 그 3D 표현을 허용하는 데이터에 의해 모델링되는 임의의 객체를 의미한다. 3D 표현은 모든 각도들로부터 부품의 관람 (viewing) 을 허용한다. 예를 들어, 3D 모델링된 객체는, 3D 표현될 때, 그 축들 중 임의의 축 주위로, 또는 그 표현이 디스플레이되는 스크린에서 임의의 축 주위로 핸들링 및 회전될 수도 있다. 이것은, 특히 3D 모델링되지 않은 2D 아이콘들을 배제한다. 3D 표현의 디스플레이는 설계를 용이하게 한다 (즉, 설계자들이 통계적으로 그들의 업무를 달성하는 속도를 증가시킨다). 이것은, 제품들의 설계가 제조 프로세스의 부분이기 때문에 그 산업에서 제조 프로세스의 속도를 올린다.
PLM 시스템은, 물리적 제조품을 나타내는 모델링된 객체의 관리를 위해 적응된 임의의 컴퓨터 시스템을 의미한다. PLM 시스템에서, 모델링된 객체는 따라서, 물리적 객체의 제조에 적합한 데이터에 의해 정의된다. 이들은, 통상적으로 디멘전 값들 및/또는 공차 (tolerance) 값들일 수도 있다. 객체의 정확한 제조를 위해, 실제로 이러한 값들을 갖는 것이 더 좋다.
CAM 은 컴퓨터 지원 제조 (Computer-Aided Manufacturing) 를 나타낸다. CAM 솔루션은, 제품의 제조 데이터를 관리하기 위해 적응된 임의의 솔루션, 하드웨어의 소프트웨어를 의미한다. 제조 데이터는 일반적으로, 제조할 제품, 제조 프로세스 및 요구된 리소스들에 관련된 데이터를 포함한다. CAM 솔루션은 제품의 전체 제조 프로세스를 계획하고 최적화하는데 사용된다. 예를 들어, CAM 사용자들에게는 제조 프로세스의 특정 단계에서 사용될 수도 있는, 실행 가능성, 제조 프로세스의 지속기간 또는 리소스들, 예컨대 특정 로봇들의 수에 대한 정보가 제공될 수 있고; 따라서 관리 또는 필요한 조사에 대한 결정을 허용한다. CAM 은 CAD 프로세스 및 잠재적인 CAE 프로세스 후의 후속적 프로세스이다. 이러한 CAM 솔루션들은 DELMIA® 라는 상표 하에 다솔 시스템므에 의해 제공된다.
CAE 는 컴퓨터 지원 엔지니어링 (Computer-Aided Engineering) 을 의미한다. CAE 솔루션은, 모델링된 객체의 물리적 거동의 분석을 위해 적응된, 임의의 솔루션, 하드웨어의 소프트웨어를 의미한다. 잘 알려지고 널리 사용된 CAE 기법은 통상적으로, 모델링된 객체를, 물리적 거동들이 방정식들을 통해 컴퓨팅 및 시뮬레이션될 수 있는 엘리먼트들로 분할하는 것을 수반하는 유한 요소법 (Finite Element Method; FEM) 이다. 이러한 CAE 솔루션들은 SIMULIA® 라는 상표 하에 다솔 시스템므에 의해 제공된다. 다른 성장하는 CAE 기법은 CAD 기하학 데이터 없이 물리학 분야와 상이한 복수의 컴포넌트들로 구성된 복잡한 시스템들의 모델링 및 분석을 수반한다. CAE 솔루션들은 시뮬레이션 및 이에 따른 제조할 제품들의 최적화, 개선 및 검증을 허용한다. 이러한 CAE 솔루션들은 DYMOLA® 라는 상표 하에 다솔 시스템므에 의해 제공된다.
PDM 은 제품 데이터 관리 (Product Data Management) 를 나타낸다. PDM 솔루션은, 특정 제품에 관련된 데이터의 모든 유형들을 관리하기 위해 적응된 임의의 솔루션, 하드웨어의 소프트웨어를 의미한다. PDM 솔루션은 제품의 라이프사이클에 수반된 모든 액터 (actor) 들에 의해 사용될 수도 있다: 주로 엔지니어들 뿐만 아니라 프로젝트 매니저들, 금융맨 (finance people), 세일즈맨 (sales people) 및 바이어들. PDM 솔루션은 일반적으로, 제품-지향된 데이터베이스에 기초한다. 이것은, 액터들이, 그들의 제품들에 대한 제약 데이터를 공유하는 것을 허용하고, 따라서 액터들이 분기 데이터 (divergent data) 를 사용하는 것을 방지하는 것을 허용한다. 이러한 PDM 솔루션들은 ENOVIA® 라는 상표 하에 다솔 시스템므에 의해 제공된다.
물리적 시스템은 예를 들어, CAD 소프트웨어 솔루션 또는 CAD 시스템, 예컨대 (예를 들어, 머신) 부품 또는 부품들의 어셈블리, 또는 보다 일반적으로 임의의 강체 어셈블리 (예를 들어, 모바일 메커니즘) 으로 그 가상 설계의 완료에 후속하는 실세계에서 제조될 제품일 수도 있다. CAD 소프트웨어 솔루션은, 항공우주, 아키텍처, 건설, 소비재, 하이-테크 디바이스들, 산업 장비, 운송, 해양, 지상 및/또는 연안 석유 생산 또는 운송을 포함하는, 다양한 비제한의 산업 분야들에서 제품들의 설계를 허용한다. 이 경우에서, 물리적 시스템은 통상적으로, 3D 위치들, 차원들, 질량-관련 변수들, 재료-관련 변수들, 및/또는 자유도 변수들을 포함하는, 물리적 변수들을 수반하는 기계적 방정식들 (mechanical equation) 에 의해 제약된다. 제품을 제약하는 방정식들은, 예를 들어 기계적 연결들, 메커니즘 폐쇄, 질량 보존, 에너지 보존, 및/또는 플럭스 보존을 포함하는 제품의 기계적 상태를 설명할 수도 있다. 예를 들어, 방정식들은 글로벌 폐쇄 방정식 (그 자체가 당업계에 알려짐) 을 설명할 수도 있다.
물리적 시스템은 특히, 강성 어셈블리 또는 모바일 메커니즘, 즉 예를 들어 프레임(들), 크랭크(들), 피스톤(들) 및/또는 회전 및/또는 실린더형 조인트들을 통해 함께 연결된 로드(들) 을 포함하고, 폐쇄 방정식에 의해 제약되는 제품일 수도 있다. 실제로, 이 방법은 특히 강성 어셈블리들 및 모바일 메커니즘들의 설계에 잘-적응된다. 이 분야에서, 방정식들의 시스템은 소위 "폐쇄 방정식"(또는 "루프 폐쇄 방정식") 이다. 이것은 강체 운동 (rigid motion) 들을 결합함으로써 강체들의 디멘전들 및 상대적 위치들을 정의한다.
다음의 참조들은 이 분야에서 대표적이며, 이러한 폐쇄 방정식들의 예들을 제공한다:
Figure pat00001
"Introduction to theoretical kinematics", J.M. Mac Carty, M.I.T. 출판부, 1990 년; 및
Figure pat00002
"Fundamental of kinematics and dynamics of machines and mechanisms" Oleg Vinogradov, CRC 출판부, 2000 년.
폐쇄 방정식의 일 예를 정의하기 위한 방식은 이제, 도 11 에 예시된 소위 "인 라인 슬라이더 크랭크 (in line slider crank)" 로 예시된다. 이것은 접지된 기준 바디 (grounded reference body) 인 프레임 (F), 회전 조인트 (J1) 를 통해 프레임 (F) 에 연결되는 크랭크 (C), 크랭크 (C) 의 단부 및 회전 조인트들 (J2 J3) 을 통해 피스톤 (P) 에 연결되는 로드 (R), 및 마지막으로 회전 조인트 (J3) 를 통해 로드 (R) 에 그리고 실린더형 조인트 (미도시) 를 통해 프레임 (F) 에 연결되는 피스톤 (P) 을 포함한다.
폐쇄 방정식을 설정하기 위한 제 1 단계는 바디들 및 조인트들을 식별하는 것이다. 메커니즘은 4 개의 (강성) 바디들: 각각 F, R, C, P 로 표시된 프레임, 크랭크, 로드, 피스톤을 포함한다. 이제, 각각의 바디는 그 디멘전들 및 다른 바디들과의 연결을 명시하기 위해 하나 이상의 축 시스템들을 포함한다. 프레임은 f1 으로 표시된 하나의 축 시스템을 포함하고, 크랭크는 2 개의 축 시스템들 (c2, c3) 을 포함하고, 로드는 또한 2 개의 축 시스템들 (r4, r5) 을 포함하며, 마지막으로 피스톤은 하나의 축 시스템 (p6) 을 포함한다. 이들 축 시스템들은 도 12 상에 표현된다.
제 2 단계는 바디들의 디멘전들 뿐만 아니라 바디들 간의 상대적 위치들을 캡처하기 위해 하나의 축 시스템으로부터 다른 시스템으로의 강체 운동들을 연관시키는 것이다. 강체 운동들은 동질의 매트릭스들에 의해 정의된다. 이것은, 2D 회전 각 (θ) 및 2D 트랜스레이션
Figure pat00003
으로 정의된 강체 운동의 매트릭스가 다음과 같음을 의미한다:
Figure pat00004
강체 운동들을 결합하는 이 방식은 통상의 매트릭스 프로덕트들을 수행하는 것이다. 정의에 의해, 디멘전들은 동일한 바디의 2 개의 축 시스템들에 관련된 강체 운동들이다. 다시 정의에 의해, 연결들은 별개의 바디들로부터의 2 개의 축 시스템들에 관련된 강체 운동들이다. 크랭크의 디멘전 은
Figure pat00005
이기 위한
Figure pat00006
이고, 트랜스레이션에 의해 다음과 같이 정의된다:
Figure pat00007
로드의 디멘전은
Figure pat00008
이기 위한
Figure pat00009
이고, 트랜스레이션에 의해 다음과 같이 정의된다:
Figure pat00010
프레임과 크랭크 간의 연결은
Figure pat00011
이기 위한
Figure pat00012
이고, 회전에 의해 다음과 같이 정의된다:
Figure pat00013
크랭크와 로드 간의 연결은
Figure pat00014
이기 위한
Figure pat00015
이고, 회전에 의해 다음과 같이 정의된다:
Figure pat00016
로드와 피스톤 간의 연결은
Figure pat00017
이기 위한 이고, 회전에 의해 다음과 같이 정의된다:
Figure pat00019
마지막으로, 피스톤과 프레임 간의 연결은
Figure pat00020
이기 위한
Figure pat00021
이고, 트랜스레이션에 의해 다음과 같이 정의된다:
Figure pat00022
폐쇄 방정식에 대한 최종 단계는 루프 토폴로지에 따른 모든 이들 강체 운동의 결합이 식별자
Figure pat00023
와 동일하다는 것을 기입하는 것이다.
형식적으로:
Figure pat00024
해석에 의해, 폐쇄 방정식은 파라미터들 (a, b) 을 디멘져닝하는 것 및 파라미터들 (α, β, γ, x) 을 포지셔닝하는 것을 수반한다. 매트릭스 프로덕트들을 컴퓨팅함으로써 상세들이 획득된다. 보다 정확하게, 이전 관계식은 다음과 같다:
Figure pat00025
그 후, 단계별로 다음과 같이 매트릭스 프로덕트들을 컴퓨팅함으로써:
Figure pat00026
좌측 및 우측들의 매트릭스 계수들을 식별하여 다음을 초래한다:
Figure pat00027
이것은 다음과 같이 단순화될 수 있다:
Figure pat00028
폐쇄 방정식은 예상된 형상
Figure pat00029
을 갖고, 여기서
Figure pat00030
이고, 여기서 디멘전 파라미터들은
Figure pat00031
이고, 위치 파라미터들은
Figure pat00032
이다.
도 2 는 방법을 수행하기 위한 시스템의 GUI 의 일 예이고, 여기서 컴퓨터 시스템은 CAD 시스템이다.
GUI (2100) 는 표준 메뉴 바들 (2110, 2120) 뿐만 아니라 바닥 및 측면 툴바들 (2140, 2150) 을 갖는 통상적인 CAD 형 인터페이스일 수도 있다. 이러한 메뉴 바들 및 툴바들은 사용자 선택가능 아이콘들의 세트를 포함하며, 각각의 아이콘은 당업계에서 알려진 바와 같은 하나 이상의 동작들 또는 기능들과 연관된다. 이들 아이콘들 중 일부는 GUI (2100) 에 디스플레이되는 3D 모델링된 객체 (2000) 에 대한 편집 및/또는 작업을 위해 적응된 소프트웨어 도구들과 연관된다. 3D 모델링된 객체 (2000) 는 도 2 의 스크린샷 상에서 3D 로 표현되었으나, GUI (2100) 는 방법의 디스플레이하는 단계 (S30) 및 네비게이팅하는 단계 (S40) 를 수행하는 특정 모드로 스위칭하기 위한 기능을 포함한다. 이 소프트웨어 도구들은 작업대 (workbench) 들로 그룹화될 수도 있다. 각각의 작업대는 소프트웨어 도구들의 서브세트를 포함한다. 특히, 작업대들 중 하나는, 모델링된 제품 (2000) 의 기하학적 특징들을 편집하기에 적합한 편집 작업대이다. 동작 시, 설계자가 예를 들어 객체 (2000) 의 부품을 미리 선택하고, 그 후 적합한 아이콘을 선택하는 것에 의해 동작 (예를 들어, 디멘전, 컬러 등의 변경) 을 개시하거나 또는 기하학적 제약들을 편집할 수도 있다. 예를 들어, 통상적인 CAD 동작들은 스크린 상에 디스플레이된 3D 모델링된 객체의 펀칭 또는 폴딩 (folding) 의 모델링이다.
GUI는 예를 들어 디스플레이된 제품 (2000) 에 관련된 데이터 (2500) 를 디스플레이 할 수도 있다. 도 2의 예에서, "특징 트리"로서 디스플레이된 데이터 (2500) 와, 그것들의 3D 표현 (2000) 은 브레이크 캘리퍼 및 디스크를 포함하는 브레이크 어셈블리에 관련된다. GUI는, 예를 들어 객체의 3D 배향을 용이하게 하거나, 편집된 제품의 동작의 시뮬레이션을 트리거링하거나 또는 디스플레이된 제품 (2000) 의 여러 속성들을 렌더링하기 위한 다양한 유형들의 그래픽 도구들 (2130, 2070, 2080) 을 추가로 나타낼 수도 있다. 커서 (2060) 는 사용자가 그래픽 도구들과 상호작용하는 것을 허용하도록 햅틱 디바이스에 의해 제어될 수도 있다.
도 3 은 컴퓨터 시스템의 일 예를 나타내고, 여기서 컴퓨터 시스템은 클라이언트 컴퓨터 시스템, 예를 들어 사용자의 워크스테이션이다.
예시의 클라이언트 컴퓨터는 내부 통신 버스 (1000) 에 접속된 중앙 처리 장치 (CPU)(1010), 버스에 또한 접속된 랜덤 액세스 메모리 (RAM)(1070) 를 포함한다. 클라이언트 컴퓨터에는 버스에 접속된 비디오 랜덤 액세스 메모리 (1100) 와 연관되는 그래픽 프로세싱 유닛 (GPU)(1110) 이 추가로 제공된다. 비디오 RAM (1100) 은 또한, 프레임 버퍼로서 당업계에 알려져 있다. 대용량 저장 디바이스 제어기 (1020) 는 대용량 메모리 디바이스, 예컨대 하드 드라이브 (1030) 에의 액세스들을 관리한다. 컴퓨터 프로그램 명령들 및 데이터를 유형적으로 구현하는데 적합한 대용량 메모리 디바이스들은 일 예로서, EPROM, EEPROM, 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 내부 하드 디스크들 및 착탈식 디스크들과 같은 자기 디스크들; 광자기 디스크들; 및 CD-ROM 디스크들 (1040) 을 포함한, 모든 형태들의 비휘발성 메모리를 포함한다. 전술한 것들 중 임의의 것이 특별히 설계된 ASIC 들 (주문형 집적 회로들) 에 의해 보충되거나 또는 그 안에 통합될 수도 있다. 네트워크 어댑터 (1050) 는 네트워크 (1060) 에의 액세스들을 관리한다. 클라이언트 컴퓨터는 또한, 커서 제어 디바이스, 키보드 등과 같은 햅틱 디바이스 (1090) 를 포함할 수도 있다. 커서 제어 디바이스가 사용자로 하여금 디스플레이 (1080) 상의 임의의 원하는 로케이션에 커서를 선택적으로 포지셔닝시킬 수 있도록 하기 위해서, 클라이언트 컴퓨터에 사용된다. 또한, 커서 제어 디바이스는 사용자로 하여금 다양한 커맨드들, 및 입력 제어 신호들을 선택하게 한다. 커서 제어 디바이스는 시스템에의 제어 신호들의 입력을 위한 다수의 신호 생성 디바이스들을 포함한다. 통상적으로, 커서 제어 디바이스는 마우스일 수도 있으며, 이 마우스의 버튼은 신호들을 생성하도록 사용된다. 대안으로 또는 부가적으로, 클라이언트 컴퓨터 시스템은 감응형 패드, 및/또는 감응형 스크린을 포함할 수도 있다.
컴퓨터 프로그램은 컴퓨터에 의해 실행 가능한 명령들, 상기 시스템으로 하여금 방법을 수행하게 하는 수단을 포함하는 명령들을 포함할 수도 있다. 프로그램은 시스템의 메모리를 포함하는, 임의의 데이터 저장 매체 상에 기록 가능할 수도 있다. 프로그램은, 예를 들어 디지털 전자 회로에서, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어에서, 또는 이들의 조합에서 구현될 수도 있다. 프로그램은 장치로서, 예를 들어 프로그램 가능 프로세서에 의한 실행을 위해 머신 판독가능 저장 디바이스에서 유형적으로 구현된 제품으로서 구현될 수도 있다. 방법 단계들은 입력 데이터 상에서 운용하고 출력을 생성함으로써 방법의 기능들을 수행하기 위해 명령들의 프로그램을 실행하는 프로그램 가능 프로세서에 의해 수행될 수도 있다. 프로세서는 따라서, 프로그램 가능하고, 데이터 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고, 이들로 데이터를 및 명령들을 송신하도록 커플링될 수도 있다. 애플리케이션 프로그램은 고-레벨의 절차적 또는 객체-지향된 프로그래밍 언어로, 또는 원한다면 어셈블리 또는 머신 언어로 구현될 수도 있다. 임의의 경우에서, 이 언어는 컴파일링 또는 해석된 언어일 수도 있다. 프로그램은 전체 설치 (full installation) 프로그램 또는 업데이트 프로그램일 수도 있다. 시스템 상에서 프로그램의 애플리케이션은 임의의 경우에서, 방법을 수행하기 위한 명령들을 초래한다.
"물리적 시스템 설계" 는 물리적 시스템을 정교하게 하는 프로세스의 적어도 일부인 임의의 액션 또는 일련의 액션들을 지정한다. 따라서, 방법은 스크래치로부터 물리적 시스템 모델을 생성하는 것을 포함할 수도 있다. 대안으로, 방법은 이전에 생성된 모델을 제공한 후, 이 모델을 변형하는 것을 포함할 수도 있다.
방법은, 방법을 수행한 후에, 설계된 모델에 대응하는 물리적 제품을 생산하는 것을 포함할 수도 있는 제조 프로세스에 포함될 수도 있다. 임의의 경우에서, 이 방법에 의해 설계된 모델링된 객체는 제조 객체를 나타낼 수도 있다. 따라서, 모델링된 객체는 모델링된 고형물 (solid)(즉, 고형물을 나타내는 모델링된 객체) 일 수도 있다. 제조 객체는 제품, 예컨대 부품, 또는 부품들의 어셈블리일 수도 있다. 방법은 모델링된 객체의 설계를 개선하기 때문에, 이 방법은 또한, 제품의 제조를 개선시키고 따라서 제조 프로세스의 생산성을 증가시킨다.
방법은 방정식들에 수반된 변수들을 고정 변수들 및 비고정 변수들로 파티셔닝하는 단계 (S10) 를 포함한다. 전술된 바와 같이, 물리적 시스템은, 수치적 (numeric), 실수의 (real) 및 연속적 (continuous) 인 가변 값들을 취할 수 있는 변수들을 수반하는 방정식들의 시스템에 의해 제약된다. 이들 변수들은, 한편으로는 "고정된 (fixed)" 으로 지칭되고 다른 한편으로는 "비고정된" 으로 지칭된 2 개의 서브세트들로 방법에 의해 파티셔닝 (즉, 분리) 된다. 이것은, (네비게이팅하기 위해) 관심있는 변수들 및 고정하기 위한 변수들을 결정할 수 있는 사용자-상호작용을 통해 행해질 수도 있다. 따라서, 방법은 각각의 변수를 "고정된" 또는 대안으로 "비고정된" 으로서 마킹할 수도 있고, 이에 의해 뷰의 프로그래밍 포인트로부터 파티셔닝을 달성할 수도 있다. "고정된" 변수들은 그 값들이 방법의 다음 단계들 (특히, 컴퓨팅 (S20) 및 네비게이팅 (S40)) 동안 고정된다는 사실에 의해 정의되는 반면에, "비고정된" 변수들은 릴리즈되는 값을 갖고 따라서 변할 수도 있다. 파티셔닝 (S10) 을 수행하는 경우, 고정 변수들에 할당된 고정 값들은 예를 들어, 설계자에 의해 임의의 방식으로, 또는 현재/펜딩 값들로부터 벗어남으로써 할당될 수도 있다 (이 경우에서, 방법은 후술되는 바와 같이 연속적으로 수행됨).
임의의 경우에서, 파티셔닝 (S10) 은 1 과 동일한 자유도를 갖는 소위 "제한된 시스템" 으로 방정식들의 시스템을 설정하도록 수행된다. 제한된 시스템은, 남아 있는 솔루션들이 초기 시스템의 솔루션들의 서브세트라는 의미에서, 초기 시스템의 고정 변수들이 방정식들의 초기 시스템의 제한된 버전을 정의하는 것이 되기 때문에 "제한된" 으로 지칭된다. 파티셔닝은, 제한된 시스템의 자유도가 정확히 1 과 동일한 방식으로 구현에 의해 수행된다. 다시 말해, 고정 변수들에 할당된 값들을 제약으로서 고려하면, 방정식들의 시스템에 의해 허가된 솔루션들의 공간은 디멘전 1 이다. 방정식들의 초기 시스템으로, 이러한 제한을 달성하기 위한 방법은 일반적으로, 당업자에게 액세스 가능하다. 예들은 이후에 제공된다.
1 과 동일한 자유도를 갖는 제한된 시스템 덕분에, 방법은 그 후, 비고정 변수들의 도메인에서 제한된 시스템의 솔루션들의 파라미터화된 곡선 (즉, 디멘전 1 의 매니폴드) 을 컴퓨팅할 수도 있다 (S20). 다시 말해, 방법은 고정 변수들에 할당된 고정 값들로, 방정식들에 대하여 비고정 변수들의 값들의 모든 세트들을 찾고, 이들을 하나의 파라미터의 함수 (파라미터화된 곡선) 로서 설명한다.
그 후, 방법은 설계, 특히 제한된 시스템의 솔루션들의 네비게이션을 용이하게 하는 방식으로 설계자에게 정보를 디스플레이한다.
구체적으로, 방법은 비고정 변수들의 적어도 한 쌍에 대해, 그 쌍의 도메인들의 프로덕트에서 곡선의 투영 (제한된 시스템의 솔루션들) 을 디스플레이하는 단계 (S30) 를 포함한다. 다시 말해, 비고정 변수들의 적어도 한 쌍이 고려되고, 2 개의 변수들 각각의 도메인의 프로덕트는 그 후 사용자에게 표현/디스플레이된다. 또한, 곡선은 이 2D 표현으로 디스플레이된다. 보다 정확하게, 곡선은 이 2D 표현상에 투영되고, 따라서 반드시 연속적이지는 않은 2D 곡선을 초래한다. 따라서, 사용자는 제한된 시스템의 솔루션들에 대한 고려 하에서 변수들에 의해 취해진 값들의 명확한 및 2D 힌트를 갖는다. 이것은 설계를 용이하게 한다.
또한, 방법은 파라미터화된 곡선 상의 솔루션들을 네비게이팅하는 단계 (S40) 를 포함한다. 도 1 은 방법의 단계들을 연속적인 단계들로서 표현하였으나, 디스플레이하는 단계 (S30) 는 네비게이팅하는 단계 (S40) 전체에서 수행된다. 방법은 곡선의 투영 상의 현재 네비게이션 위치를 실시간으로 표현하는 단계를 포함한다. 다시 말해, 각각의 현재 시간에서 ("현재 네비게이션 솔루션" 정의에 의해 지칭된) 하나의 특정 솔루션의 마커는 곡선의 투영의 디스플레이 상에서 사용자에게 디스플레이될 수도 있다 (상기 투영은 2 개의 고려된 비고정 변수들에 대응함). 이 방식으로, 사용자는, 이들 솔루션들이 구체적으로 고려된 변수들 (도메인 쌍들의 프로덕트가 디스플레이되는 변수들) 에 대해 트랜스레이트되는 방법을 2D 로 보임으로써 제한된 시스템의 솔루션들을 쉽게 브라우징 및 파악할 수 있다.
방법에 의해 허용된 네비게이팅하는 단계 (S40) 는 그 후, 물리적 시스템을 설계하기 위한 임의의 방식으로 사용될 수도 있다. 예를 들어, 사용자는 네비게이팅하는 단계 (S40) 를 통해 솔루션들의 이해를 간단히 획득할 수도 있다. 그러나, 사용자는 또한, (예를 들어 그의 선택의) 하나 또는 여러 특정 솔루션(들)을 보유하고 상기 솔루션들을 저장할 수도 있다. 설계자는 그 후, 물리적 시스템의 다른 표현, 예를 들어 물리적 제품의 전술된 경우에서 3D 표현으로 스위칭할 수도 있고, 설계자는 그 후 다른 유형의 설계, 예를 들어 보유된 솔루션에 기초한 3D 기하학적 설계를 수행할 수도 있다. 대안으로, 설계자는 보유된 솔루션들의 사양들을 다른 설계자에게 간단히 전송할 수도 있다.
특히 설계자를 잘 돕는 방법의 일 예가 이제 도 4 내지 도 10 을 참조하여 논의된다.
예시의 방법의 플로우차트를 나타내는 도 4 가 참조된다. 비선형 방정식들의 리스트 및 상기 방정식들에 수반된 변수들로 표현된 설계 파라미터들의 리스트로, 예시의 방법은 사용자가 솔루션들의 세트를 조사하기 위한 상호적인 방법을 제공한다. 본래, 모든 솔루션들의 세트는 일반적으로 고차원 공간인 설계 파라미터 공간의 서브세트이다. 초기 솔루션에서 시작하여, 이 서브세트에서 네비게이팅하기 위해 제안된 방법은 모든 솔루션들의 세트의 1 차원 서브세트인 곡선 세그먼트를 따라 이동하는 것이다. 이 곡선 세그먼트는 다음의 단계들에 따라 사용자에 의해 정의 및 제어된다. 사용자는 고정된 값들을 일부 설계 파라미터들 및 자유로운 일부 다른 설계 파라미터들로 설정하도록 요청된다. 이 설정 프로세스는, 방정식들의 시스템의 자유도 (다음에서 DOF) 들의 수가 정확히 1 이 될 때까지 반복된다. 이것은 파티셔닝하는 단계 (S10) 이다. DOF 분석은 시스템에 의해 수행된다. 간단함을 위해, 사용자가 네비게이션으로부터 그리고 설정들로부터 일부 설계 파라미터들을 숨기기를 원하는 것일 발생할 수도 있다. 그것들이 숨겨짐에도 불구하고, 이들 파라미터들은 실제로 컴퓨테이션 (S20) 에 수반된다. 그 후, 시스템은 비고정된 설계 파라미터들의 서브공간 상에 놓인 파라미터화된 곡선 세그먼트를 컴퓨팅 (S20) 한다. 상기 곡선 세그먼트는 복수의 2 차원 투영들을 통해 S30 에서 디스플레이된다. 곡선 세그먼트 상의 임의의 포인트는 문제의 특정 솔루션이다. 네비게이션 (S40) 에서 이 곡선 상에서 그래픽 커서를 이동시킴으로써, 사용자는 솔루션들의 연속체를 조사한다. 대응하는 설계 파라미터들 값들은 다른 목적을 위해 저장 (예를 들어, 3 차원 뷰로 물리적 시스템의 대응하는 구성을 디스플레이) 될 수도 있다. 곡선 세그먼트는 엔드 포인트들 커서들을 통해 또한 확장될 수 있다. 임의의 순간에도, 설계자는 임의의 설계 파라미터들을 고정, 비고정, 숨김, 비숨김할 수 있고, 새로운 곡선 세그먼트 컴퓨테이션을 요청할 수 있다. 커서 위치에 대응하는 곡선 상의 포인트는 새로운 곡선 세그먼트에 대한 초기 솔루션 역할을 한다.
실시예의 방법은 따라서 설계자가 얼마나 다양한 파라미터들이 솔루션에 영향을 미칠 수 있는지를 이해하는 것을 돕는다. 이는 파라미터들 상관관계들 뿐만 아니라 최적화를 포함한다. 또한, 기존의 곡선 세그먼트 상의 현재 지점으로부터 새로운 곡선 세그먼트를 계산하는 경우, 실시예의 방법은 네비게이션의 솔루션 세트를 절대 벗어날 수 없는 것을 보장한다.
실시예의 방법이 이제 보다 상세히 논의된다.
우선, 컴퓨팅하는 단계 (S20) 에서 이용될 수도 있는 미분 기하학이 논의된다.
방정식 평활도가 이제 논의된다.
Figure pat00033
을 미분가능 함수
Figure pat00034
라고 하자. 함수 (F) 의 스칼라 좌표는
Figure pat00035
로 표기된다.
각각의 인덱스 (
Figure pat00036
) 에 대해, 스칼라 함수 (fi) 의 기울기 벡터는
Figure pat00037
로 표기된다.
Figure pat00038
로 표기하면,
Figure pat00039
의 좌표는:
Figure pat00040
이다.
표기
Figure pat00041
는 매트릭스 (각각의 벡터) U 의 전치 매트릭스 (각각의 벡터) 이다. 결과적으로,
Figure pat00042
은 컬럼 벡터인
Figure pat00043
에 반대되는 선형 벡터이다.
Figure pat00044
이러한 표기들로, 지점 (X) 에서의 함수 (F) 의 도함수
Figure pat00045
Figure pat00046
으로 작성된다.
모델링 관점에서, 선형 맵핑
Figure pat00047
의 범위는
Figure pat00048
의 개방된 서브세트에서의 모든 X 에 대해 최대일 (이는 그것의 차원이 n 이라는 의미이다) 것으로 가정된다. 그렇지 않으면, 엔지니어링 문제를 모델링하는 방정식들은 제대로 정의되지 않고, 방법은 중지하거나 사용자에게 새로운 방정식들을 제공할 것을 요청할 수도 있다.
미분 방정식들이 이제 논의된다.
Figure pat00049
을 함수 (F) 와 연관된 벡터장이라 하고 다음과 같이 정의된다고 하자.
Figure pat00050
에 있어서, Tj 로 표기되는 T 의 j 번째 좌표는,
Figure pat00051
디터미넌트가다:
Figure pat00052
Figure pat00053
에 있어서, 디터미넌트의 i 번째 라인은 함수 fi 의 전치 기울기 벡터이다. 디터미넌트의 마지막 라인은
Figure pat00054
의 j 번째 정준 (canonical) 벡터인 ej 이다. 모든
Figure pat00055
에 있어서,
Figure pat00056
이라는 것이 공지되어 있다.
Figure pat00057
을 의미하는,
Figure pat00058
을 방정식
Figure pat00059
의 특정 해라고 하자.
Figure pat00060
인 경우,
Figure pat00061
의 이웃에서 방정식
Figure pat00062
의 해는 (재파라미터화 하에서) 곡선
Figure pat00063
의 고유한 비축퇴 아크이며, 이는 0 의 이웃에서 모든 t 에 대해
Figure pat00064
이고 이라는 것을 의미한다. 곡선
Figure pat00066
의 아크는 유리하게는 1 차 상미 분방정식을 적분함으로써 계산된다:
Figure pat00067
표기 X' 는 파라미터 t 에 대한 도함수이며, 이는
Figure pat00068
을 의미한다.
연속성 문제가 이제 논의된다.
방정식
Figure pat00069
의 해 세트가 분기 지점 (예를 들어, 도 5 에서의 선명한 점 (50)) 을 특징으로 하는 곡선인 경우, 이전의 미분 방정식의 해는 교차 지점을 넘을 수 없다. 미분 해는 분기 지점에서 "중지하거나", 방향을 바꿔 교차하는 쪽 브랜치 (다음 도면에서 점으로 그려진 궤도) 를 따라 진행할 것이다. 또한, 미분 해가 어느 쪽을 취할지 예측할 방법이 없다.
이러한 거동이 만족스럽지 않은 경우, 미분 방정식을 푸는 대신에 방법에 의해 연속 알고리즘이 구현될 수 있다. 예를 들어, 방법은, 예를 들어, 충분히 큰 스텝 사이즈를 취함으로써, 분기 지점을 "건너 뛰기" 위해 임의의 기존의 알고리즘을 구현할 수도 있다. 수치적 연속 및 분기 관리에 대한 통상적인 참조문헌은 <E.L Allgower, K. Georg, "Introduction to numerical continuation methods", SIAM, 2003> 이다.
이제, 실시예의 방법은 특정 경우에서 설명된다.
실시예의 방법은 6 개의 설계 파라미터들 (변수들) 을 수반하는 3 개의 스칼라 방정식들에 의해 모델링되는 시스템의 경우에서 설명된다.
Figure pat00070
이러한 경우에 실시예의 방법의 입력 데이터는 초기 해인데, 즉:
Figure pat00071
이도록, 알려진 값
Figure pat00072
이다.
3 개의 스칼라 방정식들이 있기 때문에, 자유 파라미터들의 개수는 4 개이어야 하고, 결과적으로 고정된 파라미터들의 개수는 2 개이어야 한다. 다른 경우들은, 임의의 방식으로, 예를 들어, 방법을 중지하고 사용자에게 상호작용을 통해 결정을 도울 것을 요청함으로써, 처리될 수도 있다. 정상적인 경우에, 2 개의 파라미터 값들을 고정시킬 것이 S10 에서 사용자에게 요청된다, 즉:
Figure pat00073
그 다음에, 시스템은 고정되지 않은 파라미터들 (a, d, e, k) 이 방정식의 규칙적인 곡선 해를 정의하는지를 검사한다:
Figure pat00074
이러한 검사는 위에서 언급된 미분 기하학 공식들을:
Figure pat00075
에 의해 정의된 함수
Figure pat00076
에 적용하는 것이다.
함수 (F) 와 연관된 벡터장은
Figure pat00077
이다.
Figure pat00078
3 × 4 매트릭스를 표기하면:
Figure pat00079
이다.
실시예의 방법은 따라서 벡터장 좌표를 계산하며, 벡터장 좌표는 해 곡선의 탄젠트 방향들을 제공함에 따라 "일반화된 외적" 을 정의하고, 이는:
Figure pat00080
이다.
벡터장의 초기 값이 없어지지 않는 경우, 즉,:
Figure pat00081
인 경우,
초기 지점에서 시작하는 해 곡선
Figure pat00082
은 1 차 미분 방정식을 적분함으로써 S20 에서 계산된다:
Figure pat00083
초기 조건과 연관된 것은, 구간 [tmin, tmax] 에 걸쳐 (여기서, tmin < 0 이고 tmax > 0 이다):
Figure pat00084
벡터장이 초기 해에서 없어지는 경우, 즉,
Figure pat00085
인 경우, 해 곡선은 1 차 미분 방정식을 이용하여 계산될 수 없다. 사용자는 하나의 초기 벡터장 값이 넌-제로일 때까지 다른 파라미터들을 고정시키거나/고정시키지 않도록 요청된다. 모든 선택들의 제로 초기 벡터장으로 이어지는 경우, 초기 해
Figure pat00086
는 단항이고, 사용자는 다른 것을 제공하도록 요청된다.
실시예의 방법에서 이용되는 그래픽 사용자 인터페이스가 이제 방법에 의해 제공되는 사용자 경험의 강화를 설명하기 위해 논의된다. 도 6 은 실시예에 대응하는 사용자 인터페이스 (60) 를 도시한다. 사용자 인터페이스 (60) 는 특히 사용자에게 디스플레이되는 일련의 엘리먼트들을 포함한다.
위에서 설명된 바와 같이, 실시예의 방법은 방정식들
Figure pat00087
에 수반되는 변수들 (a, b, c, d, e, k) 을 사용자 상호작용을 통해 고정된 변수들 (b, c) 과 고정되지 않은 변수들 (a, d, e, k) 로 나눈다. 사용자는 그 다음에 고정된 변수들에 대한 고정된 값들을 설정하거나/정의함으로써, 시스템을 1 과 동일한 자유도를 갖는 제한된 시스템으로 설정한다. 이는 디스플레이된 표 (67) 의 변수 이름들 옆의 컬럼 (68) 에서의 검사 지점들, 및 컬럼 (69) 에서의 고정된 변수들에 의해 취해진 값들의 흐린 부분 (실시예의 경우에 b 에 대한 1.566 및 c 에 대한 3.559) 에 의해 표현된다. 방법은 그 다음에 고정되지 않은 변수들의 도메인에서 제한된 시스템의 해들의 파라미터화된 곡선을 계산한다.
그 다음에, 실시예의 경우에, 방법은, 고정되지 않은 변수들의 모든 쌍들에 대해, 직교함수계 (orthonormal) 프레임들 (71, 72, 73, 74, 75, 76) 로서 표현되는, 쌍의 도메인들의 프로덕트에서의 곡선의 투영들 (61, 62, 63, 64, 65, 66) 을 디스플레이한다. 사용자는 그 다음에, 파라미터화된 곡선 상에서 해들을 네비게이팅하고, 방법은 실시간으로 곡선의 각각의 디스플레이된 투영 상에서의 현재 네비게이션 위치를 표현하며, 이는 곡선의 각각의 디스플레이된 투영 상의 지점 (81, 86) (실시예의 경우에 3 개의 지점) 으로서 수행된다 (도면에서는 간결함으로 위해 6 개의 포인트들 중 오직 2 개의 지점들만이 참조된다).
네비게이션은 사용자에게 디스플레이되고 제한된 시스템의 해들의 계산된 파라미터화된 곡선 아래에 있는 파라미터에 대응하는 커서 (t) 를 슬라이딩함으로써 (즉, 시각적 연속성을 갖는 평활화 방법으로, 즉, 지점 (81, 86) 의 시각적 "점프" 없음) 쉽게 연속적으로 수행된다. 커서 (t) 가 슬라이딩됨에 따라, 현재 네비게이션 지점을 표현하는 지점들 (81, 86) 이 또한 곡선 투영들 (61, 62, 63, 64, 65, 66) 상에서 슬라이딩한다. 이는 사용자가 변수들의 쌍들 사이의 상관관계/상호의존성/상호 영향을 이해하는 것을 허용한다. 또한, 경계들 (tmax 및 tmin) 이 동일한 바 (bar) 상에 커서들로서 사용자에게 디스플레이된다. 사용자는 바 상의 커서들을 슬라이딩시킴으로써 경계들을 수정할 수도 있다. 그러한 커서들은 특정 직관적 네비게이션을 허용한다. 또한, 네비게이션이 실시간으로 수행됨에 따라, 사용자 인터페이스 (60) 는 (고정된 변수들 (b 및 c) 을 제외하고) 컬럼 (69) 에 들어 있는 값들을 실시간으로 업데이트한다.
직교함수계 프레임들 (71, 72, 73, 74, 75, 76) 은 X 축 및 Y 축이 쌍의 도메인들의 프로덕트에서 곡선의 투영이 표현되는 고정되지 않은 변수들의 쌍의 각각의 하나에 각각 대응한다. 예를 들어, 직교함수계 프레임 (71) 의 X 축은 변수 (a) 에 대응하고, 직교함수계 함수 (71) 의 Y 축은 변수 (d) 에 대응하며, 직교함수계 프레임 (71) 은 따라서 해 곡선이 네비게이팅됨에 따라 쌍 (a, d) 에 의해 취해진 값들을 표현한다. 직교함수계 프레임들은 따라서 직교이기 때문에 대응하는 2 개의 변수들 사이의 상관관계/상호의존성의 직관적인 빠른 이해를 허용한다. 그리고, (X 및 Y 축 양자 모두에 대한 유닛 사이즈) 특정 직교함수로 있기 때문에, 후자가 3 개의 표현을 설명하는 것을 허용한다.
실시예에서, 동일한 고정되지 않는 변수에 대응하는 X 축을 갖는 프레임들은 수직으로 정렬되고, 동일한 고정되지 않는 변수에 대응하는 Y 축을 갖는 프레임들은 수평으로 정렬된다. 다시 말해, 프레임들은 수평 행들 및 수직 열들로 디스플레이되고, 동일한 행의 모든 프레임들은 동일한 고정되지 않은 변수에 대응하는 Y 축을 가지고 (예를 들어, 도 6 의 중간 행의 Y 축은 변수 e 에 대응한다), 동일한 열의 모든 프레임들은 동일한 고정되지 않은 변수에 대응하는 X 축을 갖는다 (예를 들어, 도 6 의 중간 열의 X 축은 변수 d 에 대응한다). 이는 쉬운 방식으로 하나의 주어진 변수로 모든 변수들의 상관관계들을 잡아내는 것을 허용하는데, 변수들이 행 또는 열로 정렬되어 모여있기 때문이다.
실시예에서, 세트의 모든 쌍들에 대해, 프레임들은 삼각형 그리드 (triangular grid) 에 따라 특정 배열로 있다. 좀더 일반적으로, 삼각형 그리드인 이러한 배열은, 추후 설명되는 바와 같이, 여러 개의 그러한 삼각형 그리드들이 고정되지 않은 변수들의 각각의 세트 (이는 따라서 그러한 삼각형 표현에 대한 구별되는 세트들로 모인다) 에 대해 각각 디스플레이될 수도 있다는 면에서, 과립상일 수도 있다. 모든 경우에서, 그러한 삼각형 표현은 변수들 사이의 상관관계들의 사용자에 의한 인지적 지각을 증가시킨다.
사용자의 지각을 향상시키기 위해, 곡선들의 투영 상의 현재 네비게이션 위치를 표현하는 것은 곡선들의 투영 상의 현재 네비게이션 위치의 투영의 수평 및 수직 정렬의 마커를 디스플레이하는 것을 포함할 수도 있다. 다시 말해, 현재 네이게이션 위치의 상이한 투영들의 정렬을 강조하는 일부 시각적 정보, 즉, 실시예에서 지점들 (81, 82) 이 사용자에게 디스플레이될 수도 있다. 이러한 마커는 실시예의 경우에 지점들 (81, 82) 을 연결하는 점선들 (88) 로서 디스플레이된다. 이러한 방식으로, 사용자는 변수들 사이의 상관관계들을 더 잘 볼 수 있다.
곡선 세그먼트 경계들 (tmin 및 tmax) 은 곡선을 확장하기 위해 상호작용적으로 조절될 수 있다. 2 차원 투영 곡선들 투영들 (61, 62, 63, 64, 65, 66) 은 다음에서 보다 상세히 삼각형 패턴에 따라 배열된다. 선명한 정사각형 지점들 (82, 87) 은 초기 해를 표현한다. 삼각형 지점들 (81, 86) 은 해 곡선 (61, 66) 상의 현재 해 지점을 표현한다. 사용자는 t 슬라이더를 이용함으로써 곡선을 따라 현재 지점을 이동시킬 수 있다. 점선들 (88) 은 모든 2 차원 투영들 상에서의 현재 해 지점의 관계들을 구체화한다. t 슬라이더를 이동시키는 것은 모든 2D 곡선들 상의 삼각형 지점을 대응하는 점선들과 함께 변위시킨다.
위에서 설명된 바와 같이, 실시예의 방법은 2D 투영들의 특정한 패턴: 삼각형 그리드들을 제공한다. 그래픽 사용자 인터페이스 (60) 의 한 가지 기본적인 특징은 사실 도 6 에서 도시된 "2D 투영들의 패턴" 이다. 공식적으로, 이는 1 부터 m 까지 숫자가 매겨진 m 개의 파라미터들의 세트에 의해 정의된다. 패턴은 평면 삼각형 그리드에 따라 배열된
Figure pat00088
로 표기되는
Figure pat00089
양차원 축 시스템들로 구성되며, 이는 i = 1,...,m-1, j = 1,...,m-1, 및 j ≥ i을 의미한다. 축 시스템 S(i,j) 의 수평 축은 파라미터 숫자 i 로 라벨이 붙여지고, 축 시스템 S(i,j) 의 수직 축은 파라미터 숫자 j+1 로 라벨이 붙여진다. 이러한 방식으로, 그리드의 모든 수평 축이 수직으로 정렬되고, 그리드의 모든 수직 축이 수평으로 정렬된다. 이러한 속성은 수평 선 및 수직 선 (도 6 에서 점선들 (88)) 이 다수의 커서들의 의존성들을 구체화하는 것을 허용한다. 도 7 은 일반적인 경우에서의 삼각형 그리드 및 축 라벨들을 도시한다.
실시예의 방법은 지금까지 하나의 네비게이션 페이즈에 대해 설명되었다. 그러나, 방법이 반복될 수도 있다는 것의 유의된다. 좀더 구체적으로, 파티셔닝하는 단계 (S10), 컴퓨팅하는 단계 (S20), 및 디스플레이하는 단계 (S30) 가 반복될 수도 있다. 그러한 반복은 파티셔닝하는 단계 (S10) 가 2 개의 연이은 반복들 사이에서 상이한 경우에 흥미롭다. 다시 말해, 위에서 설명된 바와 같이 하나의 네비게이션 페이즈를 수행한 후에, 방법은 파티셔닝하는 단계 (S10) 를 다시 반복하여, 고정되지 않은 변수들과 고정된 변수들의 상이한 세팅, 그리고 따라서 초기 시스템의 상이한 제한을 가져올 수도 있다. 계산된 해 곡선은 따라서 또한 이전의 반복 중 하나와 상이할 수도 있고, 그래서 그에 따라 디스플레이하는 단계 (S30) 도 상이할 수도 있다 (특히, 고정되지 않은 변수들이 상이할 수도 있거나 곡선의 투영이 상이할 수도 있다). 이러한 방식으로, 사용자는, 2 개의 상이한 제한된 시스템들의 해 공간이 일반적으로 상이하기 때문에, 이전 반복에서 액세스가능하지 않은, 방정식들의 초기 시스템의 해 공간의 새로운 영역을 네비게이팅할 수 있다. 이는 사용자에게 융통성을 제공한다.
특히, 네비게이션 위치는 2 개의 연이은 반복들 사이의 전이와 같을 수도 있다. 다시 말해, (고정되거나 고정되지 않은) 모든 변수들에 의해 취해진 값들은 S20 의 다음 반복의 해 곡선을 계산하고, S30/S40 의 다음 반복의 시작에서 지점들 (81 및 86) 을 디스플레이하기 위한 (그 다음에 지점들 (82 및 87) 이 틀렸음을 입증하는) 시작 지점으로서 역할을 할 수도 있다. 이는 하나의 해 곡선으로부터 다른 곡선으로의 매끄러운 전이를 허용한다. 이러한 방식으로, 사용자는 곡선을 따름으로써 해 공간을 탐험하며, 매끄럽고 연속적인 방식으로, 네비게이션 페이즈의 하나의 반복에서 다른 반복으로 곡선을 변화시켜, 탐험된 해들의 보다 좋은 해석을 갖는다.
앞서 언급된 바와 같이, 프레임의 삼각형 그리드 디스플레이는 반드시 모든 고정되지 않은 변수에 대해서 뿐만 아니라, 가능하게는 모든 고정되지 않은 변수들의 서브세트(들)에 대해 수행될 수도 있다. 사용자는 실제로 디스플레이하는 단계 (S30) 가 수행되는 고정되지 않은 변수들의 세트(들)를 결정할 수도 있다. 이는 네비게이션 (S40) 의 개선을 허용한다.
고정되지 않은 변수들의 적어도 하나의 세트를 결정하는 것은 특히 하나 이상의 고정되지 않은 변수들을 숨기는 것, 즉, 그것들을 디스플레이하는 단계 (S30) 에서 제외시키는 것을 포함할 수도 있다.
일부 사례들에서, 일부 설계 파라미터들은 네비게이션 목적으로 적절하지 않다. 예를 들어, 기계적 어셈블리를 설계하는 경우, 사용자는 오직 차원 파라미터들에만 관심이 있을 수 있고 위치 파라미터들은 무시하길 원할 것이다. 정의에 의하면, 차원 파라미터들은 어셈블리의 견고한 본체들의 차원들을 설정하고, 위치 파라미터들은 견고한 본체들의 위치들을 설정한다. 이러한 경우에, 사용자는 "숨겨진 파라미터들" 의 세트를 정의할 수 있다. 물론, 그것들은 계산들에 수반되나, 그것들은 2D 투영들로 디스플레이되지 않고, 사용자는 그것들에 대한 수치 값들을 제공할 것이 요청되지 않는다. 숨겨진 파라미터들은, 만약 그것들이 있다면, 시스템에 의해 자유롭게 된다.
예를 들어, 도 8 에서 제한을 넘어서는 4 개의 바들 어셈블리는 방정식
Figure pat00090
의 비선형 시스템에 의해 설계되며, 여기서:
Figure pat00091
이다.
사용자는 통상적으로, 이 실시예에서, 오직 바들의 길이들을 정의하는 차원 파라미터 의존성 (a, b, c, d, e, f) 에만 관심이 있다. 이러한 경우에, 파라미터들 (x, y, u, v) 는 사용자에 의해 "숨겨짐" 으로 설정되고, 시스템은 그것들을 "자유" 로 설정한다. 비선형 시스템이 5 개의 방정식들을 특징으로 하기 때문에, 정확히 6 개의 파라미터들이 네비게이션 목적으로 자유롭게 되어야 한다. 4 개의 숨겨진 파라미터들은 이미 자유롭기 때문에, 사용자는 6 개의 차원 파라미터들 중에서 4 개의 값을 고정시킬 것 (즉, a=a0, b=b0, c=c0, 및 d=d0) 이 요청된다. 그 다음에, 시스템의 관점으로부터,
Figure pat00092
Figure pat00093
에 의해 정의되는 부분 함수
Figure pat00094
를 고려하여 하나의 DOF 비선형 시스템
Figure pat00095
에 대해 네비게이션이 수행된다. 이는 네비게이션 곡선이 6 개 차원의 공간에서 계산된다는 것을 의미한다:
Figure pat00096
그러나, 사용자의 관점에서는, 곡선 세그먼트
Figure pat00097
는, 도 9 에서 표현되는 바와 같이, e, f 파라미터들의 2D 공간에서 디스플레이된다. 그 후에, 사용자는 임의의 방식으로 다른 차원 파라미터들을 자유롭게하고 고정시킬 수 있으며, (예를 들어) 그것들 중 오직 2 개만을 자유롭게 제공한다.
또한, 고정되지 않은 변수들의 적어도 하나의 세트를 결정하는 것은 숨겨지지 않은 고정되지 않은 변수들의 그룹을 세트들로 분할하는 것을 포함할 수도 있다. 다시 말해, 디스플레이하는 단계 (S30) 에서 수반되는 고정되지 않은 변수들은 상이한 그룹들로 분리될 수도 있으며, 예를 들어, 각각의 그룹에 대해 각각 삼각형 그리드에 따라, 별도로 각각 표현된다. 그러한 경우에, 디스플레이하는 단계에서 수반되는 고정되지 않은 변수들의 쌍들은 모든 그룹들에 대해 결정된 모든 쌍들이 아니고, 각각의 그룹에 대한 동일한 그룹 내에 있는 쌍들이다.
의미상, 설계 파라미터들의 세트를 서브세트들로 분할하는 것이 유용할 수도 있다. 예를 들어, 기계적 어셈블리를 설계하는 경우, 차원 파라미터들의 서브세트 및 위치 파라미터들의 서브세트는 적절한 분류이다.
본 발명의 사용자 인터페이스는 설계 파라미터들의 각각의 서브세트에 대한 2D 투영들의 일 패턴 (도 10 에 표현된 바와 같이, 변수들 (a, b, c) 에 대해서는 삼각형 패턴 (102), 그리고 변수들 (u, v, y) 에 대해서는 삼각형 패턴 (104)) 을 디스플레이한다. m 을 설계 파라미터들의 수라고 하고, q 는 서브세트들의 수, 그리고 mi (
Figure pat00098
) 는 i 번째 서브세트에서 설계 파라미터들의 수라고 하자. m 개의 파라미터들에 의해 정의된 2D 투영들의 하나의 패턴 대신에, 시스템은 mi 파라미터들에 의해 각각 정의되는 2D 투영들의 q 개의 패턴들을 디스플레이한다. 결과적으로, 2D 축 시스템들의 개수는
Figure pat00099
에서
Figure pat00100
으로 감소된다. 또한, 설계 파라미터들의 각각의 서브세트과 연관된 2D 투영들의 패턴들은 별도로 디스플레이되어, 사용자 인터페이스를 더욱 간결하게 한다.
설계 파라미터들의 서브세트들은 연결되지 않는 것으로 가정되지는 않는다는 것이 유의되어야 한다. 2 개의 서브세트들은 설계 파라미터들을 공유할 수도 있다. 2D 투영들의 여러 개의 패턴들을 디스플레이하는 경우일지라도, 시스템은 항상 고유한 t 슬라이더를 디스플레이하며, 이는 모든 2D 커브 세그먼트들의 모든 커서들을 구동한다. 예를 들어,
Figure pat00101
인 문제로 돌아가면, 사용자는 설계 파라미터들의 2 개의 서브세트들: 차원 파라미터들 (a, b, c, d, e, f) 및 위치 파라미터들 (x, y, u, v) 을 생성한다. 방정식
Figure pat00102
이 5 개의 스칼라 방정식들을 포함하기 때문에, 사용자는 4 개의 설계 파라미터들에 대한 수치 값들을 설정할 것 (즉, d=d0, e=e0, f=f0, 및 x=x0) 이 요청된다. 시스템은 부분 함수
Figure pat00103
을 고려하여 6 개 차원 공간에서 곡선 세그먼트를 계산한다. 서브세트들 정의에 따르면, 시스템은, 도 10 에 도시되는 바와 같이, {a,b,c} 및 {y,u,v} 에 의해 각각 정의되는 2D 투영들의 2 개의 패턴들을 디스플레이한다.
이러한 실시예에서는, 서브세트들 정의 덕분에, 2D 곡선들의 개수가 6 이며, 이는 6 개의 설계 파라미터들에 의해 정의되는 2D 곡선들의 전체 개수인 15 개보다 훨씬 적다.

Claims (15)

  1. 변수들을 포함하는 방정식들의 시스템에 의해 제약된 물리적 시스템을 설계하는 컴퓨터 구현된 방법으로서,
    Figure pat00104
    상기 방정식들 내에 포함된 상기 변수들을 고정 변수들 및 비고정 변수들로 파티셔닝하여, 상기 시스템을 1과 동일한 자유도를 갖는 제한된 시스템으로 설정하는 단계 (S10),
    Figure pat00105
    상기 비고정 변수들의 도메인에서 상기 제한된 시스템의 솔루션들의 파라미터화된 곡선을 컴퓨팅하는 단계 (S20),
    Figure pat00106
    비고정 변수들의 적어도 한 쌍에 대해, 상기 쌍의 도메인들의 프로덕트 (product) 로 상기 곡선의 투영을 디스플레이하는 단계 (S30), 및
    Figure pat00107
    상기 파라미터화된 곡선 상의 상기 솔루션들을 네비게이팅하고, 상기 곡선의 투영 상에 현재의 네비게이션 위치를 실시간으로 표현하는 단계 (S40) 를 포함하는, 물리적 시스템을 설계하는 컴퓨터 구현된 방법.
  2. 제 1 항에 있어서,
    상기 곡선의 투영은 X-축 및 Y-축 각각이 비고정 변수들의 상기 쌍 중 각각의 비고정 변수에 대응하는 직교함수계 프레임에서 디스플레이되는, 물리적 시스템을 설계하는 컴퓨터 구현된 방법.
  3. 제 2 항에 있어서,
    상기 곡선의 투영을 디스플레이하는 단계 (S30) 는 비고정 변수들의 수개의 쌍들, 수직적으로 정렬되는 동일한 비고정 변수에 대응하는 X-축을 갖는 프레임들 및 수평적으로 정렬되는 동일한 비고정 변수에 대응하는 Y-축을 갖는 프레임들에 대해 수행되는, 물리적 시스템을 설계하는 컴퓨터 구현된 방법.
  4. 제 3 항에 있어서,
    상기 디스플레이하는 단계는, 비고정 변수들의 적어도 하나의 세트에 대해, 상기 세트의 모든 쌍들에 대해 수행되며,
    상기 프레임들은 삼각형 그리드에 따라 배열되는, 물리적 시스템을 설계하는 컴퓨터 구현된 방법.
  5. 제 4 항에 있어서,
    상기 곡선들의 투영 상의 현재의 네비게이션 위치를 표현하는 단계는 상기 곡선들의 투영 상에 현재의 네비게이션 위치의 투영의 수평적 및 수직적 정렬의 마커 (marker) 를 디스플레이하는 단계를 포함하는, 물리적 시스템을 설계하는 컴퓨터 구현된 방법.
  6. 제 5 항에 있어서,
    파티셔닝하는 단계 (S10), 상기 컴퓨팅하는 단계 (S20) 및 상기 디스플레이하는 단계 (S30) 는 반복되고,
    상기 파티셔닝하는 단계 (S10) 는 2 개의 계속적인 반복들 사이에 상이한, 물리적 시스템을 설계하는 컴퓨터 구현된 방법.
  7. 제 6 항에 있어서,
    상기 네이게이션 위치는 2 개의 계속적인 반복들 사이의 천이에서 동일한, 물리적 시스템을 설계하는 컴퓨터 구현된 방법.
  8. 제 7 항에 있어서,
    상기 네비게이팅하는 단계 (S40) 는 연속적인, 물리적 시스템을 설계하는 컴퓨터 구현된 방법.
  9. 제 8 항에 있어서,
    상기 네비게이팅하는 단계는, 사용자에 의해, 디스플레이된 커서를 슬라이딩하는 것을 포함하는, 물리적 시스템을 설계하는 컴퓨터 구현된 방법.
  10. 제 9 항에 있어서,
    상기 방법은 사용자에 의해 상기 비고정 변수들의 적어도 하나의 세트를 결정하는 단계를 포함하는, 물리적 시스템을 설계하는 컴퓨터 구현된 방법.
  11. 제 10 항에 있어서,
    상기 비고정 변수들의 적어도 하나의 세트를 결정하는 단계는 하나 이상의 비고정 변수들을 숨기는 것 및/또는 비숨김 비고정 변수들의 그룹을 세트들로 분할하는 것을 포함하는, 물리적 시스템을 설계하는 컴퓨터 구현된 방법.
  12. 제 11 항에 있어서,
    상기 물리적 시스템은 기계적 제품, 기계전자공학 제품, 전기 제품, 생체, 패키징 제품, 건축 제품, 멀티-피직 (multi-physic) 시스템, 재정 시스템, 또는 인구통계학적 진화 모델인, 물리적 시스템을 설계하는 컴퓨터 구현된 방법.
  13. 제 1 항 내지 제 12 항 중 어느 한 항에 기재된 방법을 수행하는 명령들을 포함하는 컴퓨터 프로그램.
  14. 제 13 항에 기재된 컴퓨터 프로그램을 기록한 컴퓨터 판독가능 저장 매체.
  15. 제 13 항에 기재된 컴퓨터 프로그램을 기록한 메모리 및 그래픽 사용자 인터페이스에 커플링된 프로세서를 포함하는 컴퓨터 시스템.
KR1020150024506A 2014-02-21 2015-02-17 방정식들에 의해 제약된 물리적 시스템의 설계 KR20150099464A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14305243.9A EP2911072B1 (en) 2014-02-21 2014-02-21 Designing a physical system constrained by equations
EP14305243.9 2014-02-21

Publications (1)

Publication Number Publication Date
KR20150099464A true KR20150099464A (ko) 2015-08-31

Family

ID=50774795

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150024506A KR20150099464A (ko) 2014-02-21 2015-02-17 방정식들에 의해 제약된 물리적 시스템의 설계

Country Status (6)

Country Link
US (1) US10496784B2 (ko)
EP (1) EP2911072B1 (ko)
JP (1) JP6437847B2 (ko)
KR (1) KR20150099464A (ko)
CN (1) CN104866645B (ko)
CA (1) CA2882539A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016224457A1 (de) * 2016-11-29 2018-05-30 Siemens Aktiengesellschaft Verfahren zur Prüfung, Vorrichtung und Computerprogrammprodukt
US20190057180A1 (en) * 2017-08-18 2019-02-21 International Business Machines Corporation System and method for design optimization using augmented reality
EP3502931B1 (en) 2017-12-24 2023-03-15 Dassault Systèmes Designing a part by topology optimization
US20210374295A1 (en) * 2018-10-22 2021-12-02 Covestro Llc Techniques to custom design products
EP3971755A1 (en) * 2020-09-17 2022-03-23 Bricsys NV Geometry-driven parameters in computer-aided design
CN115034096B (zh) * 2022-08-10 2022-12-09 深圳市信润富联数字科技有限公司 基于冲压信号的建模方法及装置、存储介质、电子设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8600831A (nl) * 1986-04-02 1987-11-02 Oce Nederland Bv Werkwijze voor het opwekken en bewerken van modellen van twee- of driedimensionale objecten in een computer en voor het weergeven van die modellen op een display.
US5253189A (en) * 1989-06-13 1993-10-12 Schlumberger Technologies, Inc. Qualitative kinematics
US5805858A (en) * 1994-04-28 1998-09-08 Omron Corporation Apparatus and method of automatically creating supplemental segment in two-dimensional drawings, and CAD/CAM system having function of automatically creating supplemental segment in two-dimensional drawings
US5835693A (en) * 1994-07-22 1998-11-10 Lynch; James D. Interactive system for simulation and display of multi-body systems in three dimensions
JP3361007B2 (ja) * 1995-11-07 2003-01-07 富士通株式会社 リンク機構解析装置
US6268871B1 (en) * 1997-04-30 2001-07-31 Silicon Graphics, Inc. Generating a curve for computer graphics through points residing on underlying geometries in a three dimensional space
JP2002324088A (ja) * 2001-04-24 2002-11-08 Hitachi Ltd 構造物の設計支援装置
US7378649B2 (en) * 2005-10-17 2008-05-27 Varian, Inc. Simplex optimization methods for instrumentation tuning
JP2011048768A (ja) * 2009-08-28 2011-03-10 Hitachi Ltd 最適設計装置
JP5860237B2 (ja) * 2011-07-26 2016-02-16 アズビル株式会社 パラメータ決定方法および装置
JP2013160710A (ja) * 2012-02-08 2013-08-19 Shimadzu Corp 放射線撮影装置および投影画像処理方法
US9081378B2 (en) * 2012-02-10 2015-07-14 General Electric Company Methods and apparatuses for advanced multiple variable control with high dimension multiple constraints
CN105068420A (zh) * 2015-05-08 2015-11-18 南昌航空大学 一种区间约束的非仿射不确定系统自适应控制方法

Also Published As

Publication number Publication date
JP2015158913A (ja) 2015-09-03
JP6437847B2 (ja) 2018-12-12
CA2882539A1 (en) 2015-08-21
CN104866645B (zh) 2022-06-07
US10496784B2 (en) 2019-12-03
CN104866645A (zh) 2015-08-26
EP2911072B1 (en) 2023-04-05
EP2911072A1 (en) 2015-08-26
US20150242366A1 (en) 2015-08-27

Similar Documents

Publication Publication Date Title
KR101649096B1 (ko) 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법 및 시스템
KR101669050B1 (ko) 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법 및 시스템
JP6356378B2 (ja) 幾何学的三次元モデルオブジェクトを設計する方法
CN105761303B (zh) 在3d建模组件上创建包围盒
CN107092741B (zh) 使用面轨迹的b-rep设计
KR20150099464A (ko) 방정식들에 의해 제약된 물리적 시스템의 설계
US10255381B2 (en) 3D modeled object defined by a grid of control points
KR20160024825A (ko) 순차적 업데이트의 실행
CN105760570A (zh) 选择对象集的视点
KR20160024824A (ko) 순차적 업데이트를 위한 기준
CN104965938A (zh) 通过使用由几何约束连接的几何形状来设计工业产品
KR102055952B1 (ko) 오브젝트들의 원형 스태거드 패턴의 설계
CN109145352B (zh) 用于学习取图像作为输入的函数的数据集

Legal Events

Date Code Title Description
WITB Written withdrawal of application