KR102423745B1 - A method for implementing forward kinematics of motion platform based on 3d-model running engine - Google Patents

A method for implementing forward kinematics of motion platform based on 3d-model running engine Download PDF

Info

Publication number
KR102423745B1
KR102423745B1 KR1020200165525A KR20200165525A KR102423745B1 KR 102423745 B1 KR102423745 B1 KR 102423745B1 KR 1020200165525 A KR1020200165525 A KR 1020200165525A KR 20200165525 A KR20200165525 A KR 20200165525A KR 102423745 B1 KR102423745 B1 KR 102423745B1
Authority
KR
South Korea
Prior art keywords
model
plate
motion platform
motion
joint
Prior art date
Application number
KR1020200165525A
Other languages
Korean (ko)
Other versions
KR20220076736A (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 주식회사 젠스템
Priority to KR1020200165525A priority Critical patent/KR102423745B1/en
Publication of KR20220076736A publication Critical patent/KR20220076736A/en
Application granted granted Critical
Publication of KR102423745B1 publication Critical patent/KR102423745B1/en

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • G09B9/02Simulators for teaching or training purposes for teaching control of vehicles or other craft
    • G09B9/08Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of aircraft, e.g. Link trainer
    • G09B9/12Motion systems for aircraft simulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Processing Or Creating Images (AREA)

Abstract

3차원 모델 구동 엔진을 기반으로 모션 플랫폼 (Motion-platform) 의 순기구학 (Forward-kinematics) 을 구현하기 위한 방법이 제공된다. 모션 플랫폼은 복수의 구동기 (Actuator) 및 복수의 구동기에 의해 움직임 (Motion) 이 제어되는 플레이트를 포함한다. 방법은, 3차원 모델 구동 엔진 내에서, 하부 지지대 모델, 플레이트 모델, 복수의 구동기 모델 및 상기 복수의 구동기 모델 각각을 상기 플레이트 모델에 결합시키는 복수의 조인트 모델을 구성하는 단계와, 상기 3차원 모델 구동 엔진 내에서, 상기 복수의 구동기 모델 각각의 길이를 제어 명령에 따른 길이로 변경시키는 단계, 그리고 상기 3차원 모델 구동 엔진 내에서, 복수의 조인트 단부 - 여기서, 상기 조인트 단부는 상기 구동기 모델의 상기 조인트 모델에 결합되는 단부를 나타냄 - 와 상기 플레이트 모델 간의 거리가 최소화되는 시점에 상기 플레이트 모델의 상태에 대한 값을 결정하는 단계를 포함한다. A method for implementing forward-kinematics of a motion-platform based on a three-dimensional model driving engine is provided. The motion platform includes a plurality of actuators and a plate whose motion is controlled by the plurality of actuators. The method comprises the steps of constructing, in a three-dimensional model driving engine, a lower support model, a plate model, a plurality of actuator models, and a plurality of joint models coupling each of the plurality of actuator models to the plate model; changing, in a driving engine, a length of each of the plurality of actuator models to a length according to a control command, and in the three-dimensional model driving engine, a plurality of joint ends, wherein the joint ends are the lengths of the actuator models. indicating an end coupled to the joint model - and determining a value for the state of the plate model at a point in time when the distance between the plate model is minimized.

Description

3차원 모델 구동 엔진을 기반으로 모션 플랫폼의 순기구학을 구현하기 위한 방법{A METHOD FOR IMPLEMENTING FORWARD KINEMATICS OF MOTION PLATFORM BASED ON 3D-MODEL RUNNING ENGINE}A method for implementing forward kinematics of a motion platform based on a 3D model driving engine {A METHOD FOR IMPLEMENTING FORWARD KINEMATICS OF MOTION PLATFORM BASED ON 3D-MODEL RUNNING ENGINE}

본 발명은 모션 플랫폼에 관한 것으로서, 보다 구체적으로는 3차원 모델 구동 엔진을 이용하여 모션 플랫폼의 순기구학을 구현하기 위한 방법에 관한 것이다. The present invention relates to a motion platform, and more particularly, to a method for implementing forward kinematics of a motion platform using a three-dimensional model driving engine.

유인비행체 가상훈련 시뮬레이터 (Manned Flight Virtual Training Simulator) 는 유인항공기에서 발생할 수 있는 가상의 환경과 상황을 제공하여 훈련자에게 실제와 유사한 훈련 효과를 제공하는 장비이다. Manned Flight Virtual Training Simulator is an equipment that provides a virtual environment and situation that can occur in a manned aircraft to provide trainees with training effects similar to the real one.

예를 들어 유인비행체 가상훈련 시뮬레이터와 같은 시뮬레이터는, 시청각적 모사와 함께 시뮬레이터 이용자에게 모의 대상 개체에 탑승한 것과 유사한 움직임을 제공하도록 구성된다. 이와 같은 움직임의 모사를 제공하기 위해 예를 들어 스튜어트 플랫폼 (Stewart-platform) 과 같은 모션 플랫폼이 사용될 수 있다. For example, a simulator, such as a manned vehicle virtual training simulator, is configured to provide a simulator user with a motion similar to riding on a simulated object, along with an audiovisual simulation. A motion platform such as, for example, a Stewart-platform may be used to provide a simulation of such a motion.

스튜어트 플랫폼은 1965년에 Stewart에 의하여 제안된 병렬 운동기구이며, 비행체운동을 시뮬레이션하기 위하여 병렬로 연결된 6개의 구동 액튜에이터 (Actuator) 를 이용한 병렬 운동기구로서 제안되었다. 이러한 기구는 비행체나 헬리콥터 등과 같이 고도로 숙련된 조종술을 요구하는 조종사의 훈련을 보다 안전하고 효과적으로 수행하기 위하여 개발되어 왔으며, 근래에는 시뮬레이션을 위한 시뮬레이터로 응용분야가 점차 확대되어가고 있다. The Stewart platform is a parallel exercise apparatus proposed by Stewart in 1965, and was proposed as a parallel exercise apparatus using six actuators connected in parallel to simulate the motion of an aircraft. Such an apparatus has been developed to more safely and effectively train pilots who require highly skilled maneuvers, such as aircraft or helicopters, and in recent years, the application field is gradually expanding as a simulator for simulation.

관련하여, 스튜어트 플랫폼과 같은 모션 플랫폼을 제어하기 위해서는 기구학 해석이 고려될 수 있다. 기구학 해석은 모션 플랫폼을 구성하는 각각의 구동기 (Actuator) 의 길이에 대한 정보를 기반으로 플랫폼의 형상을 계산하는 순기구학 해석과, 플랫폼의 형상을 기반으로 각 구동기의 길이를 계산하는 역기구학 해석을 포함한다. 여기서, 모션 플랫폼의 보다 신속하고 정확한 제어, 또는 모션 플랫폼의 성능 평가를 위해서는 개선된 순기구학의 구현 방법이 요구된다. In this regard, kinematic analysis may be considered to control a motion platform such as a Stewart platform. Kinematic analysis consists of forward kinematic analysis, which calculates the shape of the platform based on information on the length of each actuator that composes the motion platform, and inverse kinematics analysis, which calculates the length of each actuator based on the shape of the platform. include Here, a method for implementing an improved forward kinematics is required for more rapid and accurate control of the motion platform or performance evaluation of the motion platform.

한국 공개특허공보 제 10-2015-0117309 호 ("탑승형 스튜어트 플랫폼을 이용한 가상환경 멀미 극복 장치 및 방법", 한국전자기술연구원)Korean Patent Laid-Open Publication No. 10-2015-0117309 ("Apparatus and method for overcoming motion sickness in a virtual environment using a Stewart boarding platform", Korea Electronics Technology Institute)

전술한 문제점을 해결하기 위한 본 발명의 일 목적은 예를 들어 유니티 (Unity) 3D 와 같은 3차원 모델 구동 엔진을 이용하여 모션 플랫폼에 대한 순기구학을 구현하는 것에 의해, 보다 용이하고 신속하게 모션 플랫폼에 대한 순기구학을 구현할 수 있을 뿐만 아니라, 이미지 렌더링을 포함하여 가시적인 효과를 부여할 수 있는 모션 플랫폼의 순기구학을 구현하기 위한 방법을 제공하는 것이다. One object of the present invention for solving the above problems is, for example, by implementing a forward kinematics for the motion platform using a three-dimensional model driving engine such as Unity 3D, more easily and quickly the motion platform It is to provide a method for implementing the forward kinematics of a motion platform that can not only implement forward kinematics for , but also provide visible effects including image rendering.

전술한 문제점을 해결하기 위한 본 발명의 다른 목적은 본 발명의 실시예들에 따른 3차원 모델 구동 엔진을 이용한 순기구학을 이용함으로써, 비교적 낮은 비용으로도 모션 플랫폼이 제어 명령을 충실히 수행하는지 여부를 평가할 수 있도록 하는 모션 플랫폼의 성능 평가 방법을 제공하는 것이다. Another object of the present invention for solving the above-mentioned problems is by using a forward kinematics using a three-dimensional model driving engine according to embodiments of the present invention, whether the motion platform faithfully performs a control command even at a relatively low cost. It is to provide a performance evaluation method of the motion platform that can be evaluated.

다만, 본 발명의 해결하고자 하는 과제는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.However, the problems to be solved by the present invention are not limited thereto, and may be variously expanded without departing from the spirit and scope of the present invention.

전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 3차원 모델 구동 엔진을 기반으로 모션 플랫폼 (Motion-platform) 의 순기구학 (Forward-kinematics) 을 구현하기 위한 방법에 있어서, 상기 모션 플랫폼은 복수의 구동기 (Actuator) 및 상기 복수의 구동기에 의해 움직임 (Motion) 이 제어되는 플레이트를 포함하고, 상기 방법은, 상기 3차원 모델 구동 엔진 내에서, 하부 지지대 모델, 플레이트 모델, 복수의 구동기 모델 및 상기 복수의 구동기 모델 각각을 상기 플레이트 모델에 결합시키는 복수의 조인트 모델을 구성하는 단계; 상기 3차원 모델 구동 엔진 내에서, 상기 복수의 구동기 모델 각각의 길이를 제어 명령에 따른 길이로 변경시키는 단계; 및 상기 3차원 모델 구동 엔진 내에서, 복수의 조인트 단부 - 여기서, 상기 조인트 단부는 상기 구동기 모델의 상기 조인트 모델에 결합되는 단부를 나타냄 - 와 상기 플레이트 모델 간의 거리가 최소화되는 시점에 상기 플레이트 모델의 상태에 대한 값을 결정하는 단계를 포함할 수 있다. In a method for implementing forward-kinematics of a motion-platform based on a three-dimensional model driving engine according to an embodiment of the present invention for achieving the above object, the motion platform comprises: a plurality of actuators and a plate whose motion is controlled by the plurality of actuators, wherein the method comprises, in the three-dimensional model driving engine, a lower support model, a plate model, a plurality of actuator models, and constructing a plurality of joint models for coupling each of the plurality of actuator models to the plate model; changing the length of each of the plurality of driver models to a length according to a control command in the three-dimensional model driving engine; and in the three-dimensional model driving engine, a plurality of joint ends, wherein the joint ends represent an end coupled to the joint model of the actuator model, and the plate model at a point in time when the distance between the plate model is minimized. determining a value for the state.

일 측면에 따르면, 상기 복수의 조인트 모델은, 복수의 상기 조인트 단부와 상기 플레이트 모델 간의 거리가 변동 가능하도록 탄성을 가지도록 구성될 수 있다. According to one aspect, the plurality of joint models may be configured to have elasticity so that a distance between the plurality of joint ends and the plate model is variable.

일 측면에 따르면, 상기 플레이트 모델의 상태에 대한 값은, 상기 플레이트 모델의 위치에 대한 값 및 상기 플레이트 모델의 각도에 대한 값을 포함할 수 있다. According to one aspect, the value for the state of the plate model may include a value for the position of the plate model and a value for the angle of the plate model.

일 측면에 따르면, 상기 3차원 모델 구동 엔진은 유니티 (Unity) 3D 프로그램을 포함할 수 있다. According to one aspect, the 3D model driving engine may include a Unity 3D program.

일 측면에 따르면, 상기 방법은, 상기 플레이트 모델 또는 상기 조인트 모델 중 적어도 하나에 대한 파라미터를 설정하는 것에 의해 상기 모션 플랫폼에 대한 순기구학 구현 성능이 조정될 수 있다. According to an aspect, in the method, performance of implementing forward kinematics for the motion platform may be adjusted by setting a parameter for at least one of the plate model and the joint model.

일 측면에 따르면, 상기 플레이트 모델에 대한 파라미터는, 상기 플레이트 모델의 질량, 상기 플레이트 모델의 저항력 또는 상기 플레이트 모델의 회전 저항력 중 적어도 하나에 대한 설정값을 포함하고, 상기 조인트 모델에 대한 파라미터는, 상기 조인트 모델의 질량, 상기 조인트 모델의 저항력 또는 상기 조인트 모델의 회전 저항력 중 적어도 하나에 대한 설정값을 포함할 수 있다. According to one aspect, the parameter for the plate model includes a set value for at least one of a mass of the plate model, a resistance force of the plate model, or a rotation resistance force of the plate model, and the parameter for the joint model includes: It may include a set value for at least one of a mass of the joint model, a resistance force of the joint model, or a rotation resistance force of the joint model.

일 측면에 따르면, 상기 구동기 모델의 상기 하부 지지대 모델에 대한 연결부는 X, Y, Z 축에 대한 이동 및 회전이 제한되도록 구성될 수 있다. According to one aspect, the connection part of the actuator model to the lower support model may be configured to restrict movement and rotation about the X, Y, and Z axes.

전술한 문제점을 해결하기 위한 본 발명의 다른 실시예에 따른 성능 평가 방법은, 복수의 구동기 (Actuator) 및 상기 복수의 구동기에 의해 움직임 (Motion) 이 제어되는 플레이트를 포함하는 모션 플랫폼 (Motion-platform) 에 대한 성능 평가 방법으로서, 모션 플랫폼의 제어 목표 상태에 대한 제어 명령을 생성하는 단계; 상기 제어 명령에 따라 상기 모션 플랫폼의 복수의 구동기를 제어하는 단계; 제 1 항에 따른 모션 플랫폼의 순기구학 구현 방법을 기반으로, 상기 복수의 구동기 모델 각각의 길이를 상기 복수의 구동기의 측정된 길이로 변경시키는 것에 의해 상기 플레이트 모델의 상태에 대한 값을 결정하는 단계; 및 상기 제어 목표 상태와 상기 플레이트 모델의 상태에 대한 값을 기반으로 상기 모션 플랫폼의 성능을 평가하는 단계를 포함할 수 있다. Performance evaluation method according to another embodiment of the present invention for solving the above-described problems, a plurality of actuators (Actuator) and a motion-platform including a plate whose motion is controlled by the plurality of actuators (Motion-platform) ) ), comprising the steps of: generating a control command for a control target state of a motion platform; controlling a plurality of actuators of the motion platform according to the control command; Determining a value for the state of the plate model by changing the length of each of the plurality of actuator models to the measured length of the plurality of actuators, based on the forward kinematics implementation method of the motion platform according to claim 1 . ; and evaluating the performance of the motion platform based on values for the control target state and the state of the plate model.

일 측면에 따르면, 상기 복수의 구동기의 측정된 길이는, 상기 복수의 구동기들 각각에 구비된 엔코더 (Encoder) 를 기반으로 측정될 수 있다. According to one aspect, the measured lengths of the plurality of drivers may be measured based on encoders provided in each of the plurality of drivers.

일 측면에 따르면, 상기 모션 플랫폼에 대한 성능 평가는, 상기 플레이트의 위치 및 각도 중 적어도 하나에 대한 상태 평가; 상기 플레이트의 위치 및 각도 중 적어도 하나에 대한 변화 속도 평가; 또는 상기 플레이트의 위치 및 각도 중 적어도 하나에 대한 변화의 가속도 평가 중 적어도 하나를 포함할 수 있다. According to one aspect, the performance evaluation of the motion platform may include: evaluating a state of at least one of a position and an angle of the plate; evaluating a rate of change for at least one of a position and an angle of the plate; Alternatively, it may include at least one of evaluating an acceleration of a change with respect to at least one of a position and an angle of the plate.

개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology may have the following effects. However, this does not mean that a specific embodiment should include all of the following effects or only the following effects, so the scope of the disclosed technology should not be construed as being limited thereby.

전술한 본 발명의 일 실시예에 따른 3차원 모델 구동 엔진을 기반으로 모션 플랫폼 (Motion-platform) 의 순기구학 (Forward-kinematics) 을 구현하기 위한 방법에 따르면, 예를 들어 유니티 (Unity) 3D 와 같은 3차원 모델 구동 엔진을 이용하여 모션 플랫폼에 대한 순기구학을 구현하는 것에 의해, 보다 용이하고 신속하게 모션 플랫폼에 대한 순기구학을 구현할 수 있을 뿐만 아니라, 이미지 렌더링을 포함하여 가시적인 효과를 부여할 수 있는 모션 플랫폼의 순기구학을 구현할 수 있다. According to the method for implementing forward-kinematics of a motion-platform based on the three-dimensional model driving engine according to an embodiment of the present invention described above, for example, Unity 3D and By implementing the forward kinematics for the motion platform using the same 3D model driving engine, it is possible to implement forward kinematics for the motion platform more easily and quickly, as well as to provide visual effects including image rendering. It is possible to implement the forward kinematics of a possible motion platform.

또한, 본 발명의 실시예들에 따른 3차원 모델 구동 엔진을 이용한 순기구학을 이용함으로써, 비교적 낮은 비용으로도 모션 플랫폼이 제어 명령을 충실히 수행하는지 여부를 평가할 수 있도록 하는 모션 플랫폼의 성능 평가가 가능하다. In addition, by using the forward kinematics using the 3D model driving engine according to the embodiments of the present invention, it is possible to evaluate the performance of the motion platform to evaluate whether the motion platform faithfully executes the control command even at a relatively low cost do.

도 1 은 스튜어트 플랫폼을 활용한 시뮬레이터의 예시도이다.
도 2 는 본 발명의 일 실시예에 따른 모션 플랫폼의 구성을 나타낸다.
도 3 은 예시적인 모션 플랫폼의 구동 사양을 나타낸다.
도 4 는 모션 고전 제어 (Classical-motion-control) 의 블록 구조도를 나타낸다.
도 5 는 모션 고전 제어에 대한 설명도이다.
도 6 은 일 측면에 따른 회전 변환을 수반하는 모션 플랫폼에 대한 제어의 블록 구조도를 나타낸다.
도 7 은 본 발명의 일 실시예에 따른 모션 플랫폼의 순기구학 구현 방법의 흐름도이다.
도 8 은 일 측면에 따른 순기구학의 파라미터들에 대한 예시도이다.
도 9 는 본 발명의 일 실시예에 따른 3차원 모델 구동 엔진 기반 모션 플랫폼의 순기구학 구현의 예시도이다.
도 10 은 도 9 의 조인트 모델의 확대도이다.
도 11 은 본 발명의 일 실시예에 따른 모션 플랫폼의 성능 평가 방법의 흐름도이다.
도 12 는 본 발명의 일 실시예에 따른 제어 방법이 구동될 수 있는 컴퓨팅 시스템의 구성을 나타내는 블록도이다.
1 is an exemplary diagram of a simulator using the Stewart platform.
2 shows the configuration of a motion platform according to an embodiment of the present invention.
3 shows driving specifications of an exemplary motion platform.
4 is a block diagram showing a motion classical control (Classical-motion-control).
5 is an explanatory diagram for motion classical control.
6 shows a block structural diagram of a control for a motion platform involving rotational transformation according to one aspect.
7 is a flowchart of a method for implementing forward kinematics of a motion platform according to an embodiment of the present invention.
8 is an exemplary diagram for parameters of forward kinematics according to an aspect.
9 is an exemplary diagram of a forward kinematics implementation of a motion platform based on a three-dimensional model driving engine according to an embodiment of the present invention.
FIG. 10 is an enlarged view of the joint model of FIG. 9 .
11 is a flowchart of a performance evaluation method of a motion platform according to an embodiment of the present invention.
12 is a block diagram illustrating a configuration of a computing system in which a control method according to an embodiment of the present invention can be driven.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention.

제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it is understood that other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It is to be understood that this does not preclude the possibility of the presence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. In describing the present invention, in order to facilitate the overall understanding, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted.

개요summary

유인항공기에서 발생할 수 있는 가상의 환경과 상황을 제공하여 훈련자에게 실제와 유사한 훈련 효과를 제공하기 위한 유인비행체 가상훈련 시뮬레이터 (Manned Flight Virtual Training Simulator) 가 널리 활용되고 있으며, 이러한 시뮬레이터의 이용자에게 모의 대상 개체에 탑승한 것과 유사한 움직임을 제공하기 위해 예를 들어 스튜어트 플랫폼 (Stewart-platform) 과 같은 모션 플랫폼이 사용될 수 있다. Manned Flight Virtual Training Simulator is widely used to provide trainees with realistic training effects by providing virtual environments and situations that can occur in manned aircraft, and users of these simulators can be simulated A motion platform, such as, for example, a Stewart-platform, may be used to provide motion similar to riding on an entity.

관련하여, 예를 들어 스튜어트 플랫폼과 같은 모션 플랫폼을 제어함에 있어서는 기구학 해석이 고려될 수 있다. 기구학 해석은 모션 플랫폼을 구성하는 각각의 구동기 (Actuator) 의 길이에 대한 정보를 기반으로 플랫폼의 형상을 계산하는 순기구학 해석과, 플랫폼의 형상을 기반으로 각 구동기의 길이를 계산하는 역기구학 해석을 포함한다. 여기서, 순기구학은 모션 플랫폼의 신속하고 정확한 제어, 또는 모션 플랫폼의 성능 평가를 위해 사용될 수 있다. In this regard, kinematic analysis may be considered, for example, in controlling a motion platform such as a Stewart platform. Kinematic analysis consists of forward kinematic analysis, which calculates the shape of the platform based on information on the length of each actuator that composes the motion platform, and inverse kinematics analysis, which calculates the length of each actuator based on the shape of the platform. include Here, forward kinematics may be used for quick and accurate control of a motion platform or performance evaluation of a motion platform.

보다 구체적으로, 모션 플랫폼의 제어를 수행하기 위해서는 제어하고자 하는 모션 플랫폼의 플레이트의 자세를 알면 역기구학으로 구동기의 길이를 구할 수 있다. 따라서, 해당하는 길이로 구동기의 길이를 제어하여 모션 플랫폼의 플레이트를 원하는 상태로 제어할 수 있다. 여기서 구동기의 제어는 예를 들어 구동기에 대한 통상의 서보 드라이버를 구비하는 것에 의해 쉽게 수행할 수 있다. More specifically, in order to control the motion platform, if the posture of the plate of the motion platform to be controlled is known, the length of the actuator can be obtained by inverse kinematics. Accordingly, the plate of the motion platform can be controlled in a desired state by controlling the length of the actuator to the corresponding length. Here, the control of the actuator can be easily performed, for example, by having a conventional servo driver for the actuator.

다만, 제어 명령과 실제 모션 플랫폼의 상태가 실시간으로 일치하지는 않으므로, 현재 모션 플랫폼의 상태를 모니터링하여 오픈 루프 방식으로 제어를 수행하는 것이 보다 정확한 제어를 위해 요구될 수 있다. 모션 플랫폼의 오픈 루프 방식의 제어를 위해서는 모션 플랫폼에 대한 제어 명령에 대응하여 현재 모션 플랫폼의 상태가 어느 정도 변화했는지 여부에 대한 모니터링이 필요하다. 이를 위해, 모션 플랫폼의 플레이트에 복수의 센서를 구비하여 센서 측정 값에 의해 플레이트의 상태를 감지하는 방안이 고려될 수도 있지만, 센서의 정확성이 떨어질 수 있고, 센서를 통한 감지 역시 실시간성이 부족할 수 있다. 따라서, 현재 구동기의 길이를 측정하여 구동기의 길이를 기반으로 모션 플랫폼의 상부 플레이트의 현재 상태 (예를 들어, 각도 및 위치) 를 파악하는 순기구학이 사용될 수 있다. 구동기의 길이는 예를 들어 구동기에 구비될 수 있는 엔코더를 기반으로 실시간으로 측정할 수 있다. However, since the control command and the state of the actual motion platform do not match in real time, monitoring the state of the current motion platform and performing control in an open loop method may be required for more accurate control. For the open-loop control of the motion platform, it is necessary to monitor to what extent the state of the current motion platform has changed in response to a control command for the motion platform. To this end, a method of providing a plurality of sensors on the plate of the motion platform to detect the state of the plate by the sensor measurement value may be considered, but the accuracy of the sensor may be lowered, and the real-time detection through the sensor may also lack real-time performance. have. Accordingly, forward kinematics may be used to measure the length of the current actuator to determine the current state (eg, angle and position) of the upper plate of the motion platform based on the length of the actuator. The length of the actuator may be measured in real time based on, for example, an encoder that may be provided in the actuator.

또한, 모션 플랫폼의 경우 예를 들어 도 3 에 도시된 바와 같이 소정의 사양을 가지고 출시된다. 따라서, 해당 모션 플랫폼이 제시한 성능 사양을 만족하는지 여부에 대한 평가가 요구되는 상황이 발생할 수 있다. 이를 위해, 제어 명령이 목표로 하는 상태와 실제 모션 플랫폼의 상태를 비교하여 성능을 만족하는지 여부를 판단해야 하므로, 모션 플랫폼의 실제 상태를 측정하기 위해서도 역시 보다 신속하게 모션 플랫폼의 현재 상태를 유추할 수 있는 순기구학이 활용될 수 있다. In addition, in the case of a motion platform, for example, as shown in FIG. 3 , it is released with predetermined specifications. Accordingly, a situation may arise in which an evaluation of whether the corresponding motion platform satisfies the suggested performance specification is required. To this end, it is necessary to determine whether the performance is satisfied by comparing the target state of the control command with the state of the actual motion platform. Possible forward kinematics can be used.

구동기의 길이를 기반으로 모션 플랫폼의 현재 상태를 유추하는 것은 순기구학을 푼다거나, 순기구학을 구현 한다거나, 순기구학의 해를 구하는 것과 같이 표현될 수 있다. 이와 같은 순기구학의 구현을 위해서는 반복적인 수치해석 방법, 해석적 방법, 그리고 추정기를 이용하는 방법이 고려될 수 있다. 수치해석적 방법으로는 주로 Newton-Raphson 방법이 이용될 수 있다. 추정기를 이용하는 방법은 칼만필터 알고리즘을 이용한 방법과 신경망 (neural network) 을 이용하는 방법이 고려될 수 있다. 그러나, 이와 같은 종래의 방법은 지나치게 어렵고 시간이 많이 소요되어 신속한 순기구학이 요구되는 상황에서 큰 문제가 발생한다. Inferring the current state of the motion platform based on the length of the actuator can be expressed as solving forward kinematics, implementing forward kinematics, or finding a solution of forward kinematics. In order to implement such forward kinematics, iterative numerical analysis methods, analytical methods, and methods using an estimator can be considered. As a numerical method, the Newton-Raphson method can be mainly used. As a method of using the estimator, a method using a Kalman filter algorithm and a method using a neural network may be considered. However, such a conventional method is too difficult and time-consuming, resulting in a large problem in a situation in which a fast forward kinematics is required.

본 발명은 전술한 문제점을 해결하기 위한 것으로서, 예를 들어 유니티 (Unity) 3D 와 같은 3차원 모델 구동 엔진을 이용하여 모션 플랫폼에 대한 순기구학을 구현하는 것에 의해, 보다 용이하고 신속하게 모션 플랫폼에 대한 순기구학을 구현할 수 있을 뿐만 아니라, 이미지 렌더링을 포함하여 가시적인 효과를 부여할 수 있는 3차원 모델 구동 엔진을 기반으로 모션 플랫폼 (Motion-platform) 의 순기구학 (Forward-kinematics) 을 구현하기 위한 방법이 구현될 수 있다. The present invention is to solve the above problems, for example, by implementing a forward kinematics for the motion platform using a three-dimensional model driving engine such as Unity 3D, more easily and quickly to the motion platform For realizing forward-kinematics of motion-platform based on a three-dimensional model driving engine that can not only implement forward kinematics, but also provide visual effects including image rendering. A method may be implemented.

또한, 본 발명의 실시예들에 따른 3차원 모델 구동 엔진을 이용한 순기구학을 이용함으로써, 비교적 낮은 비용으로도 모션 플랫폼이 제어 명령을 충실히 수행하는지 여부를 평가할 수 있도록 하는 모션 플랫폼의 성능 평가가 가능하다. In addition, by using the forward kinematics using the 3D model driving engine according to the embodiments of the present invention, it is possible to evaluate the performance of the motion platform to evaluate whether the motion platform faithfully executes the control command even at a relatively low cost do.

모션 플랫폼motion platform

도 1 은 스튜어트 플랫폼을 활용한 시뮬레이터의 예시도이고, 도 2 는 모션 플랫폼의 구성을 나타낸다. 도 1 내지 도 2 를 참조하여, 본 발명의 실시예들에 따른 순기구학 구현 또는 성능 평가의 대상이 될 수 있는 모션 플랫폼 및 그 제어에 대해서 먼저 설명한다. 1 is an exemplary diagram of a simulator using a Stewart platform, and FIG. 2 shows the configuration of a motion platform. 1 to 2 , a motion platform and its control, which may be subjected to forward kinematics implementation or performance evaluation according to embodiments of the present invention, will be first described.

본 발명의 일 측면에 따른 모션 플랫폼은 예를 들어 스튜어트 플랫폼으로 분류될 수 있고, 예를 들어 도 1 에 도시된 바와 같이 모션 플랫폼 (10) 의 상부에 배치되는 시뮬레이터 (20) 의 모사 대상이 되는 객체의 위치나 각도 변화와 같은 움직임을 모사하여 시뮬레이터 (20) 의 사용자에게 제공함으로써, 사용자로 하여금 보다 현실감 있게 시뮬레이션을 체험하도록 할 수 있다. The motion platform according to an aspect of the present invention may be classified, for example, as a Stewart platform, and for example, as shown in FIG. By simulating a motion such as a change in position or angle of an object and providing it to the user of the simulator 20, the user can experience the simulation more realistically.

도 2 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 모션 플랫폼 (Motion-platform) (100) 은, 복수의 구동기 (Actuator) (110-1, 110-2, 110-3, 110-4, 110-5, 110-6) 및 복수의 구동기에 의해 움직임 (Motion) 이 제어되는 플레이트 (120) 를 포함할 수 있다. 이러한 모션 플랫폼은, 예를 들어 스튜어트 플랫폼 (Stewart-platform) 으로 분류될 수 있으나, 본 발명의 실시예들에 따른 모션 플랫폼은 스튜어트 플랫폼으로 한정되는 것은 아니며, 플레이트 (120) 의 움직임을 제어하는 임의의 모션 플랫폼이 본 발명의 실시예들에 적용될 수 있다고 이해되어야 할 것이다. As shown in Figure 2, the motion platform (Motion-platform) 100 according to an embodiment of the present invention, a plurality of actuators (Actuator) (110-1, 110-2, 110-3, 110-4) , 110-5, 110-6) and a plate 120 whose motion is controlled by a plurality of actuators. Such a motion platform, for example, may be classified as a Stewart-platform, but the motion platform according to embodiments of the present invention is not limited to the Stewart platform, and any control that controls the movement of the plate 120 It should be understood that the motion platform of can be applied to embodiments of the present invention.

관련하여, 스튜어트 플랫폼은 1965년에 Stewart에 의하여 제안된 병렬 운동기구이며, 비행체운동을 시뮬레이션하기 위하여 병렬로 연결된 6개의 구동 액튜에이터 (Actuator) 를 이용한 병렬 운동기구로서 제안되었다. 이러한 기구는 비행체나 헬리콥터 등과 같이 고도로 숙련된 조종술을 요구하는 조종사의 훈련을 보다 안전하고 효과적으로 수행하기 위하여 개발되어 왔으며, 시뮬레이터로 응용분야가 확대되고 있다. In relation to this, the Stewart platform is a parallel exercise apparatus proposed by Stewart in 1965, and was proposed as a parallel exercise apparatus using six actuators connected in parallel to simulate the motion of an aircraft. Such an apparatus has been developed to more safely and effectively perform training of pilots requiring highly skilled maneuvers, such as aircraft or helicopters, and the field of application to simulators is being expanded.

스튜어트 플랫폼과 관련하여, 기구학 해석과 제어 측면이 고려될 수 있다. 기구학 해석은 각 구동기 (Actuator) 의 길이에 대한 정보를 기반으로 플랫폼의 형상을 계산하는 순기구학 해석과, 플랫폼의 형상을 기반으로 각 구동기의 길이를 계산하는 역기구학 해석을 포함한다. 순기구학의 해를 구하기 위해서는 반복적인 수치해석 방법, 해석적 방법, 그리고 추정기를 이용하는 방법을 포함할 수 있다. 수치해석적 방법으로는 주로 Newton-Raphson 방법이 이용될 수 있다. 추정기를 이용하는 방법은 칼만필터 알고리즘을 이용한 방법과 신경망 (neural network) 을 이용하는 방법이 고려될 수 있다. Regarding the Stewart platform, kinematic analysis and control aspects can be considered. Kinematic analysis includes forward kinematic analysis, which calculates the shape of the platform based on information about the length of each actuator, and reverse kinematics analysis, which calculates the length of each actuator based on the shape of the platform. In order to obtain a solution of forward kinematics, iterative numerical analysis methods, analytical methods, and methods using an estimator may be included. As a numerical method, the Newton-Raphson method can be mainly used. As a method of using the estimator, a method using a Kalman filter algorithm and a method using a neural network may be considered.

스튜어트 플랫폼의 제어와 관련하여, 단일 입출력 제어 및 다변수 제어가 고려될 수 있다. 단일 입출력 제어는 구동기 각각의 길이에 대한 제어기를 설계하는 방식으로 제어기 구성이 간단하고 제어 입력 계산이 간단하지만, 운동 상태에 따라 변화되는 각 액튜에이터의 외부 부하를 고정된 부하로 가정하므로 대용량의 부하를 고속 정밀 제어하기에 어려움이 있다. 다변수 제어에서는 제어 대상이 각 구동기의 길이가 아니라 상부 플레이트의 6자유도 변위를 대상으로 하므로, 제어 출력을 각 구동기에서 작동해야할 힘으로 하고 제어 입력을 운동 재현기의 6자유도 운동변위로 선정한다. 순기구학을 통하여 제어입력으로 사용될 6자유도 운동 변위를 구하고, 출력인 요구되는 구동력을 발생시키기 위한 구동기의 힘 피드백이 필요한 작용력 부제어기가 필요하다. Regarding the control of the Stewart platform, single input/output control and multi-variable control can be considered. Single input/output control is a method of designing the controller for each length of the actuator, and the controller configuration is simple and the control input calculation is simple. There is a difficulty in high-speed and precise control. In multivariable control, since the control target is the 6-DOF displacement of the upper plate, not the length of each actuator, the control output is the force to be actuated by each actuator and the control input is selected as the 6-DOF movement displacement of the motion reproducer. do. An action force sub-controller that requires force feedback of the actuator to obtain the 6-DOF motion displacement to be used as a control input through forward kinematics and generate the required driving force as an output is needed.

다시 도 2 를 참조하면, 본 발명의 일 측면에 따른 모션 플랫폼은 복수의 구동기 (110-1, 110-2, 110-3, 110-4, 110-5, 110-6) 및 복수의 구동기에 의해 움직임 (Motion) 이 제어되는 플레이트 (120) 를 포함한다. 즉, 복수의 구동기 (110-1, 110-2, 110-3, 110-4, 110-5, 110-6) 들 각각의 길이가 조정되는 것에 따라 플레이트 (120) 의 위치 및/또는 각도가 제어될 수 있다. 모션 플랫폼은 롤 (Roll), 피치 (Pitch), 요 (Yaw) 와 서지 (Surge), 스웨이 (Sway) 및 히브 (Heave) 를 포함하는 6 자유도의 움직임을 제어하도록 구성될 수 있다. Referring back to FIG. 2 , the motion platform according to an aspect of the present invention includes a plurality of actuators 110-1, 110-2, 110-3, 110-4, 110-5, 110-6 and a plurality of actuators. and a plate 120 whose motion is controlled by the That is, as the length of each of the plurality of drivers 110-1, 110-2, 110-3, 110-4, 110-5, 110-6 is adjusted, the position and/or angle of the plate 120 is can be controlled. The motion platform can be configured to control movement in 6 degrees of freedom, including Roll, Pitch, Yaw and Surge, Sway and Heave.

또한, 도 2 를 참조하면, 선택적으로는, 본 발명의 일 실시예에 따른 모션 플랫폼은 플레이트와 평행한 평면 내에서 회전 가능한 턴테이블 (130) 을 더 포함할 수도 있다. 복수의 구동기 (110-1, 110-2, 110-3, 110-4, 110-5, 110-6) 를 기반으로 하는 플레이트의 움직임 제어는 가동 범위에 제한을 가질 수 있으므로, 플레이트 (120) 와 평행한 평면 내에서 회전 가능한 턴테이블 (130) 을 더 구비하는 것에 의해, 모션 플랫폼의 상부에 배치되는 대상에 대해 적어도 헤딩 각 (Yaw) 의 변화 범위를 무제한으로 확장시킬 수 있다. 일 측면에 따르면, 턴테이블 (130) 은, 플레이트 (120) 의 상부에 배치될 수 있다. 턴테이블 (130) 이 플레이트 (120) 상부에 배치될 때, 모션 플랫폼 (100) 의 구동기 (110-1, 110-2, 110-3, 110-4, 110-5, 110-6) 들에 대한 제어 명령이 회전 변환될 수 있다. Also, referring to FIG. 2 , optionally, the motion platform according to an embodiment of the present invention may further include a turntable 130 rotatable in a plane parallel to the plate. Since the movement control of the plate based on the plurality of actuators 110-1, 110-2, 110-3, 110-4, 110-5, 110-6 may have a limitation in the movable range, the plate 120 By further providing the turntable 130 rotatable in a plane parallel to , the range of change of at least the heading angle Yaw with respect to an object disposed on the upper portion of the motion platform can be expanded indefinitely. According to one aspect, the turntable 130 may be disposed on the upper portion of the plate 120 . When the turntable 130 is disposed on the plate 120, the actuators 110-1, 110-2, 110-3, 110-4, 110-5, 110-6 of the motion platform 100 Control commands may be rotationally converted.

도 3 은 예시적인 모션 플랫폼의 구동 사양을 나타낸다. 본 발명의 실시예들에 따른 모션 플랫폼으로서, 예를 들어 도 3 에 도시된 바와 같은 사양을 가지는 모션 플랫폼이 적용될 수 있다. 예를 들어, 모션 플랫폼은 주식회사 젠스템에 의해 제작된 6 축 모션일 수 있다. 선택적으로, 6축 모션의 상부 플레이트에 턴테이블이 적용된 7 축 모션이 사용될 수도 있다. 가용 하중은 턴테이블 구조물을 포함하여 2 ton 일 수 있고, 스트로크가 최대 600mm 인 Parker 사의 eth80 실린더에 LS 산전 선보모터를 적용한 엑츄에이터를 6 축 스튜어트 플랫폼 형태로 제작된 것일 수 있다. 다만, 본 발명의 실시예들에 관련된 모션 플랫폼은 이에 한정되지 아니한다. 3 shows driving specifications of an exemplary motion platform. As a motion platform according to embodiments of the present invention, for example, a motion platform having a specification as shown in FIG. 3 may be applied. For example, the motion platform may be a 6-axis motion manufactured by Genstem Inc. Alternatively, a 7-axis motion with a turntable applied to the upper plate of the 6-axis motion may be used. The available load may be 2 ton including the turntable structure, and the actuator applied with LS Industrial Systems' electric motor to Parker's eth80 cylinder with a maximum stroke of 600mm may be manufactured in the form of a 6-axis Stewart platform. However, the motion platform related to the embodiments of the present invention is not limited thereto.

모션 플랫폼의 제어와 관련하여, 도 4 는 모션 고전 제어 (Classical-motion-control) 의 블록 구조도를 나타내고, 도 5 는 모션 고전 제어에 대한 설명도이다. 도 4 및 도 5 를 참조하여, 모션 플랫폼의 고전 제어에 대해서 살핀다. With respect to the control of the motion platform, FIG. 4 shows a block structural diagram of a classical-motion-control, and FIG. 5 is an explanatory diagram for the classical-motion control. Referring to Figures 4 and 5, we look at the classical control of the motion platform.

모션 플랫폼은 제한적인 각도와 위치의 운용 범위를 가진다. 따라서, 일반적으로 적용 대상 시뮬레이션 모델의 가속도 명령에 대하여 Wash-out filter 를 적용하여 일종의 체감 효과를 적용하고 중력에 의한 자세 변화 체감에 있어서는 적절한 작용 함수나 튜닝 요소, 로우 패스 필터 (Low-pass-filter) 를 적용하여 구성 (coordination angle) 한다. 이러한 모션 시스템 제어방식을 모션 고전 제어 (Classical Motion Control) 라고 하며, 본 발명의 일 측면에 따른 모션 플랫폼의 제어 방법은 종래의 모션 고전 제어에 따른 방법을 기초로 할 수 있다. 도 4 에 도시된 바와 같이, 모션 고전 제어에서는 제어 목표가 되는 구동기의 길이 (Actuator Lenth) 를 결정 (410) 함에 있어서, 구현하고자 하는 움직임에 대한 제어 명령들을 기반으로 할 수 있다. 제어 명령은 각도 명령 (Angle CMD), 위치 명령 (Position CMD) 을 포함할 수 있고, 제어를 위해 기준이 되는 명령 기준 위치 (Command Reference Position, CRP) 를 포함할 수 있다. Motion platforms have a limited range of angles and positions. Therefore, in general, a kind of haptic effect is applied by applying a wash-out filter to the acceleration command of the applied simulation model, and an appropriate action function, tuning element, or low-pass filter (Low-pass-filter) ) to configure (coordination angle). This motion system control method is called classic motion control, and the method for controlling a motion platform according to an aspect of the present invention may be based on a method according to the conventional classical motion control. As shown in FIG. 4 , in the classical motion control, in determining ( 410 ) the length of the actuator that is the control target, it may be based on control commands for the movement to be implemented. The control command may include an angle command (Angle CMD), a position command (Position CMD), and may include a command reference position (CRP) as a reference for control.

각도 및 위치와는 다른 관점에서, 제어 명령은 자세 제어 명령 및 가속도 제어 명령을 포함할 수 있다. 자세 제어 명령은 롤 (Roll), 피치 (Pitch), 요 (Yaw) 와 같은 각도 제어 명령에 주로 관련될 수 있다. 가속도 제어 명령은 롤 (Roll), 피치 (Pitch), 요 (Yaw) 와 같은 각도 제어 명령과 서지 (Surge), 스웨이 (Sway) 및 히브 (Heave) 와 같은 위치 제어 명령에 각각 관련될 수 있다. From a viewpoint different from the angle and position, the control command may include an attitude control command and an acceleration control command. The posture control command may be mainly related to an angle control command such as a roll, a pitch, and a yaw. The acceleration control command may be related to angle control commands such as roll, pitch, and yaw and position control commands such as surge, sway and heave, respectively.

구체적으로, 위치를 예를 들어 설명하면, 1 초에도 수백 m 를 이동할 수 있는 항공기와 달리 시뮬레이터를 구동시키는 모션 플랫폼은 예를 들어 도 3 에 도시된 바와 같이 0.45 m 의 서지 변화만을 구현할 수 있다. 따라서, 모사 대상의 위치 변화를 그대로 구현할 수 없으므로 가속도 명령을 생성하여 가속도 명령에 대해 Wash-out filter 를 적용하게 된다. 따라서 가속도 명령에 따라서 모션 플랫폼은 순간적인 위치의 변화를 겪고 서서히 종래의 위치로 돌아오게 된다. 다만, 예를 들어 중력에 의한 자세 변화 체감이나 급 출발, 급 정지, 기타 체감 효과를 증대시키기 위해 추가적인 제어가 동반될 수 있다. Specifically, if the position is described as an example, unlike an aircraft that can move hundreds of m even in 1 second, a motion platform driving the simulator can implement only a surge change of 0.45 m as shown in FIG. 3 . Therefore, since it is impossible to implement the position change of the simulation target as it is, an acceleration command is generated and a wash-out filter is applied to the acceleration command. Therefore, according to the acceleration command, the motion platform undergoes an instantaneous change of position and gradually returns to its original position. However, for example, an additional control may be accompanied to increase the sensation of a change in posture due to gravity, a sudden start, a sudden stop, and other haptic effects.

한편 각도의 측면에서는, 비록 항공기와 같은 모사 대상의 각도 변화를 그대로 구현할 수는 없지만, 자세 제어 명령은 각도 변화를 운용 범위 내에서 가능한 유사하게 재현하도록 할 수 있다. 또한 각도의 측면에서는 자세 제어 명령 뿐만 아니라 가속도 제어 명령에 의해 큐잉 알고리즘과 같은 추가적인 체감 효과의 구현이 가능하다. 또한, 각도의 측면에서도 앞서 살핀 바와 같이 모사 대상의 모든 회전 범위를 모션 플랫폼에 적용할 수 없으므로, 모션 플랫폼이 재현하도록 하는 모사 대상의 모사 제한 범위를 넘어선 순간에는 자세 제어가 수행되지 않더라도 가속도 제어를 수행하는 것에 의해 시뮬레이터의 실감 효과를 증대시키는 것이 가능하다.On the other hand, in terms of angle, although it is not possible to implement the angular change of a simulation target such as an aircraft as it is, the attitude control command can reproduce the angular change as similarly as possible within the operating range. In addition, in terms of angle, it is possible to implement additional haptic effects such as a queuing algorithm by not only the posture control command but also the acceleration control command. In addition, even in terms of angle, since all rotation ranges of the simulation target cannot be applied to the motion platform as discussed above, acceleration control is performed even if posture control is not performed at the moment beyond the simulation limit range of the simulation target that the motion platform reproduces. It is possible to increase the sensory effect of the simulator by performing.

한편, 선택적으로는 본 발명의 일 측면에 따르면 상부에 턴테이블이 구비된 모션 플랫폼을 제어하도록 구성될 수도 있다. 도 6 은 본 발명의 선택적인 일 측면에 따른 회전 변환을 수반하는 모션 플랫폼에 대한 제어의 블록 구조도를 나타낸다. 도 6 에 도시된 바와 같이, 예를 들어 본 발명의 일 실시예에 따른 모션 플랫폼의 제어에 있어서는 회전 변환된 변환 제어 명령이 생성될 수 있다. On the other hand, optionally according to an aspect of the present invention may be configured to control a motion platform having a turntable thereon. 6 shows a block diagram of a control for a motion platform involving rotational transformation according to an optional aspect of the present invention. As shown in FIG. 6 , for example, in the control of a motion platform according to an embodiment of the present invention, a rotation-converted transformation control command may be generated.

관련하여, 도 6 을 참조하여 설명하면, 변환 되기 전의 제어 명령 (620 의 입력) 은, 각도 제어 명령 (Angle) 및 위치 제어 명령 (Position) 을 포함할 수 있다. 여기서 각도 제어 명령은, 롤 (Roll) 각 제어 명령 및 피치 (Pitch) 각 제어 명령을 포함할 수 있으며, 위치 제어 명령은, 서지 (Surge) 변화량 제어 명령 및 스웨이 (Sway) 변화량 제어 명령을 포함할 수 있다. 일 측면에 따르면, 요 (Yaw) 각의 제어는 턴테이블에 수행될 수 있으나, 다른 측면에 따르면 요 (Yaw) 각의 제어에 대해 구동기의 제어 및 턴테이블의 제어가 하이브리드 방식으로 구현될 수도 있으며, 이 경우 각도 제어 명령은 요 (Yaw) 각 제어 명령을 더 포함할 수도 있다. 또한, 일 측면에 따르면 히브 (Heave) 에 대한 변화량의 제어 명령이 위치 제어 명령에 더 포함될 수도 있다. In relation, referring to FIG. 6 , the control command 620 before conversion may include an angle control command (Angle) and a position control command (Position). Here, the angle control command may include a roll angle control command and a pitch angle control command, and the position control command may include a surge variation control command and a sway variation control command. can According to one aspect, the control of the yaw angle may be performed on the turntable, but according to another aspect, the control of the actuator and the control of the turntable for the control of the yaw angle may be implemented in a hybrid manner. The case angle control command may further include a yaw angle control command. Also, according to an aspect, a control command of a change amount for a heave may be further included in the position control command.

변환 제어 명령을 생성 (620) 함에 있어서는, 턴테이블의 회전을 반영하는 각도 (Motion Heading Angle) 가 기반이 될 수 있다. 모션 시스템 헤딩 제어 명령을 기반으로 제어 명령을 회전 변환 함으로써, 변환 제어 명령을 생성할 수 있다. 변환 제어 명령은 롤 각 제어 명령에 대한 변환된 값과 피치 각 제어 명령에 대한 변환된 값을 포함하는 변환된 각도 제어 명령 (Angle_turned) 과, 서지 변화량 제어 명령에 대한 변환된 값과 스웨이 변화량 제어 명령에 대한 변환된 값을 포함하는 변환된 위치 제어 명령 (Position_turend) 을 포함할 수 있다. 한편, 앞서 살핀 바와 같이 변환 전의 명령 기준 위치 (CRP position) 를 기반으로, 변환된 변환 명령 기준 위치 (CRP_turned) 역시 산출될 수 있다. In generating the transformation control command ( 620 ), an angle reflecting the rotation of the turntable (Motion Heading Angle) may be a basis. By rotating the control command based on the motion system heading control command, it is possible to generate a conversion control command. The conversion control command includes a converted angle control command (Angle_turned) including a converted value for a roll angle control command and a converted value for a pitch angle control command, and a converted value for a surge change amount control command and a sway change amount control command It may include a converted position control command (Position_turend) including the converted value for . On the other hand, based on the command reference position (CRP position) before the conversion as previously salpin, the converted conversion command reference position (CRP_turned) can also be calculated.

이를 기반으로 구동기의 길이에 대한 제어 목표를 결정 (610) 함에 있어서는, 변환 제어 명령을 기준으로 역기구학 해석을 통해 구동기의 길이를 결정할 수 있다. 한편, 본 발명의 실시예들에 따른 모션 플랫폼의 제어 방법은 도 4 내지 도 6 에 도시된 바와 같이 구동기의 길이를 기반으로 하는 순기구학 해석을 수행함으로써 플레이트의 현 상태를 감지하여 오픈 루프 방식의 제어를 수행하도록 할 수 있다. In determining the control target for the length of the driver based on this ( 610 ), the length of the driver may be determined through inverse kinematics analysis based on the conversion control command. On the other hand, the control method of the motion platform according to the embodiments of the present invention detects the current state of the plate by performing a forward kinematic analysis based on the length of the actuator as shown in Figs. control can be performed.

전술한 바와 같이 순기구학 해석이 모션 플랫폼의 제어 및/또는 성능 평가에 필수적이고 보다 신속하고 간편한 순기구학의 구현이 요구되는 바 아래에서 본 발명의 일 실시예에 따른 모션 플랫폼의 순기구학 구현 방법 및 이를 이용한 성능 평가 방법에 대해서 보다 구체적으로 설명한다. As described above, forward kinematics analysis is essential for control and/or performance evaluation of a motion platform, and a faster and simpler forward kinematics implementation is required. A performance evaluation method using this will be described in more detail.

모션 플랫폼의 순기구학 구현 방법How to implement forward kinematics of motion platform

일반적으로 모션 플랫폼은 역기구학으로 계산된 구동기에 대한 길이/속도 지령을 통해 구동되어진다. 이는 모션의 자세명령에 대한 오픈 루프 (Open-loop) 제어로서 정상상태 수렴에 대한 성능만을 보장하며, 운동성능을 가시적으로 보이거나 평가를 위해서는 실시간 구동기의 길이를 이용한 순기구학의 계산이 필수적이다. 이러한 순기구학의 계산 방법에는 Newton-Raphson 기법을 이용하거나 신경망을 이용하는 방법이 있다. 하지만 이러한 계산방법은 이해가 어렵고 구현하기가 까다로운 단점이 있다. 따라서 직관적이면서도 시스템 개발의 활용도가 높은 3차원 모델 구동 엔진 또는 게임 엔진 (예를 들어 도 9 에 도시된 바와 같은 Unity 3D와 물리엔진) 을 이용하여 순기구학을 구현할 수 있다. In general, the motion platform is driven through a length/velocity command to the actuator calculated by inverse kinematics. This is an open-loop control for the posture command of motion, which guarantees only the performance for steady-state convergence. As a method of calculating such forward kinematics, there is a method using the Newton-Raphson method or a method using a neural network. However, this calculation method has the disadvantage of being difficult to understand and difficult to implement. Accordingly, forward kinematics can be implemented using a 3D model driving engine or a game engine (eg, Unity 3D and a physics engine as shown in FIG. 9 ) that is intuitive and highly useful for system development.

예를 들어, 구동기 힌지 포인트와 상/하부 플레이트를 구성하고 연결파라미터 구속조건을 예를 들어 도 8과 같이 입력하고 실시간 힌지 포인트의 거리, 즉, 구동기 길이를 업데이트 하여 시뮬레이션 되는 상부 플레이트의 각도와 위치값을 산출할 수 있다. 간단한 입력만으로 쉽게 구현할 수 있고, 이미지 랜더링을 포함하여 가시적인 효과를 부여할 수 있으므로 높은 활용도를 가질 수 있다. For example, configure the actuator hinge point and the upper/lower plate, input the connection parameter constraint as shown in FIG. 8, and update the distance of the real-time hinge point, that is, the actuator length, to simulate the angle and position of the upper plate. value can be calculated. It can be easily implemented with a simple input, and can have high utility because it can provide visual effects including image rendering.

본 발명의 일 실시예에 따른 순기구학 구현 방법은, 예를 들어 유니티 3D 와 같은 3차원 모델 구동 엔진에서 모션 플랫폼의 각 구성 요소들에 대한 3차원 모델들을 도입할 수 있다. 단, 구동기의 플레이트에 접하는 단부와 플레이트의 결합에 있어서, 구동기의 플레이트 측 단부와 플레이트의 구동기 결착 지점의 위치를 같다고 두지 않고, 양자 구성을 연결하는 댐핑 요소 (스프링) 를 도입할 수 있다. 구동기의 하단은 하부 지지대 (또는, 하부 플레이트로서 지칭될 수도 있음) 에 고정되어 있으나, 구동기의 상단은 모션 플랫폼의 움직임을 구현하기 위해 이동하게 된다. 구동기의 플레이트 측 단부와 플레이트의 구동기 결착부분을 각각 제 1 미지수 지점과 제 2 미지수 지점으로 둘 수 있으며, 결과적으로는 제 1 미지수 지점과 제 2 미지수 지점이 같아져야 하며, 양자 사이에 스프링 댐퍼를 모델링한 요소를 도입할 수 있다. 모션 플랫폼 모델의 제어를 위해 구동기의 길이를 커맨드로 주고, 스프링 댐퍼의 거리가 제로가 되도록 시뮬레이팅을 실행할 수 있다. 제어 명령에 따라 시뮬레이션에서 구동기의 길이가 순간적으로 변화하게 되면, 동적 오차는 있지만 최종적인 상태 (정상 상태) 에서는 구동기의 끝단 지점과 플레이트의 구동부 결착 지점 간의 오차는 없어지게 된다. The forward kinematics implementation method according to an embodiment of the present invention may introduce 3D models for each component of the motion platform in a 3D model driving engine such as Unity 3D. However, in the coupling of the plate with the end contacting the plate of the actuator, the position of the plate-side end of the actuator and the driver attachment point of the plate is not set to be the same, and a damping element (spring) connecting both components may be introduced. The lower end of the actuator is fixed to a lower support (or may also be referred to as a lower plate), but the upper end of the actuator is moved to implement the movement of the motion platform. The plate side end of the actuator and the actuator attachment portion of the plate can be placed as the first unknown point and the second unknown point, respectively, and as a result, the first unknown point and the second unknown point must be equal, and a spring damper is installed between Modeled elements can be introduced. To control the motion platform model, the length of the actuator is given as a command, and the simulation can be executed so that the distance of the spring damper becomes zero. If the length of the actuator is momentarily changed in the simulation according to the control command, there is a dynamic error, but in the final state (steady state), the error between the end point of the actuator and the attachment point of the driver of the plate disappears.

도 7 은 본 발명의 일 실시예에 따른 모션 플랫폼의 순기구학 구현 방법의 흐름도이고, 도 8 은 일 측면에 따른 순기구학의 파라미터들에 대한 예시도이며, 도 9 는 본 발명의 일 실시예에 따른 3차원 모델 구동 엔진 기반 모션 플랫폼의 순기구학 구현의 예시도이다. 또한, 도 10 은 도 9 의 조인트 모델의 확대도이다. 이하, 도 7 내지 도 10 을 참조하여 본 발명의 일 실시예에 따른 3차원 모델 구동 엔진을 기반으로 모션 플랫폼 (Motion-platform) 의 순기구학 (Forward-kinematics) 을 구현하기 위한 방법에 대해서 보다 구체적으로 설명한다. 7 is a flowchart of a method for implementing forward kinematics of a motion platform according to an embodiment of the present invention, FIG. 8 is an exemplary diagram of parameters of forward kinematics according to an aspect, and FIG. 9 is an embodiment of the present invention It is an exemplary diagram of a forward kinematics implementation of a motion platform based on a three-dimensional model driving engine. Also, FIG. 10 is an enlarged view of the joint model of FIG. 9 . Hereinafter, with reference to FIGS. 7 to 10 , a method for implementing forward-kinematics of a motion-platform based on a three-dimensional model driving engine according to an embodiment of the present invention will be described in more detail. explained as

먼저, 본 발명에 있어서 '3차원 모델 구동 엔진'은 예를 들어 컴퓨팅 시스템 내에서 3차원 모델을 구현하여 3차원 모델을 이루는 구성 요소들 간의 물리적 효과를 시뮬레이팅 할 수 있는 엔진 혹은 프로그램을 의미할 수 있다. 예를 들어, 3차원 모델 구동 엔진은 게임 엔진일 수 있으며, 보다 구체적으로는 유니티 3D 와 같은 프로그램이 포함될 수 있다. 또한, 보다 효율적인 3차원 모델 구동을 위한 물리 엔진 (예를 들어, 피직스(PhysX)) 과 같은 요소가 함께 사용될 수 있다. First, in the present invention, a '3D model driving engine' may mean an engine or program capable of simulating, for example, a physical effect between components constituting a 3D model by implementing a 3D model in a computing system. can For example, the 3D model driving engine may be a game engine, and more specifically, a program such as Unity 3D may be included. In addition, an element such as a physics engine (eg, PhysX) for more efficient 3D model driving may be used together.

다시 도 7, 도 9 및 도 10 을 참조하면, 본 발명의 일 실시예에 따른 3차원 모델 구동 엔진을 기반으로 모션 플랫폼의 순기구학을 구현하기 위한 방법은, 먼저 3차원 모델 구동 엔진 내에서, 하부 지지대 모델 (910), 플레이트 모델 (920), 복수의 구동기 모델 (930) 및 복수의 구동기 모델 (930) 각각을 플레이트 모델 (920) 에 결합시키는 복수의 조인트 모델 (940) 을 구성할 수 있다 (단계 710). Referring back to Figs. 7, 9 and 10, the method for implementing the forward kinematics of the motion platform based on the 3D model driving engine according to an embodiment of the present invention is first in the 3D model driving engine, A plurality of joint models 940 for coupling each of the lower support model 910 , the plate model 920 , the plurality of actuator models 930 , and the plurality of actuator models 930 to the plate model 920 may be configured. (Step 710).

하부 지지대 모델 (910) 은 모션 플랫폼의 하부 지지대를 3차원 모델 구동 엔진 내에서 구현한 것일 수 있다. 플레이트 모델 (920) 은 모션 플랫폼의 플레이트 (120) 를 3차원 모델 구동 엔진 내에서 구현한 것일 수 있다. 구동기 모델 (930) 은 모션 플랫폼의 복수의 구동기 (110) 를 3차원 모델 구동 엔진 내에서 구현한 것일 수 있다. 한편, 모션 플랫폼에서는 구동기 (110) 들이 플레이트 (120) 에 힌지부를 구비하여 결합되는데, 3차원 모델 구동 엔진 내에서는 복수의 구동기 모델 (930) 각각을 플레이트 모델 (920) 에 결합시키는 복수의 조인트 모델 (940) 이 구비될 수 있다. 구동기 모델 (930) 의 조인트 모델 (940) 에 결합되는 단부는 '조인트 단부'로서 지칭될 수 있다. The lower support model 910 may implement the lower support of the motion platform in the 3D model driving engine. The plate model 920 may be an implementation of the plate 120 of the motion platform in a three-dimensional model driving engine. The actuator model 930 may be implemented by implementing a plurality of actuators 110 of the motion platform in a three-dimensional model driving engine. On the other hand, in the motion platform, the actuators 110 are coupled to the plate 120 with hinges, and in the three-dimensional model driving engine, a plurality of joint models for coupling each of the plurality of actuator models 930 to the plate model 920 . 940 may be provided. The end coupled to the joint model 940 of the actuator model 930 may be referred to as a 'joint end'.

복수의 조인트 모델 (940) 은, 복수의 조인트 단부와 플레이트 모델 (940) 간의 거리가 변동 가능하도록 탄성을 가지도록 구성될 수 있다. 즉, 3차원 모델 구동 엔진 상에서, 조인트 모델 (940) 은 형상 (또는 길이) 의 변형이 가능하도록 설정될 수 있다. 따라서, 구동기 모델 (930) 의 길이가 순간적으로 변경될 때, 복수의 조인트 단부들은 플레이트 모델 (920) 로부터 떨어진 지점에 위치할 수 있게 된다. The plurality of joint models 940 may be configured to have elasticity such that a distance between the plurality of joint ends and the plate model 940 is variable. That is, on the 3D model driving engine, the joint model 940 may be set so that the shape (or length) can be deformed. Accordingly, when the length of the actuator model 930 is changed instantaneously, the plurality of joint ends can be located at a point away from the plate model 920 .

다시 도 7 을 참조하면, 본 발명의 일 실시예에 따른 순기구학 구현 방법은, 3차원 모델 구동 엔진 내에서, 복수의 구동기 모델 각각의 길이를 제어 명령에 따른 길이로 변경시킬 수 있다 (단계 720). 제어 명령이 지시하는 길이는, 모션 플랫폼의 플레이트를 원하는 상태 (예를 들어 각도 및 위치) 로 제어하기 위한 구동기의 길이를 나타낼 수 있으며, 예를 들어 플레이트의 원하는 상태에 관한 정보로부터 역기구학을 통해 구해진 구동기의 길이일 수 있다. 본 발명의 실시예에 따른 순기구학의 구현 방법을 위해서는 상기 제어 명령에 따른 구동기의 길이로 3차원 모델 구동 엔진 내의 구동기 모델 (930) 의 길이를 변경시킬 수 있다. Referring back to FIG. 7 , the forward kinematics implementation method according to an embodiment of the present invention may change the length of each of a plurality of actuator models to a length according to a control command in the 3D model driving engine (step 720) ). The length indicated by the control command may indicate the length of the actuator for controlling the plate of the motion platform to a desired state (eg angle and position), for example through inverse kinematics from information about the desired state of the plate. It may be the length of the obtained actuator. For the method of implementing forward kinematics according to the embodiment of the present invention, the length of the driver model 930 in the 3D model driving engine may be changed to the length of the driver according to the control command.

다시 도 7 을 참조하면, 본 발명의 일 실시예에 따른 순기구학 구현 방법은, 3차원 모델 구동 엔진 내에서, 복수의 조인트 단부와 플레이트 모델 (920) 간의 거리가 최소화되는 시점에 플레이트 모델 (920) 의 상태에 대한 값을 결정할 수 있다 (단계 730). 앞서 살핀 바와 같이, 본 발명의 일 측면에 따르면 복수의 조인트 모델 (940) 은 복수의 조인트 단부와 플레이트 모델 (940) 간의 거리가 변동 가능하도록 탄성을 가지도록 구성될 수 있되므로, 구동기 모델 (930) 의 길이가 순간적으로 변경될 때, 복수의 조인트 단부들은 플레이트 모델 (920) 로부터 떨어진 지점에 위치할 수 있게 된다. 3차원 모델 구동 엔진을 통한 시뮬레이션을 개시하여 조인트 단부와 플레이트 모델 (920) 간의 거리가 최소화되는 시점까지 시뮬레이션을 지속할 수 있다. 일 측면에 따르면, 보다 구체적으로는 조인트 단부와 플레이트 모델 (920) 간의 거리가 0 이 되는 시점까지 시뮬레이션을 지속할 수도 있다. 구동기 모델 (930) 의 길이가 순간적으로 변하면 댐핑 요소인 조인트 모델 (940) 의 변형에 따라 조인트 단부와 플레이트 모델 (920) 의 거리의 변경이 반복될 수 있으며, 최종 상태 또는 정상 상태로서 조인트 단부와 플레이트 모델 (920) 의 거리가 최소화 되었을 때, 플레이트 모델 (920) 의 상태에 대한 값을 결정할 수 있다. 플레이트 모델의 상태에 대한 값은, 플레이트 모델 (920) 의 위치에 대한 값 및 플레이트 모델 (920) 의 각도에 대한 값을 포함할 수 있다. 이러한 각도 및 위치가 롤 (Roll), 피치 (Pitch), 요 (Yaw) 와 서지 (Surge), 스웨이 (Sway) 및 히브 (Heave) 를 포함하는 6 자유도의 움직임을 나타낼 수 있음은 본 기술 분야의 당업자에게 자명한 사항으로 이해되어야 할 것이다. Referring back to FIG. 7 , in the forward kinematics implementation method according to an embodiment of the present invention, the plate model 920 at a time point at which the distance between the plurality of joint ends and the plate model 920 is minimized in the 3D model driving engine. ) may determine a value for the state of (step 730). As mentioned above, according to one aspect of the present invention, the plurality of joint models 940 may be configured to have elasticity so that the distance between the plurality of joint ends and the plate model 940 is variable, so that the actuator model 930 When the length of ) is changed instantaneously, the plurality of joint ends may be located at points away from the plate model 920 . By starting the simulation through the 3D model driving engine, the simulation may be continued until a point in time when the distance between the joint end and the plate model 920 is minimized. According to one aspect, more specifically, the simulation may be continued until a point in time when the distance between the joint end and the plate model 920 becomes 0. When the length of the actuator model 930 is instantaneously changed, the change in the distance between the joint end and the plate model 920 may be repeated according to the deformation of the joint model 940, which is a damping element, and the joint end and the joint end as a final state or a normal state. When the distance of the plate model 920 is minimized, a value for the state of the plate model 920 may be determined. The value for the state of the plate model may include a value for the position of the plate model 920 and a value for the angle of the plate model 920 . It is known in the art that these angles and positions can represent six degrees of freedom of movement including Roll, Pitch, Yaw and Surge, Sway and Heave. It should be understood as obvious to those skilled in the art.

이상 살핀 바와 같이, 본 발명의 일 실시예에 따른 3차원 모델 구동 엔진을 기반으로 모션 플랫폼 (Motion-platform) 의 순기구학 (Forward-kinematics) 을 구현하기 위한 방법은, 3차원 모델 구동 엔진 내에서 모션 플랫폼을 모사하는 복수의 구성 요소들에 대한 모델들을 도입하고, 추가로 조인트 모델 (940) 을 더 도입하는 것에 의해 모션 플랫폼에 대한 순기구학을 구현할 수 있다. 나아가, 일 측면에 따르면, 본 발명의 일 실시예에 따른 모션 플랫폼의 순기구학의 구현 방법에 따르면, 플레이트 모델 (920) 또는 조인트 모델 (940) 중 적어도 하나에 대한 파라미터를 설정하는 것에 의해 모션 플랫폼에 대한 순기구학 구현 성능이 조정될 수 있다. 순기구학의 구현 성능은, 예를 들어 순기구학 구현에 따른 플레이트의 상태 값에 대한 정확성을 포함할 수 있다. 또한, 순기구학의 구현 성능은 예를 들어 순기구학의 구현에 따른 상태 값 산출을 위해 요구되는 시간을 포함할 수도 있다. As described above, a method for implementing forward-kinematics of a motion-platform based on a three-dimensional model driving engine according to an embodiment of the present invention is performed within the three-dimensional model driving engine. Forward kinematics for the motion platform can be implemented by introducing models for a plurality of components that mimic the motion platform, and further introducing a joint model 940 . Further, according to one aspect, according to the implementation method of the forward kinematics of the motion platform according to an embodiment of the present invention, by setting a parameter for at least one of the plate model 920 and the joint model 940, the motion platform The performance of the forward kinematics implementation can be adjusted. The implementation performance of the forward kinematics may include, for example, the accuracy of the state value of the plate according to the forward kinematics implementation. In addition, the implementation performance of forward kinematics may include, for example, a time required for calculating a state value according to implementation of forward kinematics.

관련하여, 도 8 은 일 측면에 따른 순기구학의 파라미터들에 대한 예시도이다. 도 8 에 도시된 바와 같이, 플레이트 모델 (920) 에 대한 파라미터는, 플레이트 모델의 질량, 플레이트 모델의 저항력 또는 플레이트 모델의 회전 저항력 중 적어도 하나에 대한 설정값을 포함할 수 있고, 조인트 모델 (940) 에 대한 파라미터는, 조인트 모델의 질량, 조인트 모델의 저항력 또는 조인트 모델의 회전 저항력 중 적어도 하나에 대한 설정값을 포함할 수 있다. In this regard, FIG. 8 is an exemplary diagram of parameters of forward kinematics according to an aspect. As shown in FIG. 8 , the parameter for the plate model 920 may include a set value for at least one of the mass of the plate model, the resistive force of the plate model, or the rotational resistive force of the plate model, and the joint model 940 . ) may include a set value for at least one of the mass of the joint model, the resistance force of the joint model, and the rotation resistance force of the joint model.

예를 들어 유니티와 같은 3차원 모델 구동 엔진은 구현된 3차원 모델 각각의 특성에 대해서 설정하도록 할 수 있다. 이를 이용하여, 예를 들어 플레이트 모델 (920) 에 대한 물성을 설정할 수 있으며, 플레이트 모델 (920) 은 미리 결정한 질량 설정값 이하로 매우 가볍게, 또한 조인트 모델 (940) 에 비해 낮은 저항력 및 회전 저항력을 가지도록 설정될 수 있다. 조인트 모델 (940) 은 예를 들어 플레이트 모델 (920) 과 동일한 질량으로 설정될 수 있으며, 플레이트 모델 (920) 에 비해 훨신 큰 저항력을 가지고, 또한 더 큰 회전 저항력을 가지도록 설정될 수 있다. 예를 들어 도 8 에 도시된 바와 같이, 플레이트 모델 (920) 의 질량, 저항력, 회전 저항력은 각각 1, 1, 0.05 로 설정될 수 있고, 조인트 모델 (940) 의 질량, 저항력, 회전 저항력은 각각 1, 1000, 1 로 설정될 수 있다. 다만, 본 발명의 실시예들에 따른 모델들의 물성이 위와 같은 설정값으로 한정되는 것은 아니라고 이해되어야 할 것이다. 한편, 일 측면에 따르면 구동기 모델 (930) 의 하부 지지대 모델 (910) 에 대한 연결부는 X, Y, Z 축에 대한 이동 및 회전이 제한되도록 구성될 수 있다. 나아가, 물체의 질량 및 관성 텐서에 적용되는 스케일 (Scale) 은 1 로 설정될 수 있다. For example, a 3D model driving engine such as Unity may set each characteristic of the implemented 3D model. Using this, for example, it is possible to set the physical properties for the plate model 920 , which is very light below a predetermined mass set value, and also has low resistance and rotational resistance compared to the joint model 940 . can be set to have. The joint model 940 may be set, for example, to have the same mass as the plate model 920 , and may be set to have a much greater resistance than the plate model 920 , and also to have a greater rotational resistance. For example, as shown in FIG. 8 , the mass, resistance, and rotation resistance of the plate model 920 may be set to 1, 1, and 0.05, respectively, and the mass, resistance, and rotation resistance of the joint model 940 are respectively It can be set to 1, 1000, or 1. However, it should be understood that the physical properties of the models according to the embodiments of the present invention are not limited to the above setting values. Meanwhile, according to one aspect, the connection part of the actuator model 930 to the lower support model 910 may be configured to restrict movement and rotation about the X, Y, and Z axes. Furthermore, the scale applied to the mass and inertia tensors of the object may be set to 1.

모션 플랫폼의 성능 평가 방법How to evaluate the performance of a motion platform

본 발명의 실시예들에 따른 3차원 모델 구동 엔진을 기반으로 모션 플랫폼 (Motion-platform) 의 순기구학 (Forward-kinematics) 을 구현하기 위한 방법을 이용하여, 모션 플랫폼의 성능 평가 또는 성능 검증을 수행하는 것이 가능하다. Performance evaluation or performance verification of a motion platform is performed using a method for implementing forward-kinematics of a motion-platform based on a three-dimensional model driving engine according to embodiments of the present invention it is possible to do

도 11 은 본 발명의 일 실시예에 따른 모션 플랫폼의 성능 평가 방법의 흐름도이다. 이하, 도 11 을 참조하여 본 발명의 일 실시예에 따른 모션 플랫폼의 성능 평가 방법에 대해서 보다 구체적으로 설명한다. 예를 들어, 복수의 구동기 (Actuator) 및 복수의 구동기에 의해 움직임 (Motion) 이 제어되는 플레이트를 포함하는 모션 플랫폼 (Motion-platform) 이 성능 평가의 대상이 될 수 있다. 또한, 예를 들어 도 2 에 도시된 바와 같은 모션 플랫폼이 성능 평가의 대상이 될 수 있다. 11 is a flowchart of a performance evaluation method of a motion platform according to an embodiment of the present invention. Hereinafter, a performance evaluation method of a motion platform according to an embodiment of the present invention will be described in more detail with reference to FIG. 11 . For example, a motion-platform including a plurality of actuators and a plate whose motion is controlled by the plurality of actuators may be subject to performance evaluation. Also, for example, a motion platform as shown in FIG. 2 may be subjected to performance evaluation.

도 11 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 모션 플랫폼의 성능 평가 방법은, 먼저 모션 플랫폼의 제어 목표 상태에 대한 제어 명령을 생성할 수 있다 (단계 1110). 제어 목표 상태는 모션 플랫폼의 제어를 통해 모션 플랫폼의 플레이트가 처하게 되는 상태, 예를 들어 각도 및 위치를 나타낼 수 있다. 예를 들어 모션 고전 제어에 따르면 제어 명령은 복수의 구동기 각각의 길이를 지시할 수 있다. 제어 명령이 지시하는 구동기의 길이는, 예를 들어 모션 플랫폼의 제어 목표 상태를 기반으로 역기구학을 푸는 것에 의해 계산될 수 있다. 11 , in the method for evaluating the performance of a motion platform according to an embodiment of the present invention, first, a control command for a control target state of the motion platform may be generated (step 1110). The control target state may indicate a state, eg, an angle and a position, to which a plate of the motion platform is placed through control of the motion platform. For example, according to motion classical control, the control command may indicate the length of each of a plurality of actuators. The length of the actuator indicated by the control command may be calculated, for example, by solving the inverse kinematics based on the control target state of the motion platform.

이어서, 생성된 제어 명령에 따라 모션 플랫폼의 복수의 구동기를 제어할 수 있다 (단계 1120). 예를 들어 서보 드라이버를 통해, 구동기들 각각의 길이를 역기구학에 의해 구해진 길이로 변경시킬 수 있다. Then, it is possible to control the plurality of actuators of the motion platform according to the generated control command (step 1120). For example, through a servo driver, the length of each of the actuators may be changed to a length obtained by inverse kinematics.

다시 도 11 을 참조하면, 앞서 살핀 바와 같은 본 발명의 실시예들에 따른 모션 플랫폼의 순기구학 구현 방법을 기반으로, 3차원 모델 구동 엔진 내의 복수의 구동기 모델 (930) 각각의 길이를 복수의 구동기의 측정된 길이로 변경시키는 것에 의해 플레이트 모델 (920) 의 상태에 대한 값을 결정할 수 있다 (단계 1130). 모션 플랫폼의 성능 평가 또는 검증을 위해서는 제어 명령에 따라 모션 플랫폼이 실제로 작동한 상태에 대한 평가가 필요하다. 관련하여, 모션 플랫폼의 플레이트에 복수의 센서를 구비하는 방안이 고려될 수 있지만, 본 발명의 일 실시예에 따라 순기구학을 통해 플레이트의 상태에 대한 값을 구하는 것이 성능 및/또는 비용 측면에서 더 유리할 수 있다. 따라서, 모션 플랫폼의 복수의 구동기들이 제어 명령에 따라 제어된 상태, 즉, 구동기들 각각의 길이를 측정할 수 있고, 측정된 구동기들의 길이를 기반으로 플레이트의 상태를 계산할 수 있다. 복수의 구동기의 측정된 길이는, 복수의 구동기들 각각에 구비된 엔코더 (Encoder) 를 기반으로 측정된 것일 수 있다. Referring back to FIG. 11 , based on the forward kinematics implementation method of the motion platform according to the embodiments of the present invention as salvaged above, the length of each of the plurality of driver models 930 in the three-dimensional model driving engine is determined by the plurality of drivers. A value for the state of the plate model 920 can be determined by changing it to the measured length of (step 1130). In order to evaluate or verify the performance of the motion platform, it is necessary to evaluate the state in which the motion platform is actually operated according to the control command. In this regard, although a method of including a plurality of sensors on the plate of the motion platform may be considered, it is more efficient in terms of performance and/or cost to obtain a value for the state of the plate through forward kinematics according to an embodiment of the present invention. can be advantageous Accordingly, the plurality of actuators of the motion platform may be controlled according to the control command, that is, the length of each of the actuators may be measured, and the state of the plate may be calculated based on the measured lengths of the actuators. The measured lengths of the plurality of drivers may be measured based on encoders provided in each of the plurality of drivers.

본 발명의 일 측면에 따른 순기구학의 구현 방법은 3차원 모델 구동 엔진을 이용할 수 있으므로, 3차원 모델 구동 엔진 내의 구동기 모델 (930) 들 각각의 길이를 측정된 구동기들 각각의 길이로 변경시키면, 시뮬레이션의 진행에 따라 플레이트 모델 (920) 의 정상 상태에서의 상태 값을 산출할 수 있다. Since the implementation method of forward kinematics according to an aspect of the present invention can use a three-dimensional model driving engine, if the length of each of the actuator models 930 in the three-dimensional model driving engine is changed to the measured length of each of the actuators, As the simulation proceeds, a state value in a steady state of the plate model 920 may be calculated.

다음으로, 다시 도 11 을 참조하면, 제어 목표 상태와 플레이트 모델의 상태에 대한 값을 기반으로 모션 플랫폼의 성능을 평가할 수 있다 (단계 1140). 즉, 3차원 모델 구동 엔진 내의 플레이트 모델 (920) 의 상태를 제어에 따른 모션 플랫폼의 플레이트의 상태로 간주하여, 제어 명령의 제어에 따라 모션 플랫폼이 어느 정도까지 상태 제어가 수행되는 지 여부를 평가 또는 검증할 수 있다. 여기서, 모션 플랫폼에 대한 성능 평가는, 플레이트의 위치 및 각도 중 적어도 하나에 대한 상태 평가, 플레이트의 위치 및 각도 중 적어도 하나에 대한 변화 속도 평가 또는 플레이트의 위치 및 각도 중 적어도 하나에 대한 변화의 가속도 평가 중 적어도 하나를 포함할 수 있다. 즉, 본 발명의 일 실시예에 따른 평가 방법에 따르면 플레이트의 특정 시점에서의 상태에 대한 평가가 가능하므로, 복수의 시점들의 제어 명령에 따른 플레이트 모델의 상태에 대한 값을 기반으로 속도 및/또는 가속도에 대해서도 성능의 평가 및/또는 검증이 가능하다. Next, referring back to FIG. 11 , the performance of the motion platform may be evaluated based on values for the control target state and the plate model state (step 1140 ). That is, by considering the state of the plate model 920 in the three-dimensional model driving engine as the state of the plate of the motion platform according to the control, it is evaluated to what extent the state control of the motion platform is performed according to the control of the control command. Or you can verify. Here, the performance evaluation of the motion platform includes evaluation of the state of at least one of the position and angle of the plate, evaluation of the rate of change of at least one of the position and angle of the plate, or the acceleration of change with respect to at least one of the position and angle of the plate. It may include at least one of the evaluations. That is, according to the evaluation method according to an embodiment of the present invention, it is possible to evaluate the state of the plate at a specific point in time. It is also possible to evaluate and/or verify performance with respect to acceleration.

한편, 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자라면, 본 발명의 일 실시예에 따른 3차원 모델 구동 엔진을 기반으로 모션 플랫폼 (Motion-platform) 의 순기구학 (Forward-kinematics) 을 구현하기 위한 방법이 모션 플랫폼의 오픈 루프 제어에도 활용될 수 있음을 아는 데 있어서 어려움이 없을 것이다. 예를 들어, 제어 목표가 되는 상태를 기반으로 역기구학을 통해 구동기들 각각의 목표 길이를 결정하고, 제어 명령에 따라 구동기들이 작동하였을 때 예를 들어 구동기들 각각에 구비된 엔코더를 기반으로 구동기들의 실제 길이를 측정하고, 측정된 길이를 3차원 모델 구동 엔진을 이용하여 순기구학을 푸는 것에 의해 3차원 모델 구동 엔진 내의 플레이트 모델의 상태 값을 산출할 수 있다. 플레이트 모델의 상태 값을 플레이트의 상태 값으로 가정하여, 오픈 루프 제어 방식을 통해 모션 플렛폼에 대한 제어를 수행할 수 있다. Meanwhile, those of ordinary skill in the art to which the present invention pertains implement forward-kinematics of a motion-platform based on a three-dimensional model driving engine according to an embodiment of the present invention. There will be no difficulty in knowing that the method to do this can also be used for open loop control of motion platforms. For example, the target length of each of the actuators is determined through inverse kinematics based on the state that becomes the control target, and when the actuators are operated according to the control command, for example, the actual number of actuators is based on the encoder provided in each of the actuators. The state value of the plate model in the 3D model driving engine may be calculated by measuring the length and solving the forward kinematics of the measured length using the 3D model driving engine. Assuming that the state value of the plate model is the state value of the plate, it is possible to control the motion platform through the open loop control method.

컴퓨팅 시스템computing system

도 12 는 본 발명의 일 실시예에 따른 제어 방법이 수행될 수 있는 예시적인 컴퓨팅 시스템의 구성을 나타내는 블록도이다. 도 12 를 참조하면, 컴퓨팅 시스템 (800) 은 플래시 스토리지 (810), 프로세서 (820), RAM (830), 입출력 장치 (840) 및 전원 장치 (850) 를 포함할 수 있다. 또한, 플래시 스토리지 (810) 는 메모리 장치 (811) 및 메모리 컨트롤러 (812) 를 포함할 수 있다. 한편, 도 12 에는 도시되지 않았지만, 컴퓨팅 시스템 (800) 은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트 (port) 들을 더 포함할 수 있다.12 is a block diagram illustrating the configuration of an exemplary computing system in which a control method according to an embodiment of the present invention may be performed. 12 , the computing system 800 may include a flash storage 810 , a processor 820 , a RAM 830 , an input/output device 840 , and a power supply device 850 . Also, the flash storage 810 may include a memory device 811 and a memory controller 812 . Meanwhile, although not shown in FIG. 12 , the computing system 800 may further include ports capable of communicating with a video card, a sound card, a memory card, a USB device, or the like, or communicating with other electronic devices. .

컴퓨팅 시스템 (800) 은 퍼스널 컴퓨터로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA (personal digital assistant) 및 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.The computing system 800 may be implemented as a personal computer or as a portable electronic device such as a notebook computer, a mobile phone, a personal digital assistant (PDA), and a camera.

프로세서 (820) 는 특정 계산들 또는 태스크 (task) 들을 수행할 수 있다. 실시예에 따라, 프로세서 (820) 는 마이크로프로세서 (micro-processor), 중앙 처리 장치 (Central Processing Unit, CPU)일 수 있다. 프로세서 (820) 는 어드레스 버스 (address bus), 제어 버스 (control bus) 및 데이터 버스 (data bus) 등과 같은 버스 (860) 를 통하여 RAM (830), 입출력 장치 (840) 및 플래시 스토리지 (810) 와 통신을 수행할 수 있다. The processor 820 may perform certain calculations or tasks. According to an embodiment, the processor 820 may be a micro-processor or a central processing unit (CPU). The processor 820 includes a RAM 830, an input/output device 840, and a flash storage 810 through a bus 860 such as an address bus, a control bus, and a data bus. communication can be performed.

일 실시예에 따라, 프로세서 (820) 는 주변 구성요소 상호연결 (Peripheral Component Interconnect, PCI) 버스와 같은 확장 버스에도 연결될 수 있다.According to one embodiment, the processor 820 may also be coupled to an expansion bus, such as a Peripheral Component Interconnect (PCI) bus.

RAM (830) 는 컴퓨팅 시스템 (800) 의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 디램 (DRAM), 모바일 디램, 에스램 (SRAM), 피램 (PRAM), 에프램 (FRAM), 엠램 (MRAM), 알램 (RRAM) 을 포함하는 임의의 유형의 랜덤 액세스 메모리가 RAM (830)으로 이용될 수 있다.The RAM 830 may store data necessary for the operation of the computing system 800 . For example, any type of random access memory including DRAM (DRAM), mobile DRAM, SRAM (SRAM), PRAM (PRAM), FRAM (FRAM), MRAM (MRAM), RAM (RRAM) (830) can be used.

입출력 장치 (840) 는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 전원 장치 (850) 는 컴퓨팅 시스템 (800) 의 동작에 필요한 동작 전압을 공급할 수 있다.The input/output device 840 may include input means such as a keyboard, keypad, and mouse, and output means such as a printer and a display. The power supply 850 may supply an operating voltage necessary for the operation of the computing system 800 .

한편, 상술한 본 발명에 따른 제어 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.Meanwhile, the above-described control method according to the present invention may be implemented as a computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes any type of recording medium in which data that can be read by a computer system is stored. For example, there may be a read only memory (ROM), a random access memory (RAM), a magnetic tape, a magnetic disk, a flash memory, an optical data storage device, and the like. In addition, the computer-readable recording medium may be distributed in computer systems connected through a computer communication network, and stored and executed as readable codes in a distributed manner.

이상, 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although described above with reference to the drawings and examples, it does not mean that the protection scope of the present invention is limited by the drawings or examples, and those skilled in the art will It will be understood that various modifications and variations of the present invention can be made without departing from the spirit and scope thereof.

구체적으로, 설명된 특징들은 디지털 전자 회로, 또는 컴퓨터 하드웨어, 펌웨어, 또는 그들의 조합들 내에서 실행될 수 있다. 특징들은 예컨대, 프로그래밍 가능한 프로세서에 의한 실행을 위해, 기계 판독 가능한 저장 디바이스 내의 저장장치 내에서 구현되는 컴퓨터 프로그램 제품에서 실행될 수 있다. 그리고 특징들은 입력 데이터 상에서 동작하고 출력을 생성함으로써 설명된 실시예들의 함수들을 수행하기 위한 지시어들의 프로그램을 실행하는 프로그래밍 가능한 프로세서에 의해 수행될 수 있다. 설명된 특징들은, 데이터 저장 시스템으로부터 데이터 및 지시어들을 수신하기 위해, 및 데이터 저장 시스템으로 데이터 및 지시어들을 전송하기 위해 결합된 적어도 하나의 프로그래밍 가능한 프로세서, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스를 포함하는 프로그래밍 가능한 시스템 상에서 실행될 수 있는 하나 이상의 컴퓨터 프로그램들 내에서 실행될 수 있다. 컴퓨터 프로그램은 소정 결과에 대해 특정 동작을 수행하기 위해 컴퓨터 내에서 직접 또는 간접적으로 사용될 수 있는 지시어들의 집합을 포함한다. 컴퓨터 프로그램은 컴파일된 또는 해석된 언어들을 포함하는 프로그래밍 언어 중 어느 형태로 쓰여지고, 모듈, 소자, 서브루틴(subroutine), 또는 다른 컴퓨터 환경에서 사용을 위해 적합한 다른 유닛으로서, 또는 독립 조작 가능한 프로그램으로서 포함하는 어느 형태로도 사용될 수 있다.Specifically, the described features may be implemented in digital electronic circuitry, or computer hardware, firmware, or combinations thereof. Features may be executed in a computer program product embodied in storage in a machine readable storage device, for example, for execution by a programmable processor. and features may be performed by a programmable processor executing a program of instructions for performing functions of the described embodiments by operating on input data and generating output. The described features include at least one programmable processor, at least one input device, and at least one output device coupled to receive data and instructions from, and transmit data and instructions to, a data storage system. can be executed in one or more computer programs that can be executed on a programmable system comprising A computer program includes a set of directives that can be used directly or indirectly within a computer to perform a particular action on a given result. A computer program is written in any form of programming language, including compiled or interpreted languages, and included as a module, element, subroutine, or other unit suitable for use in another computer environment, or as a standalone operable program. It can be used in any form.

지시어들의 프로그램의 실행을 위한 적합한 프로세서들은, 예를 들어, 범용 및 특수 용도 마이크로프로세서들 둘 모두, 및 단독 프로세서 또는 다른 종류의 컴퓨터의 다중 프로세서들 중 하나를 포함한다. 또한 설명된 특징들을 구현하는 컴퓨터 프로그램 지시어들 및 데이터를 구현하기 적합한 저장 디바이스들은 예컨대, EPROM, EEPROM, 및 플래쉬 메모리 디바이스들과 같은 반도체 메모리 디바이스들, 내부 하드 디스크들 및 제거 가능한 디스크들과 같은 자기 디바이스들, 광자기 디스크들 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 비휘발성 메모리의 모든 형태들을 포함한다. 프로세서 및 메모리는 ASIC들(application-specific integrated circuits) 내에서 통합되거나 또는 ASIC들에 의해 추가되어질 수 있다.Suitable processors for execution of a program of instructions include, for example, both general and special purpose microprocessors, and either a single processor or multiple processors of a different kind of computer. Also suitable storage devices for implementing computer program instructions and data embodying the described features are semiconductor memory devices such as EPROM, EEPROM, and flash memory devices, magnetic devices such as internal hard disks and removable disks. devices, magneto-optical disks and all forms of non-volatile memory including CD-ROM and DVD-ROM disks. The processor and memory may be integrated in or added by ASICs (application-specific integrated circuits).

이상에서 설명한 본 발명은 일련의 기능 블록들을 기초로 설명되고 있지만, 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.Although the present invention described above has been described based on a series of functional blocks, it is not limited by the above-described embodiments and the accompanying drawings, and various substitutions, modifications and changes within the scope without departing from the technical spirit of the present invention It will be apparent to those of ordinary skill in the art to which the present invention pertains.

전술한 실시 예들의 조합은 전술한 실시 예에 한정되는 것이 아니며, 구현 및/또는 필요에 따라 전술한 실시예들 뿐 아니라 다양한 형태의 조합이 제공될 수 있다.The combination of the above-described embodiments is not limited to the above-described embodiment, and various types of combinations may be provided as well as the above-described embodiments according to implementation and/or necessity.

전술한 실시 예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.In the foregoing embodiments, the methods are described on the basis of a flowchart as a series of steps or blocks, but the present invention is not limited to the order of the steps, and some steps may occur in a different order or concurrently with other steps as described above. have. In addition, those of ordinary skill in the art will recognize that the steps shown in the flowchart are not exclusive, other steps may be included, or that one or more steps of the flowchart may be deleted without affecting the scope of the present invention. You will understand.

전술한 실시 예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다. The foregoing embodiments include examples of various aspects. It is not possible to describe every possible combination for representing the various aspects, but one of ordinary skill in the art will recognize that other combinations are possible. Accordingly, it is intended that the present invention cover all other substitutions, modifications and variations falling within the scope of the following claims.

Claims (10)

3차원 모델 구동 엔진을 기반으로 모션 플랫폼 (Motion-platform) 의 순기구학 (Forward-kinematics) 을 구현하기 위한 방법으로서, 상기 모션 플랫폼은 복수의 구동기 (Actuator) 및 상기 복수의 구동기에 의해 움직임 (Motion) 이 제어되는 플레이트를 포함하고, 상기 방법은,
상기 3차원 모델 구동 엔진 내에서, 하부 지지대 모델, 플레이트 모델, 복수의 구동기 모델 및 상기 복수의 구동기 모델 각각을 상기 플레이트 모델에 결합시키는 복수의 조인트 모델을 구성하는 단계;
상기 3차원 모델 구동 엔진 내에서, 상기 복수의 구동기 모델 각각의 길이를 제어 명령에 따른 길이로 변경시키는 단계; 및
상기 3차원 모델 구동 엔진 내에서, 복수의 조인트 단부 - 여기서, 상기 조인트 단부는 상기 구동기 모델의 상기 조인트 모델에 결합되는 단부를 나타냄 - 와 상기 플레이트 모델 간의 거리가 최소화되는 시점에 상기 플레이트 모델의 상태에 대한 값을 결정하는 단계를 포함하는, 모션 플랫폼의 순기구학 구현 방법.
A method for implementing forward-kinematics of a motion-platform based on a three-dimensional model driving engine, wherein the motion platform includes a plurality of actuators and a motion by the plurality of actuators. ) comprising a controlled plate, the method comprising:
constructing a lower support model, a plate model, a plurality of actuator models, and a plurality of joint models for coupling each of the plurality of actuator models to the plate model in the three-dimensional model driving engine;
changing the length of each of the plurality of actuator models to a length according to a control command in the 3D model driving engine; and
In the three-dimensional model driving engine, the state of the plate model at a point in time when a distance between a plurality of joint ends, wherein the joint ends represent an end coupled to the joint model of the actuator model, and the plate model is minimized. A method for implementing forward kinematics of a motion platform, comprising determining a value for .
제 1 항에 있어서,
상기 복수의 조인트 모델은,
복수의 상기 조인트 단부와 상기 플레이트 모델 간의 거리가 변동 가능하도록 탄성을 가지도록 구성되는, 모션 플랫폼의 순기구학 구현 방법.
The method of claim 1,
The plurality of joint models are
A method for implementing forward kinematics of a motion platform, configured to have elasticity such that a distance between the plurality of joint ends and the plate model is variable.
제 1 항에 있어서,
상기 플레이트 모델의 상태에 대한 값은,
상기 플레이트 모델의 위치에 대한 값 및 상기 플레이트 모델의 각도에 대한 값을 포함하는, 모션 플랫폼의 순기구학 구현 방법.
The method of claim 1,
The value for the state of the plate model is,
A method for implementing forward kinematics of a motion platform, including a value for a position of the plate model and a value for an angle of the plate model.
제 1 항에 있어서,
상기 3차원 모델 구동 엔진은 유니티 (Unity) 3D 프로그램을 포함하는, 모션 플랫폼의 순기구학 구현 방법.
The method of claim 1,
The 3D model driving engine includes a Unity 3D program, the forward kinematics implementation method of the motion platform.
제 1 항에 있어서,
상기 방법은,
상기 플레이트 모델 또는 상기 조인트 모델 중 적어도 하나에 대한 파라미터를 설정하는 것에 의해 상기 모션 플랫폼에 대한 순기구학 구현 성능이 조정되는, 모션 플랫폼의 순기구학 구현 방법.
The method of claim 1,
The method is
The forward kinematics implementation method of a motion platform, wherein forward kinematics implementation performance for the motion platform is adjusted by setting a parameter for at least one of the plate model or the joint model.
제 5 항에 있어서,
상기 플레이트 모델에 대한 파라미터는, 상기 플레이트 모델의 질량, 상기 플레이트 모델의 저항력 또는 상기 플레이트 모델의 회전 저항력 중 적어도 하나에 대한 설정값을 포함하고,
상기 조인트 모델에 대한 파라미터는, 상기 조인트 모델의 질량, 상기 조인트 모델의 저항력 또는 상기 조인트 모델의 회전 저항력 중 적어도 하나에 대한 설정값을 포함하는, 모션 플랫폼의 순기구학 구현 방법.
6. The method of claim 5,
The parameter for the plate model includes a set value for at least one of a mass of the plate model, a resistive force of the plate model, or a rotational resistive force of the plate model,
The parameter for the joint model includes a set value for at least one of a mass of the joint model, a resistance force of the joint model, or a rotation resistance force of the joint model.
제 5 항에 있어서,
상기 구동기 모델의 상기 하부 지지대 모델에 대한 연결부는 X, Y, Z 축에 대한 이동 및 회전이 제한되도록 구성되는, 모션 플랫폼의 순기구학 구현 방법.
6. The method of claim 5,
A method for implementing forward kinematics of a motion platform, wherein the connection portion of the actuator model to the lower support model is configured to restrict movement and rotation about X, Y, and Z axes.
복수의 구동기 (Actuator) 및 상기 복수의 구동기에 의해 움직임 (Motion) 이 제어되는 플레이트를 포함하는 모션 플랫폼 (Motion-platform) 에 대한 성능 평가 방법으로서,
모션 플랫폼의 제어 목표 상태에 대한 제어 명령을 생성하는 단계;
상기 제어 명령에 따라 상기 모션 플랫폼의 복수의 구동기를 제어하는 단계;
제 1 항에 따른 모션 플랫폼의 순기구학 구현 방법을 기반으로, 상기 복수의 구동기 모델 각각의 길이를 상기 복수의 구동기의 측정된 길이로 변경시키는 것에 의해 상기 플레이트 모델의 상태에 대한 값을 결정하는 단계; 및
상기 제어 목표 상태와 상기 플레이트 모델의 상태에 대한 값을 기반으로 상기 모션 플랫폼의 성능을 평가하는 단계를 포함하는, 모션 플랫폼에 대한 성능 평가 방법.
As a performance evaluation method for a motion-platform comprising a plurality of actuators and a plate whose motion is controlled by the plurality of actuators,
generating a control command for a control target state of the motion platform;
controlling a plurality of actuators of the motion platform according to the control command;
Determining a value for the state of the plate model by changing the length of each of the plurality of actuator models to the measured length of the plurality of actuators, based on the forward kinematics implementation method of the motion platform according to claim 1 . ; and
and evaluating the performance of the motion platform based on values for the control target state and the state of the plate model.
제 8 항에 있어서,
상기 복수의 구동기의 측정된 길이는,
상기 복수의 구동기들 각각에 구비된 엔코더 (Encoder) 를 기반으로 측정되는, 모션 플랫폼에 대한 성능 평가 방법.
9. The method of claim 8,
The measured length of the plurality of actuators is
A performance evaluation method for a motion platform, which is measured based on an encoder provided in each of the plurality of drivers.
제 8 항에 있어서,
상기 모션 플랫폼에 대한 성능 평가는,
상기 플레이트의 위치 및 각도 중 적어도 하나에 대한 상태 평가;
상기 플레이트의 위치 및 각도 중 적어도 하나에 대한 변화 속도 평가; 또는
상기 플레이트의 위치 및 각도 중 적어도 하나에 대한 변화의 가속도 평가 중 적어도 하나를 포함하는, 모션 플랫폼에 대한 성능 평가 방법.
9. The method of claim 8,
Performance evaluation for the motion platform,
evaluating the condition of at least one of a position and an angle of the plate;
evaluating a rate of change for at least one of a position and an angle of the plate; or
and at least one of evaluating an acceleration of change with respect to at least one of a position and an angle of the plate.
KR1020200165525A 2020-12-01 2020-12-01 A method for implementing forward kinematics of motion platform based on 3d-model running engine KR102423745B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200165525A KR102423745B1 (en) 2020-12-01 2020-12-01 A method for implementing forward kinematics of motion platform based on 3d-model running engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200165525A KR102423745B1 (en) 2020-12-01 2020-12-01 A method for implementing forward kinematics of motion platform based on 3d-model running engine

Publications (2)

Publication Number Publication Date
KR20220076736A KR20220076736A (en) 2022-06-08
KR102423745B1 true KR102423745B1 (en) 2022-07-21

Family

ID=81981842

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200165525A KR102423745B1 (en) 2020-12-01 2020-12-01 A method for implementing forward kinematics of motion platform based on 3d-model running engine

Country Status (1)

Country Link
KR (1) KR102423745B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117609673B (en) * 2024-01-24 2024-04-09 中南大学 Six-degree-of-freedom parallel mechanism forward solution method based on physical information neural network

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101586195B1 (en) 2014-04-09 2016-01-20 전자부품연구원 Riding platform apparatus and method for using virtual environments to overcome motion sickness
KR101879808B1 (en) * 2016-05-13 2018-07-18 (주)이노시뮬레이션 Gravity compensation device for motion simulator
KR102117253B1 (en) * 2019-05-21 2020-06-01 (주)이노시뮬레이션 Multi-dof motion platform

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
비특허 1
비특허 2
비특허 6
비특허 7

Also Published As

Publication number Publication date
KR20220076736A (en) 2022-06-08

Similar Documents

Publication Publication Date Title
US8217932B2 (en) Systems and methods for implementing haptic systems and stimulated environments
US7191104B2 (en) Method of real-time collision detection between solid geometric models
Stanley et al. Deformable model-based methods for shape control of a haptic jamming surface
Bi et al. Friction modeling and compensation for haptic display based on support vector machine
JP2018030210A (en) Simulation device, control system, robot system, simulation method, program and recording medium
KR102423745B1 (en) A method for implementing forward kinematics of motion platform based on 3d-model running engine
Bera et al. Robust overwhelming control of a hydraulically driven three-degrees-of-freedom parallel manipulator through a simplified fast inverse model
Khaled Virtual Reality and Animation for MATLAB® and Simulink® Users: Visualization of Dynamic Models and Control Simulations
Schlotter Multibody system simulation with SimMechanics
Lei et al. PC based high quality and low cost flight simulator
Anderl et al. Simulations with NX/Simcenter 3D: Kinematics, FEA, CFD, EM and Data Management
Ma et al. Modelling rocking behaviour using physics engine simulation
Paw et al. Parametric uncertainty modeling for LFT model realization
KR102452500B1 (en) A method for controlling motion flatform having turn-table
KR102499292B1 (en) A method for controlling motion flatform with queing algorithm based on operation range margin
Atoir et al. An evaluation of complementary filter method in increasing the performance of motion tracking gloves for virtual reality games
Durikovic et al. Human hand model based on rigid body dynamics
Ellman et al. Comparison of low-and high-fidelity approach in model based design in the case of a portable motion platform
US20240051124A1 (en) Simulation of robotics devices using a neural network systems and methods
Köthe et al. The Virtual Flight Test Environment-A Web-Based Framework for Realistic Testing of Flight Control Laws
Beliveau et al. Dynamic-behavior modeler for material handling in construction
Mendeleev et al. Virtual Design of Physical Processes
Hyatt Robust real-time model predictive control for high degree of freedom soft robots
Ahmed 3-DOF Longitudinal Flight Simulation Modeling And Design Using MATLAB/SIMULINK
Moisio A soft contact collision method for real-time simulation of triangularized geometries in multibody dynamics

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant