KR20220039205A - System and method for controlling multi-degree-of-freedom robot - Google Patents

System and method for controlling multi-degree-of-freedom robot Download PDF

Info

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
Application number
KR1020200122039A
Other languages
Korean (ko)
Other versions
KR102522511B1 (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 KR1020200122039A priority Critical patent/KR102522511B1/en
Publication of KR20220039205A publication Critical patent/KR20220039205A/en
Application granted granted Critical
Publication of KR102522511B1 publication Critical patent/KR102522511B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/106Programme-controlled manipulators characterised by positioning means for manipulator elements with articulated links
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Abstract

The present invention relates to a system and a method for controlling a multi-degree-of-freedom robot, which can calculate a joint angle for numerical analysis for inverse kinematic analysis by using a deep learning algorithm, and move a tool or an end of a multi-degree-of-freedom robot to a target position by using the joint angle for numerical analysis. Also, the present invention (1) generates learning data including a plurality of joint angles for learning, reaching positions for learning which are positions reached by a tool or an end of a multi-degree-of-freedom robot in accordance with the joint angles for learning, (2) uses the learning data to learn joint angles for numerical analysis corresponding to the position of the tool or the end of the multi-degree-of-freedom robot, (3) calculates at least one joint angle for numerical analysis corresponding to a target position to which the tool or the end of the multi-degree-of-freedom robot is to be moved when the target position is inputted, and (4) calculates a target joint angle at which the tool or the end of the multi-degree-of-freedom robot can reach the target position from at least one joint angle for numerical analysis through inverse kinematic analysis to reduce the burden of a developer who performs a kinematic-based calculation process and resolve limitations on the number, form, and degree of freedom of joints provided on the multi-degree-of-freedom robot.

Description

다자유도 로봇 제어방법 및 시스템{System and method for controlling multi-degree-of-freedom robot}Multi-degree-of-freedom robot control method and system

본 발명은 딥 러닝 알고리즘을 이용하여 역기구학 해석을 위한 수치해석용 관절 각도를 연산하고, 수치해석용 관절 각도를 이용하여 다자유도 로봇의 말단부 또는 툴을 목표 위치로 이동시킬 수 있는 목표 관절 각도를 연산하는 다자유도 로봇 제어방법 및 시스템에 관한 것이다.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 memory 100 , a communication unit 200 , and a processor 300 .

여기서, 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템은 다자유도 로봇에 구비되어 다자유도 로봇의 관절에 장착된 모터나 액츄에이터를 제어하는 용도로 활용될 수 있다.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 memory 100 may store various data, commands, and information, in particular, programs (one or more instructions) for processing and controlling the processor 300 , and in addition, by the processor 300 It stores input or output data or learning data required for deep learning in the processor 300 .

예를 들어, 메모리(100)에는 복수의 학습용 관절 각도와, 각각의 학습용 관절 각도에 따라 다자유도 로봇의 말단부 또는 툴이 도달하는 위치인 학습용 도달 위치들을 포함하는 학습 데이터와, 학습 데이터로부터 연산되는 다자유도 로봇의 말단부 또는 툴의 위치에 대응하는 수치해석용 관절 각도에 대한 정보가 저장될 수 있다.For example, the memory 100 includes a plurality of joint angles for learning and learning data including learning arrival positions that are positions that the distal end of the multi-degree of freedom robot or tools reach according to each joint angle for learning, and operation from the learning data Information on joint angles for numerical analysis corresponding to the distal end of the multi-DOF robot or the position of the tool may be stored.

또한, 메모리(100)에는 수치해석용 관절 각도로부터 연산되는 목표 관절 각도에 대한 정보가 저장될 수도 있다.In addition, information on the target joint angle calculated from the joint angle for numerical analysis may be stored in the memory 100 .

한편, 메모리(100) 이외의 저장 매체를 별도로 구비하고, 그 저장 매체에 학습 데이터를 저장할 수도 있다.Meanwhile, a storage medium other than the memory 100 may be separately provided, and learning data may be stored in the storage medium.

상기 통신부(200)는 다자유도 로봇의 관절에 장착된 모터나 액츄에이터와 통신하여 목표 관절 각도를 포함하는 제어 신호를 전송한다. 여기서, 목표 관절 각도에 대한 정보가 포함된 제어 신호는 프로세서(300)로부터 연산 또는 생성될 수 있다.The communication unit 200 transmits a control signal including a target joint angle by communicating with a motor or actuator mounted on the joint of the multi-DOF robot. Here, the control signal including information on the target joint angle may be calculated or generated by the processor 300 .

아울러, 통신부(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 communication unit 200 is a 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), and MECHATROLINK using at least one of communication protocols including .

그 외에도, 통신부(200)는 외부의 통신 장치로부터 목표 위치에 대한 정보를 수신하거나, 다자유도 로봇의 관절을 이동시키거나 이동을 제한하고자 하는 이동 경로에 대한 정보 및 여자유도에 대한 정보를 수신할 수도 있고, 프로세서(300)의 설정 또는 제어를 위한 각종 정보들을 수신할 수도 있다.In addition, the communication unit 200 receives information about a target position from an external communication device, or receives information about a movement path and information on excitation guidance to move the joint of the multi-DOF robot or restrict movement. Also, various types of information for setting or controlling the processor 300 may be received.

상기 프로세서(300)는 하나 이상으로 포함될 수 있고, 메모리(100)에 저장된 하나 이상의 인스트럭션 또는 프로그램을 실행할 수 있다. 아울러, 프로세서(300)는 딥 러닝을 위한 AI 가속기(AI accelerator)를 포함할 수도 있다.The processor 300 may include one or more and execute one or more instructions or programs stored in the memory 100 . In addition, the processor 300 may include an AI accelerator for deep learning.

이러한, 프로세서(300)는 메모리(100)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 사전에 구축된 학습 데이터를 이용하여 목표 관절 각도의 연산을 위한 수치해석용 관절 각도를 연산한다.By executing one or more instructions stored in the memory 100 , the processor 300 calculates a joint angle for numerical analysis for calculation of a target joint angle using pre-built learning data.

이때, 전술한 학습 데이터는 다자유도 로봇의 말단부 또는 그 말단부에 장착된 툴을 특정한 위치로 도달시킬 수 있는 관절 각도에 대한 데이터이며, 수치해석용 관절 각도는 역기구학 해석을 위한 초기 해로서, 연산하고자 하는 목표 관절 각도에 근사하거나 동일한 값을 갖는 위치 벡터일 수 있다.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 processor 300 calculates the target joint angle by using the joint angle for numerical analysis corresponding to the target position, and at this time, based on the joint angle for numerical analysis and inverse kinematics analysis to calculate the target joint angle.

이하에서는, 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템의 프로세서(300)에 의해 수행되는 수치해석용 관절 각도의 연산을 위한 학습 과정과, 수치해석용 관절 각도를 이용하여 목표 위치에 부합하는 목표 관절 각도의 연산 과정을 구체적으로 설명한다.Hereinafter, a learning process for calculation of joint angles for numerical analysis performed by the processor 300 of a multi-degree-of-freedom robot control system according to an embodiment of the present invention, and a target position using joint angles for numerical analysis The calculation process of the matching target joint angle will be described in detail.

도 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 learning unit 315, which is a functional block of the processor, and FIG. 4 is a multi-degree of freedom robot control system according to an embodiment of the present invention. It is a diagram for explaining an example of input additional information using the two-degree-of-freedom robot 10 .

참고로, 도 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 processor 300 .

도 2 및 도 3을 참조하면, 본 발명의 일실시예에 따른 다자유도 로봇 제어시스템의 프로세서(300)는 수치해석용 관절 각도 학습부(310) 및 역기구학 해석부(320)를 포함하여 구성될 수 있다.2 and 3, the processor 300 of the multi-DOF robot control system according to an embodiment of the present invention includes a joint angle learning unit 310 for numerical analysis and an inverse kinematics analysis unit 320, can be configured.

상기 수치해석용 관절 각도 학습부(310)는 딥 러닝 알고리즘을 이용하여 역기구학 해석을 위한 초기 해를 학습하고, 목표 위치(Xd)에 대한 정보가 입력되었을 때, 그 목표 위치(Xd)에 대응하는 초기 해로서 수치해석용 관절 각도(qstart)를 연산한다.The joint angle learning unit 310 for numerical analysis learns an initial solution for inverse kinematics analysis by using a deep learning algorithm, and when information on a target position (X d ) is input, the target position (X d ) Calculate the joint angle (q start ) for numerical analysis as an initial solution corresponding to .

이때, 수치해석용 관절 각도 학습부(310)는 심층 신경망(Deep Neural Network, DNN)를 이용하여 초기 해를 학습할 수 있는데, 이외에도, 다양한 기계학습 알고리즘을 적용할 수 있다.In this case, the joint angle learning unit 310 for numerical analysis may learn an initial solution using a deep neural network (DNN), and in addition, various machine learning algorithms may be applied.

또한, 수치해석용 관절 각도 학습부(310)는 복수의 학습용 관절 각도(qrandom)와, 각각의 학습용 관절 각도(qrandom)에 따라 다자유도 로봇의 말단부 또는 툴이 도달하는 위치인 학습용 도달 위치(X)들을 포함하는 학습 데이터를 생성하고, 이를 이용하여 수치해석용 관절 각도(qstart)의 연산을 위한 학습을 수행할 수 있다.In addition, the joint angle learning unit 310 for numerical analysis is a plurality of joint angles for learning (q random ) and a position at which the distal end of the multi-degree-of-freedom robot or the tool reaches according to each joint angle for learning (q random ). It is possible to generate learning data including the positions (X), and use this to perform learning for the calculation of the joint angle (q start ) for numerical analysis.

이러한, 수치해석용 관절 각도 학습부(310)는 도 3에 도시된 바와 같이, 학습용 관절 각도 생성부(311), 정기구학 해석부(312), 추가정보 입력부(313), 필터부(314) 및 학습부(315)를 포함하여 구성될 수 있다.As shown in FIG. 3, the joint angle learning unit 310 for numerical analysis includes a joint angle generating unit 311 for learning, a regular kinematics analysis unit 312, an additional information input unit 313, and a filter unit 314. And it may be configured to include a learning unit (315).

상기 학습용 관절 각도 생성부(311)는 다자유도 로봇의 관절들이 이동 또는 회전 가능한 범위 내에서 무작위로 학습용 관절 각도(qrandom)들을 생성한다. 이때 생성되는 학습용 관절 각도(qrandom)는 위치 벡터로 생성된다.The joint angle generating unit 311 for learning randomly generates joint angles for learning (q random ) within a range in which the joints of the multi-DOF robot can move or rotate. At this time, the joint angle for learning (q random ) generated is generated as a position vector.

또한, 학습용 관절 각도 생성부(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 kinematics analyzing unit 312 and the filter unit 314 .

아울러, 학습용 관절 각도(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 filter unit 314 to be described later It is preferable to perform the process of removing the learning data out of the movable or rotatable range of the robot's joints.

상기 정기구학 해석부(312)는 정기구학 해석을 통하여 학습용 관절 각도(qrandom)들로부터 다자유도 로봇의 말단부 또는 툴이 도달하는 학습용 도달 위치(X)의 좌표값과 방향을 각각 산출한다.The regular kinematics analysis unit 312 calculates the coordinate values and directions of the learning arrival position (X) reached by the distal end of the multi-DOF robot or the tool from the joint angles for learning (q random ) through the regular kinematic analysis, respectively.

이때, 정기구학 해석부(312)는 데나비-하텐베르크 파라미터(Denavit-Hartenberg parameters, DH parameters)를 이용하여 학습용 관절 각도(qrandom)로부터 학습용 도달 위치(X)의 좌표값과 방향을 산출할 수 있다.At this time, the regular kinematics analysis unit 312 is a Denavit-Hartenberg parameters (Denavit-Hartenberg parameters, DH parameters) from the joint angle for learning (q random ) to calculate the coordinate value and direction of the learning arrival position (X) can

아울러, 정기구학 해석부(312)는에서 산출된 학습용 도달 위치(X)에 대한 정보는 추가정보 입력부(313)를 통해 필터부(314)에 입력될 수 있다.In addition, the information on the learning arrival position (X) calculated in the regular kinematics analysis unit 312 may be input to the filter unit 314 through the additional information input unit 313 .

상기 추가정보 입력부(313)는 통신부(200)를 통해 다자유도 로봇의 관절을 이동시키거나 이동을 제한하고자 하는 이동 경로에 대한 정보 및 여자유도에 대한 정보를 추가정보(α)로서 입력받는다.The additional information input unit 313 receives, as additional information α, information on a movement path and excitation induction for moving or restricting movement of the joint of the multi-DOF robot through the communication unit 200 .

참고로, 추가정보 입력부(313)에 입력되는 추가정보(α)는 역기구학 해석부(320)에서 목표 위치(Xd)에 대응하는 목표 관절 각도(qd)를 연산하였을 때, 하나의 목표 위치(Xd)에 대해 복수의 목표 관절 각도(qd)가 존재하는 경우, 복수의 목표 관절 각도(qd) 중에서 사용자 요구에 부합하는 목표 관절 각도(qd)를 선택하는 기준으로 활용될 수 있다.For reference, the additional information α input to the additional information input unit 313 is one target when the inverse kinematics analysis unit 320 calculates the target joint angle q d corresponding to the target position X d . If a plurality of target joint angles (q d ) exist for the position (X d ), it will be used as a criterion for selecting a target joint angle (q d ) that meets the user’s needs from among the plurality of target joint angles (q d ). can

예를 들어, 도 4를 참조하면, 베이스(11)에 연결되는 하나의 제 1암(12)과, 제 1암(12)에 연결되는 제 2암(13) 및 제 1암(12)과 제 2암(13)을 회전 가능하도록 연결하는 관절(14)이 구비된 2자유도 로봇(10)이 도시되어 있다.For example, referring to FIG. 4 , a single first arm 12 connected to the base 11 , a second arm 13 and a first arm 12 connected to the first arm 12 , and A two-degree-of-freedom robot 10 provided with a joint 14 that rotatably connects the second arm 13 is shown.

이러한, 2자유도 로봇(10)에서 제 2암(13)의 말단부를 목표 위치인 P2까지 이동 또는 회전시킬 수 있도록 하는 관절(14)의 목표 관절 각도(qd)는 P1a와 P1b를 포함하는 2개의 해를 갖게 된다.In this two-degree-of-freedom robot 10, the target joint angle (q d ) of the joint 14 to move or rotate the distal end of the second arm 13 to the target position P 2 is P 1a and P 1b . We have two solutions containing

여기서, 베이스(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 kinematics analysis unit 320 uses the additional information α when a plurality of target joint angles q d exist for one target position X d . Thus, it becomes possible to select at least one target joint angle (q d ).

한편, 추가정보(α)는 정기구학 해석부(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 kinematics analysis unit 312, and the learning arrival position ( It may be input after monitoring the result value after calculating the coordinate value and direction of X).

아울러, 추가정보 입력부(313)에 입력되는 추가정보(α)는 정기구학 해석부(312)로부터 산출된 학습용 도달 위치(X)와 함께 필터부(314)에 입력될 수 있다.In addition, the additional information α input to the additional information input unit 313 may be input to the filter unit 314 together with the learning arrival position X calculated from the static kinematics analysis unit 312 .

다시 도 3을 참조하면, 상기 필터부(314)는 학습용 관절 각도(qrandom)들과 학습용 도달 위치(X)들이 포함된 데이터들 중에서 기설정된 필터링 조건에 부합하는 데이터를 제거하고, 남은 데이터와 추가정보(α)를 학습 데이터로서 출력한다.Referring back to FIG. 3 , the filter unit 314 removes data that meets a preset filtering condition from among data including joint angles for learning (q random ) and arrival positions (X) for learning, and removes the remaining data and The additional information α is output as training data.

여기서, 필터부(314)에 설정되는 필터링 조건은, 예를 들어, 다자유도 로봇의 관절들이 이동 또는 회전 가능한 범위를 벗어나는 것, 다자유도 로봇의 관절들이 제한된 작업공간을 침범하게 하는 것, 다자유도 로봇의 관절들이 장애물이 위치한 경로로 이동 또는 회전하게 하는 것, 사용자가 임의로 설정한 역기구학 해의 범위를 벗어나는 것, 수치해석용 관절 각도(qstart)의 연산을 위한 학습에 부적합한 것일 수 있다.Here, the filtering conditions set in the filter unit 314 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, Making the joints of the multi-DOF robot move or rotate on the path where the obstacle is located, out of the range of inverse kinematic solutions set arbitrarily by the user, or inappropriate for learning for calculation of joint angle (q start ) for numerical analysis can

참고로, 다자유도 로봇의 관절들이 이동 또는 회전 가능한 범위를 벗어나는 학습 데이터는 다자유도 로봇에 탑재된 관절의 형태나 수에 따라 변경될 수 있으며, 다자유도 로봇의 관절들이 제한된 작업공간을 침범하게 하는 학습 데이터와 다자유도 로봇의 관절들이 장애물이 위치한 경로로 이동 또는 회전하게 하는 학습 데이터는 다자유도 로봇이 배치되어 특정한 작업을 수행할 작업공간의 형태나 구조, 작업공간에 설치되는 다른 로봇이나 구조물에 따라 변경될 수 있다.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 filter unit 314 , the remaining data and additional information α are generated as training data and output to the learning unit 315 .

상기 학습부(315)는 학습 데이터를 이용하여 다자유도 로봇의 말단부 또는 툴의 위치에 대응하는 초기 해, 즉, 수치해석용 관절 각도(qstart)를 학습한다.The learning unit 315 uses the learning data to learn an initial solution corresponding to the position of the distal end of the multi-DOF robot or the tool, that is, the joint angle q start for numerical analysis.

이때, 학습부(315)는 전처리를 수행하여 학습데이터를 학습용 데이터셋(Dataset)과 평가용 데이터셋으로 구분하고, 학습(train)과 학습평가(evaluation)를 수행한 다음, 학습 과정에서 계산된 역기구학 해와 실제 해의 차이가 임계값을 넘지 않으면 학습을 종료한다.At this time, the learning unit 315 performs pre-processing to classify the learning data into a training dataset and an evaluation dataset, performs training and evaluation, and then calculates in the learning process. If the difference between the inverse kinematic solution and the actual solution does not exceed the threshold, learning is terminated.

또한, 학습부(315)는 학습평가 시의 에러 값이 설정값보다 크면 하이퍼 파라미터(Hyper parameter)를 수정하거나, 데이터셋의 확장을 위한 추가 학습 데이터를 요구할 수도 있다.In addition, if the error value during the learning evaluation is greater than the set value, the learning unit 315 may correct a hyper parameter or request additional learning data for expanding the dataset.

그 이후에, 학습부(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 learning unit 315 receives at least one numerical value corresponding to the target position (X d ) based on the learned data. The joint angle for analysis (q start ) can be calculated.

한편, 학습부(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 learning unit 315 may be output to the inverse kinematics analysis unit 320 .

상기 역기구학 해석부(320)는 역기구학 해석을 통하여 적어도 하나의 수치해석용 관절 각도(qstart)로부터 다자유도 로봇의 말단부 또는 툴을 목표 위치(Xd)로 도달시킬 수 있는 목표 관절 각도(qd)를 연산한다.The inverse kinematics analysis unit 320 is a target joint angle that can reach the distal end or tool of the multi-DOF robot from at least one joint angle for numerical analysis (q start ) to the target position (X d ) through inverse kinematics analysis. Calculate (q d ).

이때, 역기구학 해석부(320)는 역기구학 해석에 따른 아래의 수학식 1을 이용하여 목표 관절 각도(qd)를 연산할 수 있다.In this case, the inverse kinematics analysis unit 320 may calculate the target joint angle q d using Equation 1 below according to the inverse kinematics analysis.

[수학식 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 kinematics analysis unit 320 must iteratively update q k in Equation 1 to calculate an inverse kinematic solution corresponding to the coordinate value and direction of the target position (X d ), and the matrix for the robot Jacobian Matrix Inversion has to be performed, so there is a lot of calculation, and if you set a value that is too different from the target joint angle (q d ) to be calculated and the initial solution, the calculation of the target joint angle (q d ) is impossible or requires a lot of calculation time. may be consumed

그러나, 역기구학 해석부(320)는 학습부(315)에서 연산된 수치해석용 관절 각도(qstart)를 초기 해로서 이용하며, 전술한 수치해석용 관절 각도(qstart)는 연산하고자 하는 목표 관절 각도(qd)에 근사하거나 동일한 값을 갖는 위치 벡터이기 때문에, 역기구학 해석부(320)의 계산량과 계산 시간을 현저하게 줄일 수 있으며, 목표 관절 각도(qd)의 연산이 불가능한 상황도 미연에 방지할 수 있다.However, the inverse kinematics analysis unit 320 uses the joint angle for numerical analysis (q start ) calculated in the learning unit 315 as an initial solution, and the aforementioned joint angle for numerical analysis (q start ) is the target to be calculated. Since the joint angle (q d ) is a position vector having the same or approximate value, the amount of calculation and the calculation time of the inverse kinematics analysis unit 320 can be significantly reduced, and the calculation of the target joint angle (q d ) is impossible. can be prevented in advance.

아울러, 다자유도 로봇의 개발자가 목표 위치(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)

(2) 학습 데이터를 이용하여 다자유도 로봇의 말단부 또는 툴의 위치에 대응하는 수치해석용 관절 각도를 학습하는 단계;
(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.
제 1항에 있어서,
상기 제 (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.
제 2항에 있어서,
상기 제 (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.
제 3항에 있어서,
상기 제 (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.
제 3항에 있어서,
상기 제 (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.
컴퓨터에서, 제 1항 내지 제 5항 중 어느 한 항의 다자유도 로봇 제어방법을 실행하도록, 컴퓨터 판독 가능한 저장 매체에 저장된 컴퓨터 프로그램.
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.
제 7항에 있어서,
상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
복수의 학습용 관절 각도와, 각각의 학습용 관절 각도에 따라 다자유도 로봇의 말단부 또는 툴이 도달하는 위치인 학습용 도달 위치들을 포함하는 학습 데이터를 생성하는, 다자유도 로봇 제어시스템.
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.
제 8항에 있어서,
학습 데이터의 생성 시, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
다자유도 로봇의 관절들이 이동 또는 회전 가능한 범위 내에서 무작위로 학습용 관절 각도들을 생성하고,
정기구학 해석을 통하여 학습용 관절 각도들로부터 다자유도 로봇의 말단부 또는 툴이 도달하는 학습용 도달 위치의 좌표값과 방향을 각각 산출하는, 다자유도 로봇 제어시스템.
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.
제 9항에 있어서,
학습 데이터의 생성 시, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
다자유도 로봇의 관절을 이동시키거나 이동을 제한하고자 하는 이동 경로에 대한 정보 및 여자유도에 대한 정보를 추가정보로서 입력받는, 다자유도 로봇 제어시스템.
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.
제 9항에 있어서,
학습 데이터의 생성 시, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
학습용 관절 각도들과 학습용 도달 위치들이 포함된 데이터들 중에서 기설정된 필터링 조건에 부합하는 데이터를 제거하고, 남은 데이터와 추가정보를 학습 데이터로서 생성하는, 다자유도 로봇 제어시스템.
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.
KR1020200122039A 2020-09-22 2020-09-22 System and method for controlling multi-degree-of-freedom robot KR102522511B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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