KR20220039205A - System and method for controlling multi-degree-of-freedom robot - Google Patents
System and method for controlling multi-degree-of-freedom robot Download PDFInfo
- Publication number
- KR20220039205A KR20220039205A KR1020200122039A KR20200122039A KR20220039205A KR 20220039205 A KR20220039205 A KR 20220039205A KR 1020200122039 A KR1020200122039 A KR 1020200122039A KR 20200122039 A KR20200122039 A KR 20200122039A KR 20220039205 A KR20220039205 A KR 20220039205A
- Authority
- KR
- South Korea
- Prior art keywords
- learning
- joint angle
- robot
- joint
- degree
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
- B25J9/106—Programme-controlled manipulators characterised by positioning means for manipulator elements with articulated links
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Abstract
Description
본 발명은 딥 러닝 알고리즘을 이용하여 역기구학 해석을 위한 수치해석용 관절 각도를 연산하고, 수치해석용 관절 각도를 이용하여 다자유도 로봇의 말단부 또는 툴을 목표 위치로 이동시킬 수 있는 목표 관절 각도를 연산하는 다자유도 로봇 제어방법 및 시스템에 관한 것이다.The present invention calculates a joint angle for numerical analysis for inverse kinematics analysis using a deep learning algorithm, and a target joint angle that can move the distal end or tool of a multi-DOF robot to a target position using the joint angle for numerical analysis It relates to a method and system for controlling a multi-degree-of-freedom robot for calculating .
일반적으로, 복수의 관절이 구비되어 있는 다자유도 로봇은, 목표 위치로 말단부 또는 툴을 이동시키기 위해 각각의 관절에 구비된 모터 또는 액츄에이터를 구동하여 소정의 각도만큼 회전시켜야 한다.In general, a multiple degree of freedom robot having a plurality of joints must rotate by a predetermined angle by driving a motor or actuator provided in each joint in order to move a distal end or a tool to a target position.
따라서, 다자유도 로봇에 구비되는 제어기 또는 제어 시스템은 목표 위치에 대한 정보가 주어지면, 목표 위치의 좌표값과 방향에 대한 정보로부터 관절들의 관절 각도를 실시간으로 연산하거나, 사전에 개발자로부터 연산되어 저장된 관절 각도를 추출하여 모터 또는 액츄에이터를 제어하고 있다.Therefore, when information about the target position is given, the controller or control system provided in the multi-degree-of-freedom robot calculates the joint angles of the joints in real time from information about the coordinate values and directions of the target position, or is calculated in advance by the developer. The motor or actuator is controlled by extracting the stored joint angle.
한편, 다자유도 로봇에 구비되는 제어기 또는 제어 시스템에서 목표 위치의 좌표값과 방향에 대한 정보로부터 관절 각도를 연산하기 위해서는 역기구학 기반의 연산 과정을 수행하여야 한다.On the other hand, in order to calculate the joint angle from the coordinate values and direction information of the target position in the controller or control system provided in the multi-DOF robot, an inverse kinematics-based calculation process must be performed.
이러한, 역기구학 기반의 연산 과정은 관절 각도에 대응하는 임의의 값을 업데이트하면서 역기구학 해석을 하는 방식으로 수행되는데, 이 과정은 목표 위치에 부합하는 관절 각도가 산출될 때까지 반복적으로 수행된다.This inverse kinematics-based calculation process is performed by performing inverse kinematics analysis while updating arbitrary values corresponding to joint angles, and this process is repeatedly performed until a joint angle corresponding to the target position is calculated.
즉, 종래에는 다자유도 로봇에 구비되는 제어기 또는 제어 시스템에서 목표 위치에 대응하는 관절 각도를 연산하기 위해 많은 연산시간과 연산량을 요구함은 물론이고, 역기구학 해석을 위해 최초로 대입한 임의의 값이 목표 위치에 부합하는 관절 각도와 현저하게 차이가 있는 경우에는, 목표 위치에 부합하는 관절 각도의 해석을 불가능한 상황이 발생하거나 연산시간을 더 지연시키는 문제점이 있다.That is, in the prior art, a large amount of calculation time and amount of calculation are required to calculate the joint angle corresponding to the target position in the controller or control system provided in the multi-DOF robot, and the arbitrary value substituted for the first time for inverse kinematics analysis is If there is a significant difference from the joint angle corresponding to the target position, there is a problem in that the analysis of the joint angle corresponding to the target position is impossible or the calculation time is further delayed.
또한, 개발자가 목표 위치에 대응하는 관절 각도를 사전에 연산하여 저장하고자 할 경우에도, 다자유도 로봇의 관절 각도로부터 목표 위치를 연산하는 정기구학 기반의 연산 과정은 DH 파라미터(Denavit-Hartenberg parameters, DH parameters)를 이용하여 상대적으로 정형화된 방식으로 쉽게 연산할 수 있으나, 목표 위치로부터 다자유도 로봇의 관절 각도를 연산하는 역기구학 기반의 연산 과정은 정형화된 방법이 존재하지 않기 때문에, 개발자가 일일히 목표 위치에 대응하는 관절 각도를 연산하여야 하므로, 개발자의 부담이 가중되고 관절 각도의 정확성이 저하되는 문제점이 있다.In addition, even when the developer wants to calculate and store the joint angle corresponding to the target position in advance, the regular kinematics-based calculation process for calculating the target position from the joint angle of the multi-DOF robot is DH parameters (Denavit-Hartenberg parameters, DH parameters) can be easily calculated in a relatively standardized way, but since there is no standardized method for the inverse kinematics-based calculation process that calculates the joint angle of the multi-DOF robot from the target position, the developer has to work Since it is necessary to calculate the joint angle corresponding to the target position at once, there is a problem in that the burden on the developer is increased and the accuracy of the joint angle is lowered.
아울러, 다자유도 로봇의 개발자는 역기구학 기반의 연산 과정을 용이하게 수행하기 위해, 다자유도 로봇에 구비되는 관절의 수나 형태, 자유도를 제한하는 상황이 빈번하게 발생하고 있다.In addition, in order to facilitate the inverse kinematics-based calculation process, developers of multi-DOF robots frequently limit the number, shape, and degree of freedom of joints provided in the multi-DOF robot.
본 발명은 상기와 같은 문제점을 감안하여 안출된 것으로, 목표 위치로부터 다자유도 로봇의 관절 각도를 연산하여 다자유도 로봇을 제어할 수 있는 다자유도 로봇 제어방법 및 시스템을 제공하는데 그 목적이 있다.The present invention has been devised in view of the above problems, and an object of the present invention is to provide a method and system for controlling a multi-DOF robot capable of controlling the multi-DOF robot by calculating the joint angle of the multi-DOF robot from a target position. there is.
또한, 본 발명은 다자유도 로봇의 관절 구성에 의한 제한없이 관절 각도를 연산할 수 있는 다자유도 로봇 제어방법 및 시스템을 제공하는데 그 목적이 있다.Another object of the present invention is to provide a method and system for controlling a multi-DOF robot capable of calculating joint angles without limitation due to the joint configuration of the multi-DOF robot.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.Objects of the present invention are not limited to the objects mentioned above, and other objects not mentioned will be clearly understood by those skilled in the art from the following description.
상기와 같은 목적을 달성하기 위한 본 발명은 (2) 학습 데이터를 이용하여 다자유도 로봇의 말단부 또는 툴의 위치에 대응하는 수치해석용 관절 각도를 학습하는 단계; (3) 다자유도 로봇의 말단부 또는 툴을 이동시킬 목표 위치가 입력되면, 목표 위치에 대응하는 적어도 하나의 수치해석용 관절 각도를 연산하는 단계; 및 (4) 역기구학 해석을 통하여 적어도 하나의 수치해석용 관절 각도로부터 다자유도 로봇의 말단부 또는 툴을 목표 위치로 도달시킬 수 있는 목표 관절 각도를 연산하는 단계;를 포함하는, 다자유도 로봇 제어방법을 제공한다.The present invention for achieving the above object comprises the steps of (2) learning the joint angle for numerical analysis corresponding to the position of the distal end of the multi-DOF robot or the tool using the learning data; (3) calculating at least one joint angle for numerical analysis corresponding to the target position when a target position to move the distal end of the multi-DOF robot or the tool is input; and (4) calculating a target joint angle capable of reaching the distal end or tool of the multi-DOF robot to a target position from at least one joint angle for numerical analysis through inverse kinematic analysis; including, a multi-DOF robot control method is provided.
바람직한 실시예에 있어서, 상기 제 (2)단계 이전에, (1) 복수의 학습용 관절 각도와, 각각의 학습용 관절 각도에 따라 다자유도 로봇의 말단부 또는 툴이 도달하는 위치인 학습용 도달 위치들을 포함하는 학습 데이터를 생성하는 단계;를 더 포함한다.In a preferred embodiment, before the step (2), (1) a plurality of joint angles for learning and the learning arrival positions that are the positions at which the distal end of the multi-degree of freedom robot or the tool arrives according to each joint angle for learning are included. It further includes; generating the learning data.
바람직한 실시예에 있어서, 상기 제 (1)단계는, (1-1) 다자유도 로봇의 관절들이 이동 또는 회전 가능한 범위 내에서 무작위로 학습용 관절 각도들을 생성하는 단계; 및 (1-2) 정기구학 해석을 통하여 학습용 관절 각도들로부터 다자유도 로봇의 말단부 또는 툴이 도달하는 학습용 도달 위치의 좌표값과 방향을 각각 산출하는 단계;를 포함한다.In a preferred embodiment, the step (1) comprises the steps of: (1-1) randomly generating joint angles for learning within a range in which the joints of the multi-DOF robot can move or rotate; and (1-2) calculating the coordinate values and directions of the learning arrival position reached by the distal end of the multi-DOF robot or the tool from the joint angles for learning through regular kinematic analysis, respectively.
바람직한 실시예에 있어서, 상기 제 (1)단계는, 상기 제 (1-2)단계 이후에, (1-3) 다자유도 로봇의 관절을 이동시키거나 이동을 제한하고자 하는 이동 경로에 대한 정보 및 여자유도에 대한 정보를 추가정보로서 입력받는 단계;를 더 포함한다.In a preferred embodiment, in the first step (1), after the step (1-2), (1-3) information on the movement path to move the joint of the multi-DOF robot or to limit the movement and receiving information on excitation as additional information.
바람직한 실시예에 있어서, 상기 제 (1)단계는, 상기 제 (1-2)단계 이후에, (1-4) 학습용 관절 각도들과 학습용 도달 위치들이 포함된 데이터들 중에서 기설정된 필터링 조건에 부합하는 데이터를 제거하고, 남은 데이터와 추가정보를 학습 데이터로서 생성하는 단계;를 더 포함한다.In a preferred embodiment, in the first step (1), after the (1-2) step, (1-4) meeting a preset filtering condition among data including joint angles for learning and arrival positions for learning It further includes; removing the data to be used, and generating the remaining data and additional information as learning data.
또한, 본 발명은 컴퓨터에서, 제 1항 내지 제 5항 중 어느 한 항의 다자유도 로봇 제어방법을 실행하도록, 컴퓨터 판독 가능한 저장 매체에 저장된 컴퓨터 프로그램을 제공한다.In addition, the present invention provides a computer program stored in a computer readable storage medium to execute the multiple degree of freedom robot control method according to any one of claims 1 to 5 in a computer.
또한, 본 발명은 프로세서; 상기 프로세서에 의해 실행 가능한 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 프로세서의 제어하에, 다자유도 로봇의 관절에 구비된 모터 또는 액츄에이터를 목표 관절 각도로 동작시키는 제어 신호를 해당 모터 또는 액츄에이터에 송신하는 통신부;를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 학습 데이터를 이용하여 다자유도 로봇의 말단부 또는 툴의 위치에 대응하는 수치해석용 관절 각도를 학습하고, 다자유도 로봇의 말단부 또는 툴을 이동시킬 목표 위치가 입력되면, 목표 위치에 대응하는 적어도 하나의 수치해석용 관절 각도를 연산하며, 역기구학 해석을 통하여 적어도 하나의 수치해석용 관절 각도로부터 다자유도 로봇의 말단부 또는 툴을 목표 위치로 도달시킬 수 있는 목표 관절 각도를 연산하는, 다자유도 로봇 제어시스템을 제공한다.In addition, the present invention is a processor; a memory storing one or more instructions executable by the processor; and a communication unit for transmitting, under the control of the processor, a control signal for operating a motor or actuator provided in a joint of the multi-degree-of-freedom robot at a target joint angle to the corresponding motor or actuator, wherein the processor includes the one or more instructions By executing , the joint angle for numerical analysis corresponding to the position of the distal end of the multi-DOF robot or the tool is learned using the learning data, and when the target position to move the distal end of the multi-DOF robot or the tool is input, the target position Calculates at least one joint angle for numerical analysis corresponding to It provides a multi-degree-of-freedom robot control system.
바람직한 실시예에 있어서, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 복수의 학습용 관절 각도와, 각각의 학습용 관절 각도에 따라 다자유도 로봇의 말단부 또는 툴이 도달하는 위치인 학습용 도달 위치들을 포함하는 학습 데이터를 생성한다.In a preferred embodiment, the processor includes, by executing the one or more instructions, a plurality of joint angles for learning, and reaching positions for learning that are positions at which the distal end of the multiple degree of freedom or the tool arrives according to each joint angle for learning. generate training data.
바람직한 실시예에 있어서, 학습 데이터의 생성 시, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 다자유도 로봇의 관절들이 이동 또는 회전 가능한 범위 내에서 무작위로 학습용 관절 각도들을 생성하고, 정기구학 해석을 통하여 학습용 관절 각도들로부터 다자유도 로봇의 말단부 또는 툴이 도달하는 학습용 도달 위치의 좌표값과 방향을 각각 산출한다.In a preferred embodiment, when generating the learning data, the processor, by executing the one or more instructions, randomly generates joint angles for learning within the range in which the joints of the multi-degree of freedom robot can move or rotate, and analyze the kinematics From the joint angles for learning, the coordinate values and directions of the learning reach position reached by the tool or the distal end of the multi-DOF robot are respectively calculated.
바람직한 실시예에 있어서, 학습 데이터의 생성 시, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 다자유도 로봇의 관절을 이동시키거나 이동을 제한하고자 하는 이동 경로에 대한 정보 및 여자유도에 대한 정보를 추가정보로서 입력받는다.In a preferred embodiment, when generating learning data, the processor, by executing the one or more instructions, moves the joint of the multi-DOF robot or information on the movement path to limit the movement and information on excitation induction is input as additional information.
바람직한 실시예에 있어서, 학습 데이터의 생성 시, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 학습용 관절 각도들과 학습용 도달 위치들이 포함된 데이터들 중에서 기설정된 필터링 조건에 부합하는 데이터를 제거하고, 남은 데이터와 추가정보를 학습 데이터로서 생성한다.In a preferred embodiment, when generating the learning data, the processor, by executing the one or more instructions, removes data that meets a preset filtering condition from among data including joint angles for learning and arrival positions for learning, The remaining data and additional information are generated as training data.
전술한 과제해결 수단에 의해 본 발명은 다자유도 로봇의 말단부 또는 툴이 도달하는 위치에 따른 관절 각도를 학습하고, 학습한 학습 데이터를 이용하여 역기구학 해석을 위한 초기 해인 수치해석용 관절 각도를 연산하며, 역기구학 해석을 통하여 수치해석용 관절 각도로부터 다자유도 로봇의 말단부 또는 툴을 목표 위치로 도달시킬 수 있는 목표 관절 각도를 연산함으로써, 다자유도 로봇의 개발자가 목표 위치에 대응하는 목표 관절 각도를 직접 연산할 필요가 없으므로, 개발자의 부담을 줄일 수 있고, 또한, 다자유도 로봇의 제어를 용이하게 하는 효과가 있다.By means of the above-described problem solving means, the present invention learns the joint angle according to the position reached by the distal end of the multi-DOF robot or the tool, and uses the learned learning data to calculate the joint angle for numerical analysis, which is an initial solution for inverse kinematics analysis. By calculating the target joint angle that can reach the distal end or tool of the multi-DOF robot to the target position from the joint angle for numerical analysis through inverse kinematic analysis, the developer of the multi-DOF robot can determine the target corresponding to the target position. Since there is no need to directly calculate the joint angle, it is possible to reduce the burden on the developer, and also has the effect of facilitating the control of the multi-DOF robot.
또한, 본 발명은 역기구학 기반의 연산 과정에서 개발자에게 가중되는 부담에 의해 다자유도 로봇의 관절 수나 형태, 자유도가 제한되었으나, 개발자가 직접 역기구학 기반의 연산 과정을 수행할 필요가 없게 함으로써, 다자유도 로봇에 구비되는 관절의 수나 형태, 자유도의 제한을 해소할 수 있는 효과가 있다.In addition, in the present invention, the number of joints, shapes, and degrees of freedom of the multi-degree-of-freedom robot are limited by the burden imposed on the developer in the inverse kinematics-based calculation process. There is an effect that can solve the limitations of the number, shape, and degree of freedom of joints provided in the multi-degree-of-freedom robot.
도 1은 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템의 하드웨어 구성을 설명하기 위한 도면.
도 2는 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템의 프로세서에 의해 수행되는 기능을 설명하기 위한 블록도.
도 3은 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템에서 프로세서의 기능 블록인 학습부로부터 수행되는 수치해석용 관절 각도의 연산을 위한 학습 과정을 설명하기 위한 블록도.
도 4는 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템에 입력되는 추가정보의 일 예를 2자유도 로봇을 이용하여 설명하는 도면.
도 5는 본 발명의 일실시예에 따른 다자유도 로봇 제어방법을 설명하기 위한 도면.1 is a diagram for explaining the hardware configuration of a multi-DOF robot control system according to an embodiment of the present invention.
2 is a block diagram illustrating a function performed by a processor of a multi-DOF robot control system according to an embodiment of the present invention.
3 is a block diagram for explaining a learning process for calculating joint angles for numerical analysis performed by a learning unit, which is a functional block of a processor, in a multi-DOF robot control system according to an embodiment of the present invention.
4 is a view for explaining an example of additional information input to a multi-DOF robot control system according to an embodiment of the present invention using a two-DOF robot.
5 is a view for explaining a method for controlling a multi-DOF robot according to an embodiment of the present invention.
하기의 설명에서 본 발명의 특정 상세들이 본 발명의 전반적인 이해를 제공하기 위해 나타나 있는데, 이들 특정 상세들 없이 또한 이들의 변형에 의해서도 본 발명이 용이하게 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.In the following description, specific details of the invention are set forth in order to provide a general understanding of the invention, but it is common knowledge in the art that the invention may be readily practiced without these specific details and with modifications thereof. It will be self-evident to those who have
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도 1 내지 도 5를 참조하여 상세히 설명하되, 본 발명에 따른 동작 및 작용을 이해하는데 필요한 부분을 중심으로 설명한다.Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the accompanying drawings 1 to 5, but mainly the parts necessary for understanding the operation and operation according to the present invention.
도 1은 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템의 하드웨어 구성을 설명하기 위한 도면이다.1 is a diagram for explaining a hardware configuration of a multi-DOF robot control system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템은 메모리(100), 통신부(200) 및 프로세서(300)를 포함하여 구성된다.Referring to FIG. 1 , a multiple degree of freedom robot control system according to an embodiment of the present invention is configured to include a
여기서, 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템은 다자유도 로봇에 구비되어 다자유도 로봇의 관절에 장착된 모터나 액츄에이터를 제어하는 용도로 활용될 수 있다.Here, the multiple degree of freedom robot control system according to an embodiment of the present invention is provided in the multiple degree of freedom robot and can be used to control a motor or an actuator mounted on a joint of the multiple degree of freedom robot.
특히, 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템은 다자유도 로봇의 말단부 또는 그 말단부에 장착된 툴을 이동시키고자 하는 목표 위치를 입력하면, 다자유도 로봇의 관절을 이동 또는 회전시켜야 하는 목표 관절 각도를 연산하고, 연산된 목표 관절 각도를 포함하는 제어 신호를 모터 또는 액츄에이터에 출력함으로써, 다자유도 로봇의 관절에 장착된 모터나 액츄에이터를 제어할 수 있다.In particular, the multiple-DOF robot control system according to an embodiment of the present invention moves or moves the joint of the multiple-DOF robot when a target position to move the distal end of the multiple-DOF robot or a tool mounted on the distal end is input. By calculating the target joint angle to be rotated and outputting a control signal including the calculated target joint angle to the motor or actuator, the motor or actuator mounted on the joint of the multi-DOF robot can be controlled.
또한, 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템은 다자유도 로봇의 말단부 또는 그 말단부에 장착된 툴의 위치에 대응하는 관절 각도를 학습하고, 학습 데이터와 딥 러닝 알고리즘을 이용하여 목표 관절 각도의 연산을 위한 수치해석용 관절 각도, 즉, 역기구학 해석을 위한 초기 해를 연산할 수 있다.In addition, the multiple degree of freedom robot control system according to an embodiment of the present invention learns the joint angle corresponding to the distal end of the multiple degree of freedom robot or the position of the tool mounted at the distal end, and uses the learning data and deep learning algorithm to learn Joint angle for numerical analysis for calculation of target joint angle, that is, an initial solution for inverse kinematics analysis can be calculated.
아울러, 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템은 수치해석용 관절 각도와 역기구학 해석을 기반으로 다자유도 로봇의 말단부 또는 그 말단부에 장착된 툴을 목표 위치까지 도달시킬 수 있는 목표 관절 각도를 연산할 수 있다.In addition, the multiple degree of freedom robot control system according to an embodiment of the present invention can reach the distal end of the multiple degree of freedom robot or a tool mounted on the distal end to a target position based on joint angle and inverse kinematics analysis for numerical analysis. The target joint angle can be calculated.
한편, 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템은 다자유도 로봇을 모델링하여 동작 상태를 시뮬레이션하고자 하는 경우에, 모델링된 다자유도 로봇의 말단부 또는 툴을 목표 위치까지 도달시킬 수 있는 목표 관절 각도를 연산하는 용도로 활용될 수 있고, 그 외에도, 다자유도 로봇의 관절 각도에 대한 연산을 요구하는 다양한 분야에 활용될 수 있다.On the other hand, the multiple-DOF robot control system according to an embodiment of the present invention can reach the distal end or tool of the modeled multiple-DOF robot to the target position when it is desired to model the multiple-DOF robot to simulate the operation state. It can be used for calculating the target joint angle, and in addition, it can be used in various fields requiring calculation of the joint angle of the multi-DOF robot.
상기 메모리(100)는 각종 데이터, 명령 및 정보를 저장할 수 있으며, 특히, 프로세서(300)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션)을 저장할 수 있고, 그 외에도, 프로세서(300)에 의해 입력 또는 출력되는 데이터나, 프로세서(300)에서 딥 러닝을 수행하는데 필요한 학습 데이터를 저장한다.The
예를 들어, 메모리(100)에는 복수의 학습용 관절 각도와, 각각의 학습용 관절 각도에 따라 다자유도 로봇의 말단부 또는 툴이 도달하는 위치인 학습용 도달 위치들을 포함하는 학습 데이터와, 학습 데이터로부터 연산되는 다자유도 로봇의 말단부 또는 툴의 위치에 대응하는 수치해석용 관절 각도에 대한 정보가 저장될 수 있다.For example, the
또한, 메모리(100)에는 수치해석용 관절 각도로부터 연산되는 목표 관절 각도에 대한 정보가 저장될 수도 있다.In addition, information on the target joint angle calculated from the joint angle for numerical analysis may be stored in the
한편, 메모리(100) 이외의 저장 매체를 별도로 구비하고, 그 저장 매체에 학습 데이터를 저장할 수도 있다.Meanwhile, a storage medium other than the
상기 통신부(200)는 다자유도 로봇의 관절에 장착된 모터나 액츄에이터와 통신하여 목표 관절 각도를 포함하는 제어 신호를 전송한다. 여기서, 목표 관절 각도에 대한 정보가 포함된 제어 신호는 프로세서(300)로부터 연산 또는 생성될 수 있다.The
아울러, 통신부(200)는 UART(Universal Asynchronous Receiver Transmitter), RS-232C(Recommended Standard-232C), RS-422(Recommended Standard-422), RS-485(Recommended Standard-485), CAN(Controller Area Network), EtherCAT(Ethernet for Control Automation Technology), PLC(Power-Line Communication), PROFINET(Process Field Net) 및 메카트로링크(MECHATROLINK)를 포함하는 통신 프로토콜들 중에서 적어도 하나를 이용하여 제어 신호를 전송할 수 있다.In addition, the
그 외에도, 통신부(200)는 외부의 통신 장치로부터 목표 위치에 대한 정보를 수신하거나, 다자유도 로봇의 관절을 이동시키거나 이동을 제한하고자 하는 이동 경로에 대한 정보 및 여자유도에 대한 정보를 수신할 수도 있고, 프로세서(300)의 설정 또는 제어를 위한 각종 정보들을 수신할 수도 있다.In addition, the
상기 프로세서(300)는 하나 이상으로 포함될 수 있고, 메모리(100)에 저장된 하나 이상의 인스트럭션 또는 프로그램을 실행할 수 있다. 아울러, 프로세서(300)는 딥 러닝을 위한 AI 가속기(AI accelerator)를 포함할 수도 있다.The
이러한, 프로세서(300)는 메모리(100)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 사전에 구축된 학습 데이터를 이용하여 목표 관절 각도의 연산을 위한 수치해석용 관절 각도를 연산한다.By executing one or more instructions stored in the
이때, 전술한 학습 데이터는 다자유도 로봇의 말단부 또는 그 말단부에 장착된 툴을 특정한 위치로 도달시킬 수 있는 관절 각도에 대한 데이터이며, 수치해석용 관절 각도는 역기구학 해석을 위한 초기 해로서, 연산하고자 하는 목표 관절 각도에 근사하거나 동일한 값을 갖는 위치 벡터일 수 있다.At this time, the above-described learning data is data on the joint angle that can reach the distal end of the multi-DOF robot or the tool mounted on the distal end to a specific position, and the joint angle for numerical analysis is an initial solution for inverse kinematics analysis, It may be a position vector having a value similar to or close to the target joint angle to be calculated.
참고로, 수치해석용 관절 각도 이외에도, 학습 데이터에 포함되는 학습용 관절 각도나, 궁극적으로 연산하고자 하는 목표 관절 각도의 경우에도 모두 n×1의 위치 벡터이다.For reference, in addition to the joint angle for numerical analysis, the joint angle for learning included in the learning data and the target joint angle to be ultimately calculated are all n×1 position vectors.
또한, 프로세서(300)는 목표 위치에 대한 정보가 입력되면, 해당 목표 위치에 대응하는 수치해석용 관절 각도를 이용하여 목표 관절 각도를 연산하며, 이때, 수치해석용 관절 각도와 역기구학 해석을 기반으로 목표 관절 각도를 연산할 수 있다.In addition, when information on the target position is input, the
이하에서는, 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템의 프로세서(300)에 의해 수행되는 수치해석용 관절 각도의 연산을 위한 학습 과정과, 수치해석용 관절 각도를 이용하여 목표 위치에 부합하는 목표 관절 각도의 연산 과정을 구체적으로 설명한다.Hereinafter, a learning process for calculation of joint angles for numerical analysis performed by the
도 2는 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템의 프로세서에 의해 수행되는 기능을 설명하기 위한 블록도이고, 도 3은 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템에서 프로세서의 기능 블록인 학습부(315)로부터 수행되는 수치해석용 관절 각도의 연산을 위한 학습 과정을 설명하기 위한 블록도이며, 도 4는 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템에 입력되는 추가정보의 일 예를 2자유도 로봇(10)을 이용하여 설명하는 도면이다.2 is a block diagram illustrating a function performed by a processor of a multiple degree of freedom robot control system according to an embodiment of the present invention, and FIG. 3 is a multiple degree of freedom robot control system according to an embodiment of the present invention. It is a block diagram for explaining a learning process for calculation of joint angles for numerical analysis performed by the
참고로, 도 2 및 도 3에 도시된 블록들의 일부 또는 전부는, 특정 기능을 실행하는 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 도 2 및 도 3에 도시된 블록들이 수행하는 기능들은, 하나 이상의 마이크로프로세서에 의해 구현되거나, 해당 기능을 위한 회로 구성들에 의해 구현될 수 있다. 도 2 및 도 3에 도시된 블록들의 일부 또는 전부는 프로세서(300)에서 실행되는 다양한 프로그래밍 언어 또는 스크립트 언어로 구성된 소프트웨어 모듈일 수 있다.For reference, some or all of the blocks shown in FIGS. 2 and 3 may be implemented with hardware and/or software components that perform specific functions. Functions performed by the blocks shown in FIGS. 2 and 3 may be implemented by one or more microprocessors, or circuit configurations for corresponding functions. Some or all of the blocks shown in FIGS. 2 and 3 may be software modules configured in various programming languages or script languages to be executed in the
도 2 및 도 3을 참조하면, 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템의 프로세서(300)는 수치해석용 관절 각도 학습부(310) 및 역기구학 해석부(320)를 포함하여 구성될 수 있다.2 and 3, the
상기 수치해석용 관절 각도 학습부(310)는 딥 러닝 알고리즘을 이용하여 역기구학 해석을 위한 초기 해를 학습하고, 목표 위치(Xd)에 대한 정보가 입력되었을 때, 그 목표 위치(Xd)에 대응하는 초기 해로서 수치해석용 관절 각도(qstart)를 연산한다.The joint
이때, 수치해석용 관절 각도 학습부(310)는 심층 신경망(Deep Neural Network, DNN)를 이용하여 초기 해를 학습할 수 있는데, 이외에도, 다양한 기계학습 알고리즘을 적용할 수 있다.In this case, the joint
또한, 수치해석용 관절 각도 학습부(310)는 복수의 학습용 관절 각도(qrandom)와, 각각의 학습용 관절 각도(qrandom)에 따라 다자유도 로봇의 말단부 또는 툴이 도달하는 위치인 학습용 도달 위치(X)들을 포함하는 학습 데이터를 생성하고, 이를 이용하여 수치해석용 관절 각도(qstart)의 연산을 위한 학습을 수행할 수 있다.In addition, the joint
이러한, 수치해석용 관절 각도 학습부(310)는 도 3에 도시된 바와 같이, 학습용 관절 각도 생성부(311), 정기구학 해석부(312), 추가정보 입력부(313), 필터부(314) 및 학습부(315)를 포함하여 구성될 수 있다.As shown in FIG. 3, the joint
상기 학습용 관절 각도 생성부(311)는 다자유도 로봇의 관절들이 이동 또는 회전 가능한 범위 내에서 무작위로 학습용 관절 각도(qrandom)들을 생성한다. 이때 생성되는 학습용 관절 각도(qrandom)는 위치 벡터로 생성된다.The joint
또한, 학습용 관절 각도 생성부(311)에서 생성된 학습용 관절 각도(qrandom)에 대한 정보는 정기구학 해석부(312)와 필터부(314)에 입력될 수 있다.In addition, information about the joint angle for learning (q random ) generated by the joint angle generating unit for learning 311 may be input to the static
아울러, 학습용 관절 각도(qrandom)들의 생성 시, 다자유도 로봇의 관절들이 이동 또는 회전 가능한 범위를 특별하게 제한하지 않을 수도 있으나, 이 경우에는, 후술하는 필터부(314)를 통해 다자유도 로봇의 관절들이 이동 또는 회전 가능한 범위를 벗어나는 학습 데이터들을 제거하는 과정을 수행함이 바람직하다.In addition, when generating joint angles for learning (q random ), the range in which the joints of the multi-DOF robot can move or rotate may not be particularly limited, but in this case, multiple degrees of freedom through the
상기 정기구학 해석부(312)는 정기구학 해석을 통하여 학습용 관절 각도(qrandom)들로부터 다자유도 로봇의 말단부 또는 툴이 도달하는 학습용 도달 위치(X)의 좌표값과 방향을 각각 산출한다.The regular
이때, 정기구학 해석부(312)는 데나비-하텐베르크 파라미터(Denavit-Hartenberg parameters, DH parameters)를 이용하여 학습용 관절 각도(qrandom)로부터 학습용 도달 위치(X)의 좌표값과 방향을 산출할 수 있다.At this time, the regular
아울러, 정기구학 해석부(312)는에서 산출된 학습용 도달 위치(X)에 대한 정보는 추가정보 입력부(313)를 통해 필터부(314)에 입력될 수 있다.In addition, the information on the learning arrival position (X) calculated in the regular
상기 추가정보 입력부(313)는 통신부(200)를 통해 다자유도 로봇의 관절을 이동시키거나 이동을 제한하고자 하는 이동 경로에 대한 정보 및 여자유도에 대한 정보를 추가정보(α)로서 입력받는다.The additional
참고로, 추가정보 입력부(313)에 입력되는 추가정보(α)는 역기구학 해석부(320)에서 목표 위치(Xd)에 대응하는 목표 관절 각도(qd)를 연산하였을 때, 하나의 목표 위치(Xd)에 대해 복수의 목표 관절 각도(qd)가 존재하는 경우, 복수의 목표 관절 각도(qd) 중에서 사용자 요구에 부합하는 목표 관절 각도(qd)를 선택하는 기준으로 활용될 수 있다.For reference, the additional information α input to the additional
예를 들어, 도 4를 참조하면, 베이스(11)에 연결되는 하나의 제 1암(12)과, 제 1암(12)에 연결되는 제 2암(13) 및 제 1암(12)과 제 2암(13)을 회전 가능하도록 연결하는 관절(14)이 구비된 2자유도 로봇(10)이 도시되어 있다.For example, referring to FIG. 4 , a single
이러한, 2자유도 로봇(10)에서 제 2암(13)의 말단부를 목표 위치인 P2까지 이동 또는 회전시킬 수 있도록 하는 관절(14)의 목표 관절 각도(qd)는 P1a와 P1b를 포함하는 2개의 해를 갖게 된다.In this two-degree-of-
여기서, 베이스(11)로부터 목표 위치인 P2를 연결하는 가상의 선(L)을 기준으로, 더 높은 위치에 있는 P1a는 엘보 업(Elbow up)을 의미하고, 상대적으로 낮은 위치에 있는 P1b는 엘보 다운(Elbow down)을 의미한다.Here, based on the imaginary line L connecting the base 11 to the target position P 2 , P 1a at a higher position means elbow up, and P at a relatively low position 1b means elbow down.
또한, 추가정보(α)로서 엘보 업을 선택하도록 하는 정보를 입력하면, 다자유도 로봇의 관절이 이동하는 경로를 엘보 업이 되는 경로로서 제한할 수 있다. 반대로, 추가정보(α)로서 엘보 다운을 선택하도록 하는 정보를 입력하면, 엘보 다운이 되는 경로에서 다자유도 로봇의 관절이 이동하게 할 수도 있다.In addition, if information for selecting the elbow-up is input as the additional information α, the path along which the joint of the multi-DOF robot moves can be limited as the path that becomes the elbow-up. Conversely, if information for selecting elbow down as the additional information α is input, the joint of the multi-DOF robot may move in the path of elbow down.
즉, 이와 같은 추가정보(α)를 설정함으로써, 역기구학 해석부(320)에서 하나의 목표 위치(Xd)에 대해 복수의 목표 관절 각도(qd)가 존재할 때 추가정보(α)를 이용하여 적어도 하나의 목표 관절 각도(qd)를 선택하는 것이 가능하게 된다.That is, by setting such additional information α, the inverse
한편, 추가정보(α)는 정기구학 해석부(312)에서 학습용 도달 위치(X)의 좌표값과 방향을 산출하기 이전에 미리 입력될 수도 있고, 정기구학 해석부(312)로부터 학습용 도달 위치(X)의 좌표값과 방향을 산출한 이후의 결과값을 모니터링한 이후에 입력될 수도 있다.On the other hand, the additional information (α) may be input in advance before calculating the coordinate values and directions of the learning arrival position (X) in the regular
아울러, 추가정보 입력부(313)에 입력되는 추가정보(α)는 정기구학 해석부(312)로부터 산출된 학습용 도달 위치(X)와 함께 필터부(314)에 입력될 수 있다.In addition, the additional information α input to the additional
다시 도 3을 참조하면, 상기 필터부(314)는 학습용 관절 각도(qrandom)들과 학습용 도달 위치(X)들이 포함된 데이터들 중에서 기설정된 필터링 조건에 부합하는 데이터를 제거하고, 남은 데이터와 추가정보(α)를 학습 데이터로서 출력한다.Referring back to FIG. 3 , the
여기서, 필터부(314)에 설정되는 필터링 조건은, 예를 들어, 다자유도 로봇의 관절들이 이동 또는 회전 가능한 범위를 벗어나는 것, 다자유도 로봇의 관절들이 제한된 작업공간을 침범하게 하는 것, 다자유도 로봇의 관절들이 장애물이 위치한 경로로 이동 또는 회전하게 하는 것, 사용자가 임의로 설정한 역기구학 해의 범위를 벗어나는 것, 수치해석용 관절 각도(qstart)의 연산을 위한 학습에 부적합한 것일 수 있다.Here, the filtering conditions set in the
참고로, 다자유도 로봇의 관절들이 이동 또는 회전 가능한 범위를 벗어나는 학습 데이터는 다자유도 로봇에 탑재된 관절의 형태나 수에 따라 변경될 수 있으며, 다자유도 로봇의 관절들이 제한된 작업공간을 침범하게 하는 학습 데이터와 다자유도 로봇의 관절들이 장애물이 위치한 경로로 이동 또는 회전하게 하는 학습 데이터는 다자유도 로봇이 배치되어 특정한 작업을 수행할 작업공간의 형태나 구조, 작업공간에 설치되는 다른 로봇이나 구조물에 따라 변경될 수 있다.For reference, the learning data in which the joints of the multi-DOF robot are out of the movable or rotatable range can be changed according to the shape or number of joints mounted in the multi-DOF robot, and the joints of the multi-DOF robot use a limited work space. The learning data that causes the multi-DOF robot to invade and the learning data that causes the joints of the multi-DOF robot to move or rotate along the path where the obstacle is located are the form or structure of the work space where the multi-DOF robot is placed and perform a specific task, and is installed in the work space. It can be changed according to other robots or structures.
또한, 사용자가 임의로 설정한 역기구학 해의 범위를 벗어나는 학습 데이터와 수치해석용 관절 각도(qstart)의 연산을 위한 학습에 부적합한 학습 데이터는 다자유도 로봇의 관절들에 악영향을 주거나 작업 능력을 저하시키는 학습 데이터일 수 있다. In addition, learning data that is outside the range of the inverse kinematics solution set by the user and the learning data inappropriate for the calculation of the joint angle (q start ) for numerical analysis adversely affect the joints of the multi-DOF robot or reduce the work ability. It may be learning data that degrades.
한편, 필터부(314)에서 필터링된 데이터들을 제외하고, 남은 데이터들과 추가정보(α)가 학습 데이터로 생성되어 학습부(315)에 출력된다.Meanwhile, except for the data filtered by the
상기 학습부(315)는 학습 데이터를 이용하여 다자유도 로봇의 말단부 또는 툴의 위치에 대응하는 초기 해, 즉, 수치해석용 관절 각도(qstart)를 학습한다.The
이때, 학습부(315)는 전처리를 수행하여 학습데이터를 학습용 데이터셋(Dataset)과 평가용 데이터셋으로 구분하고, 학습(train)과 학습평가(evaluation)를 수행한 다음, 학습 과정에서 계산된 역기구학 해와 실제 해의 차이가 임계값을 넘지 않으면 학습을 종료한다.At this time, the
또한, 학습부(315)는 학습평가 시의 에러 값이 설정값보다 크면 하이퍼 파라미터(Hyper parameter)를 수정하거나, 데이터셋의 확장을 위한 추가 학습 데이터를 요구할 수도 있다.In addition, if the error value during the learning evaluation is greater than the set value, the
그 이후에, 학습부(315)는 다자유도 로봇의 말단부 또는 툴을 이동시킬 목표 위치(Xd)가 입력되면, 학습한 데이터를 근거로 목표 위치(Xd)에 대응하는 적어도 하나의 수치해석용 관절 각도(qstart)를 연산할 수 있다.After that, when the target position (X d ) to move the distal end of the multi-degree-of-freedom robot or the tool is input, the
한편, 학습부(315)에서 연산된 수치해석용 관절 각도(qstart)와 목표 위치(Xd)및 추가정보(α)는 역기구학 해석부(320)에 출력될 수 있다.Meanwhile, the joint angle q start , the target position X d , and the additional information α for numerical analysis calculated by the
상기 역기구학 해석부(320)는 역기구학 해석을 통하여 적어도 하나의 수치해석용 관절 각도(qstart)로부터 다자유도 로봇의 말단부 또는 툴을 목표 위치(Xd)로 도달시킬 수 있는 목표 관절 각도(qd)를 연산한다.The inverse
이때, 역기구학 해석부(320)는 역기구학 해석에 따른 아래의 수학식 1을 이용하여 목표 관절 각도(qd)를 연산할 수 있다.In this case, the inverse
[수학식 1][Equation 1]
qk+1 = qk + J-1(qk)(Xd - f(qk))q k+1 = q k + J -1 (q k )(X d - f(q k ))
여기서, qk는 k번째 역기구학 해를 의미하는데, 이에 대한 초기 해로서 수치해석용 관절 각도(qstart)가 적용되며, J는 로봇 야코비안(jacobian)으로 J(q)=(∂f(q))/∂q이고, Xd는 목표 위치에 대한 좌표값과 방향을 의미한다.Here, q k means the kth inverse kinematic solution, and the joint angle (q start ) for numerical analysis is applied as the initial solution for this, and J is the robot Jacobian, J(q)=(∂f( q))/∂q, and X d means the coordinate value and direction of the target position.
참고로, 역기구학 해석부(320)에서는 수학식 1의 qk를 반복적으로 업데이트하여 목표 위치(Xd)의 좌표값과 방향에 부합하는 역기구학 해를 연산하여야 하고, 로봇 야코비안에 대한 행렬 역변환(Matrix Inversion)을 수행하여야 하므로 계산량이 많으며, 연산하고자 하는 목표 관절 각도(qd)와 초기 해를 지나치게 상이한 값을 설정하는 경우 목표 관절 각도(qd)의 연산이 불가능하거나 많은 계산 시간을 소모하게 될 수 있다.For reference, the inverse
그러나, 역기구학 해석부(320)는 학습부(315)에서 연산된 수치해석용 관절 각도(qstart)를 초기 해로서 이용하며, 전술한 수치해석용 관절 각도(qstart)는 연산하고자 하는 목표 관절 각도(qd)에 근사하거나 동일한 값을 갖는 위치 벡터이기 때문에, 역기구학 해석부(320)의 계산량과 계산 시간을 현저하게 줄일 수 있으며, 목표 관절 각도(qd)의 연산이 불가능한 상황도 미연에 방지할 수 있다.However, the inverse
아울러, 다자유도 로봇의 개발자가 목표 위치(Xd)에 대응하는 목표 관절 각도(qd)를 직접 연산할 필요가 없으므로, 개발자의 부담을 줄일 수 있고, 다자유도 로봇에 구비되는 관절의 수나 형태, 자유도를 제한할 필요가 없게 된다.In addition, since the developer of the multi-DOF robot does not need to directly calculate the target joint angle (q d ) corresponding to the target position (X d ), it is possible to reduce the developer’s burden, and There is no need to limit the number, shape, or degree of freedom.
지금까지 본 발명의 바람직한 실시예에 따른 다자유도 로봇 제어시스템에 대해 설명하였다. 이하에서는, 본 발명의 바람직한 실시예에 따른 다자유도 로봇 제어방법에 대해서 설명한다. 다만, 본 발명의 바람직한 실시예에 따른 다자유도 로봇 제어방법은 상술한 다자유도 로봇 제어시스템에서 수행되는 것이므로, 각 단계에서 수행되는 기능은 상술한 다자유도 로봇 제어시스템과 관련하여 상술한 기능과 동일하다. 따라서, 이하에서는, 전체적인 흐름을 중심으로 설명한다.So far, a multi-DOF robot control system according to a preferred embodiment of the present invention has been described. Hereinafter, a method for controlling a multi-DOF robot according to a preferred embodiment of the present invention will be described. However, since the multiple-DOF robot control method according to the preferred embodiment of the present invention is performed in the above-described multiple-DOF robot control system, the functions performed in each step are as described above in relation to the above-described multiple-DOF robot control system. Same as function. Therefore, in the following, the overall flow will be mainly described.
도 5는 본 발명의 일실시예에 따른 다자유도 로봇 제어방법을 설명하기 위한 도면이다.5 is a diagram for explaining a method for controlling a multi-DOF robot according to an embodiment of the present invention.
도 5를 참조하면, 먼저, 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템의 프로세서는 복수의 학습용 관절 각도와, 각각의 학습용 관절 각도에 따라 다자유도 로봇의 말단부 또는 툴이 도달하는 위치인 학습용 도달 위치들을 포함하는 학습 데이터를 생성한다(S100).Referring to FIG. 5 , first, the processor of the multiple degree of freedom robot control system according to an embodiment of the present invention provides a plurality of joint angles for learning and the distal end or tool of the multiple degree of freedom robot reaches according to each joint angle for learning. The training data including the training arrival positions that are positions is generated (S100).
구체적으로, 프로세서는 다자유도 로봇의 관절들이 이동 또는 회전 가능한 범위 내에서 무작위로 학습용 관절 각도들을 생성하고(S110), 정기구학 해석을 통하여 학습용 관절 각도들로부터 다자유도 로봇의 말단부 또는 툴이 도달하는 학습용 도달 위치의 좌표값과 방향을 각각 산출한다(S120).Specifically, the processor randomly generates joint angles for learning within the range in which the joints of the multi-DOF robot can move or rotate (S110), and the distal end or tool of the multi-DOF robot from the joint angles for learning through regular kinematic analysis. Coordinate values and directions of the learning arrival positions to be reached are respectively calculated (S120).
이때 생성되는 학습용 관절 각도는 위치 벡터로 생성되며, 정기구학 해석 시 데나비-하텐베르크 파라미터(Denavit-Hartenberg parameters, DH parameters)를 이용하여 학습용 관절 각도로부터 학습용 도달 위치의 좌표값과 방향을 산출할 수 있다.At this time, the created joint angle for learning is created as a position vector, and the coordinate value and direction of the learning destination can be calculated from the joint angle for learning using Denavit-Hartenberg parameters (DH parameters) in the regular kinematics analysis. can
그리고, 프로세서는 다자유도 로봇의 관절을 이동시키거나 이동을 제한하고자 하는 이동 경로에 대한 정보 및 여자유도에 대한 정보를 추가정보로서 입력받고(S130), 학습용 관절 각도들과 학습용 도달 위치들이 포함된 데이터들 중에서 기설정된 필터링 조건에 부합하는 데이터를 제거한 후 남은 데이터와 추가정보를 학습 데이터로서 생성하여 출력한다(S140).Then, the processor receives the information on the movement path to move the joint of the multi-DOF robot or restrict the movement and information on the excitation as additional information (S130), and includes joint angles for learning and arrival positions for learning. After removing data that meets a preset filtering condition from among the collected data, the remaining data and additional information are generated and output as learning data (S140).
이때, 전술한 추가정보는 목표 위치에 대응하는 목표 관절 각도를 연산하였을 때, 하나의 목표 위치에 대해 복수의 목표 관절 각도가 존재하는 경우, 복수의 목표 관절 각도 중에서 사용자 요구에 부합하는 목표 관절 각도를 선택하는 기준으로 활용될 수 있다.In this case, the above-described additional information includes, when a target joint angle corresponding to the target position is calculated, when a plurality of target joint angles exist for one target position, a target joint angle that meets the user's request among the plurality of target joint angles can be used as a criterion for selecting
아울러, 기설정된 필터링 조건은, 예를 들어, 다자유도 로봇의 관절들이 이동 또는 회전 가능한 범위를 벗어나는 것, 다자유도 로봇의 관절들이 제한된 작업공간을 침범하게 하는 것, 다자유도 로봇의 관절들이 장애물이 위치한 경로로 이동 또는 회전하게 하는 것, 사용자가 임의로 설정한 역기구학 해의 범위를 벗어나는 것, 수치해석용 관절 각도의 연산을 위한 학습에 부적합한 것일 수 있다.In addition, the preset filtering conditions are, for example, that the joints of the multi-DOF robot are out of a movable or rotatable range, that the joints of the multi-DOF robot invade a limited work space, and the joints of the multi-DOF robot are It may be that they move or rotate in the path where the obstacle is located, that it is outside the range of the inverse kinematic solution set arbitrarily by the user, or that it is not suitable for learning for the calculation of joint angles for numerical analysis.
그 다음, 프로세서는 학습 데이터를 이용하여 다자유도 로봇의 말단부 또는 툴의 위치에 대응하는 수치해석용 관절 각도를 학습한다(S200).Next, the processor learns the joint angle for numerical analysis corresponding to the position of the distal end of the multi-DOF robot or the tool by using the learning data (S200).
이때, 프로세서는 학습 데이터에 전처리를 수행하여 학습용 데이터셋(Dataset)과 평가용 데이터셋으로 구분하고, 학습(train)과 학습평가(evaluation)를 수행한 다음, 학습 과정에서 계산된 역기구학 해와 실제 해의 차이가 임계값을 넘지 않으면 학습을 종료할 수 있다.At this time, the processor performs pre-processing on the training data, divides it into a training dataset and an evaluation dataset, performs training and learning evaluation, and then performs the inverse kinematic solution calculated in the learning process and the actual If the difference in solutions does not exceed the threshold, learning may be terminated.
그리고, 학습평가 과정에서 에러 값이 설정값보다 크면 하이퍼 파라미터(Hyper parameter)를 수정하거나, 데이터셋의 확장을 위한 추가 학습 데이터를 요구할 수도 있다.In addition, if the error value is greater than the set value in the learning evaluation process, a hyper parameter may be corrected or additional learning data may be requested for data set expansion.
그 다음에, 프로세서는 다자유도 로봇의 말단부 또는 툴을 이동시킬 목표 위치가 입력되면, 목표 위치에 대응하는 적어도 하나의 수치해석용 관절 각도를 연산한다(S300).Then, when the target position to move the distal end of the multi-DOF robot or the tool is input, the processor calculates at least one joint angle for numerical analysis corresponding to the target position (S300).
그 다음에, 프로세서는 역기구학 해석을 통하여 적어도 하나의 수치해석용 관절 각도로부터 다자유도 로봇의 말단부 또는 툴을 목표 위치로 도달시킬 수 있는 목표 관절 각도를 연산한다(S400).Then, the processor calculates a target joint angle capable of reaching the distal end of the multi-DOF robot or the tool to a target position from at least one joint angle for numerical analysis through inverse kinematics analysis (S400).
이때, 프로세서는 수치해석용 관절 각도를 초기 해로서 이용하여 역기구학 해석을 수행하게 되는데, 수치해석용 관절 각도는 연산하고자 하는 목표 관절 각도에 근사하거나 동일한 값을 갖는 위치 벡터이기 때문에, 역기구학 해석 과정에서 수반되는 계산량과 계산 시간을 현저하게 줄일 수 있으며, 목표 관절 각도의 연산이 불가능한 상황도 미연에 방지할 수 있다.At this time, the processor performs inverse kinematics analysis by using the joint angle for numerical analysis as an initial solution. Since the joint angle for numerical analysis is a position vector having the same value or close to the target joint angle to be calculated, inverse kinematics analysis The amount of calculation and calculation time involved in the process can be remarkably reduced, and the situation in which the calculation of the target joint angle is impossible can be prevented in advance.
이로 인해, 다자유도 로봇의 개발자가 목표 위치에 대응하는 목표 관절 각도를 직접 연산할 필요가 없으므로, 개발자의 부담을 줄일 수 있고, 다자유도 로봇에 구비되는 관절의 수나 형태, 자유도를 제한할 필요가 없게 된다.For this reason, since the developer of the multi-DOF robot does not need to directly calculate the target joint angle corresponding to the target position, the burden on the developer can be reduced, and the number, shape, and degree of freedom provided in the multi-DOF robot can be limited. there will be no need
참고로, 제 S400 단계에서, 수치해석용 관절 각도로부터 다자유도 로봇의 말단부 또는 툴을 목표 위치로 도달시킬 수 있는 목표 관절 각도를 연산하는 예에 대해, 수학식 1을 이용하여 참조하여 상술하였으므로, 구체적인 설명은 생략하였다.For reference, in the step S400, the example of calculating the target joint angle that can reach the distal end of the multi-DOF robot or the tool to the target position from the joint angle for numerical analysis has been described above with reference to Equation 1 , and detailed descriptions are omitted.
이와 같은 본 발명은 또한 컴퓨터 판독 가능한 저장 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터 판독 가능한 저장 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터 판독 가능한 저장 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention as described above can also be implemented as computer-readable codes in a computer-readable storage medium. The computer readable storage medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device. In addition, the computer-readable storage medium may be distributed in network-connected computer systems, and the computer-readable code may be stored and executed in a distributed manner.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다.So far, the present invention has been looked at with respect to preferred embodiments thereof.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.Those of ordinary skill in the art to which the present invention pertains will understand that the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments are to be considered in an illustrative rather than a restrictive sense. The scope of the present invention is indicated in the claims rather than the foregoing description, and all differences within the scope equivalent thereto should be construed as being included in the present invention.
100 : 메모리
200 : 통신부
300 : 프로세서100 : memory
200: communication department
300 : processor
Claims (11)
(3) 다자유도 로봇의 말단부 또는 툴을 이동시킬 목표 위치가 입력되면, 목표 위치에 대응하는 적어도 하나의 수치해석용 관절 각도를 연산하는 단계; 및
(4) 역기구학 해석을 통하여 적어도 하나의 수치해석용 관절 각도로부터 다자유도 로봇의 말단부 또는 툴을 목표 위치로 도달시킬 수 있는 목표 관절 각도를 연산하는 단계;를 포함하는, 다자유도 로봇 제어방법.
(2) learning the joint angle for numerical analysis corresponding to the position of the distal end of the multi-DOF robot or the tool by using the learning data;
(3) calculating at least one joint angle for numerical analysis corresponding to the target position when a target position to move the distal end of the multi-DOF robot or the tool is input; and
(4) calculating a target joint angle capable of reaching the distal end of the multi-DOF robot or the tool to a target position from at least one joint angle for numerical analysis through inverse kinematics analysis; including, controlling the multi-DOF robot method.
상기 제 (2)단계 이전에,
(1) 복수의 학습용 관절 각도와, 각각의 학습용 관절 각도에 따라 다자유도 로봇의 말단부 또는 툴이 도달하는 위치인 학습용 도달 위치들을 포함하는 학습 데이터를 생성하는 단계;를 더 포함하는 것을 특징으로 하는, 다자유도 로봇 제어방법.
The method of claim 1,
Before step (2),
(1) generating learning data including a plurality of joint angles for learning and learning arrival positions that are positions reached by a distal end or a tool of the multi-DOF robot according to each joint angle for learning; characterized by further comprising: A method for controlling a multi-DOF robot.
상기 제 (1)단계는,
(1-1) 다자유도 로봇의 관절들이 이동 또는 회전 가능한 범위 내에서 무작위로 학습용 관절 각도들을 생성하는 단계; 및
(1-2) 정기구학 해석을 통하여 학습용 관절 각도들로부터 다자유도 로봇의 말단부 또는 툴이 도달하는 학습용 도달 위치의 좌표값과 방향을 각각 산출하는 단계;를 포함하는 것을 특징으로 하는, 다자유도 로봇 제어방법.
3. The method of claim 2,
The first step (1) is,
(1-1) randomly generating joint angles for learning within a range in which the joints of the multi-DOF robot can move or rotate; and
(1-2) calculating the coordinate values and directions of the learning arrival position reached by the distal end of the multi-DOF robot or the tool from the joint angles for learning through regular kinematic analysis, respectively; Road robot control method.
상기 제 (1)단계는, 상기 제 (1-2)단계 이후에,
(1-3) 다자유도 로봇의 관절을 이동시키거나 이동을 제한하고자 하는 이동 경로에 대한 정보 및 여자유도에 대한 정보를 추가정보로서 입력받는 단계;를 더 포함하는 것을 특징으로 하는, 다자유도 로봇 제어방법.
4. The method of claim 3,
The first step (1) is, after the step (1-2),
(1-3) receiving, as additional information, information on a movement path and information on excitation guidance to move the joint of the multi-degree-of-freedom robot or to restrict movement; Road robot control method.
상기 제 (1)단계는, 상기 제 (1-2)단계 이후에,
(1-4) 학습용 관절 각도들과 학습용 도달 위치들이 포함된 데이터들 중에서 기설정된 필터링 조건에 부합하는 데이터를 제거하고, 남은 데이터와 추가정보를 학습 데이터로서 생성하는 단계;를 더 포함하는 것을 특징으로 하는, 다자유도 로봇 제어방법.
4. The method of claim 3,
The first step (1) is, after the step (1-2),
(1-4) removing data that meets a preset filtering condition from among data including joint angles for learning and arrival positions for learning, and generating the remaining data and additional information as learning data; characterized by further comprising: A method for controlling a robot with multiple degrees of freedom.
A computer program stored in a computer-readable storage medium to execute the method for controlling the multi-DOF robot according to any one of claims 1 to 5 in a computer.
상기 프로세서에 의해 실행 가능한 하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 프로세서의 제어하에, 다자유도 로봇의 관절에 구비된 모터 또는 액츄에이터를 목표 관절 각도로 동작시키는 제어 신호를 해당 모터 또는 액츄에이터에 송신하는 통신부;를 포함하고,
상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
학습 데이터를 이용하여 다자유도 로봇의 말단부 또는 툴의 위치에 대응하는 수치해석용 관절 각도를 학습하고,
다자유도 로봇의 말단부 또는 툴을 이동시킬 목표 위치가 입력되면, 목표 위치에 대응하는 적어도 하나의 수치해석용 관절 각도를 연산하며,
역기구학 해석을 통하여 적어도 하나의 수치해석용 관절 각도로부터 다자유도 로봇의 말단부 또는 툴을 목표 위치로 도달시킬 수 있는 목표 관절 각도를 연산하는, 다자유도 로봇 제어시스템.
processor;
a memory storing one or more instructions executable by the processor; and
A communication unit for transmitting a control signal for operating a motor or actuator provided in a joint of the multi-DOF robot at a target joint angle to the corresponding motor or actuator under the control of the processor; includes;
The processor, by executing the one or more instructions,
Using the learning data, learn the joint angle for numerical analysis corresponding to the position of the distal end of the multi-degree-of-freedom robot or the tool,
When the target position to move the distal end of the multi-DOF robot or the tool is input, at least one joint angle for numerical analysis corresponding to the target position is calculated,
A multi-DOF robot control system that calculates a target joint angle that can reach the distal end or tool of the multi-DOF robot to a target position from at least one joint angle for numerical analysis through inverse kinematic analysis.
상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
복수의 학습용 관절 각도와, 각각의 학습용 관절 각도에 따라 다자유도 로봇의 말단부 또는 툴이 도달하는 위치인 학습용 도달 위치들을 포함하는 학습 데이터를 생성하는, 다자유도 로봇 제어시스템.
8. The method of claim 7,
The processor, by executing the one or more instructions,
A multiple degree of freedom robot control system for generating learning data including a plurality of joint angles for learning, and arrival positions for learning that are positions reached by a distal end or a tool of a multiple degree of freedom robot according to each joint angle for learning.
학습 데이터의 생성 시, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
다자유도 로봇의 관절들이 이동 또는 회전 가능한 범위 내에서 무작위로 학습용 관절 각도들을 생성하고,
정기구학 해석을 통하여 학습용 관절 각도들로부터 다자유도 로봇의 말단부 또는 툴이 도달하는 학습용 도달 위치의 좌표값과 방향을 각각 산출하는, 다자유도 로봇 제어시스템.
9. The method of claim 8,
When generating training data, the processor, by executing the one or more instructions,
The joint angles for learning are randomly generated within the range where the joints of the multi-degree-of-freedom robot can move or rotate,
A multi-degree-of-freedom robot control system that calculates the coordinate values and directions of the learning reach position reached by the distal end of the multi-degree-of-freedom robot or the tool from the joint angles for learning through regular kinematic analysis, respectively.
학습 데이터의 생성 시, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
다자유도 로봇의 관절을 이동시키거나 이동을 제한하고자 하는 이동 경로에 대한 정보 및 여자유도에 대한 정보를 추가정보로서 입력받는, 다자유도 로봇 제어시스템.
10. The method of claim 9,
When generating training data, the processor, by executing the one or more instructions,
A multi-degree-of-freedom robot control system that receives information on the movement path and excitation guidance to move the joint of the multi-DOF robot or restrict movement as additional information.
학습 데이터의 생성 시, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
학습용 관절 각도들과 학습용 도달 위치들이 포함된 데이터들 중에서 기설정된 필터링 조건에 부합하는 데이터를 제거하고, 남은 데이터와 추가정보를 학습 데이터로서 생성하는, 다자유도 로봇 제어시스템.10. The method of claim 9,
When generating training data, the processor, by executing the one or more instructions,
A multiple degree of freedom robot control system that removes data that meets a preset filtering condition from among data including joint angles for learning and arrival positions for learning, and generates the remaining data and additional information as learning data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200122039A KR102522511B1 (en) | 2020-09-22 | 2020-09-22 | System and method for controlling multi-degree-of-freedom robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200122039A KR102522511B1 (en) | 2020-09-22 | 2020-09-22 | System and method for controlling multi-degree-of-freedom robot |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220039205A true KR20220039205A (en) | 2022-03-29 |
KR102522511B1 KR102522511B1 (en) | 2023-04-17 |
Family
ID=80997295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200122039A KR102522511B1 (en) | 2020-09-22 | 2020-09-22 | System and method for controlling multi-degree-of-freedom robot |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102522511B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220134537A1 (en) * | 2020-10-29 | 2022-05-05 | Nvidia Corporation | Transformation of joint space coordinates using machine learning |
CN114770510A (en) * | 2022-05-09 | 2022-07-22 | 杭州景业智能科技股份有限公司 | Kinematic analysis solution optimization method, device, computer equipment and storage medium |
CN116117816A (en) * | 2023-02-18 | 2023-05-16 | 北京远舢智能科技有限公司 | Robot learning method and device, electronic equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0588721A (en) * | 1991-09-30 | 1993-04-09 | Fujitsu Ltd | Controller for articulated robot |
US20150094855A1 (en) * | 2012-05-04 | 2015-04-02 | Leoni Cia Cable Systems Sas | Imitation learning method for a multi-axis manipulator |
JP2018190241A (en) * | 2017-05-09 | 2018-11-29 | オムロン株式会社 | Task execution system, task execution method, and learning device and learning method thereof |
JP2019155501A (en) * | 2018-03-09 | 2019-09-19 | 株式会社日立製作所 | Track planning device, track planning method, and production system |
JP2019159767A (en) * | 2018-03-13 | 2019-09-19 | オムロン株式会社 | Operational equipment, operation method, and program thereof |
-
2020
- 2020-09-22 KR KR1020200122039A patent/KR102522511B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0588721A (en) * | 1991-09-30 | 1993-04-09 | Fujitsu Ltd | Controller for articulated robot |
US20150094855A1 (en) * | 2012-05-04 | 2015-04-02 | Leoni Cia Cable Systems Sas | Imitation learning method for a multi-axis manipulator |
JP2018190241A (en) * | 2017-05-09 | 2018-11-29 | オムロン株式会社 | Task execution system, task execution method, and learning device and learning method thereof |
JP2019155501A (en) * | 2018-03-09 | 2019-09-19 | 株式会社日立製作所 | Track planning device, track planning method, and production system |
JP2019159767A (en) * | 2018-03-13 | 2019-09-19 | オムロン株式会社 | Operational equipment, operation method, and program thereof |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220134537A1 (en) * | 2020-10-29 | 2022-05-05 | Nvidia Corporation | Transformation of joint space coordinates using machine learning |
CN114770510A (en) * | 2022-05-09 | 2022-07-22 | 杭州景业智能科技股份有限公司 | Kinematic analysis solution optimization method, device, computer equipment and storage medium |
CN114770510B (en) * | 2022-05-09 | 2024-02-23 | 杭州景业智能科技股份有限公司 | Kinematic analysis and selection method, device, computer equipment and storage medium |
CN116117816A (en) * | 2023-02-18 | 2023-05-16 | 北京远舢智能科技有限公司 | Robot learning method and device, electronic equipment and storage medium |
CN116117816B (en) * | 2023-02-18 | 2024-02-23 | 北京远舢智能科技有限公司 | Robot learning method and device, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
KR102522511B1 (en) | 2023-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102522511B1 (en) | System and method for controlling multi-degree-of-freedom robot | |
CN106457565B (en) | Method and system for programming a robot | |
EP3924884B1 (en) | System and method for robust optimization for trajectory-centric model-based reinforcement learning | |
US6004016A (en) | Motion planning and control for systems with multiple mobile objects | |
KR102421676B1 (en) | System and method for controlling actuators of articulated robot | |
CN110856934B (en) | Method for planning a movement for lifting a weight using a robotic system | |
Andersen et al. | Definition and initial case-based evaluation of hardware-independent robot skills for industrial robotic co-workers | |
Hudson et al. | Model-based autonomous system for performing dexterous, human-level manipulation tasks | |
Liu et al. | Learning peg-in-hole assembly using Cartesian DMPs with feedback mechanism | |
JP2022176917A (en) | Method for controlling robot device | |
Wirnshofer et al. | State estimation in contact-rich manipulation | |
Glogowski et al. | Robot speed adaption in multiple trajectory planning and integration in a simulation tool for human-robot interaction | |
CN114051444A (en) | Executing an application by means of at least one robot | |
US11518024B2 (en) | Extensible underconstrained robotic motion planning | |
CN114114902A (en) | Machine control device | |
Mohammad Hossein Fallah et al. | Conjugated visual predictive control for constrained visual servoing | |
Al-Shuka et al. | Adaptive hybrid regressor and approximation control of robotic manipulators in constrained space | |
Bruyninckx et al. | A roadmap for autonomous robotic assembly | |
Schperberg et al. | Real-to-Sim: Predicting Residual Errors of Robotic Systems with Sparse Data using a Learning-based Unscented Kalman Filter | |
JP2023075884A (en) | Dynamic action planning system | |
Karacan et al. | Tactile exploration using unified force-impedance control | |
Friedrich et al. | Maintenance automation: Methods for robotics manipulation planning and execution | |
US20200201268A1 (en) | System and method for guiding a sensor around an unknown scene | |
Hinze et al. | Nonlinear trajectory control for deformable linear objects based on physics simulation | |
US20210122038A1 (en) | Method and device for ascertaining control parameters in a computer-assisted manner for a favorable action of a technical system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |