KR20210085946A - Apparatus, method and computer program for controlling robot - Google Patents

Apparatus, method and computer program for controlling robot Download PDF

Info

Publication number
KR20210085946A
KR20210085946A KR1020190179547A KR20190179547A KR20210085946A KR 20210085946 A KR20210085946 A KR 20210085946A KR 1020190179547 A KR1020190179547 A KR 1020190179547A KR 20190179547 A KR20190179547 A KR 20190179547A KR 20210085946 A KR20210085946 A KR 20210085946A
Authority
KR
South Korea
Prior art keywords
motion
motions
robot
continuous
joint
Prior art date
Application number
KR1020190179547A
Other languages
Korean (ko)
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 KR1020190179547A priority Critical patent/KR20210085946A/en
Priority to PCT/KR2020/018669 priority patent/WO2021137486A1/en
Publication of KR20210085946A publication Critical patent/KR20210085946A/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/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/04Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/04Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
    • B25J9/046Revolute coordinate type
    • B25J9/047Revolute coordinate type the pivoting axis of the first arm being offset to the vertical axis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Abstract

A method for controlling a robot to continuously perform one or more motions according to one embodiment of the present invention comprises the steps of: receiving one or more motions to be continuously performed; receiving, with respect to at least one of the motions, a starting point for starting a next motion that is continuously performed to the one of the motions during the execution of the motions; and generating a continuous motion connected so that the motions are continuous by referring to the motions and the starting point for each of the motions.

Description

로봇의 제어 장치, 방법 및 컴퓨터 프로그램{APPARATUS, METHOD AND COMPUTER PROGRAM FOR CONTROLLING ROBOT}Robot control device, method and computer program {APPARATUS, METHOD AND COMPUTER PROGRAM FOR CONTROLLING ROBOT}

본 발명의 실시예들은 하나 이상의 모션을 연속하여 수행하도록 로봇을 제어하는 로봇 제어 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.Embodiments of the present invention relate to a robot control apparatus, method, and computer program for controlling a robot to continuously perform one or more motions.

기술의 급격한 발전에 따라 로봇(Robot)은 사람을 대신하여 각종 작업을 수행하는 도구로서 중요한 역할을 수행하고 있다. 로봇은 주로 사람의 팔을 대신하여 제조업 생산 라인에서 물류, 조립, 용접, 페인팅을 비롯한 여러 형태의 작업의 자동화에 사용됨으로써 생산성 향상에 기여한다.With the rapid development of technology, robots are playing an important role as a tool that performs various tasks on behalf of humans. Robots are mainly used to automate various types of tasks, including logistics, assembly, welding, and painting, in manufacturing production lines instead of human arms, contributing to productivity improvement.

이러한 로봇은 연속적인 수 개의 모션을 수행하도록 설계되는 것이 일반적이다. 그러나 로봇에 대해 연속하여 복수개의 모션을 수행하도록 하면 로봇은 개별 모션의 수행 후 정지하였다가 다음 모션을 수행하는 방식으로 동작하여, 부드럽게 연결되는 연속 모션의 수행이 불가능하였고, 이로 인해 공정 시간 단축에 장애가 되는 현상이 발생한다.These robots are typically designed to perform several motions in succession. However, when a plurality of motions are continuously performed on the robot, the robot stops after performing an individual motion and then operates in a manner that performs the next motion, making it impossible to perform a continuous motion that is smoothly connected, thereby reducing the process time. obstacles occur.

본 발명은 전술한 문제점을 해결하기 위한 것으로, 로봇이 복수개의 모션의 수행에 있어서 멈춤 없이 자연스럽게 모션을 수행할 수 있도록 하고자 한다.SUMMARY OF THE INVENTION The present invention is to solve the above-described problems, and it is intended to enable a robot to perform a motion naturally without stopping in performing a plurality of motions.

본 발명의 일 실시예에 따른 하나 이상의 모션을 연속하여 수행하도록 로봇을 제어하는 방법은, 연속하여 수행할 하나 이상의 모션을 입력 받는 단계; 상기 하나 이상의 모션 중 적어도 어느 하나의 모션에 대해서, 상기 어느 하나의 모션의 수행 중 상기 어느 하나의 모션에 연속하여 수행되는 다음 모션을 시작하는 시작점을 입력 받는 단계; 상기 하나 이상의 모션 및 상기 하나 이상의 모션 각각에 대한 시작점을 참조하여, 상기 하나 이상의 모션이 연속하도록 연결된 연속 모션을 생성하는 단계; 및 상기 연속 모션에 따라 상기 로봇을 구동하는 단계;를 포함할 수 있다.A method for controlling a robot to continuously perform one or more motions according to an embodiment of the present invention includes: receiving input of one or more motions to be continuously performed; receiving an input of a starting point for starting a next motion that is continuously performed with respect to at least any one of the one or more motions during the execution of the one or more motions; generating a continuous motion connected such that the one or more motions are continuous by referring to the one or more motions and a starting point for each of the one or more motions; and driving the robot according to the continuous motion.

상기 하나 이상의 모션을 입력 받는 단계는 상기 하나 이상의 모션 각각에 대해서, 모션의 시작 시 상기 로봇의 기준 파트의 3차원 공간상에서의 위치 및 모션 종료 시 상기 기준 파트의 상기 3차원 공간상에서의 위치를 포함하는 모션 정보를 입력 받는 단계;를 포함할 수 있다.The step of receiving the one or more motions includes, for each of the one or more motions, a position in the three-dimensional space of the reference part of the robot at the start of the motion and the position in the three-dimensional space of the reference part at the end of the motion. It may include; receiving the motion information to be input.

상기 하나 이상의 모션을 입력 받는 단계는 상기 하나 이상의 모션 각각에 대해서, 모션의 수행 시 상기 기준 파트가 이동하는 속도를 더 포함하는 상기 모션 정보를 입력 받는 단계;를 포함할 수 있다.The receiving of the one or more motions may include receiving, for each of the one or more motions, the motion information further including a speed at which the reference part moves when the motion is performed.

상기 시작점을 입력 받는 단계는 제1 모션에 따라 상기 로봇의 기준 파트가 3차원 공간상에서 지나가는 복수의 위치 중 어느 하나의 위치를 제2 모션을 시작하는 상기 시작점으로 입력 받는 단계;를 포함할 수 있다. 이때 상기 제1 모션 및 상기 제2 모션은 상기 하나 이상의 모션에 포함되는 모션으로, 상기 제2 모션은 상기 제1 모션에 연속하여 수행되는 다음 모션일 수 있다.The receiving of the starting point may include receiving, as the starting point of starting a second motion, any one position among a plurality of positions at which the reference part of the robot passes in a three-dimensional space according to a first motion. . In this case, the first motion and the second motion may be motions included in the one or more motions, and the second motion may be a next motion continuously performed to the first motion.

상기 복수의 위치 중 어느 하나의 위치를 상기 시작점으로 입력 받는 단계는 상기 복수의 위치를 표시하는 단계; 상기 표시된 복수의 위치 중 어느 하나의 위치에 대한 선택 입력을 획득하는 단계; 및 상기 선택 입력에 대응되는 위치를 상기 시작점으로 결정하는 단계;를 포함할 수 있다.The step of receiving one of the plurality of locations as the starting point may include: displaying the plurality of locations; obtaining a selection input for any one of the displayed plurality of positions; and determining a position corresponding to the selection input as the starting point.

상기 시작점을 입력 받는 단계는 제1 모션의 시작 시점과 제2 모션의 시작 시점간의 시간 간격을 입력 받고, 상기 시간 간격에 기초하여 상기 시작점을 산출하는 단계;를 포함할 수 있다. 이때 상기 제1 모션 및 상기 제2 모션은 상기 하나 이상의 모션에 포함되는 모션으로, 상기 제2 모션은 상기 제1 모션에 연속하여 수행되는 다음 모션일 수 있다.The receiving of the starting point may include receiving a time interval between the start time of the first motion and the starting time of the second motion, and calculating the starting point based on the time interval. In this case, the first motion and the second motion may be motions included in the one or more motions, and the second motion may be a next motion continuously performed to the first motion.

상기 로봇은 상기 모션에 따라 구동되는 제1 관절을 포함하고, 상기 연속 모션을 생성하는 단계는 상기 시작점에 대응되는 시점부터 제1 모션의 종료에 대응되는 시점까지의 상기 제1 관절의 구동 속도가 제1 모션에 따른 상기 제1 관절의 구동 속도와 제2 모션에 따른 상기 제1 관절의 구동 속도의 합에 대응되도록 하는 제2 연속 모션을 생성하는 단계;를 포함할 수 있다. 이때 상기 제1 모션 및 상기 제2 모션은 상기 하나 이상의 모션에 포함되는 모션으로, 상기 제2 모션은 상기 제1 모션에 연속하여 수행되는 다음 모션일 수 있다.The robot includes a first joint driven according to the motion, and the step of generating the continuous motion includes the driving speed of the first joint from a time point corresponding to the starting point to a time point corresponding to the end of the first motion. generating a second continuous motion to correspond to the sum of the driving speed of the first joint according to the first motion and the driving speed of the first joint according to the second motion; may include. In this case, the first motion and the second motion may be motions included in the one or more motions, and the second motion may be a next motion continuously performed to the first motion.

상기 연속 모션을 생성하는 단계는 상기 제1 모션의 시작에 대응되는 시점부터 상기 시작점에 대응되는 시점 까지의 상기 제1 관절의 구동 속도가 상기 제1 모션에 따른 상기 제1 관절의 구동 속도에 대응되도록 하는 제1 연속 모션을 생성하는 단계; 및 상기 제1 모션의 종료에 대응되는 시점부터 상기 제2 모션의 종료에 대응되는 시점 까지의 상기 제1 관절의 구동 속도가 상기 제2 모션에 따른 상기 제1 관절의 구동 속도에 대응되도록 하는 제3 연속 모션을 생성하는 단계;를 포함할 수 있다.In the step of generating the continuous motion, the driving speed of the first joint from a time corresponding to the start of the first motion to a time corresponding to the starting point corresponds to the driving speed of the first joint according to the first motion. generating a first continuous motion to be made; And the first joint driving speed from the time corresponding to the end of the first motion to the time corresponding to the end of the second motion to correspond to the driving speed of the first joint according to the second motion It may include; generating three continuous motions.

상기 연속 모션은 상기 제1 연속 모션, 상기 제2 연속 모션 및 상기 제3 연속 모션이 연결된 모션일 수 있다.The continuous motion may be a motion in which the first continuous motion, the second continuous motion, and the third continuous motion are connected.

본 발명의 일 실시예에 따른 하나 이상의 모션을 연속하여 수행하도록 로봇을 제어하는 로봇 제어 장치는, 연속하여 수행할 하나 이상의 모션을 입력 받고, 상기 하나 이상의 모션 중 적어도 어느 하나의 모션에 대해서, 상기 어느 하나의 모션의 수행 중 상기 어느 하나의 모션에 연속하여 수행되는 다음 모션을 시작하는 시작점을 입력 받고, 상기 하나 이상의 모션 및 상기 하나 이상의 모션 각각에 대한 시작점을 참조하여, 상기 하나 이상의 모션이 연속하도록 연결된 연속 모션을 생성하고, 상기 연속 모션에 따라 상기 로봇을 구동할 수 있다.The robot control apparatus for controlling the robot to continuously perform one or more motions according to an embodiment of the present invention receives one or more motions to be performed continuously, and for at least any one of the one or more motions, the Receives a starting point for starting the next motion that is performed continuously to the one motion during execution of any one motion, and referring to the one or more motions and a starting point for each of the one or more motions, the one or more motions are continuous It is possible to generate a continuous motion connected to do so, and drive the robot according to the continuous motion.

상기 로봇 제어 장치는 상기 하나 이상의 모션 각각에 대해서, 모션의 시작 시 상기 로봇의 기준 파트의 3차원 공간상에서의 위치 및 모션 종료 시 상기 기준 파트의 상기 3차원 공간상에서의 위치를 포함하는 모션 정보를 입력 받을 수 있다.The robot control device receives motion information including, for each of the one or more motions, the position in the three-dimensional space of the reference part of the robot at the start of the motion and the position in the three-dimensional space of the reference part at the end of the motion. can be input.

상기 로봇 제어 장치는 상기 하나 이상의 모션 각각에 대해서, 모션의 수행 시 상기 기준 파트가 이동하는 속도를 더 포함하는 상기 모션 정보를 입력 받을 수 있다.The robot control device may receive, for each of the one or more motions, the motion information further including a speed at which the reference part moves when the motion is performed.

상기 로봇 제어 장치는 제1 모션에 따라 상기 로봇의 기준 파트가 3차원 공간상에서 지나가는 복수의 위치 중 어느 하나의 위치를 제2 모션을 시작하는 상기 시작점으로 입력 받을 수 있다. 이때 상기 제1 모션 및 상기 제2 모션은 상기 하나 이상의 모션에 포함되는 모션으로, 상기 제2 모션은 상기 제1 모션에 연속하여 수행되는 다음 모션일 수 있다.The robot control device may receive any one position among a plurality of positions at which the reference part of the robot passes in a three-dimensional space according to the first motion as the starting point for starting the second motion. In this case, the first motion and the second motion may be motions included in the one or more motions, and the second motion may be a next motion continuously performed to the first motion.

상기 로봇 제어 장치는 상기 복수의 위치를 표시하고, 상기 표시된 복수의 위치 중 어느 하나의 위치에 대한 선택 입력을 획득하고, 상기 선택 입력에 대응되는 위치를 상기 시작점으로 결정할 수 있다.The robot control apparatus may display the plurality of positions, obtain a selection input for any one position among the displayed plurality of positions, and determine a position corresponding to the selection input as the starting point.

상기 로봇 제어 장치는 제1 모션의 시작 시점과 제2 모션의 시작 시점간의 시간 간격을 입력 받고, 상기 시간 간격에 기초하여 상기 시작점을 산출할 수 있다. 이때 상기 제1 모션 및 상기 제2 모션은 상기 하나 이상의 모션에 포함되는 모션으로, 상기 제2 모션은 상기 제1 모션에 연속하여 수행되는 다음 모션일 수 있다.The robot control apparatus may receive a time interval between the start time of the first motion and the start time of the second motion, and calculate the start point based on the time interval. In this case, the first motion and the second motion may be motions included in the one or more motions, and the second motion may be a next motion continuously performed to the first motion.

상기 로봇은 상기 모션에 따라 구동되는 제1 관절을 포함하고, 상기 로봇 제어 장치는 상기 시작점에 대응되는 시점부터 제1 모션의 종료에 대응되는 시점까지의 상기 제1 관절의 구동 속도가 제1 모션에 따른 상기 제1 관절의 구동 속도와 제2 모션에 따른 상기 제1 관절의 구동 속도의 합에 대응되도록 하는 제2 연속 모션을 생성할 수 있다. 이때 상기 제1 모션 및 상기 제2 모션은 상기 하나 이상의 모션에 포함되는 모션으로, 상기 제2 모션은 상기 제1 모션에 연속하여 수행되는 다음 모션일 수 있다.The robot includes a first joint driven according to the motion, and the robot control device determines that the driving speed of the first joint from a time point corresponding to the start point to a time point corresponding to the end of the first motion is the first motion. It is possible to generate a second continuous motion corresponding to the sum of the driving speed of the first joint according to and the driving speed of the first joint according to the second motion. In this case, the first motion and the second motion may be motions included in the one or more motions, and the second motion may be a next motion continuously performed to the first motion.

상기 로봇 제어 장치는 상기 제1 모션의 시작에 대응되는 시점부터 상기 시작점에 대응되는 시점 까지의 상기 제1 관절의 구동 속도가 상기 제1 모션에 따른 상기 제1 관절의 구동 속도에 대응되도록 하는 제1 연속 모션을 생성하고, 상기 제1 모션의 종료에 대응되는 시점부터 상기 제2 모션의 종료에 대응되는 시점 까지의 상기 제1 관절의 구동 속도가 상기 제2 모션에 따른 상기 제1 관절의 구동 속도에 대응되도록 하는 제3 연속 모션을 생성할 수 있다. The robot control device is a second so that the driving speed of the first joint from the time corresponding to the start of the first motion to the time corresponding to the starting point corresponds to the driving speed of the first joint according to the first motion One continuous motion is generated, and the driving speed of the first joint from a time point corresponding to the end of the first motion to a time point corresponding to the end of the second motion is the driving speed of the first joint according to the second motion. A third continuous motion can be created to correspond to the speed.

상기 연속 모션은 상기 제1 연속 모션, 상기 제2 연속 모션 및 상기 제3 연속 모션이 연결된 모션일 수 있다.The continuous motion may be a motion in which the first continuous motion, the second continuous motion, and the third continuous motion are connected.

전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features and advantages other than those described above will become apparent from the following drawings, claims, and detailed description of the invention.

본 발명에 따르면 로봇이 복수개의 모션의 수행에 있어서, 멈춤 없이 자연스럽고 부드럽게 모션을 수행할 수 있다.According to the present invention, when the robot performs a plurality of motions, it is possible to perform the motions naturally and smoothly without stopping.

또한 본 발명에 따르면, 모션 전환시에 로봇이 정지할 것을 요하지 않으므로, 전체적인 작업 수행 시간을 감소시킬 수 있다.In addition, according to the present invention, since the robot does not need to stop when the motion is switched, the overall work execution time can be reduced.

또한 본 발명에 따르면 로봇에 의한 복수개의 모션의 동시 수행이 가능하다.In addition, according to the present invention, it is possible to simultaneously perform a plurality of motions by the robot.

도 1은 본 발명의 일 실시예에 따른 로봇 시스템을 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 로봇(200)에 의해 수행되는 복수의 모션의 예시를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 제어부(110)가 모션을 입력 받는 화면(310)을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 제어부(110)가 시작점을 입력 받는 화면(320)을 도시한 도면이다.
도 5a, 도 5b 및 도 5c는 본 발명의 일 실시예에 따른 제어부(110)가 연속 모션을 생성하는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 로봇 제어 장치(100)에 의해 수행되는 로봇 제어 방법을 설명하기 위한 흐름도이다.
1 is a diagram schematically illustrating a robot system according to an embodiment of the present invention.
2 is a diagram illustrating an example of a plurality of motions performed by the robot 200 according to an embodiment of the present invention.
3 is a diagram illustrating a screen 310 to which the controller 110 receives a motion input according to an embodiment of the present invention.
4 is a diagram illustrating a screen 320 through which the control unit 110 receives a starting point according to an embodiment of the present invention.
5A, 5B, and 5C are diagrams for explaining a method for the controller 110 to generate a continuous motion according to an embodiment of the present invention.
6 is a flowchart illustrating a robot control method performed by the robot control apparatus 100 according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. Since the present invention can apply various transformations and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.

이하의 실시예에서, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. In the following embodiments, terms such as first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

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

본 발명의 실시예들은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 본 발명의 실시예의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 잇는 것과 유사하게, 본 발명의 실시예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler), 파이썬(python) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 발명의 실시예들은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. 매커니즘, 요소, 수단, 구성과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.Embodiments of the present invention may be represented by functional block configurations and various processing steps. These functional blocks may be implemented in any number of hardware and/or software configurations that perform specific functions. For example, embodiments of the present invention may be implemented directly, such as memory, processing, logic, look-up table, etc., capable of executing various functions by control of one or more microprocessors or other control devices. Circuit configurations may be employed. Similar to how components of an embodiment of the invention may be implemented as software programming or software elements, embodiments of the invention may include various algorithms implemented as data structures, processes, routines, or combinations of other programming constructs. , C, C++, Java, assembler, Python, etc. may be implemented in a programming or scripting language. Functional aspects may be implemented in an algorithm running on one or more processors. Also, embodiments of the present invention may employ conventional techniques for electronic configuration, signal processing, and/or data processing, and the like. Terms such as mechanism, element, means, and configuration may be used broadly and are not limited to mechanical and physical configurations. The term may include the meaning of a series of routines of software in association with a processor or the like.

도 1은 본 발명의 일 실시예에 따른 로봇 시스템을 개략적으로 도시한 도면이다.1 is a diagram schematically illustrating a robot system according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 로봇 시스템은 로봇(200)이 하나 이상의 모션을 연속하여 수행하도록 로봇(200)을 제어할 수 있다. 이를 위해 본 발명의 일 실시예에 따른 로봇 시스템은 도 1에 도시된 바와 같이 로봇 제어 장치(100) 및 로봇(200)을 포함할 수 있다.The robot system according to an embodiment of the present invention may control the robot 200 so that the robot 200 continuously performs one or more motions. To this end, the robot system according to an embodiment of the present invention may include a robot control apparatus 100 and a robot 200 as shown in FIG. 1 .

본 발명에서 로봇(200)은 하나 이상의 엑츄에이터 및 하나 이상의 파트를 포함하는 기계 장치일 수 있다. In the present invention, the robot 200 may be a mechanical device including one or more actuators and one or more parts.

본 발명에서 로봇(200)의 엑츄에이터(Actuator)는 제어신호에 기초하여 전기에너지를 운동에너지로 변환하는 다양한 장치를 의미할 수 있다. 가령 엑츄에이터는 직류(DC) 서보 모터, 교류(AC) 서보 모터, 스테핑 모터, 리니어 모터, 유압 실린더, 유압 모터, 공기압 실린더 및 공기압 모터 중 어느 하나 일 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 제한되는 것은 아니다. 이와 같은 엑츄에이터는 로봇(200)의 관절을 구동하는데 사용될 수 있다.In the present invention, the actuator of the robot 200 may refer to various devices that convert electrical energy into kinetic energy based on a control signal. For example, the actuator may be any one of a direct current (DC) servo motor, an alternating current (AC) servo motor, a stepping motor, a linear motor, a hydraulic cylinder, a hydraulic motor, a pneumatic cylinder, and a pneumatic motor. However, this is an example, and the spirit of the present invention is not limited thereto. Such an actuator may be used to drive the joints of the robot 200 .

본 발명에서 로봇(200)의 파트(Part)는 전술한 엑츄에이터를 특정 위치에 고정시키는 구조물 또는 엑츄에이터에 고정되어 운동하는 구조물을 의미할 수 있다.In the present invention, a part of the robot 200 may refer to a structure for fixing the above-described actuator at a specific position or a structure fixed to the actuator and moving.

본 발명에서 로봇(200)은 다양한 형태의 로봇을 포함하는 개념일 수 있다. 가령 로봇(200)은 다관절 로봇, 스카라 로봇 및 원통 좌표 로봇 중 어느 하나일 수 있다. 이때 다관절 로봇(Articulated Robot)은 하나 이상의 관절 및 관절과 다른 관절을 연결하는 파트(또는 바디)를 포함하는 로봇일 수 있다. 스카라 로봇(Scara Robot)은 로봇의 암(Arm)이 특정 평면 내에서 동작하는 로봇일 수 있다. 원동 좌표 로봇(Cylindrical Robot)은 로봇의 암(Arm)이 적어도 1개의 회전 관절과 적어도 1개의 직진 관절을 갖는 로봇을 의미할 수 있다. In the present invention, the robot 200 may be a concept including various types of robots. For example, the robot 200 may be any one of an articulated robot, a scara robot, and a cylindrical coordinate robot. In this case, the articulated robot may be a robot including one or more joints and parts (or bodies) connecting the joints and other joints. The scara robot may be a robot in which an arm of the robot operates within a specific plane. Cylindrical robot may refer to a robot in which an arm of the robot has at least one rotational joint and at least one rectilinear joint.

다만 상술한 로봇의 형태는 예시적인 것이며, 본 발명의 사상이 이에 제한되는 것은 아니다. 따라서 전술한 바와 같이 하나 이상의 엑츄에이터 및 하나 이상의 파트를 포함하고 제어신호에 따라 동작하는 기계 장치는 본 발명의 로봇에 해당할 수 있다.However, the above-described form of the robot is exemplary, and the spirit of the present invention is not limited thereto. Therefore, as described above, a mechanical device including one or more actuators and one or more parts and operating according to a control signal may correspond to the robot of the present invention.

이하에서는 설명의 편의를 위하여 로봇(200)이 도 1에 도시된 바와 같은 다관절 로봇으로, 복수의 관절과 각 관절을 연결하는 파트를 포함하는 것을 전제로 설명한다. 바꾸어 말하면, 로봇(200)이 여섯 개의 관절(211, 212, 213, 214, 215, 216) 및 여섯 개의 파트(221, 222, 223, 224, 225, 226)를 포함하는 것을 전제로 설명한다. 또한 로봇(200)의 여섯 개의 파트 중 어느 하나의 파트(221)가 지면에 고정되어 있으며, 가장 말단 파트가 기준 파트(226)인 것을 전제로 설명한다.Hereinafter, for convenience of explanation, it is assumed that the robot 200 is a multi-joint robot as shown in FIG. 1 , and includes a plurality of joints and parts connecting each joint. In other words, it will be described on the assumption that the robot 200 includes six joints 211 , 212 , 213 , 214 , 215 , 216 and six parts 221 , 222 , 223 , 224 , 225 and 226 . In addition, it will be described on the assumption that any one part 221 of the six parts of the robot 200 is fixed to the ground, and the most distal part is the reference part 226 .

본 발명에서 로봇(200)의 '모션'은 로봇(200)의 3차원 공간상에서의 이동 및/또는 움직임을 의미할 수 있다. 이와 같은 로봇(200)의 모션은 가령 모션의 시작 시 로봇(200)의 기준 파트(226)의 3차원 공간상에서의 위치 및 모션 종료 시 기준 파트(226)의 3차원 공간상에서의 위치의 형태로 입력될 수 있다. 이러한 경우 모션은 기준 파트(226)가 시작 위치에서 종료 위치로 이동하는 일련의 과정에서의 각 관절의 회전 각도, 회전 속도 및 회전 시점 등으로 정의될 수 있다. 또한 해당 위치들은 작업자에 의한 직접교시와 작업자의 수치 입력 등, 어느 하나 또는 조합에 의하여 해당 값들이 로봇(200)에 입력이 될 수 있다.In the present invention, 'motion' of the robot 200 may mean movement and/or movement of the robot 200 in a three-dimensional space. Such a motion of the robot 200 is, for example, in the form of a position in the 3D space of the reference part 226 of the robot 200 at the start of the motion and the position in the 3D space of the reference part 226 at the end of the motion. can be entered. In this case, the motion may be defined as the rotation angle, rotation speed, and rotation timing of each joint in a series of processes in which the reference part 226 moves from the start position to the end position. In addition, the corresponding values may be input to the robot 200 by any one or combination of the positions, such as direct instruction by the operator and numerical input by the operator.

본 발명에서 로봇(200)이 모션을 '연속하여 수행'하는 것은 로봇(200)이 두 개 이상의 모션을 멈춤 없이 수행하거나, 로봇(200)이 적어도 일부 시구간에서 두 개 이상의 모션을 중첩하여 수행하는 것을 의미할 수 있다. 이에 대한 상세한 설명은 후술한다.In the present invention, in the present invention, the robot 200 performs two or more motions without stopping, or the robot 200 performs two or more motions by overlapping at least some time period. can mean doing A detailed description thereof will be given later.

본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 로봇의 제어 및/또는 조작을 위한 장치로, 제어부(110), 디스플레이부(120) 및 입력부(130)를 포함할 수 있다.The robot control apparatus 100 according to an embodiment of the present invention is an apparatus for controlling and/or manipulating a robot, and may include a control unit 110 , a display unit 120 , and an input unit 130 .

본 발명의 일 실시예에 따른 제어부(110)는 로봇(200)이 하나 이상의 모션을 연속하여 수행하도록 하는 연속 모션을 생성하고, 생성된 연속 모션에 따라 로봇(200)을 제어할 수 있다. 이때 제어부(110)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.The controller 110 according to an embodiment of the present invention may generate a continuous motion that causes the robot 200 to continuously perform one or more motions, and may control the robot 200 according to the generated continuous motion. In this case, the controller 110 may include all kinds of devices capable of processing data, such as a processor. Here, the 'processor' may refer to a data processing device embedded in hardware, for example, having a physically structured circuit to perform a function expressed as a code or an instruction included in a program. As an example of the data processing apparatus embedded in the hardware as described above, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated (ASIC) circuit) and a processing device such as a field programmable gate array (FPGA), but the scope of the present invention is not limited thereto.

본 발명의 일 실시예에 따른 디스플레이부(120)는 사용자가 로봇(200)의 모션을 입력하기 위한 화면을 표시할 수 있다. 이와 같은 디스플레이부(120)는 도형, 문자 또는 영상을 표시하는 표시장치를 의미할 수 있다. 예컨대, 디스플레이부(120)는 CRT(Cathode Ray Tube), LCD(Liquid Crystal Display), PDP (Plasma Display Panel), LED(Light-Emitting Diode) 및 OLED(Organic Light Emitting Diode) 중 어느 하나로 구성될 수 있으나, 본 발명의 사상은 이에 제한되지 않는다.The display unit 120 according to an embodiment of the present invention may display a screen for a user to input a motion of the robot 200 . Such a display unit 120 may mean a display device that displays a figure, text, or image. For example, the display unit 120 may be composed of any one of a cathode ray tube (CRT), a liquid crystal display (LCD), a plasma display panel (PDP), a light-emitting diode (LED), and an organic light emitting diode (OLED). However, the spirit of the present invention is not limited thereto.

본 발명의 일 실시예에 따른 입력부(130)는 사용자의 입력을 획득하는 다양한 수단을 의미할 수 있다. 예컨대, 입력부(130)는 키보드, 마우스, 트랙볼, 마이크 및 버튼 중 어느 하나이거나 하나 이상의 조합일 수 있다. 또한 입력부(130)는 전술한 디스플레이부(120)상에 입력을 수행하는 터치 감지 수단을 의미할 수도 있다. 또한 사용자에 의한 직접교시에 의하여 로봇의 각 위치나 각도 및 움직임들이 입력이 될 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 제한되는 것은 아니다. The input unit 130 according to an embodiment of the present invention may refer to various means for obtaining a user's input. For example, the input unit 130 may be any one of a keyboard, a mouse, a trackball, a microphone, and a button, or a combination of one or more. Also, the input unit 130 may refer to a touch sensing means for performing an input on the above-described display unit 120 . In addition, each position, angle, and movement of the robot can be input by direct instruction by the user. However, this is an example, and the spirit of the present invention is not limited thereto.

도면에는 도시되지 않았지만, 본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 통신부(미도시) 및 메모리(미도시)를 더 포함할 수 있다.Although not shown in the drawings, the robot control apparatus 100 according to an embodiment of the present invention may further include a communication unit (not shown) and a memory (not shown).

이때 통신부(미도시)는 로봇 제어 장치(100)가 로봇(200)과 같은 외부장치와 유무선 연결을 통해 제어 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다. In this case, the communication unit (not shown) may be a device including hardware and software necessary for the robot control device 100 to transmit and receive a control signal through a wired/wireless connection with an external device such as the robot 200 .

메모리(미도시)는 로봇 제어 장치(100)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 가령 메모리(미도시)는 사용자가 입력한 로봇(200)의 모션을 저장할 수 있다. 메모리(미도시)에 저장된 모션은 제어부(110)가 로봇(200)의 모션을 제어하는데 사용될 수 있다. 이때 메모리는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.A memory (not shown) performs a function of temporarily or permanently storing data processed by the robot control device 100 . For example, the memory (not shown) may store the motion of the robot 200 input by the user. The motion stored in the memory (not shown) may be used by the controller 110 to control the motion of the robot 200 . In this case, the memory may include magnetic storage media or flash storage media, but the scope of the present invention is not limited thereto.

본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 도 1에 도시된 바와 같이 로봇(200) 및/또는 로봇(200)의 구동을 위한 장치(미도시, 예를 들어 엑추에이터의 구동 드라이버 등)와 별도로 구비되는 장치일 수 있다. 또한 도시된 바와 달리, 로봇 제어 장치(100)는 로봇(200) 및/또는 로봇(200)의 구동을 위한 장치(미도시)에 포함된 장치일 수 있다. The robot control apparatus 100 according to an embodiment of the present invention is a device for driving the robot 200 and/or the robot 200 as shown in FIG. 1 (not shown, for example, a driving driver of an actuator, etc.) ) and may be a separately provided device. Also, unlike shown, the robot control device 100 may be a device included in the robot 200 and/or a device (not shown) for driving the robot 200 .

바꾸어 말하면, 로봇(200) 또는 로봇(200)의 구동을 위한 장치(미도시)는 본 발명의 일 실시예에 따른 로봇의 제어 방법을 수행할 수 있다. 다만 이하에서는 설명의 편의를 위하여 도 1에 도시된 바와 같이 로봇 제어 장치(100)가 나머지 구성요소와 별도로 구비됨을 전제로 설명한다.In other words, the robot 200 or an apparatus (not shown) for driving the robot 200 may perform the robot control method according to an embodiment of the present invention. However, hereinafter, for convenience of explanation, it is assumed that the robot control apparatus 100 is provided separately from the remaining components as shown in FIG. 1 .

도 2는 본 발명의 일 실시예에 따른 로봇(200)에 의해 수행되는 복수의 모션의 예시를 도시한 도면이다.2 is a diagram illustrating an example of a plurality of motions performed by the robot 200 according to an embodiment of the present invention.

도 2를 참조하여, 로봇(200)이 제1 위치(410)에서 제2 위치(420)로 이동하는 제1 모션(M1) 및 제2 위치(420)에서 제3 위치(430)로 이동하는 제2 모션(M2)을 연속하여 수행하는 경우를 가정하여 설명한다. 이때 각 위치(410, 420, 430)는 로봇의 기준 파트(도 1의 226)가 위치하는 지점을 의미할 수 있다.Referring to FIG. 2 , the robot 200 moves from a first position 410 to a second position 420 in a first motion M1 and from a second position 420 to a third position 430 . It is assumed that the second motion M2 is continuously performed. In this case, each position 410 , 420 , and 430 may mean a point at which the reference part 226 of FIG. 1 is located.

종래기술에 따르면, 로봇(200)이 상술한 바와 같이 두 개의 모션(M1, M2)을 연속하여 수행하는 경우, 로봇(200)은 제1 모션(M1)의 수행 후 제2 위치(420)에서 정지하고 다시 제2 모션(M2)을 수행하기에, 연속하는(즉 멈춤이 없는) 모션의 수행이 용이하지 않았다.According to the prior art, when the robot 200 consecutively performs the two motions M1 and M2 as described above, the robot 200 moves to the second position 420 after the first motion M1 is performed. To stop and perform the second motion M2 again, it was not easy to perform a continuous (ie, no stop) motion.

본 발명은 로봇(200)에 의해 가령 모션(MC)과 같이 두 개 이상의 모션(M1, M2)이 멈춤 없이 수행될 수 있도록 하여, 보다 자연스럽고 부드러운 로봇(200)의 모션 구현이 가능하도록 한다.The present invention enables two or more motions M1 and M2 to be performed by the robot 200 without stopping, such as the motion MC, so that a more natural and smooth motion of the robot 200 can be implemented.

이하에서는 설명의 편의를 위하여, 도 2에 도시된 바와 같이 로봇(200)이 두 개의 모션(M1, M2)을 연속하여 수행하는 경우를 가정하여 설명한다. Hereinafter, for convenience of description, it is assumed that the robot 200 continuously performs two motions M1 and M2 as shown in FIG. 2 .

본 발명의 일 실시예에 따른 로봇 제어 장치(100)의 제어부(110)는 로봇(200)이 연속하여 수행할 하나 이상의 모션을 입력 받을 수 있다.The controller 110 of the robot control apparatus 100 according to an embodiment of the present invention may receive one or more motions to be continuously performed by the robot 200 .

가령 제어부(110)는 모션에 대한 3차원 공간상의 위치를 입력 받는 방식으로 모션을 입력 받을 수 있다. 보다 구체적으로, 제어부(110)는 개별 모션에 대해서 모션의 시작 시 로봇(200)의 기준 파트(226)의 3차원 공간상에서의 위치 및 모션 종료 시 기준 파트(220)의 3차원 공간상에서의 위치를 포함하는 모션 정보를 입력 받을 수 있다.For example, the controller 110 may receive a motion input in a manner of receiving a position in a three-dimensional space with respect to the motion. More specifically, for each motion, the controller 110 controls the position of the reference part 226 of the robot 200 in the three-dimensional space at the start of the motion and the position in the three-dimensional space of the reference part 220 at the end of the motion. Motion information including

도 3은 본 발명의 일 실시예에 따른 제어부(110)가 모션을 입력 받는 화면(310)을 도시한 도면이다. 이와 같은 화면(310)은 디스플레이부(120)에 표시되어 사용자에게 제공될 수 있다.3 is a diagram illustrating a screen 310 to which the controller 110 receives a motion input according to an embodiment of the present invention. Such a screen 310 may be displayed on the display unit 120 and provided to the user.

도 3을 참조하면, 화면(310)은 사용자가 입력한 모션과 관련된 위치들을 가상의 3차원 공간상에 표시해주는 영역(311), 사용자가 입력한 모션과 관련된 정보들을 표시해 주는 영역(312, 313) 및 모션을 추가하기 위한 버튼(314)을 포함할 수 있다.Referring to FIG. 3 , the screen 310 includes an area 311 for displaying positions related to a motion input by a user on a virtual three-dimensional space, and areas 312 and 313 for displaying information related to a motion input by the user. ) and a button 314 for adding a motion.

사용자는 버튼(314)에 대한 입력을 수행하여, 모션과 관련된 3차원 공간상에서의 위치를 입력하는 방식으로 연속하여 수행하고자 하는 하나 이상의 모션을 입력할 수 있다. 가령 사용자는 모션 2의 입력에 있어서, 모션 2의 시작 시 로봇(200)의 기준 파트(226)의 3차원 공간상에서의 위치(P2) 및 모션 종료 시 기준 파트(220)의 3차원 공간상에서의 위치(P3)를 좌표값의 형태로 입력할 수 있다.The user may input one or more motions to be continuously performed by performing an input to the button 314 and inputting a position in a three-dimensional space related to the motion. For example, when the user inputs motion 2, the position P2 in the 3D space of the reference part 226 of the robot 200 at the start of motion 2 and the 3D space of the reference part 220 at the end of the motion The position P3 may be input in the form of a coordinate value.

선택적 실시예에서, 사용자는 화면상에 표시되는 가상의 3차원 공간상의 점들(미도시)중 어느 하나를 선택하는 방식으로 모션과 관련된 위치를 입력할 수도 있다.In an optional embodiment, the user may input a motion-related position by selecting any one of points (not shown) in a virtual three-dimensional space displayed on the screen.

제어부(110)는 상술한 바와 같은 사용자의 좌표값 입력 또는 위치 선택 입력에 따라 모션 정보를 입력 받을 수 있다.The controller 110 may receive motion information according to the user's coordinate value input or location selection input as described above.

선택적 실시예에서, 제어부(110)는 개별 모션에 대해서 모션과 관련된 두 개의 위치 외에, 모션의 수행 시 기준 파트(226)가 이동하는 속도를 포함하는 모션 정보를 입력 받을 수도 있다. 가령 제어부(110)는 기준 파트(226)가 제1 구간에서는 가속하여 이동하도록 하고, 제2 구간에서는 등속으로 이동하도록 하고, 제3 구간에서는 감속하여 이동하도록 하는 이동 속도를 포함하는 모션 정보를 입력 받을 수 있다. 사용자는 모션과 관련된 정보들을 표시해 주는 영역(312, 313)에 표시되는 속도 편집 인터페이스(312-1, 313-1)에 대한 입력을 수행하여 기준 파트(226)가 이동하는 속도를 입력 및/또는 편집할 수 있다.In an optional embodiment, the controller 110 may receive motion information including the speed at which the reference part 226 moves when the motion is performed, in addition to the two positions related to the motion for individual motions. For example, the controller 110 inputs motion information including a movement speed at which the reference part 226 accelerates and moves in the first section, moves at a constant speed in the second section, and decelerates in the third section can receive The user inputs the speed at which the reference part 226 moves by performing an input to the speed editing interfaces 312-1 and 313-1 displayed in the areas 312 and 313 displaying motion-related information and/or Can be edited.

본 발명의 일 실시예에 따른 제어부(110)는 상술한 과정에 따라 입력 받은 모션 중 적어도 어느 하나의 모션에 대해서, 해당 모션의 수행 중 다음 모션을 시작하는 시작점을 입력 받을 수 있다. The control unit 110 according to an embodiment of the present invention may receive, with respect to at least one of the motions received according to the above-described process, a starting point for starting the next motion while the corresponding motion is being performed.

본 발명에서 다음 모션을 시작하는 '시작점'은 다음 모션을 시작하기 위한 기준 파트(226)의 3차원 공간상에서의 위치를 의미할 수도 있고, 다음 모션을 시작하는 시점(시간)을 의미할 수도 있다.In the present invention, the 'start point' at which the next motion starts may mean the position in the three-dimensional space of the reference part 226 for starting the next motion, or it may mean the time point (time) at which the next motion starts. .

본 발명의 일 실시예에 따른 제어부(110)는 다양한 방식으로 이와 같은 시작점을 입력 받을 수 있다.The control unit 110 according to an embodiment of the present invention may receive such a starting point in various ways.

가령 본 발명의 일 실시예에 따른 제어부(110)는 도 4에 도시된 화면(320)과 같이, 로봇(200)의 기준 파트(226)가 선택된 제1 모션(모션 1)에 따라 3차원 공간상에서 지나가는 복수의 위치를 표시하고, 표시된 위치 중 어느 하나의 위치에 대한 사용자의 입력을 획득하는 방식으로 다음 모션인 제2 모션(모션 2)을 시작하는 시작점(Pm1)을 입력 받을 수 있다. 이러한 경우 제어부(110)는 도 4에 도시된 화면(320)과 같이 시작점 설정을 위한 소정의 인터페이스(321)를 제공하여 사용자로부터 시작점 입력을 획득할 수 있다. For example, the control unit 110 according to an embodiment of the present invention, as shown in the screen 320 shown in FIG. 4 , the reference part 226 of the robot 200 according to the selected first motion (motion 1) in a three-dimensional space A start point Pm1 of starting the next motion (motion 2) may be input in a manner of displaying a plurality of positions passing by the image and obtaining a user input for any one of the displayed positions. In this case, the controller 110 may obtain a starting point input from the user by providing a predetermined interface 321 for setting the starting point as shown in the screen 320 shown in FIG. 4 .

다만 도 4에 도시된 인터페이스는 예시적인 것으로, 사용자가 선택 가능한 복수의 지점을 제공하고 그에 대한 사용자의 입력을 획득하는 인터페이스는 본 발명의 시작점을 입력 받는 인터페이스로 사용될 수 있다.However, the interface shown in FIG. 4 is exemplary, and an interface for providing a plurality of points selectable by a user and obtaining a user's input therefor may be used as an interface for receiving the starting point of the present invention.

본 발명의 다른 실시예에서, 제어부(110)는 제1 모션의 시작 시점과 제2 모션의 시작 시점간의 시간 간격을 입력 받고, 입력된 시간 간격에 기초하여 제2 모션의 시작점을 산출할 수도 있다. 가령 제어부(110)는 시간 간격을 '3초'와 같이 시간의 형태로 입력 받고, 제1 모션의 시작 시점으로부터 3초가 경과한 시점에서의 기준 파트(226)의 위치를 산출하여 시작점을 결정(또는 산출)할 수 있다.In another embodiment of the present invention, the controller 110 may receive a time interval between the start time of the first motion and the start time of the second motion, and calculate the start point of the second motion based on the input time interval. . For example, the control unit 110 receives the time interval in the form of time, such as '3 seconds', calculates the position of the reference part 226 at the time when 3 seconds have elapsed from the start time of the first motion, and determines the start point ( or calculate).

본 발명의 또 다른 실시예에서, 제어부(110)는 제1 모션의 진행 정도를 입력 받고, 이에 기초하여 제2 모션의 시작점을 산출할 수도 있다. 가령 제어부(110)는 제1 모션의 진행 정도로 70%를 입력 받고, 제1 모션이 70% 진행되었을 때의 기준 파트(226)의 위치 및/또는 시점(시간)을 산출하여 시작점을 결정(또는 산출)할 수도 있다.In another embodiment of the present invention, the controller 110 may receive the progress of the first motion as an input, and calculate the starting point of the second motion based on the input. For example, the control unit 110 receives 70% of the progress of the first motion, and determines the starting point by calculating the position and/or time (time) of the reference part 226 when the first motion has progressed by 70% (or can be calculated).

본 발명의 일 실시예에 따른 제어부(110)는 상술한 과정에 따라 입력된 모션 정보 및 시작점을 관절 제어 정보로 변환할 수 있다. 전술한 과정에서는 모션의 시작 시 기준 파트(226)의 3차원 공간상에서의 위치, 모션의 종료 시 기준 파트(226)의 3차원 공간상에서의 위치 및 모션의 수행 시 기준 파트(226)의 이동 속도의 형태로, 즉 기준 파트(226)를 기준으로 모션에 관한 정보를 입력 받았다. 따라서 제어부(110)는 이와 같은 모션에 관한 정보에 기초하여 로봇(200)의 제어하기 위해, 모션에 관한 정보에 기초하여 관절 제어 정보를 생성할 수 있다. 가령 제어부(110)는 도 2에 도시된 두 개의 모션(M1, M2)에 따른 로봇(200)의 각 관절(211, 212, 213, 214, 215, 216)의 구동 시점, 구동 속도 및 구동 지속 시간 등을 포함하는 관절 제어 정보를 생성할 수 있다.The controller 110 according to an embodiment of the present invention may convert the input motion information and the starting point into joint control information according to the above-described process. In the above process, the position of the reference part 226 in the three-dimensional space at the start of the motion, the position in the three-dimensional space of the reference part 226 at the end of the motion, and the movement speed of the reference part 226 when the motion is performed In the form of , that is, information on motion was input based on the reference part 226 . Therefore, the controller 110 may generate joint control information based on the motion information to control the robot 200 based on the motion information. For example, the control unit 110 controls each joint 211 , 212 , 213 , 214 , 215 , 216 of the robot 200 according to the two motions M1 and M2 shown in FIG. 2 at the driving time, driving speed, and driving continuation. It is possible to generate joint control information including time and the like.

본 발명의 일 실시예에 따른 제어부(110)는 하나 이상의 모션 및 하나 이상의 모션 각각에 대한 시작점을 참조하여, 하나 이상의 모션이 연속하도록 연결된 연속 모션을 생성할 수 있다. 가령 제어부(110)는 전술한 과정에 따라 생성된 관절 제어 정보를 참조하여, 연속 모션을 생성할 수 있다.The controller 110 according to an embodiment of the present invention may generate one or more motions and a continuous motion connected so that one or more motions are continuous by referring to a starting point for each of the one or more motions. For example, the controller 110 may generate a continuous motion with reference to the joint control information generated according to the above-described process.

도 5a, 도 5b 및 도 5c는 본 발명의 일 실시예에 따른 제어부(110)가 연속 모션을 생성하는 방법을 설명하기 위한 도면이다. 이하에서는 설명의 편의를 위하여 관절(211)에 대해서만 살펴보며, 제1 모션에 따른 관절(211)의 회전 속도는 도 5a에 도시된 바와 같으며, 제2 모션에 따른 관절(211)의 회전 속도는 도 5b에 도시된 바와 같음을 가정하여 설명한다.5A, 5B, and 5C are diagrams for explaining a method for the controller 110 to generate a continuous motion according to an embodiment of the present invention. Hereinafter, for convenience of explanation, only the joint 211 will be looked at, and the rotational speed of the joint 211 according to the first motion is as shown in FIG. 5A , and the rotational speed of the joint 211 according to the second motion. is described on the assumption that it is as shown in FIG. 5B.

본 발명의 일 실시예에 따른 제어부(110)는 하나 이상의 모션에 따른 각 관절의 구동 속도에 기초하여 연속 모션을 생성할 수 있다. 보다 구체적으로, 본 발명의 일 실시예에 따른 제어부(110)는 시작점에 대응되는 시점(T1M)부터 제1 모션의 종료에 대응되는 시점(T1E)까지의 관절(211)의 구동 속도가 제1 모션(M1)에 따른 관절(211)의 구동 속도(W1)와 제2 모션(M2)에 제1 관절(211)의 구동 속도(W3)의 합(W1+W3)에 대응되도록 하는 제2 연속 모션을 생성할 수 있다. The controller 110 according to an embodiment of the present invention may generate a continuous motion based on the driving speed of each joint according to one or more motions. More specifically, the control unit 110 according to an embodiment of the present invention determines the driving speed of the joint 211 from the time point T1M corresponding to the start point to the time point T1E corresponding to the end of the first motion. The second continuous to correspond to the sum (W1+W3) of the drive speed W1 of the joint 211 according to the motion M1 and the drive speed W3 of the first joint 211 to the second motion M2 You can create motion.

따라서 시점(T1M)과 시점(T1E)으로 정의되는 구간(S2)에서의 연속 모션인 제2 연속 모션에 따르면, 관절(211)은 제1 모션(M1)에 따른 관절(211)의 구동 속도(W1)와 제2 모션(M2)에 제1 관절(211)의 구동 속도(W3)의 합(W1+W3)에 대응되는 속도로 구동될 수 있다.Therefore, according to the second continuous motion, which is a continuous motion in the section S2 defined by the time point T1M and the time point T1E, the joint 211 is the driving speed of the joint 211 according to the first motion M1 ( W1) and the second motion M2 may be driven at a speed corresponding to the sum (W1+W3) of the driving speed W3 of the first joint 211 .

또한 본 발명의 일 실시예에 따른 제어부(110)는 제1 모션(M1)의 시작에 대응되는 시점(T1S)부터 시작점에 대응되는 시점(T1M) 까지의 관절(211)의 구동 속도가 제1 모션(M1)에 따른 관절(211)의 구동 속도(W1)에 대응되도록 하는 제1 연속 모션을 생성할 수 있다.In addition, the control unit 110 according to an embodiment of the present invention determines the driving speed of the joint 211 from the time point T1S corresponding to the start of the first motion M1 to the time point T1M corresponding to the start point of the first motion M1. A first continuous motion that corresponds to the driving speed W1 of the joint 211 according to the motion M1 may be generated.

따라서 시점(T1S)과 시점(T1M)으로 정의되는 구간(S1)에서의 연속 모션인 제1 연속 모션에 따르면, 관절(211)은 제1 모션(M1)에 따른 관절(211)의 구동 속도(W1)에 대응되는 속도로 구동될 수 있다.Therefore, according to the first continuous motion, which is a continuous motion in the section S1 defined by the time point T1S and the time point T1M, the joint 211 is the driving speed of the joint 211 according to the first motion M1 ( It can be driven at a speed corresponding to W1).

또한 본 발명의 일 실시예에 따른 제어부(110)는 제1 모션(M1)의 종료에 대응되는 시점(T1E) 제2 모션(M2)의 종료에 대응되는 시점(TAE) 까지의 관절(211)의 구동 속도가 제2 모션(M2)에 따른 관절(211)의 구동 속도(W3)에 대응되도록 하는 제3 연속 모션을 생성할 수 있다.In addition, the control unit 110 according to an embodiment of the present invention is a joint 211 up to a time point T1E corresponding to the end of the first motion M1 and a time point TAE corresponding to the end of the second motion M2. A third continuous motion may be generated such that the driving speed of the joint 211 corresponds to the driving speed W3 of the joint 211 according to the second motion M2.

따라서 시점(T1E)과 시점(TAE)으로 정의되는 구간(S3)에서의 연속 모션인 제3 연속 모션에 따르면, 관절(211)은 제2 모션(M2)에 따른 관절(211)의 구동 속도(W3)에 대응되는 속도로 구동될 수 있다.Therefore, according to the third continuous motion, which is a continuous motion in the section S3 defined by the time point T1E and the time point TAE, the joint 211 is the driving speed of the joint 211 according to the second motion M2 ( It can be driven at a speed corresponding to W3).

본 발명의 일 실시예에 따른 제어부(110)는 상술한 과정에 따라 생성된 제1 연속 모션, 제2 연속 모션 및 제3 연속 모션이 연결된 연속 모션을 생성할 수 있다. 또한 본 발명의 일 실시예에 따른 제어부(110)는 로봇(200)의 나머지 관절(212, 213, 214, 215, 216) 각각에 대해서 관절(211)과 마찬가지 방법으로 연속 모션을 생성할 수 있다.The controller 110 according to an embodiment of the present invention may generate a continuous motion in which the first continuous motion, the second continuous motion, and the third continuous motion generated according to the above-described process are connected. In addition, the control unit 110 according to an embodiment of the present invention may generate continuous motion for each of the remaining joints 212 , 213 , 214 , 215 , 216 of the robot 200 in the same manner as the joint 211 . .

본 발명의 일 실시예에 따른 제어부(110)는 생성된 연속 모션에 따라 로봇(200)을 제어할 수 있다.The controller 110 according to an embodiment of the present invention may control the robot 200 according to the generated continuous motion.

이로써 본 발명은 로봇(200)에 의해 두 개 이상의 모션이 멈춤 없이 수행될 수 있도록 하며, 보다 자연스럽고 부드러운 로봇(200)의 모션 구현이 가능하도록 한다.Accordingly, the present invention enables two or more motions to be performed by the robot 200 without stopping, and enables a more natural and smooth motion of the robot 200 to be implemented.

한편 도 2 내지 도 5c에서는 두 개의 모션이 연속하여 수행되는 예시를 중심으로 설명하였지만, 본 발명의 사상이 이에 한정되는 것은 아니며 두 개 이상의 모션(예를 들어 5개의 모션)이 연속하여 수행되는 경우에도 제어부(110)는 상술한 방법에 따라 모션을 수행할 수 있다. Meanwhile, in FIGS. 2 to 5C , the description has been focused on an example in which two motions are continuously performed, but the spirit of the present invention is not limited thereto. When two or more motions (for example, five motions) are continuously performed However, the controller 110 may perform the motion according to the above-described method.

본 발명의 일 실시예에 따른 제어부(110)는 곡선을 근사(近似)하는 미소한 직선들 각각에 대응되는 모션들이 연속하여 수행함으로써, 전체적으로 곡선에 해당하는 연속 모션을 생성하고 로봇이 생성된 연속 모션을 수행하도록 할 수 있다. 이와 같이 본 발명은 곡선인 모션을 보다 손쉽게 생성하도록 할 수 있다.The controller 110 according to an embodiment of the present invention continuously performs motions corresponding to each of the minute straight lines approximating the curve, thereby generating a continuous motion corresponding to the curve as a whole, and the robot is generated continuously. motion can be performed. As described above, the present invention can make it easier to generate a curved motion.

도 6은 본 발명의 일 실시예에 따른 로봇 제어 장치(100)에 의해 수행되는 로봇 제어 방법을 설명하기 위한 흐름도이다. 이하에서는 도 1 내지 도 5c를 함께 참조하여 설명하되, 도 1 내지 도 5c와 중복되는 내용의 설명은 생략한다.6 is a flowchart illustrating a robot control method performed by the robot control apparatus 100 according to an embodiment of the present invention. Hereinafter, it will be described with reference to FIGS. 1 to 5C, but a description of the content overlapping with those of FIGS. 1 to 5C will be omitted.

본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 로봇(200)이 연속하여 수행할 하나 이상의 모션을 입력 받을 수 있다.(S610) 가령 로봇 제어 장치(100)는 모션에 대한 3차원 공간상의 위치를 입력 받는 방식으로 모션을 입력 받을 수 있다. 보다 구체적으로, 로봇 제어 장치(100)는 개별 모션에 대해서 모션의 시작 시 로봇(200)의 기준 파트(226)의 3차원 공간상에서의 위치 및 모션 종료 시 기준 파트(220)의 3차원 공간상에서의 위치를 포함하는 모션 정보를 입력 받을 수 있다.The robot control apparatus 100 according to an embodiment of the present invention may receive one or more motions to be continuously performed by the robot 200 ( S610 ). For example, the robot control apparatus 100 may provide a three-dimensional space for motion. The motion can be received by inputting the position of the top. More specifically, for each motion, the robot control device 100 determines the position in the three-dimensional space of the reference part 226 of the robot 200 at the start of the motion and the three-dimensional space of the reference part 220 at the end of the motion. Motion information including the position of may be input.

도 3은 본 발명의 일 실시예에 따른 로봇 제어 장치(100)가 모션을 입력 받는 화면(310)을 도시한 도면이다. 이와 같은 화면(310)은 디스플레이부(120)에 표시되어 사용자에게 제공될 수 있다.3 is a diagram illustrating a screen 310 to which the robot control apparatus 100 receives a motion according to an embodiment of the present invention. Such a screen 310 may be displayed on the display unit 120 and provided to the user.

도 3을 참조하면, 화면(310)은 사용자가 입력한 모션과 관련된 위치들을 가상의 3차원 공간상에 표시해주는 영역(311), 사용자가 입력한 모션과 관련된 정보들을 표시해 주는 영역(312, 313) 및 모션을 추가하기 위한 버튼(314)을 포함할 수 있다.Referring to FIG. 3 , the screen 310 includes an area 311 for displaying positions related to a motion input by a user on a virtual three-dimensional space, and areas 312 and 313 for displaying information related to a motion input by the user. ) and a button 314 for adding a motion.

사용자는 버튼(314)에 대한 입력을 수행하여, 모션과 관련된 3차원 공간상에서의 위치를 입력하는 방식으로 연속하여 수행하고자 하는 하나 이상의 모션을 입력할 수 있다. 가령 사용자는 모션 2의 입력에 있어서, 모션 2의 시작 시 로봇(200)의 기준 파트(226)의 3차원 공간상에서의 위치(P2) 및 모션 종료 시 기준 파트(220)의 3차원 공간상에서의 위치(P3)를 좌표값의 형태로 입력할 수 있다.The user may input one or more motions to be continuously performed by performing an input to the button 314 and inputting a position in a three-dimensional space related to the motion. For example, when the user inputs motion 2, the position P2 in the 3D space of the reference part 226 of the robot 200 at the start of motion 2 and the 3D space of the reference part 220 at the end of the motion The position P3 may be input in the form of a coordinate value.

선택적 실시예에서, 사용자는 화면상에 표시되는 가상의 3차원 공간상의 점들(미도시)중 어느 하나를 선택하는 방식으로 모션과 관련된 위치를 입력할 수도 있다.In an optional embodiment, the user may input a motion-related position by selecting any one of points (not shown) in a virtual three-dimensional space displayed on the screen.

로봇 제어 장치(100)는 상술한 바와 같은 사용자의 좌표값 입력 또는 위치 선택 입력에 따라 모션 정보를 입력 받을 수 있다.The robot control apparatus 100 may receive motion information according to the user's coordinate value input or position selection input as described above.

선택적 실시예에서, 로봇 제어 장치(100)는 개별 모션에 대해서 모션과 관련된 두 개의 위치 외에, 모션의 수행 시 기준 파트(226)가 이동하는 속도를 포함하는 모션 정보를 입력 받을 수도 있다. 가령 로봇 제어 장치(100)는 기준 파트(226)가 제1 구간에서는 가속하여 이동하도록 하고, 제2 구간에서는 등속으로 이동하도록 하고, 제3 구간에서는 감속하여 이동하도록 하는 이동 속도를 포함하는 모션 정보를 입력 받을 수 있다. 사용자는 모션과 관련된 정보들을 표시해 주는 영역(312, 313)에 표시되는 속도 편집 인터페이스(312-1, 313-1)에 대한 입력을 수행하여 기준 파트(226)가 이동하는 속도를 입력 및/또는 편집할 수 있다.In an optional embodiment, the robot control apparatus 100 may receive motion information including the speed at which the reference part 226 moves when the motion is performed, in addition to the two positions related to the motion for individual motions. For example, the robot control apparatus 100 causes the reference part 226 to move with acceleration in the first section, to move at a constant speed in the second section, and to move with deceleration in the third section. Motion information including a moving speed can be input. The user inputs the speed at which the reference part 226 moves by performing an input to the speed editing interfaces 312-1 and 313-1 displayed in the areas 312 and 313 displaying motion-related information and/or Can be edited.

본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 단계 S610에서 입력 받은 모션 중 적어도 어느 하나의 모션에 대해서, 해당 모션의 수행 중 다음 모션을 시작하는 시작점을 입력 받을 수 있다.(S620)The robot control apparatus 100 according to an embodiment of the present invention may receive, with respect to at least one of the motions received in step S610, a starting point for starting the next motion while the corresponding motion is being performed (S620).

본 발명에서 다음 모션을 시작하는 '시작점'은 다음 모션을 시작하기 위한 기준 파트(226)의 3차원 공간상에서의 위치를 의미할 수도 있고, 다음 모션을 시작하는 시점(시간)을 의미할 수도 있다.In the present invention, the 'start point' at which the next motion starts may mean the position in the three-dimensional space of the reference part 226 for starting the next motion, or it may mean the time point (time) at which the next motion starts. .

본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 다양한 방식으로 이와 같은 시작점을 입력 받을 수 있다.The robot control apparatus 100 according to an embodiment of the present invention may receive such a starting point input in various ways.

가령 본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 도 4에 도시된 화면(320)과 같이, 로봇(200)의 기준 파트(226)가 선택된 제1 모션(모션 1)에 따라 3차원 공간상에서 지나가는 복수의 위치를 표시하고, 표시된 위치 중 어느 하나의 위치에 대한 사용자의 입력을 획득하는 방식으로 다음 모션인 제2 모션(모션 2)을 시작하는 시작점(Pm1)을 입력 받을 수 있다. 이러한 경우 로봇 제어 장치(100)는 도 4에 도시된 화면(320)과 같이 시작점 설정을 위한 소정의 인터페이스(321)를 제공하여 사용자로부터 시작점 입력을 획득할 수 있다. For example, the robot control apparatus 100 according to an embodiment of the present invention performs 3 according to the first motion (motion 1) in which the reference part 226 of the robot 200 is selected, as shown in the screen 320 shown in FIG. 4 . A starting point Pm1 for starting the second motion (motion 2), which is the next motion, can be received by displaying a plurality of positions passing in the dimensional space and obtaining a user input for any one position among the displayed positions. . In this case, the robot control apparatus 100 may obtain a starting point input from the user by providing a predetermined interface 321 for setting the starting point as shown in the screen 320 shown in FIG. 4 .

다만 도 4에 도시된 인터페이스는 예시적인 것으로, 사용자가 선택 가능한 복수의 지점을 제공하고 그에 대한 사용자의 입력을 획득하는 인터페이스는 본 발명의 시작점을 입력 받는 인터페이스로 사용될 수 있다.However, the interface shown in FIG. 4 is exemplary, and an interface for providing a plurality of points selectable by a user and obtaining a user's input therefor may be used as an interface for receiving the starting point of the present invention.

본 발명의 다른 실시예에서, 로봇 제어 장치(100)는 제1 모션의 시작 시점과 제2 모션의 시작 시점간의 시간 간격을 입력 받고, 입력된 시간 간격에 기초하여 제2 모션의 시작점을 산출할 수도 있다. 가령 로봇 제어 장치(100)는 시간 간격을 '3초'와 같이 시간의 형태로 입력 받고, 제1 모션의 시작 시점으로부터 3초가 경과한 시점에서의 기준 파트(226)의 위치를 산출하여 시작점을 결정(또는 산출)할 수 있다.In another embodiment of the present invention, the robot control apparatus 100 receives the time interval between the start time of the first motion and the start time of the second motion, and calculates the start point of the second motion based on the input time interval. may be For example, the robot control apparatus 100 receives a time interval in the form of time, such as '3 seconds', calculates the position of the reference part 226 at a time point when 3 seconds have elapsed from the start time of the first motion, and determines the starting point. You can decide (or calculate).

본 발명의 또 다른 실시예에서, 로봇 제어 장치(100)는 제1 모션의 진행 정도를 입력 받고, 이에 기초하여 제2 모션의 시작점을 산출할 수도 있다. 가령 로봇 제어 장치(100)는 제1 모션의 진행 정도로 70%를 입력 받고, 제1 모션이 70% 진행되었을 때의 기준 파트(226)의 위치 및/또는 시점(시간)을 산출하여 시작점을 결정(또는 산출)할 수도 있다.In another embodiment of the present invention, the robot control apparatus 100 may receive the progress degree of the first motion, and calculate the starting point of the second motion based on this. For example, the robot control apparatus 100 receives 70% of the progress of the first motion, and determines the starting point by calculating the position and/or the time point (time) of the reference part 226 when the first motion is 70% advanced. (or calculate).

본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 상술한 과정에 따라 입력된 모션 정보 및 시작점을 관절 제어 정보로 변환할 수 있다. 전술한 과정에서는 모션의 시작 시 기준 파트(226)의 3차원 공간상에서의 위치, 모션의 종료 시 기준 파트(226)의 3차원 공간상에서의 위치 및 모션의 수행 시 기준 파트(226)의 이동 속도의 형태로, 즉 기준 파트(226)를 기준으로 모션에 관한 정보를 입력 받았다. 따라서 로봇 제어 장치(100)는 이와 같은 모션에 관한 정보에 기초하여 로봇(200)의 제어하기 위해, 모션에 관한 정보에 기초하여 관절 제어 정보를 생성할 수 있다. 가령 로봇 제어 장치(100)는 도 2에 도시된 두 개의 모션(M1, M2)에 따른 로봇(200)의 각 관절(211, 212, 213, 214, 215, 216)의 구동 시점, 구동 속도 및 구동 지속 시간 등을 포함하는 관절 제어 정보를 생성할 수 있다.The robot control apparatus 100 according to an embodiment of the present invention may convert the input motion information and the starting point into joint control information according to the above-described process. In the above process, the position of the reference part 226 in the three-dimensional space at the start of the motion, the position in the three-dimensional space of the reference part 226 at the end of the motion, and the movement speed of the reference part 226 when the motion is performed In the form of , that is, information on motion was input based on the reference part 226 . Therefore, the robot control apparatus 100 may generate joint control information based on the motion-related information in order to control the robot 200 based on the motion-related information. For example, the robot control device 100 may determine the driving timing, driving speed, and speed of each joint 211 , 212 , 213 , 214 , 215 , 216 of the robot 200 according to the two motions M1 and M2 shown in FIG. 2 . Joint control information including driving duration and the like may be generated.

본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 하나 이상의 모션 및 하나 이상의 모션 각각에 대한 시작점을 참조하여, 하나 이상의 모션이 연속하도록 연결된 연속 모션을 생성할 수 있다.(S630) 가령 로봇 제어 장치(100)는 전술한 과정에 따라 생성된 관절 제어 정보를 참조하여, 연속 모션을 생성할 수 있다.The robot control apparatus 100 according to an embodiment of the present invention may generate one or more motions and a continuous motion connected so that one or more motions are continuous with reference to a starting point for each of the one or more motions. (S630) For example, a robot The control device 100 may generate a continuous motion with reference to the joint control information generated according to the above-described process.

도 5a, 도 5b 및 도 5c는 본 발명의 일 실시예에 따른 로봇 제어 장치(100)가 연속 모션을 생성하는 방법을 설명하기 위한 도면이다. 이하에서는 설명의 편의를 위하여 관절(211)에 대해서만 살펴보며, 제1 모션에 따른 관절(211)의 회전 속도는 도 5a에 도시된 바와 같으며, 제2 모션에 따른 관절(211)의 회전 속도는 도 5b에 도시된 바와 같음을 가정하여 설명한다.5A, 5B and 5C are diagrams for explaining a method of generating a continuous motion by the robot control apparatus 100 according to an embodiment of the present invention. Hereinafter, for convenience of explanation, only the joint 211 will be looked at, and the rotational speed of the joint 211 according to the first motion is as shown in FIG. 5A , and the rotational speed of the joint 211 according to the second motion. is described on the assumption that it is as shown in FIG. 5B.

본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 하나 이상의 모션에 따른 각 관절의 구동 속도에 기초하여 연속 모션을 생성할 수 있다. 보다 구체적으로, 본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 시작점에 대응되는 시점(T1M)부터 제1 모션의 종료에 대응되는 시점(T1E)까지의 관절(211)의 구동 속도가 제1 모션(M1)에 따른 관절(211)의 구동 속도(W1)와 제2 모션(M2)에 제1 관절(211)의 구동 속도(W3)의 합(W1+W3)에 대응되도록 하는 제2 연속 모션을 생성할 수 있다. The robot control apparatus 100 according to an embodiment of the present invention may generate a continuous motion based on the driving speed of each joint according to one or more motions. More specifically, in the robot control apparatus 100 according to an embodiment of the present invention, the driving speed of the joint 211 from the time point T1M corresponding to the start point to the time point T1E corresponding to the end of the first motion is The first motion (M1) corresponding to the sum (W1+W3) of the driving speed (W1) of the joint 211 and the driving speed (W3) of the first joint 211 to the second motion (M2) according to the first motion (M1) You can create 2 continuous motions.

따라서 시점(T1M)과 시점(T1E)으로 정의되는 구간(S2)에서의 연속 모션인 제2 연속 모션에 따르면, 관절(211)은 제1 모션(M1)에 따른 관절(211)의 구동 속도(W1)와 제2 모션(M2)에 제1 관절(211)의 구동 속도(W3)의 합(W1+W3)에 대응되는 속도로 구동될 수 있다.Therefore, according to the second continuous motion, which is a continuous motion in the section S2 defined by the time point T1M and the time point T1E, the joint 211 is the driving speed of the joint 211 according to the first motion M1 ( W1) and the second motion M2 may be driven at a speed corresponding to the sum (W1+W3) of the driving speed W3 of the first joint 211 .

또한 본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 제1 모션(M1)의 시작에 대응되는 시점(T1S)부터 시작점에 대응되는 시점(T1M) 까지의 관절(211)의 구동 속도가 제1 모션(M1)에 따른 관절(211)의 구동 속도(W1)에 대응되도록 하는 제1 연속 모션을 생성할 수 있다.In addition, the robot control apparatus 100 according to an embodiment of the present invention has a driving speed of the joint 211 from a time point T1S corresponding to the start of the first motion M1 to a time point T1M corresponding to the start point. A first continuous motion that corresponds to the driving speed W1 of the joint 211 according to the first motion M1 may be generated.

따라서 시점(T1S)과 시점(T1M)으로 정의되는 구간(S1)에서의 연속 모션인 제1 연속 모션에 따르면, 관절(211)은 제1 모션(M1)에 따른 관절(211)의 구동 속도(W1)에 대응되는 속도로 구동될 수 있다.Therefore, according to the first continuous motion, which is a continuous motion in the section S1 defined by the time point T1S and the time point T1M, the joint 211 is the driving speed of the joint 211 according to the first motion M1 ( It can be driven at a speed corresponding to W1).

또한 본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 제1 모션(M1)의 종료에 대응되는 시점(T1E) 제2 모션(M2)의 종료에 대응되는 시점(TAE) 까지의 관절(211)의 구동 속도가 제2 모션(M2)에 따른 관절(211)의 구동 속도(W3)에 대응되도록 하는 제3 연속 모션을 생성할 수 있다.In addition, the robot control apparatus 100 according to an embodiment of the present invention includes a joint (T1E) corresponding to the end of the first motion (M1) to a time point (TAE) corresponding to the end of the second motion (M2) ( A third continuous motion may be generated such that the driving speed of the 211 corresponds to the driving speed W3 of the joint 211 according to the second motion M2.

따라서 시점(T1E)과 시점(TAE)으로 정의되는 구간(S3)에서의 연속 모션인 제3 연속 모션에 따르면, 관절(211)은 제2 모션(M2)에 따른 관절(211)의 구동 속도(W3)에 대응되는 속도로 구동될 수 있다.Therefore, according to the third continuous motion, which is a continuous motion in the section S3 defined by the time point T1E and the time point TAE, the joint 211 is the driving speed of the joint 211 according to the second motion M2 ( It can be driven at a speed corresponding to W3).

본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 상술한 과정에 따라 생성된 제1 연속 모션, 제2 연속 모션 및 제3 연속 모션이 연결된 연속 모션을 생성할 수 있다. 또한 본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 로봇(200)의 나머지 관절(212, 213, 214, 215, 216) 각각에 대해서 관절(211)과 마찬가지 방법으로 연속 모션을 생성할 수 있다.The robot control apparatus 100 according to an embodiment of the present invention may generate a continuous motion in which the first continuous motion, the second continuous motion, and the third continuous motion generated according to the above-described process are connected. In addition, the robot control device 100 according to an embodiment of the present invention generates a continuous motion in the same manner as the joint 211 for each of the remaining joints 212 , 213 , 214 , 215 , 216 of the robot 200 . can

본 발명의 일 실시예에 따른 로봇 제어 장치(100)는 생성된 연속 모션에 따라 로봇(200)을 제어할 수 있다.(S640)The robot control apparatus 100 according to an embodiment of the present invention may control the robot 200 according to the generated continuous motion. (S640)

이로써 본 발명은 로봇(200)에 의해 두 개 이상의 모션이 멈춤 없이 수행될 수 있도록 하며, 보다 자연스럽고 부드러운 로봇(200)의 모션 구현이 가능하도록 한다.Accordingly, the present invention enables two or more motions to be performed by the robot 200 without stopping, and enables a more natural and smooth motion of the robot 200 to be implemented.

본 발명의 실시예에 따른 로봇의 제어 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터, SD카드, USB메모리 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The robot control method according to an embodiment of the present invention can be implemented as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium includes all types 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, optical data, SD card, and USB memory storage device. In addition, the computer-readable recording medium is distributed in a computer system connected through a network, so that the computer-readable code can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the technical field to which the present invention pertains.

본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다.Although the present invention has been described with reference to one embodiment shown in the accompanying drawings, this is merely an example, and those skilled in the art will appreciate that various modifications and equivalent other embodiments are possible therefrom. You will understand.

100: 로봇 제어 장치
110: 제어부
120: 디스플레이부
130: 입력부
200: 로봇
211, 212, 213, 214, 215, 216: 관절
221, 222, 223, 224, 225, 226: 파트
100: robot control unit
110: control unit
120: display unit
130: input unit
200: robot
211, 212, 213, 214, 215, 216: joint
221, 222, 223, 224, 225, 226: parts

Claims (17)

하나 이상의 모션을 연속하여 수행하도록 로봇을 제어하는 방법에 있어서,
연속하여 수행할 하나 이상의 모션을 입력 받는 단계;
상기 하나 이상의 모션 중 적어도 어느 하나의 모션에 대해서, 상기 어느 하나의 모션의 수행 중 상기 어느 하나의 모션에 연속하여 수행되는 다음 모션을 시작하는 시작점을 입력 받는 단계;
상기 하나 이상의 모션 및 상기 하나 이상의 모션 각각에 대한 시작점을 참조하여, 상기 하나 이상의 모션이 연속하도록 연결된 연속 모션을 생성하는 단계; 및
상기 연속 모션에 따라 상기 로봇을 구동하는 단계;를 포함하는, 로봇 제어 방법.
A method of controlling a robot to continuously perform one or more motions, the method comprising:
receiving one or more motions to be continuously performed;
receiving an input of a starting point for starting a next motion that is continuously performed with respect to at least any one of the one or more motions during the execution of the one or more motions;
generating a continuous motion connected such that the one or more motions are continuous by referring to the one or more motions and a starting point for each of the one or more motions; and
Including; driving the robot according to the continuous motion; robot control method.
청구항 1에 있어서
상기 하나 이상의 모션을 입력 받는 단계는
상기 하나 이상의 모션 각각에 대해서, 모션의 시작 시 상기 로봇의 기준 파트의 3차원 공간상에서의 위치 및 모션 종료 시 상기 기준 파트의 상기 3차원 공간상에서의 위치를 포함하는 모션 정보를 입력 받는 단계;를 포함하는, 로봇 제어 방법.
The method according to claim 1
The step of receiving the one or more motions
For each of the one or more motions, receiving motion information including the position in the 3D space of the reference part of the robot at the start of the motion and the position in the 3D space of the reference part at the end of the motion; Including, a robot control method.
청구항 2에 있어서
상기 하나 이상의 모션을 입력 받는 단계는
상기 하나 이상의 모션 각각에 대해서, 모션의 수행 시 상기 기준 파트가 이동하는 속도를 더 포함하는 상기 모션 정보를 입력 받는 단계;를 포함하는, 로봇 제어 방법.
3. The method according to claim 2
The step of receiving the one or more motions
For each of the one or more motions, receiving the motion information further including a speed at which the reference part moves when the motion is performed;
청구항 1에 있어서
상기 시작점을 입력 받는 단계는
제1 모션에 따라 상기 로봇의 기준 파트가 3차원 공간상에서 지나가는 복수의 위치 중 어느 하나의 위치를 제2 모션을 시작하는 상기 시작점으로 입력 받는 단계;를 포함하고,
상기 제1 모션 및 상기 제2 모션은 상기 하나 이상의 모션에 포함되는 모션으로, 상기 제2 모션은 상기 제1 모션에 연속하여 수행되는 다음 모션인, 로봇 제어 방법.
The method according to claim 1
The step of receiving the input of the starting point is
Including; receiving any one position among a plurality of positions at which the reference part of the robot passes in a three-dimensional space according to the first motion as the starting point for starting the second motion;
The first motion and the second motion are motions included in the one or more motions, and the second motion is a next motion performed successively to the first motion.
청구항 4에 있어서
상기 복수의 위치 중 어느 하나의 위치를 상기 시작점으로 입력 받는 단계는
상기 복수의 위치를 표시하는 단계;
상기 표시된 복수의 위치 중 어느 하나의 위치에 대한 선택 입력을 획득하는 단계; 및
상기 선택 입력에 대응되는 위치를 상기 시작점으로 결정하는 단계;를 포함하는, 로봇 제어 방법.
5. The method according to claim 4
The step of receiving any one position among the plurality of positions as the starting point includes:
displaying the plurality of locations;
obtaining a selection input for any one of the displayed plurality of positions; and
Determining a position corresponding to the selection input as the starting point; including, a robot control method.
청구항 1에 있어서
상기 시작점을 입력 받는 단계는
제1 모션의 시작 시점과 제2 모션의 시작 시점간의 시간 간격을 입력 받고, 상기 시간 간격에 기초하여 상기 시작점을 산출하는 단계;를 포함하고,
상기 제1 모션 및 상기 제2 모션은 상기 하나 이상의 모션에 포함되는 모션으로, 상기 제2 모션은 상기 제1 모션에 연속하여 수행되는 다음 모션인, 로봇 제어 방법.
The method according to claim 1
The step of receiving the input of the starting point is
Including; receiving a time interval between the start time of the first motion and the start time of the second motion, and calculating the starting point based on the time interval;
The first motion and the second motion are motions included in the one or more motions, and the second motion is a next motion performed successively to the first motion.
청구항 1에 있어서
상기 로봇은 상기 모션에 따라 구동되는 제1 관절을 포함하고,
상기 연속 모션을 생성하는 단계는
상기 시작점에 대응되는 시점부터 제1 모션의 종료에 대응되는 시점까지의 상기 제1 관절의 구동 속도가 제1 모션에 따른 상기 제1 관절의 구동 속도와 제2 모션에 따른 상기 제1 관절의 구동 속도의 합에 대응되도록 하는 제2 연속 모션을 생성하는 단계;를 포함하고,
상기 제1 모션 및 상기 제2 모션은 상기 하나 이상의 모션에 포함되는 모션으로, 상기 제2 모션은 상기 제1 모션에 연속하여 수행되는 다음 모션인, 로봇 제어 방법.
The method according to claim 1
The robot includes a first joint driven according to the motion,
The step of generating the continuous motion is
The driving speed of the first joint from the time corresponding to the starting point to the time corresponding to the end of the first motion is the driving speed of the first joint according to the first motion and the driving of the first joint according to the second motion Including; generating a second continuous motion to correspond to the sum of the velocities;
The first motion and the second motion are motions included in the one or more motions, and the second motion is a next motion performed successively to the first motion.
청구항 7에 있어서
상기 연속 모션을 생성하는 단계는
상기 제1 모션의 시작에 대응되는 시점부터 상기 시작점에 대응되는 시점 까지의 상기 제1 관절의 구동 속도가 상기 제1 모션에 따른 상기 제1 관절의 구동 속도에 대응되도록 하는 제1 연속 모션을 생성하는 단계; 및
상기 제1 모션의 종료에 대응되는 시점부터 상기 제2 모션의 종료에 대응되는 시점 까지의 상기 제1 관절의 구동 속도가 상기 제2 모션에 따른 상기 제1 관절의 구동 속도에 대응되도록 하는 제3 연속 모션을 생성하는 단계;를 포함하고,
상기 연속 모션은
상기 제1 연속 모션, 상기 제2 연속 모션 및 상기 제3 연속 모션이 연결된 모션인, 로봇 제어 방법.
8. The method of claim 7
The step of generating the continuous motion is
A first continuous motion is generated such that the driving speed of the first joint from a time corresponding to the start of the first motion to a time corresponding to the starting point corresponds to the driving speed of the first joint according to the first motion. to do; and
A third such that the driving speed of the first joint from a time point corresponding to the end of the first motion to a time point corresponding to the end of the second motion corresponds to the drive speed of the first joint according to the second motion Including; generating a continuous motion;
The continuous motion is
The first continuous motion, the second continuous motion and the third continuous motion are connected motions.
컴퓨터를 이용하여
청구항 1 내지 청구항 8 중 어느 한 항의 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램.
using a computer
A computer program stored in a medium for executing the method of any one of claims 1 to 8.
하나 이상의 모션을 연속하여 수행하도록 로봇을 제어하는 로봇 제어 장치에 있어서, 상기 로봇 제어 장치는
연속하여 수행할 하나 이상의 모션을 입력 받고,
상기 하나 이상의 모션 중 적어도 어느 하나의 모션에 대해서, 상기 어느 하나의 모션의 수행 중 상기 어느 하나의 모션에 연속하여 수행되는 다음 모션을 시작하는 시작점을 입력 받고,
상기 하나 이상의 모션 및 상기 하나 이상의 모션 각각에 대한 시작점을 참조하여, 상기 하나 이상의 모션이 연속하도록 연결된 연속 모션을 생성하고,
상기 연속 모션에 따라 상기 로봇을 구동하는, 로봇 제어 장치.
A robot control device for controlling a robot to continuously perform one or more motions, wherein the robot control device comprises:
Receive one or more motions to be performed in succession,
With respect to at least any one of the one or more motions, receiving an input of a starting point for starting the next motion that is performed continuously to the any one of the one or more motions,
With reference to the one or more motions and a starting point for each of the one or more motions, generating a continuous motion connected so that the one or more motions are continuous,
A robot control device that drives the robot according to the continuous motion.
청구항 10에 있어서
상기 로봇 제어 장치는
상기 하나 이상의 모션 각각에 대해서, 모션의 시작 시 상기 로봇의 기준 파트의 3차원 공간상에서의 위치 및 모션 종료 시 상기 기준 파트의 상기 3차원 공간상에서의 위치를 포함하는 모션 정보를 입력 받는, 로봇 제어 장치.
11. The method of claim 10
The robot control device
For each of the one or more motions, receiving motion information including a position in a three-dimensional space of the reference part of the robot at the start of a motion and a position in the three-dimensional space of the reference part at the end of a motion, robot control Device.
청구항 11에 있어서
상기 로봇 제어 장치는
상기 하나 이상의 모션 각각에 대해서, 모션의 수행 시 상기 기준 파트가 이동하는 속도를 더 포함하는 상기 모션 정보를 입력 받는, 로봇 제어 장치.
12. The method of claim 11
The robot control device
For each of the one or more motions, receiving the motion information further including the speed at which the reference part moves when the motion is performed, the robot control device.
청구항 10에 있어서
상기 로봇 제어 장치는
제1 모션에 따라 상기 로봇의 기준 파트가 3차원 공간상에서 지나가는 복수의 위치 중 어느 하나의 위치를 제2 모션을 시작하는 상기 시작점으로 입력 받고,
상기 제1 모션 및 상기 제2 모션은 상기 하나 이상의 모션에 포함되는 모션으로, 상기 제2 모션은 상기 제1 모션에 연속하여 수행되는 다음 모션인, 로봇 제어 장치.
11. The method of claim 10
The robot control device
According to the first motion, any one position among a plurality of positions at which the reference part of the robot passes in a three-dimensional space is input as the starting point for starting a second motion,
The first motion and the second motion are motions included in the one or more motions, and the second motion is a next motion performed successively to the first motion.
청구항 13에 있어서
상기 로봇 제어 장치는
상기 복수의 위치를 표시하고,
상기 표시된 복수의 위치 중 어느 하나의 위치에 대한 선택 입력을 획득하고,
상기 선택 입력에 대응되는 위치를 상기 시작점으로 결정하는, 로봇 제어 장치.
14. The method of claim 13
The robot control device
indicate the plurality of locations,
obtaining a selection input for any one position among the displayed plurality of positions;
A robot control device that determines a position corresponding to the selection input as the starting point.
청구항 10에 있어서
상기 로봇 제어 장치는
제1 모션의 시작 시점과 제2 모션의 시작 시점간의 시간 간격을 입력 받고, 상기 시간 간격에 기초하여 상기 시작점을 산출하고,
상기 제1 모션 및 상기 제2 모션은 상기 하나 이상의 모션에 포함되는 모션으로, 상기 제2 모션은 상기 제1 모션에 연속하여 수행되는 다음 모션인, 로봇 제어 장치.
11. The method of claim 10
The robot control device
receiving the time interval between the start time of the first motion and the start time of the second motion, and calculating the starting point based on the time interval,
The first motion and the second motion are motions included in the one or more motions, and the second motion is a next motion performed successively to the first motion.
청구항 10에 있어서
상기 로봇은 상기 모션에 따라 구동되는 제1 관절을 포함하고,
상기 로봇 제어 장치는
상기 시작점에 대응되는 시점부터 제1 모션의 종료에 대응되는 시점까지의 상기 제1 관절의 구동 속도가 제1 모션에 따른 상기 제1 관절의 구동 속도와 제2 모션에 따른 상기 제1 관절의 구동 속도의 합에 대응되도록 하는 제2 연속 모션을 생성하고,
상기 제1 모션 및 상기 제2 모션은 상기 하나 이상의 모션에 포함되는 모션으로, 상기 제2 모션은 상기 제1 모션에 연속하여 수행되는 다음 모션인, 로봇 제어 장치.
11. The method of claim 10
The robot includes a first joint driven according to the motion,
The robot control device
The driving speed of the first joint from the time corresponding to the starting point to the time corresponding to the end of the first motion is the driving speed of the first joint according to the first motion and the driving of the first joint according to the second motion create a second continuous motion to correspond to the sum of the velocities;
The first motion and the second motion are motions included in the one or more motions, and the second motion is a next motion performed successively to the first motion.
청구항 16에 있어서
상기 로봇 제어 장치는
상기 제1 모션의 시작에 대응되는 시점부터 상기 시작점에 대응되는 시점 까지의 상기 제1 관절의 구동 속도가 상기 제1 모션에 따른 상기 제1 관절의 구동 속도에 대응되도록 하는 제1 연속 모션을 생성하고,
상기 제1 모션의 종료에 대응되는 시점부터 상기 제2 모션의 종료에 대응되는 시점 까지의 상기 제1 관절의 구동 속도가 상기 제2 모션에 따른 상기 제1 관절의 구동 속도에 대응되도록 하는 제3 연속 모션을 생성하고,
상기 연속 모션은
상기 제1 연속 모션, 상기 제2 연속 모션 및 상기 제3 연속 모션이 연결된 모션인, 로봇 제어 장치.
17. The method of claim 16
The robot control device
A first continuous motion is generated such that the driving speed of the first joint from a time corresponding to the start of the first motion to a time corresponding to the starting point corresponds to the driving speed of the first joint according to the first motion. and,
A third such that the driving speed of the first joint from a time point corresponding to the end of the first motion to a time point corresponding to the end of the second motion corresponds to the drive speed of the first joint according to the second motion create continuous motion,
The continuous motion is
The first continuous motion, the second continuous motion and the third continuous motion are connected motions.
KR1020190179547A 2019-12-31 2019-12-31 Apparatus, method and computer program for controlling robot KR20210085946A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190179547A KR20210085946A (en) 2019-12-31 2019-12-31 Apparatus, method and computer program for controlling robot
PCT/KR2020/018669 WO2021137486A1 (en) 2019-12-31 2020-12-18 Robot control device, method and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190179547A KR20210085946A (en) 2019-12-31 2019-12-31 Apparatus, method and computer program for controlling robot

Publications (1)

Publication Number Publication Date
KR20210085946A true KR20210085946A (en) 2021-07-08

Family

ID=76686006

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190179547A KR20210085946A (en) 2019-12-31 2019-12-31 Apparatus, method and computer program for controlling robot

Country Status (2)

Country Link
KR (1) KR20210085946A (en)
WO (1) WO2021137486A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008254074A (en) * 2007-03-30 2008-10-23 Sega Corp Motion editing device, and its program
KR20120005082A (en) * 2010-07-08 2012-01-16 대우조선해양 주식회사 Continuous motion blending method of robot and robot control system for realizing the method
KR101337650B1 (en) * 2011-11-02 2013-12-05 삼성중공업 주식회사 Realtime weaving motion control device and realtime weaving motion control method
KR101328101B1 (en) * 2012-05-30 2013-11-13 (주)동부로봇 Robot contol device, and the contol method
KR20190029284A (en) * 2017-09-12 2019-03-20 한화에어로스페이스 주식회사 Apparatus, method and computer program for controlling robot

Also Published As

Publication number Publication date
WO2021137486A1 (en) 2021-07-08

Similar Documents

Publication Publication Date Title
JP6311421B2 (en) Teaching system, robot system, and teaching method
JP6379874B2 (en) Teaching system, robot system, and teaching method
JP4441409B2 (en) Robot simulation apparatus and simulation program
US7734358B2 (en) Data processing apparatus for arc welding
JP4256353B2 (en) Servo control device and servo system adjustment method
JP5729404B2 (en) Teaching system and teaching method
EP3582934B1 (en) A method for controlling an industrial robot during lead-through programming of the robot and an industrial robot
KR20150044812A (en) Teaching system and teaching method
JP6598454B2 (en) Teaching data creation method, creation device, and creation program
JPWO2019092792A1 (en) Display control apparatus, display control method, and display control program
JP2015174184A (en) Controller
US11203117B2 (en) Teaching data generation system for vertical multi-joint robot
KR20210085946A (en) Apparatus, method and computer program for controlling robot
KR20120005082A (en) Continuous motion blending method of robot and robot control system for realizing the method
KR20190029284A (en) Apparatus, method and computer program for controlling robot
JP5961077B2 (en) Robot control apparatus and robot control method
CN115362420A (en) Numerical control device and numerical control method
JP5133185B2 (en) Arc welding robot
JP7424097B2 (en) Robot control device and robot control method
KR20190020484A (en) Apparatus, method and system for teaching robot
WO2023073883A1 (en) Auxiliary file-generating simulation device and control system
US20230286153A1 (en) Path generation for manual robot teaching
JPS60215216A (en) Controller of robot
JP2005138245A (en) Controller of human intervention type robot
JP2016218934A (en) Correcting device and method for robot language programs, and program

Legal Events

Date Code Title Description
E902 Notification of reason for refusal