KR102506496B1 - Kinetic Display Controller - Google Patents
Kinetic Display Controller Download PDFInfo
- Publication number
- KR102506496B1 KR102506496B1 KR1020210070271A KR20210070271A KR102506496B1 KR 102506496 B1 KR102506496 B1 KR 102506496B1 KR 1020210070271 A KR1020210070271 A KR 1020210070271A KR 20210070271 A KR20210070271 A KR 20210070271A KR 102506496 B1 KR102506496 B1 KR 102506496B1
- Authority
- KR
- South Korea
- Prior art keywords
- motion data
- motion
- buffer
- motor
- controller
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 키네틱 디스플레이 장치의 실감성 및 시각적 유연성을 보강하기 위해 다축 동시 제어 및 연속적인 모션 수행이 가능한 키네틱 디스플레이 콘트롤러에 관한 것으로,
본 발명의 실시예에 따른 키네틱 디스플레이 콘트롤러는,
연출하고자 하는 콘텐츠에 대응하는 복수개의 모션 데이터들을 생성하고, 생성된 복수개의 모션 데이터들을 버퍼 사이즈에 맞도록 분할하는 모션 콘트롤러; 복수개의 버퍼와 RTOS(Real Time OS)를 포함하며, 상기 복수개의 버퍼 각각에, 상기 모션 콘트롤러에서 생성 분할된 모션 데이터들을 수신하고, 수신된 모션 데이터들에 따라 슬래이브를 구성하는 복수의 모터를 구동 제어하기 위한 제어 신호를 생성하는 이더캣 마스터; 모터와 상기 모터를 구동하기 위한 모터 드라이버를 포함하며, 상기 이더캣 마스터로부터 상기 제어 신호를 수신하고, 수신된 제어 신호에 따라 상기 모터를 구동하는 슬래이브;를 포함한다.The present invention relates to a kinetic display controller capable of performing multi-axis simultaneous control and continuous motion in order to reinforce the realism and visual flexibility of a kinetic display device,
A kinetic display controller according to an embodiment of the present invention,
a motion controller that generates a plurality of pieces of motion data corresponding to content to be presented and divides the pieces of motion data to fit the size of the buffer; It includes a plurality of buffers and a Real Time OS (RTOS), receives motion data generated and divided by the motion controller in each of the plurality of buffers, and a plurality of motors constituting a slave according to the received motion data. an EtherCAT master that generates a control signal for driving control; A slave including a motor and a motor driver for driving the motor, receiving the control signal from the EtherCAT master, and driving the motor according to the received control signal.
Description
본 발명은 키네틱 디스플레이 장치의 실감성 및 시각적 유연성을 보강하기 위해 다축 동시 제어 및 연속적인 모션 수행이 가능한 키네틱 디스플레이 콘트롤러에 관한 것이다. The present invention relates to a kinetic display controller capable of performing multi-axis simultaneous control and continuous motion in order to reinforce the sense of reality and visual flexibility of a kinetic display device.
최근, 문화 시설 및 공연 분야에서 소비자와 상호 작용이 가능한 신개념의 실감형 디지털 문화 콘텐츠 산업이 성장하고 있다. 대표적인 사례로 다축의 키네틱 모듈이 구동되면서 입체 디지털 디스플레이를 구현하는 키네틱 디스플레이 장치가 각광 받고 있다.Recently, a new concept of immersive digital cultural contents industry that can interact with consumers in the field of cultural facilities and performances is growing. As a typical example, a kinetic display device that implements a three-dimensional digital display by driving a multi-axis kinetic module is in the limelight.
이러한 키네틱 디스플레이 장치와 관련하여, 한국공개특허 10-2018-0134720호는 키넥트 기반 인터랙티브 모션을 구축하기 위한 방법을 제시하고 있으나, 실제로 각 모듈을 움직이는 제어 구조에 대해서는 개시하고 있지 않다.Regarding such a kinetic display device, Korean Patent Publication No. 10-2018-0134720 suggests a method for constructing Kinect-based interactive motion, but does not disclose a control structure for actually moving each module.
또한, 한국공개특허 10-2020-0065461호는 키네틱 센서에 의한 모터 제어 솔루션을 제시하고 있으나, point to point 방식의 간단한 모션만 구현할 수 있을 뿐, 연속적인 모션을 구현할 수 없는 문제가 있다.In addition, Korean Patent Publication No. 10-2020-0065461 suggests a motor control solution by a kinetic sensor, but there is a problem in that only simple motion of a point-to-point method can be implemented, and continuous motion cannot be implemented.
본 발명은 키네틱 디스플레이 장치의 실감성 및 시각적 유연성을 보강하기 위해 다축 동시 제어 및 연속적인 모션 수행이 가능한 키네틱 디스플레이 콘트롤러를 제공하는 것을 목적으로 한다.An object of the present invention is to provide a kinetic display controller capable of performing multi-axis simultaneous control and continuous motion in order to reinforce the sense of reality and visual flexibility of a kinetic display device.
본 발명의 실시예에 따른 키네틱 디스플레이 콘트롤러는,A kinetic display controller according to an embodiment of the present invention,
연출하고자 하는 콘텐츠에 대응하는 복수개의 모션 데이터들을 생성하고, 생성된 복수개의 모션 데이터들을 버퍼 사이즈에 맞도록 분할하는 모션 콘트롤러; 복수개의 버퍼와 RTOS(Real Time OS)를 포함하며, 상기 복수개의 버퍼 각각에, 상기 모션 콘트롤러에서 생성 분할된 모션 데이터들을 수신하고, 수신된 모션 데이터들에 따라 슬래이브를 구성하는 복수의 모터를 구동 제어하기 위한 제어 신호를 생성하는 이더캣 마스터; 모터와 상기 모터를 구동하기 위한 모터 드라이버를 포함하며, 상기 이더캣 마스터로부터 상기 제어 신호를 수신하고, 수신된 제어 신호에 따라 상기 모터를 구동하는 슬래이브;를 포함한다.a motion controller that generates a plurality of pieces of motion data corresponding to content to be presented and divides the pieces of motion data to fit the size of the buffer; It includes a plurality of buffers and a Real Time OS (RTOS), receives motion data generated and divided by the motion controller in each of the plurality of buffers, and a plurality of motors constituting a slave according to the received motion data. an EtherCAT master that generates a control signal for driving control; A slave including a motor and a motor driver for driving the motor, receiving the control signal from the EtherCAT master, and driving the motor according to the received control signal.
본 발명의 실시예에 따른 키네틱 디스플레이 콘트롤러에 있어서, 상기 모션 콘트롤러에서 생성 분할된 모션 데이터들을 일시 저장하는 공유 메모리를 더 포함하며, 상기 공유 메모리는, 상기 모션 콘트롤러의 일 구성이거나, 또는 상기 이더캣 마스터의 일 구성이거나, 또는 상기 모션 콘트롤러와 상기 이더캣 마스터 사이의 가상 공간으로 구현될 수 있다. The kinetic display controller according to an embodiment of the present invention further includes a shared memory for temporarily storing motion data generated and divided by the motion controller, wherein the shared memory is a component of the motion controller or the EtherCAT. It may be a component of the master, or may be implemented as a virtual space between the motion controller and the EtherCAT master.
본 발명의 실시예에 따른 키네틱 디스플레이 콘트롤러에 있어서, 상기 모션 콘트롤러는, 상기 복수개의 모션 데이터들을 생성하는 궤적 생성부를 포함하며, 상기 궤적 생성부는, 큐빅 스플라인 알고리즘(cubic spline algorithm)에 기반하여 상기 복수개의 모션 데이터들을 생성할 수 있다. In the kinetic display controller according to an embodiment of the present invention, the motion controller includes a trajectory generator for generating the plurality of motion data, and the trajectory generator generates the plurality of motion data based on a cubic spline algorithm. Two pieces of motion data may be generated.
본 발명의 실시예에 따른 키네틱 디스플레이 콘트롤러에 있어서, 상기 모션 콘트롤러는, 상기 큐빅 스플라인 알고리즘을 이용하여 생성된 복수개의 모션 데이터들을 n세트의 모션 데이터로 분할하는 스플리터를 포함한다.In the kinetic display controller according to an embodiment of the present invention, the motion controller includes a splitter that divides a plurality of motion data generated using the cubic spline algorithm into n sets of motion data.
본 발명의 실시예에 따른 키네틱 디스플레이 콘트롤러에 있어서, 상기 복수개의 버퍼는 큐(Queue) 구조로 구성되며, 어느 하나의 버퍼에 저장된 모션 데이터가 상기 RTOS로 전달되면 해당 버퍼는 비워진다.In the kinetic display controller according to an embodiment of the present invention, the plurality of buffers are configured in a queue structure, and when motion data stored in one buffer is transferred to the RTOS, the corresponding buffer is emptied.
기타 본 발명의 다양한 측면에 따른 구현예들의 구체적인 사항은 이하의 상세한 설명에 포함되어 있다.Other specific details of implementations according to various aspects of the present invention are included in the detailed description below.
본 발명의 실시 형태에 따르면, 모션 데이터의 누수를 방지할 수 있으므로, 다축 동시 제어 및 연속적인 모션 수행이 가능하게 된다.According to an embodiment of the present invention, since leakage of motion data can be prevented, simultaneous multi-axis control and continuous motion can be performed.
도 1은 본 발명의 일 실시예에 따른 키네틱 디스플레이 콘트롤러가 도시된 도면이다.
도 2는 본 발명에서 모션 데이터를 생성하기 위해 사용되는 큐빅 스플라인 알고리즘이 예시된 도면이다.
도 3은 궤적 생성부에서 모션 데이터를 분할하는 과정을 예시하는 도면이다.
도 4는 분할된 모션 데이터가 슬래이브의 모터 드라이버로 전달되는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 키네틱 디스플레이 콘트롤러의 동작 결과를 설명하기 위한 도면이다.
도 6은 종래 기술에 따른 모터의 움직임을 설명하기 위한 도면이다.1 is a diagram illustrating a kinetic display controller according to an embodiment of the present invention.
2 is a diagram illustrating a cubic spline algorithm used to generate motion data in the present invention.
3 is a diagram illustrating a process of segmenting motion data in a trajectory generator.
4 is a diagram for explaining a process of transferring divided motion data to a motor driver of a slave.
5 is a diagram for explaining an operation result of a kinetic display controller according to an embodiment of the present invention.
6 is a diagram for explaining movement of a motor according to the prior art.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예를 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can apply various transformations and have various embodiments, specific embodiments will be exemplified and described in detail in the detailed description. However, it should be understood that this is not intended to limit the present invention to specific embodiments, and includes all transformations, equivalents, and substitutes included in the spirit and scope of the present invention.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, '포함하다' 또는 '가지다' 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 이하, 도면을 참조하여 본 발명의 실시예에 따른 키네틱 디스플레이 콘트롤러를 설명한다.Terms used in the present invention are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In the present invention, terms such as 'include' or 'having' are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded. Hereinafter, a kinetic display controller according to an embodiment of the present invention will be described with reference to the drawings.
도 1은 본 발명의 일 실시예에 따른 키네틱 디스플레이 콘트롤러가 도시된 도면이고, 도 2는 본 발명에서 모션 데이터를 생성하기 위해 사용되는 큐빅 스플라인 알고리즘이 예시된 도면이며, 도 3은 궤적 생성부에서 모션 데이터를 분할하는 과정을 예시하는 도면이고, 도 4는 분할된 모션 데이터가 슬래이브의 모터 드라이버로 전달되는 과정을 설명하기 위한 도면이며, 도 5는 본 발명의 일 실시예에 따른 키네틱 디스플레이 콘트롤러의 동작 결과를 설명하기 위한 도면이고, 도 6은 종래 기술에 따른 모터의 움직임을 설명하기 위한 도면이다.1 is a diagram showing a kinetic display controller according to an embodiment of the present invention, FIG. 2 is a diagram illustrating a cubic spline algorithm used to generate motion data in the present invention, and FIG. A diagram illustrating a process of dividing motion data, FIG. 4 is a diagram for explaining a process of transmitting divided motion data to a motor driver of a slave, and FIG. 5 is a kinetic display controller according to an embodiment of the present invention. 6 is a diagram for explaining the motion of a motor according to the prior art.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 키네틱 디스플레이 콘트롤러는, 모션 콘트롤러(100), 이더캣 마스터(200, EtherCAT Master), 슬래이브(300, Slave)를 포함한다.As shown in FIG. 1 , the kinetic display controller according to an embodiment of the present invention includes a
모션 콘트롤러(100)는 본 발명의 키네틱 디스플레이 콘트롤러의 최상위 제어기로, 연출하고자 하는 콘텐츠에 대응하는 복수개의 모션 데이터들을 생성하고 저장할 수 있으며, 키네틱 디스플레이 콘트롤러의 전체적인 움직임을 제어할 수 있다.The
모션 콘트롤러(100)는 모션 데이터들을 생성하는 궤적 생성부(110, trajectory generator)를 포함한다. The
궤적 생성부(110)는 큐빅 스플라인 알고리즘(cubic spline algorithm)에 기반하여 복수개의 모션 데이터들을 생성한다. 큐빅 스플라인 알고리즘은, 도 2에 예시된 바와 같은 알고리즘으로, 서로 떨어져 있는 두 점 사이를 매끄럽게 연결한다. The trajectory generating
궤적 생성부(110)는 스플리터(111, spliter)를 포함한다. 스플리터(111)는 큐빅 스플라인 알고리즘을 이용하여 생성된 복수개의 모션 데이터들을, 후술하는 복수개의 버퍼 사이즈에 맞도록 분할한다. The
소정 기간 동안의 모션 데이터들은 스플리터(111)에 의해 n세트의 모션 데이터(T0, T1, T2, ??Tn)로 분할될 수 있다. Motion data for a predetermined period of time may be divided into n sets of motion data (T0, T1, T2, ??Tn) by the
예를 들어, 도 3에 도시된 바와 같이, 궤적 생성부(110)에 의해 10초 간의 10,000개의 모션 데이터들이 생성되고, 이들 모션 데이터들은 스플리터(111)에 의해 1초 간격으로 1,000개의 모션 데이터로 분할될 수 있다. 이 경우, 10개 세트의 모션 데이터로 분할된다.For example, as shown in FIG. 3, 10,000 pieces of motion data for 10 seconds are generated by the
이와 같이 분할된 모션 데이터는 공유 메모리(M)에 일시 저장된다. 공유 메모리(M)는 모션 콘트롤러(100)와 이더캣 마스터(200) 간의 모션 데이터 공유를 위한 저장 공간이다. 공유 메모리(M)는 모션 콘트롤러(100)의 일 구성이거나, 또는 이더캣 마스터(200)의 일 구성일 수 있다. 또는, 모션 콘트롤러(100)와 이더캣 마스터(200) 사이의 가상 공간으로 구현될 수 있다.The motion data thus divided is temporarily stored in the shared memory M. The shared memory M is a storage space for sharing motion data between the
이더캣 마스터(200)는 모션 콘트롤러(100)에서 생성된 모션 데이터를 수신하고, 수신된 모션 데이터에 따라 슬래이브(300)를 구성하는 복수의 모터를 구동 제어하기 위한 제어 신호를 생성한다.The EtherCAT
이더캣 마스터(200)는 복수개의 버퍼(210)와 RTOS(Real Time OS, 220)를 포함한다. 도면에서는, 2개의 버퍼인 것을 예시하나, 이에 한정되는 것은 아니다.The EtherCAT
복수개의 버퍼(210)는 스플리터(111)에 의해 분할된 모션 데이터를 RTOS(220)에 전달하기 전에 임시로 저장한다. 복수개의 버퍼(210)는 큐(Queue) 구조로 구성되며, 어느 하나의 버퍼에 저장된 모션 데이터가 RTOS(220)로 전달되면 해당 버퍼(210)는 비워지게 된다.The plurality of
RTOS(220)는 임베디드 시스템에서 쓰이는 OS를 의미하며, 슬래이브(300)로 복수의 모터를 구동 제어하기 위한 제어 신호를 실시간으로 전달한다.The RTOS 220 means an OS used in an embedded system, and transmits a control signal for driving and controlling a plurality of motors to the
슬래이브(300)는 모터(320)와 모터를 구동하기 위한 모터 드라이버(310)를 포함한다. 모터 드라이버(310)는 이더캣 마스터(200)의 RTOS(220)로부터 제어 신호를 수신하고, 수신된 제어 신호에 따라 모터(320)를 구동한다.The
다음, 도 4를 참조하여 분할된 모션 데이터가 슬래이브(300)의 모터 드라이버(310)로 전달되는 과정을 설명한다. Next, with reference to FIG. 4 , a process of transferring divided motion data to the
궤적 생성부(110)에 의해 생성된 모션 데이터들은 스플리터(111)에 의해 n세트의 모션 데이터(T0, T1, T2, ??Tn)로 분할된다.The motion data generated by the
제k 세트의 모션 데이터(Tk, 0≤k≤n) 전송시, 버퍼(210)가 비어 있는 지 여부를 확인하고, 비어 있는 경우, 제k 세트의 모션 데이터를 공유 메모리(M)에 전송한다. 첫번째 세트의 모션 데이터(T0)부터 마지막 세트의 모션 데이터(Tn)는 동일 시간 분량(예를 들어, 모두 1초 분량)의 모션 데이터가 포함될 수 있다. 제k 세트를 전송한 후, 버퍼(210)가 비어 있는 지 여부를 확인하고, 비어 있는 경우, 제k+1 세트를 전송한다. 만약, 버퍼(210)가 비어 있지 않으면, 기설정된 시간 동안 전송 보류한다.When the kth set of motion data (Tk, 0≤k≤n) is transmitted, it is checked whether the
공유 메모리(M)에 일시 저장된 분할된 제k 세트의 모션 데이터는 복수의 버퍼(210) 중 어느 하나에 큐 구조로 순환되며, RTOS(220)가 제k 세트의 모션 데이터를 읽어들이면 해당 버퍼는 비워지게 되며, 공유 메모리(M)에 해당 버퍼가 비워졌다는 정보(Buffer empty)가 전달된다. The divided k-th set of motion data temporarily stored in the shared memory M is circulated in a queue structure in any one of the plurality of
공유 메모리(M)에 Buffer empty 정보가 전달되면, 전송 보류 중인 세트의 모션 데이터가 공유 메모리(M)로 전송된다. 이와 같은 과정을, 마지막 세트(Tn)의 모션 데이터가 전송될 때까지 반복한다.When buffer empty information is transmitted to the shared memory M, the motion data of the transmission pending set is transmitted to the shared memory M. This process is repeated until the motion data of the last set Tn is transmitted.
궤적 생성부(110)에 의해 생성된 모션 데이터들을 실시간으로 공유 메모리(M)로 전달할 경우, 모션 데이터의 양은 많고, RTOS(220)의 메모리는 한정적이기 때문에, 한번에 전달되지 않을 수 있다. 이 경우, 모션 데이터의 누수가 발생할 수 있다. When the motion data generated by the
이를 방지하기 위해, 본 발명에서는 궤적 생성부(110)에 의해 생성된 모션 데이터들을 분할하고 복수개의 버퍼를 마련한 다음, 버퍼의 상황에 따라 비어 있는 버퍼로 순차적으로 전송될 수 있도록 한다. 모션 데이터의 누수를 방지할 수 있으므로, 다축 동시 제어 및 연속적인 모션 수행이 가능하게 된다.In order to prevent this, in the present invention, the motion data generated by the
한편, 도 6은 종래 기술인 한국공개특허 10-2020-0065461호의 도 4로서,모터의 서보 드라이브는 도 6과 같이 사다리꼴 형태의 보간법을 제공하고 있는데, 이러한 사다리꼴 형태의 보간법은 목표값에 도달하면 속도가 0이 되므로, 복잡한 모션을 위해 연속적인 목표값을 주었을 때, 각 목표값에 도달할 때 끊김 현상이 발생한다.Meanwhile, FIG. 6 is FIG. 4 of Korean Patent Publication No. 10-2020-0065461, which is a prior art, and the servo drive of the motor provides a trapezoidal interpolation method as shown in FIG. becomes 0, when continuous target values are given for complex motion, a disconnection occurs when each target value is reached.
반면에, 본 발명에서는, 궤적 생성부(110)에서 큐빅 스플라인 알고리즘에 기반하여 복수개의 모션 데이터들을 생성하는데, 그 결과, 도 5에 도시된 바와 같이, 목표값(도 5에서 원으로 처리된 부분들)은 궤적의 중간 지점이 되어, 끊기지 않고 연속적으로 동작하게 된다. 따라서, 더욱 역동적이고 부드러운 동작이 가능하게 된다.On the other hand, in the present invention, the
이상, 본 발명의 일 실시예에 대하여 설명하였으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 특허청구범위에 기재된 본 발명의 사상으로부터 벗어나지 않는 범위 내에서, 구성 요소의 부가, 변경, 삭제 또는 추가 등에 의해 본 발명을 다양하게 수정 및 변경시킬 수 있을 것이며, 이 또한 본 발명의 권리범위 내에 포함된다고 할 것이다.Although one embodiment of the present invention has been described above, those skilled in the art can add, change, delete, or add components within the scope not departing from the spirit of the present invention described in the claims. The present invention can be variously modified and changed by the like, and this will also be said to be included within the scope of the present invention.
100 : 모션 콘트롤러 110 : 궤적 생성부
111 : 스플리터 200 : 이더캣 마스터
210 : 버퍼 220 : RTOS
300 : 슬래이브 310 : 모터 드라이버
320 : 모터 100: motion controller 110: trajectory generator
111: Splitter 200: EtherCAT Master
210: buffer 220: RTOS
300: slave 310: motor driver
320: motor
Claims (5)
상기 모션 콘트롤러에서 생성 분할된 모션 데이터들을 일시 저장하는 공유 메모리;
복수개의 버퍼와 RTOS(Real Time OS)를 포함하며, 상기 복수개의 버퍼 각각에, 상기 모션 콘트롤러에서 생성 분할된 모션 데이터들을 수신하고, 수신된 모션 데이터들에 따라 슬래이브를 구성하는 복수의 모터를 구동 제어하기 위한 제어 신호를 생성하는 이더캣 마스터;
모터와 상기 모터를 구동하기 위한 모터 드라이버를 포함하며, 상기 이더캣 마스터로부터 상기 제어 신호를 수신하고, 수신된 제어 신호에 따라 상기 모터를 구동하는 슬래이브;를 포함하며,
상기 모션 콘트롤러는,
큐빅 스플라인 알고리즘(cubic spline algorithm)에 기반하여 상기 복수개의 모션 데이터들을 생성하는 궤적 생성부를 포함하고,
상기 복수개의 모션 데이터들은 스플리터에 의해 동일 시간 분량의 모션 데이터를 포함하는 n세트의 모션 데이터로 분할되며,
제k 세트의 모션 데이터(Tk, 0≤k≤n) 전송시, 상기 버퍼가 비어 있는 지 여부를 확인하고, 비어 있는 경우 상기 제k 세트의 모션 데이터를 상기 공유 메모리에 전송하고, 상기 버퍼가 비어 있지 않으면, 기설정된 시간 동안 전송을 보류하며,
상기 공유 메모리에 일시 저장된 상기 제k 세트의 모션 데이터는 상기 복수의 버퍼 중 어느 하나에 큐 구조로 순환되며, 상기 RTOS가 상기 제k 세트의 모션 데이터를 읽어들이면 해당 버퍼는 비워지게 되며, 상기 공유 메모리에는 해당 버퍼가 비워졌다는 정보(Buffer empty)가 전달되고,
상기 공유 메모리에 상기 Buffer empty 정보가 전달되면, 전송 보류 중인 세트의 모션 데이터가 상기 공유 메모리로 전송되는,
것을 특징으로 하는 키네틱 디스플레이 콘트롤러.a motion controller that generates a plurality of pieces of motion data corresponding to content to be presented and divides the pieces of motion data to fit the size of the buffer;
a shared memory temporarily storing motion data generated and divided by the motion controller;
It includes a plurality of buffers and a Real Time OS (RTOS), receives motion data generated and divided by the motion controller in each of the plurality of buffers, and a plurality of motors constituting a slave according to the received motion data. an EtherCAT master that generates a control signal for driving control;
A slave including a motor and a motor driver for driving the motor, receiving the control signal from the EtherCAT master, and driving the motor according to the received control signal;
The motion controller,
A trajectory generating unit generating the plurality of motion data based on a cubic spline algorithm;
The plurality of motion data is divided by a splitter into n sets of motion data including motion data for the same amount of time,
When the kth set of motion data (Tk, 0≤k≤n) is transmitted, it is checked whether the buffer is empty, and if it is empty, the kth set of motion data is transmitted to the shared memory, and the buffer is If not empty, hold transmission for a preset amount of time;
The k th set of motion data temporarily stored in the shared memory is circulated in one of the plurality of buffers in a queue structure, and when the RTOS reads the k th set of motion data, the corresponding buffer is emptied. Information that the corresponding buffer has been emptied (Buffer empty) is transmitted to the memory.
When the Buffer empty information is transmitted to the shared memory, motion data of a transmission pending set is transmitted to the shared memory.
A kinetic display controller, characterized in that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210070271A KR102506496B1 (en) | 2021-05-31 | 2021-05-31 | Kinetic Display Controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210070271A KR102506496B1 (en) | 2021-05-31 | 2021-05-31 | Kinetic Display Controller |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220161931A KR20220161931A (en) | 2022-12-07 |
KR102506496B1 true KR102506496B1 (en) | 2023-03-03 |
Family
ID=84440956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210070271A KR102506496B1 (en) | 2021-05-31 | 2021-05-31 | Kinetic Display Controller |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102506496B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008242728A (en) | 2007-03-27 | 2008-10-09 | Fanuc Ltd | Motor control system |
JP2015041294A (en) | 2013-08-22 | 2015-03-02 | ファナック株式会社 | Motor control system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180134720A (en) | 2017-06-11 | 2018-12-19 | 김동우 | The kinetic media installation physically representing human motions |
KR102126270B1 (en) * | 2017-08-28 | 2020-06-24 | (주)이노시뮬레이션 | Motion Buffer Control Method of Real-Time Motion Simulation System |
KR101991772B1 (en) * | 2017-10-24 | 2019-06-21 | (주)플레이솔루션 | Experience system of virtual reality contents based on motion simulator |
KR102046918B1 (en) * | 2018-02-19 | 2019-11-20 | 동서대학교 산학협력단 | Motion Input Device Using Survomotorsand Motoin Input Method thereof |
KR20190101541A (en) * | 2018-02-23 | 2019-09-02 | 엘에스산전 주식회사 | Motion control apparatus |
KR102145506B1 (en) | 2018-11-30 | 2020-08-18 | (주)이지위드 | Motor control module and method, kinetic art apparatus having the motor control module |
-
2021
- 2021-05-31 KR KR1020210070271A patent/KR102506496B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008242728A (en) | 2007-03-27 | 2008-10-09 | Fanuc Ltd | Motor control system |
JP2015041294A (en) | 2013-08-22 | 2015-03-02 | ファナック株式会社 | Motor control system |
Non-Patent Citations (1)
Title |
---|
권오흥 외. 실감 입체 형상 생성을 위한 카멜레온형 핀아트 장치 개발. 방송공학회 논문지 제25권 제4호. 2020.7.* |
Also Published As
Publication number | Publication date |
---|---|
KR20220161931A (en) | 2022-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103294439A (en) | Image updating method, and system and device implementing image updating method | |
JP7310465B2 (en) | Synchronous control device, synchronous control system, synchronous control method, and simulation device | |
JPH04219859A (en) | Harware distributor which distributes series-instruction-stream data to parallel processors | |
CN104999812B (en) | A kind of laser marking machine control method and device | |
CN109551485A (en) | Motion control method, device and system and storage medium | |
US4956787A (en) | Elimination work simulator apparatus | |
KR102506496B1 (en) | Kinetic Display Controller | |
JP2019061523A (en) | Information processing unit, information processing method, and program | |
JP2021100350A (en) | Distributed motor control system, motor control device, and distributed motor control method | |
CN113021329B (en) | Robot motion control method and device, readable storage medium and robot | |
JP2007073008A (en) | Positioning apparatus | |
JP2735209B2 (en) | Numerical control unit | |
US5581735A (en) | System for supplying unit image data to requesting users from multiple storage devices based on directory information and token queues identifying the requester and data | |
WO2020179581A1 (en) | Control device and software deployment method | |
US20130342549A1 (en) | Apparatus and method for processing rendering data | |
JPH0890468A (en) | Teaching device for robot | |
CN103577254A (en) | Arithmetic processing apparatus and method for high speed processing of application | |
KR102493472B1 (en) | Kinetic Display Device | |
CN111324086A (en) | Numerical controller | |
JP4261886B2 (en) | Information processing apparatus and information processing method | |
WO2020137522A1 (en) | Synchronization control device, synchronization control system, synchronization control method, and simulation device | |
CN105468045B (en) | The support control method and support of mobile terminal | |
JP6571377B2 (en) | Expansion unit, programmable logic controller and control method thereof | |
US20230362440A1 (en) | An In-Browser, Multi-Player 3D Robotic Simulator | |
US20240094736A1 (en) | Robot navigation in dependence on gesture(s) of human(s) in environment with robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |