KR101138019B1 - Control Method And Apparatus For Robot - Google Patents

Control Method And Apparatus For Robot Download PDF

Info

Publication number
KR101138019B1
KR101138019B1 KR1020090120043A KR20090120043A KR101138019B1 KR 101138019 B1 KR101138019 B1 KR 101138019B1 KR 1020090120043 A KR1020090120043 A KR 1020090120043A KR 20090120043 A KR20090120043 A KR 20090120043A KR 101138019 B1 KR101138019 B1 KR 101138019B1
Authority
KR
South Korea
Prior art keywords
command
robot
arm
control
speed
Prior art date
Application number
KR1020090120043A
Other languages
Korean (ko)
Other versions
KR20110063099A (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 KR1020090120043A priority Critical patent/KR101138019B1/en
Publication of KR20110063099A publication Critical patent/KR20110063099A/en
Application granted granted Critical
Publication of KR101138019B1 publication Critical patent/KR101138019B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • 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
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it

Landscapes

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

Abstract

본 발명은 로봇 제어 장치 및 방법에 관한 것으로, 작업자 또는 상위 제어 명령 장치가 전달하는 지령과 로봇의 현재 상태에 따라 분석된 결과에 따라 새롭게 생성되는 지령 중 어느 하나를 선택하고, 선택된 지령에 따라 로봇을 동작시키기 위한 위치 및 속도와 관련된 명령어를 생성한 후, 생성된 명령어에 따라 로봇의 동작을 제어하는 구성을 개시한다. 이러한 본 발명은 로봇의 현재 상태에 따라 발생할 수 있는 오차를 특정 상황에서 허용하도록 함으로써 시스템 과부하를 줄이고 로봇 운용을 보다 안정적으로 수행할 수 있도록 지원한다.The present invention relates to a robot control apparatus and method, and selects any one of a command transmitted by an operator or a higher control command device and a command newly generated according to the analysis result according to the current state of the robot, and the robot according to the selected command. After generating a command related to the position and the speed for operating the controller, the configuration of controlling the operation of the robot according to the generated command is disclosed. The present invention is to allow the error that can occur according to the current state of the robot in a specific situation to reduce the system overload and support the robot to perform more stable.

로봇, 위치, 속도, 제어, 오차 Robot, position, speed, control, error

Description

로봇 제어 장치 및 방법{Control Method And Apparatus For Robot}Robot control device and method {Control Method And Apparatus For Robot}

본 발명은 로봇에 관한 것으로, 더욱 상세하게는 로봇의 작업 환경에 따라 로봇 제어를 적절하게 수행할 수 있도록 지원하는 로봇 제어 장치 및 방법에 관한 것이다.The present invention relates to a robot, and more particularly, to a robot control apparatus and method for supporting the robot control appropriately according to the working environment of the robot.

로봇(Robot)은 자동 조절에 의해 조작이나 이동 등의 일을 수행할 수 있는 기계 장치로서, 인간을 대신하여 여러 작업에 이용되고 있다. 그 동안 로봇 산업은 급속도로 발전해 왔으며, 산업용 또는 특수 작업용 로봇에 대한 연구를 비롯해서 가정용, 교육용 로봇과 같이 인간의 작업을 돕고 인간의 생활에 즐거움을 주는 목적으로 만들어지는 로봇에 대한 연구로 확대되고 있는 실정이다. 우리나라는 로봇이 보급되기 시작한 것이 1960년대 말부터인데, 그 대부분은 공장에서 생산 작업의 자동화, 무인화 등을 목적으로 한 매니풀레이터(manipulator)나 반송 로봇 등의 산업용 로봇(industrial robot)이었다.Robot is a mechanical device that can perform operations such as operation and movement by automatic adjustment, and is used for various tasks on behalf of humans. The robot industry has developed rapidly, and has been expanded to research on robots for industrial or special tasks, as well as for robots created for the purpose of helping humans and enjoying human life such as home and educational robots. It is true. In Korea, robots began to spread from the late 1960s, and most of them were industrial robots such as manipulators or conveying robots for the purpose of automating and unmanned production work in factories.

이러한 종래 로봇들의 최대 화두는 상위 제어기 또는 작업자가 지시한 지령에 따라 얼마나 정확하게 동작하는가에 있었다. 이에 따라 종래 로봇 개발자들은 로봇이 주어진 지령에 따라 보다 정확하게 동작하도록 제어하기 위하여 작업 중 발 생할 수 있는 다양한 오차를 제거하기 위하여 노력하였다. 그런데, 이렇게 제작된 로봇들은 정밀 또는 정확성만을 목적으로 만들어지기 때문에 특정 상태에서는 매우 부적절한 동작을 수행하거나 로봇 시스템 과부하를 초래하기도 한다. 이에 따라 일반적인 작업 환경에서는 정밀 또는 정확한 위치 제어기 성능이 요구되나, 시스템 보호 또는 사용자 안전 등을 위해서는 정밀 또는 정확성 보다 시스템 고유 동특성에 따라 동작하도록 지원할 수 있는 로봇 제어 장치 및 방법이 요구되고 있다.The biggest issue of these conventional robots is how accurately they operate according to instructions from the host controller or operator. Accordingly, the conventional robot developers have tried to eliminate various errors that may occur during the operation in order to control the robot to operate more accurately according to a given command. However, these robots are made for the purpose of precision or accuracy only, so they may perform very inappropriate operation or cause an overload of the robot system in a certain state. As a result, precise or accurate position controller performance is required in a general working environment, but for system protection or user safety, a robot control apparatus and method capable of supporting operation according to system specific dynamics rather than precision or accuracy are required.

따라서 본 발명의 목적은 특정한 작업 환경에서 로봇의 고유 동특성을 기준으로 로봇의 동작을 제어할 수 있는 로봇 제어 장치 및 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide a robot control apparatus and method that can control the operation of the robot based on the intrinsic dynamic characteristics of the robot in a specific working environment.

상기 목적을 달성하기 위하여, 본 발명은 지령 수신부, 센서부, 제어부 및 암의 구성을 포함하는 로봇 제어 장치를 개시한다. 상기 지령 수신부는 작업자 및 상위 제어 명령 장치로부터 지령을 수신하며, 상기 센서부는 로봇의 현재 상태에 따른 센서 신호를 수신하고, 상기 제어부는 상기 로봇의 현재 상태에 따라 상기 수신된 지령을 바탕으로 새로운 지령을 생성하도록 제어한다. 그리고 상기 암은 상기 지령 수신부가 수신하는 지령 또는 상기 새로운 지령 중 어느 하나에 따라 일정한 위치 및 속도를 가지며 동작하는 구성이다. 그리고 본 발명의 로봇 제어 장치는 상기 지령에 따라 상기 로봇을 동작시키기 위한 동작 제어 알고리즘 및 상기 동작 제어 알고리즘에 따라 동작하는 로봇의 위치와 속도에 대한 오차 허용 범위 정보를 저장하는 저장부를 더 포함하며, 이때 상기 제어부는 상기 로봇의 현재 동작의 위치와 속도 정보를 상기 로봇이 동작할 위치와 속도 정보와 비교하고 상기 정보 간의 오차가 상기 저장부에 저장된 오차 허용 범위 이내인 경우 오차 허용에 따른 암의 동작 제어를 위한 새로운 지령을 생성하도록 제어한다.In order to achieve the above object, the present invention discloses a robot control device including a configuration of a command receiving unit, a sensor unit, a control unit and an arm. The command receiving unit receives a command from an operator and an upper control command device, the sensor unit receives a sensor signal according to the current state of the robot, and the control unit receives a new command based on the received command according to the current state of the robot. Control to generate And the arm is configured to operate with a constant position and speed in accordance with any one of the command received by the command receiving unit or the new command. And the robot control apparatus of the present invention further comprises a storage unit for storing the motion control algorithm for operating the robot according to the instruction and the error tolerance range information for the position and speed of the robot operating in accordance with the motion control algorithm, At this time, the control unit compares the position and the speed information of the current operation of the robot with the position and the speed information on which the robot will operate, and if the error between the information is within the error tolerance range stored in the storage unit, the operation of the arm according to the error tolerance Control to create a new command for control.

본 발명은 또한 수집되는 센서 신호에 따라 로봇의 현재 상태를 분석하는 과정, 상기 로봇의 현재 상태에 따라 작업자 또는 상위 제어 명령 장치가 전달하는 지령을 선택하거나 새로운 지령을 생성하는 생성 과정, 상기 생성된 새로운 지령 또는 상기 전달된 지령 중 어느 하나의 지령에 따라 암의 동작 제어를 위한 명령어를 생성하는 과정, 상기 명령어에 따라 암의 동작을 제어하는 과정을 포함하는 로봇 제어 방법을 개시한다.The present invention also includes the process of analyzing the current state of the robot according to the sensor signal collected, the generation process of selecting a command transmitted by the operator or higher control command device or generating a new command according to the current state of the robot, Disclosed is a robot control method including generating a command for controlling the operation of an arm according to a command of a new command or the transmitted command, and controlling the operation of the arm according to the command.

본 발명에 따르면, 본 발명의 로봇 제어 장치 및 방법은 다양한 작업 환경에 보다 적응적으로 로봇을 동작시킬 수 있으며, 이에 따라 보다 안정적인 로봇 운용을 지원할 수 있다. 즉 본 발명에 따른 로봇 제어 장치는 로봇의 현재 상태에 따라 발생할 수 있는 오차를 특정 상황에서 허용하도록 함으로써 시스템 과부하를 줄이고 로봇 운용을 보다 안정적으로 수행할 수 있도록 지원한다.According to the present invention, the robot control apparatus and method of the present invention can operate the robot more adaptively to various work environments, thereby supporting more stable robot operation. That is, the robot control apparatus according to the present invention allows the error that may occur according to the current state of the robot in a specific situation to reduce the system overload and support the robot operation more stably.

이하, 첨부 도면을 참조하여 본 발명의 실시 예를 보다 상세하게 설명하고자 한다.Hereinafter, with reference to the accompanying drawings will be described in detail an embodiment of the present invention.

하기의 설명에서는 본 발명의 실시 예에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다. In the following description, only parts necessary for understanding the operation according to the embodiment of the present invention will be described, and the description of other parts will be omitted so as not to disturb the gist of the present invention.

이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어 야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms or words used in the specification and claims described below should not be construed as being limited to the ordinary or dictionary meanings, and the inventors are appropriate to the concept of terms in order to explain their invention in the best way. It should be interpreted as meanings and concepts corresponding to the technical spirit of the present invention based on the principle that it can be defined. Therefore, the embodiments described in the specification and the drawings shown in the drawings are only one of the most preferred embodiments of the present invention, and do not represent all of the technical idea of the present invention, various modifications that can be replaced at the time of the present application It should be understood that there may be equivalents and variations.

도 1은 본 발명의 실시 예에 따른 로봇의 구성을 개략적으로 나타낸 도면이다.1 is a view schematically showing the configuration of a robot according to an embodiment of the present invention.

상기 도 1을 참조하면, 본 발명의 로봇(100)은 지령 수신부(110), 센서부(120), 저장부(130), 암(ARM)(140) 및 제어부(160)의 구성을 포함할 수 있다. 여기서 본 발명의 로봇(100)은 로봇 제어 방식에 따라 상기 센서부(120), 저장부(130)를 별도의 구성으로 제작하여 로봇(100) 외부에 마련할 수 있다.Referring to FIG. 1, the robot 100 of the present invention may include a configuration of a command receiving unit 110, a sensor unit 120, a storage unit 130, an arm 140, and a controller 160. Can be. Here, the robot 100 of the present invention may be prepared outside the robot 100 by manufacturing the sensor unit 120 and the storage unit 130 in a separate configuration according to a robot control method.

이와 같은 구성을 가지는 본 발명의 로봇(100)은 지령 수신부(110)가 작업자 또는 상위 제어 명령 장치로부터 지령을 수신하는 경우, 수신된 지령에 따른 로봇(100)의 위치 지령을 생성하거나, 상기 센서부(120)를 이용하여 로봇(100)의 작업 환경에 대한 정보를 수집하고, 수집된 작업 환경 정보를 기반으로 내부 지령을 생성할 수 있다. 그리고 상기 로봇(100)은 생성된 위치 지령 또는 내부 지령 중 어느 하나의 지령에 따라 암(140)의 위치와 속도를 연산하고, 연산 결과에 따라 암(140) 동작을 제어하도록 지원할 수 있다. 이하 각 구성에 대하여 보다 상세히 설명하기로 한다.The robot 100 of the present invention having such a configuration generates a position command of the robot 100 according to the received command when the command receiver 110 receives a command from an operator or a higher control command device, or the sensor The information about the work environment of the robot 100 may be collected using the unit 120, and an internal command may be generated based on the collected work environment information. The robot 100 may calculate the position and the speed of the arm 140 according to any one of the generated position command or the internal command, and may control the operation of the arm 140 according to the calculation result. Hereinafter, each configuration will be described in more detail.

상기 지령 수신부(110)는 상위 제어 명령 장치와 유선 또는 무선으로 연결될 수 있는 통신 인터페이스이다. 즉 상기 지령 수신부(110)는 로봇(100)의 유무선 통 신 기능을 수행한다. 이러한 지령 수신부(110)는 외부로부터 로봇(100)의 동작 명령을 수신한다. 로봇(100)의 동작 명령은 상기 지령 수신부(110)와 통신 채널을 형성하는 상위 제어 명령 장치 또는 작업자가 마련한 조작기에 의해 직접적으로 전달될 수 있다. 여기서 상기 상위 제어 명령 장치는 유선 조작기 또는 원격 조작기 등이 될 수 있으며, 작업자는 상기 유선 조작기 또는 원격 조작기 등을 이용하여 특정 동작 명령을 로봇(100)에 전달할 수 있다. 상기 지령 수신부(110)는 상기 유선 조작기 또는 원격 조작기와 TCP(Transmission Control Protocol) 또는 UDP(User Datagram Protocol) 등을 통해 원격 조작기 또는 유선 조작기 등과 통신을 수행할 수 있다. 또한 상기 지령 수신부(110)는 UART, USB와 같은 직렬 통신 인터페이스가 될 수 도 있다. 이 경우 상기 유선 조작기는 케이블을 통하여 상기 UART 또는 USB에 접속할 수 있으며, 동작 명령 또한 상기 케이블과 상기 직렬 통신 인터페이스를 통하여 전달될 수 있다. 또한 상기 지령 수신부(110)는 일정 형태의 키 버튼이나 키패드, 터치스크린 등을 포함하는 입력 장치로 구성될 수 도 있다. 그러면 작업자는 상기 지령 수신부(110)에 마련된 키 버튼이나 터치스크린 등을 직접 운용하여 암(140)의 특정 위치나 가속도 등을 직접 제어할 수 있는 지령을 생성할 수 있다.The command receiving unit 110 is a communication interface that can be connected to the upper control command device by wire or wirelessly. That is, the command receiver 110 performs a wired / wireless communication function of the robot 100. The command receiving unit 110 receives an operation command of the robot 100 from the outside. The operation command of the robot 100 may be directly transmitted by an upper control command device that forms a communication channel with the command receiving unit 110 or an operator provided by an operator. Here, the higher control command device may be a wired manipulator or a remote manipulator, and an operator may transmit a specific operation command to the robot 100 using the wired manipulator or the remote manipulator. The command receiving unit 110 may communicate with a remote controller or a wired controller through the wired controller or the remote controller through a transmission control protocol (TCP) or a user datagram protocol (UDP). In addition, the command receiving unit 110 may be a serial communication interface such as UART and USB. In this case, the wired manipulator may be connected to the UART or USB through a cable, and an operation command may also be transmitted through the cable and the serial communication interface. In addition, the command receiving unit 110 may be configured as an input device including a key button, a keypad, a touch screen, or the like in a certain form. Then, the operator may directly generate a command for directly controlling a specific position or acceleration of the arm 140 by directly operating a key button or a touch screen provided in the command receiving unit 110.

상기 센서부(120)는 제어부(160)로부터 제어된 동작에 따라 동작하는 로봇(100)의 동작 상태를 센싱하는 구성이다. 이러한 센서부(120)는 위치 센서 및 힘/가속도 센서 등을 포함할 수 있다. 위치 센서는 암(140)에 포함된 모터와 근접하게 위치되고, 모터를 통해 구동되는 암(140)의 각 관절 위치를 실시간으로 검출한다. 그리고 위치 센서는 암(140)의 각 관절의 실시간 각도 값을 제어부(160)로 전 달한다. 힘/가속도 센서는 로봇(100)의 힘 및 가속도 중 적어도 하나를 측정하기 위한 센서이다. 이러한 힘/가속도 센서는 암(140)이 동작하는 상태에 따라 발생하는 힘 또는 가속도를 검출하고, 검출된 각 정보를 제어부(160)에 전달할 수 있다. 상기 힘/가속도 센서가 전달하는 정보는 예를 들면 특정 방향으로 동작함에 따라 발생하는 압력 값, 특정 축으로 회전하는 각속도 값 등을 포함한다.The sensor unit 120 is configured to sense an operation state of the robot 100 operating according to the operation controlled by the controller 160. The sensor unit 120 may include a position sensor and a force / acceleration sensor. The position sensor is located in close proximity to the motor included in the arm 140 and detects each joint position of the arm 140 driven by the motor in real time. And the position sensor transmits the real-time angle value of each joint of the arm 140 to the controller 160. The force / acceleration sensor is a sensor for measuring at least one of the force and acceleration of the robot 100. The force / acceleration sensor may detect a force or acceleration generated according to a state in which the arm 140 operates, and transmit the detected information to the controller 160. The information transmitted by the force / acceleration sensor includes, for example, a pressure value generated by operating in a specific direction, an angular velocity value rotating in a specific axis, and the like.

상기 저장부(130)는 로봇 운용에 필요한 다양한 응용 프로그램이 저장되는 구성이다. 예를 들어 상기 저장부(130)는 로봇(100)의 부팅 프로그램, 운영체제 등을 저장할 수 있다. 특히 상기 저장부(130)는 지령 수신부(110)가 전달하는 지령에 따라 암(140)이 동작하는 위치 및 가속도를 연산하도록 지원하는 위치/가속도 연산 프로그램과 본 발명의 실시 예에 따른 적응적 지령 생성 프로그램을 포함할 수 있다. 그리고 상기 저장부(130)는 센서부(120)가 수집한 센서 정보에 따라 로봇(100)의 현재 상태를 판단할 수 있는 상태 분석 테이블을 저장할 수 있다. 또한 상기 저장부(130)는 동작 제어 알고리즘에 따라 암(140)이 동작할 때 허용 가능한 오차 허용 범위 정보를 저장할 수 있다. 이러한 저장부(130)는 RAM, ROM 등으로 구현될 수 있으며, 다양한 형태의 메모리 칩에 의해 구성될 수 있다.The storage unit 130 is configured to store various application programs required for robot operation. For example, the storage unit 130 may store a booting program, an operating system, and the like of the robot 100. In particular, the storage unit 130 is a position / acceleration calculation program that supports calculating the position and acceleration of the operation of the arm 140 according to the command transmitted from the command receiving unit 110 and the adaptive command according to an embodiment of the present invention. It may include a generation program. The storage unit 130 may store a state analysis table for determining the current state of the robot 100 according to the sensor information collected by the sensor unit 120. In addition, the storage unit 130 may store allowable error tolerance information when the arm 140 operates according to an operation control algorithm. The storage unit 130 may be implemented by RAM, ROM, or the like, and may be configured by various types of memory chips.

상기 위치/가속도 연산 프로그램은 로봇(100)에 전원이 공급되고 암(140)이 동작하는 시점에 제어부(160)에 로드될 수 있다. 이러한 위치/가속도 연산 프로그램은 지령 수신부(110)가 전달하는 지령에 따라 위치 값과 가속도 값을 기반으로 암(140)이 동작해야 하는 일정 거리와 일정 속도 및 힘의 크기를 연산하는 프로그램이다. 이를 위하여 상기 위치/가속도 연산 프로그램은 암(140)의 규격과 암(140) 의 운용 능력에 대한 다양한 정보를 사전에 저장하고, 이를 기반으로 작업자 또는 상위 제어 명령 장치가 요청하는 암(140)의 운동 범위를 연산하게 된다. 이러한 연산은 다양한 동작 제어 알고리즘 등에 의하여 이루어질 수 있다. 그리고 상기 위치/가속도 연산 프로그램은 연산 결과에 따라 암(140)이 동작할 수 있도록 일정 형태의 명령어를 생성할 수 있다.The position / acceleration calculation program may be loaded into the controller 160 at a time point when power is supplied to the robot 100 and the arm 140 operates. The position / acceleration calculation program is a program that calculates a predetermined distance, a certain speed, and a magnitude of force that the arm 140 should operate based on the position value and the acceleration value according to the command transmitted from the command receiver 110. To this end, the position / acceleration calculation program stores in advance a variety of information about the specifications of the arm 140 and the operating capacity of the arm 140, and based on this the arm of the arm 140 requested by the operator or higher control command device The range of motion is calculated. Such operation may be performed by various motion control algorithms. The position / acceleration calculation program may generate a command of a certain type so that the arm 140 may operate according to the calculation result.

상기 적응적 지령 생성 프로그램은 위치/가속도 연산 프로그램과 유사하게 로봇(100)에 전원이 공급되고 부팅이 완료된 이후 암(140)이 동작하기 직전 시점에 제어부(160)에 로드될 수 있다. 이러한 적응적 지령 생성 프로그램은 센서부(120)가 전달하는 다양한 센서 정보를 기반으로 현재 암(140)이 부적절한 동작을 수행하는지 여부를 확인하고, 그에 따른 새로운 지령을 생성하도록 제어한 후 이를 암(140) 동작에 적용하도록 제어하는 루틴을 포함할 수 있다. 예를 들면 상기 적응적 지령 생성 프로그램은 동작 제어 알고리즘에 따라 동작하는 암(140)에서 특정한 오차가 발생한 경우, 해당 오차가 암(140)이 허용할 수 있는 허용 오차 범위 이내인지 여부를 확인하고, 해당 오차를 적용한 동작을 암(140)이 수행할 수 있도록 새로운 지령을 생성하는 루틴을 포함할 수 있다. 다시 말하여 동작 제어 알고리즘에서 오차가 발생하는 경우 해당 오차를 제거하기 위한 보상 알고리즘이 적용될 수 있는데, 이때 상기 적응적 지령 생성 프로그램은 상기 오차에 대하여 허용 가능한지 여부를 평가하여 보상 알고리즘에 의한 지령 적용을 취소하고 새로운 지령을 적용하도록 제어함으로써 오차 발생을 보상하기 위한 과정에서 발생할 수 있는 부적절한 동작 또는 시스템 과부하를 억제할 수 있다.Similar to the position / acceleration calculation program, the adaptive command generation program may be loaded into the controller 160 at a time point immediately before the arm 140 operates after power is supplied to the robot 100 and booting is completed. The adaptive command generation program checks whether the current arm 140 performs an inappropriate operation based on various sensor information transmitted from the sensor unit 120, controls to generate a new command accordingly, and then executes the arm ( 140 may include a routine to control to apply to the operation. For example, when a specific error occurs in the arm 140 operating according to the motion control algorithm, the adaptive command generation program checks whether the error is within an allowable tolerance range of the arm 140, The arm 140 may include a routine for generating a new command so that the operation of applying the error may be performed. In other words, when an error occurs in the motion control algorithm, a compensation algorithm for removing the error may be applied, wherein the adaptive command generation program evaluates whether the error is acceptable for the error and applies the command by the compensation algorithm. By canceling and controlling the application of new commands, it is possible to suppress improper operation or system overload that may occur in the process of compensating for errors.

상기 암(140)은 제어부(160)의 제어에 따라 일정한 동작을 수행하는 기계적 구성이다. 이러한 암(140)은 로봇(100)의 사용 목적에 따라 설계자에 의하여 다양한 형태로 제작될 수 있다. 예를 들면 상기 암(140)은 물건을 운반하는 기계적 장치, 용접 등을 수행하는 기계적 장치, 특정 물건의 해체를 위한 기계적 장치 등 다양한 형태가 될 수 있다. 이를 위하여 상기 암(140)은 외부를 구성하는 뼈대 구조와, 각 뼈대 구조가 일정한 회전과 거리 이동 등을 수행할 수 있도록 지원하는 관절 구조, 각 뼈대가 관절을 중심으로 일정하게 동작할 수 있도록 힘을 제공하는 동력원 구조 등을 포함할 수 있다. 여기서 힘을 제공하는 동력원 구조를 유압으로서 설명하지만 본 발명은 이에 한정되는 것은 아니며, 본 발명은 다양한 형태 예를 들면 스프링 구조, 판넬 구조 및 각 구조들의 혼합된 형태가 적용될 수 도 있다.The arm 140 is a mechanical component that performs a certain operation under the control of the controller 160. The arm 140 may be manufactured in various forms by a designer according to the purpose of use of the robot 100. For example, the arm 140 may be in various forms, such as a mechanical device for carrying an object, a mechanical device for performing welding, or the like, a mechanical device for dismantling a specific object. To this end, the arm 140 has a skeleton structure constituting the outside, a joint structure for supporting each skeleton structure to perform a constant rotation and distance movement, and the force so that each skeleton can operate constantly around the joint It may include a power source structure to provide. Here, the power source structure providing the force is described as hydraulic pressure, but the present invention is not limited thereto, and the present invention may be applied in various forms, for example, a spring structure, a panel structure, and a mixed form of the respective structures.

상기 제어부(160)는 본 발명의 실시 예에 따른 적응적 지령 생성을 위한 다양한 신호 흐름 제어, 동작 제어 등을 수행할 수 있다. 즉 상기 제어부(160)는 지령 수신부(110)가 수신하는 지령에 따라 암(140)이 동작하게 될 위치와 가속도를 연산하고, 그에 따른 명령어를 생성하여 암(140)에 전달하도록 제어한다. 예를 들어 설명하면, 로봇 제어 장치의 경우 작업자 또는 상위 제어 명령 장치로부터 위치 지령을 점(Set point) 또는 궤적(command trajectory)형태로 인가 받을 수 있으며, 지령 수신부(110)가 받은 지령을 수행하기 위하여 로봇(100)은 정확한 제어를 수행하는 것을 최우선의 원칙으로 하는 동작 제어 알고리즘을 수행할 수 있다. 이러한 동작 제어 알고리즘은 물리적으로 시스템이 허용하는 범위 안에서는 시스템의 상황을 고려하지 않고 무조건 위치제어 오차가 0으로 수렴하게 보상 알고리즘을 적용하 도록 제어를 수행한다. 즉 산업용 또는 서비스 로봇과 같은 시스템에서는 중량물 핸들링 등의 과도한 부하의 변화가 순시적으로 발생할 수 있기 때문에 중력 보상알고리즘 등이 적용된다. 이때 본 발명의 제어부(160)는 순시적으로 발생한 부하의 변화에 대하여 정확한 위치 제어를 수행하지 않도록 제어하여 보다 효과적인 작업 처리를 수행하도록 지원한다. 예를 들면, 과도한 물건을 운반하는 로봇 매니풀레이터(로봇팔)의 경우 위에서 아래로 동작을 수행할 경우 중력의 작용 때문에 동작 방향으로 힘을 더해주어 급가속이 되어 과속(Over speed) 지령을 넘어서는 위치 피드백이 발생할 수 있다. 이 상태에서 정확한 제어를 위해서는 브레이크 모드와 가속 모드가 계속 스위칭 되어야 하며, 이에 따라 계속적인 브레이크 모드와 가속 모드에 의하여 시스템에 악영향을 주어 작게는 시스템의 성능을 저하시키거나 크게는 시스템을 불안정하게 할 수 있다. 이에 따라 본 발명의 제어부(160)는 암(140)의 현재 동작 상태를 센싱하는 센서부(120)가 전달하는 정보를 기반으로 암(140)이 동작 제어 알고리즘에서 정의하는 일정한 동작을 적절하게 수행하는지를 판별하고, 부적절한 동작 수행 시 해당 동작의 오차 범위가 허용 가능한지를 판단하고, 그에 따라 적응적 지령을 생성하도록 제어하고, 이를 기반으로 암(140)이 동작하도록 제어할 수 있다. 이러한 제어부(160)의 세부 구성 및 본 발명의 실시 예에 따른 적응적 지령 생성의 운용에 대하여 도 2 및 도 3을 참조하여 보다 상세히 설명하기로 한다. The controller 160 may perform various signal flow control and operation control for generating an adaptive command according to an exemplary embodiment of the present invention. That is, the control unit 160 calculates the position and the acceleration at which the arm 140 will operate according to the command received by the command receiving unit 110, and generates a command corresponding thereto and transmits the command to the arm 140. For example, in the case of the robot control apparatus, a position command may be authorized in the form of a set point or a trajectory from an operator or an upper control command apparatus, and the command receiving unit 110 may perform a command. To this end, the robot 100 may perform an operation control algorithm with the principle of performing accurate control. Such motion control algorithm performs control to apply the compensation algorithm unconditionally to the error of positioning control to 0 without considering the system situation within the physically allowable range. That is, in systems such as industrial or service robots, gravity compensation algorithms are applied because excessive load changes such as heavy load handling may occur instantaneously. At this time, the control unit 160 of the present invention supports to perform a more effective work process by controlling not to perform the accurate position control for the load change that occurs instantaneously. For example, in the case of a robot manipulator (robot arm) that carries excessive objects, if it moves from the top to the bottom, it adds force in the direction of motion due to the action of gravity, and thus exceeds the over speed command. Position feedback may occur. In this state, the brake mode and the acceleration mode must be continuously switched for accurate control. Therefore, the continuous brake mode and the acceleration mode will adversely affect the system, which may cause the system to be degraded or the system to be unstable. Can be. Accordingly, the controller 160 of the present invention properly performs a certain operation defined by the motion control algorithm of the arm 140 based on the information transmitted from the sensor unit 120 sensing the current operating state of the arm 140. The controller 140 may determine whether the error range of the corresponding operation is acceptable when performing an inappropriate operation, control to generate an adaptive command, and control the arm 140 to operate accordingly. Detailed configuration of the control unit 160 and the operation of adaptive command generation according to an embodiment of the present invention will be described in more detail with reference to FIGS. 2 and 3.

도 2는 본 발명의 제1 실시 예에 따른 제어부(160)의 구성을 개략적으로 나타낸 도면이다.2 is a diagram schematically showing the configuration of the controller 160 according to the first embodiment of the present invention.

상기 도 2를 참조하면, 본 발명의 제1 실시 예에 따른 제어부(160) 구성은 위치 지령 생성기(161), 로봇 상태 분석기(163), 내부 지령 생성기(165), 지령 결정기(167) 및 위치/속도 제어기(169)의 구성을 포함할 수 있다.Referring to FIG. 2, the control unit 160 according to the first embodiment of the present invention includes a position command generator 161, a robot state analyzer 163, an internal command generator 165, a command determiner 167, and a position. / Speed controller 169 may be configured.

이와 같은 구성을 가지는 제어부(160)는 작업자나 상위 제어 명령 장치로부터 지령이 전달되면 상기 위치 지령 생성기(161)가 전달된 지령에 대응하여 암(140)을 동작 시킬 위치 및 자세 지령을 생성하고, 이를 지령 결정기(167)에 전달한다. 한편 로봇 상태 분석기(163)는 상기 작업자나 상위 제어 명령 장치로부터 전달되는 지령과 상기 센서부(120)로부터 전달되는 센서 정보를 기반으로 로봇 상태를 분석하고, 분석 결과를 내부 지령 생성기(165)에 전달한다. 그러면 상기 내부 지령 생성기(165)는 분석 결과를 참조하여 암(140)의 동작 제어를 위한 새로운 지령을 생성할 지 여부를 확인하고, 새로운 지령을 생성하는 경우 지령 결정기(167)에 해당 결과를 전달한다. 상기 지령 결정기(167)는 위치 지령 생성기(161) 및 내부 지령 생성기(165)로부터 전달되는 지령들 중 현재 로봇 상태에 대응하는 특정 지령을 선택하여 위치/속도 제어기(169)에 전달하도록 제어할 수 있다. 이하 각 구성에 대하여 보다 상세히 설명하기로 한다.The control unit 160 having such a configuration generates a position and posture command for operating the arm 140 in response to the command transmitted from the position command generator 161 when the command is transmitted from the operator or the upper control command device. This is passed to the command determiner 167. Meanwhile, the robot state analyzer 163 analyzes the robot state based on the command transmitted from the operator or the upper control command device and the sensor information transmitted from the sensor unit 120, and analyzes the analysis result in the internal command generator 165. To pass. Then, the internal command generator 165 checks whether to generate a new command for controlling the operation of the arm 140 with reference to the analysis result, and transmits the result to the command determiner 167 when generating a new command. do. The command determiner 167 may control to select a specific command corresponding to the current robot state among the commands transmitted from the position command generator 161 and the internal command generator 165 and transmit the selected command to the position / speed controller 169. have. Hereinafter, each configuration will be described in more detail.

상기 위치 지령 생성기(161)는 작업자가 지령 수신부(110)를 통하여 지령을 전달하거나 상위 제어 명령 장치가 지령 수신부(110)를 통하여 지령을 전달하면, 해당 지령을 확인한다. 그리고 상기 위치 지령 생성기(161)는 수신된 지령에 따라 암(140)이 동작할 동작 범위나 방향, 힘, 가속도 등을 연산하고 그 결과를 지령 결정기(167)에 전달한다. 이를 위하여 상기 위치 지령 생성기(161)는 저장부(130)에 저장된 위치/가속도 연산 프로그램을 로드하고, 해당 프로그램에 포함된 동작 제어 알고리즘과 지령 수신부(110)가 수신한 지령에 따라 암(140)의 위치 및 가속도 등을 연산할 수 있다.The position command generator 161 confirms the command when the operator transmits the command through the command receiver 110 or the upper control command device transmits the command through the command receiver 110. The position command generator 161 calculates an operation range, a direction, a force, an acceleration, and the like, in which the arm 140 operates according to the received command, and transmits the result to the command determiner 167. To this end, the position command generator 161 loads the position / acceleration calculation program stored in the storage unit 130, and the arm 140 according to the operation control algorithm included in the program and the command received by the command receiving unit 110. You can calculate the position and acceleration of.

상기 로봇 상태 분석기(163)는 센서부(120)가 전달하는 센서 정보를 기반으로 로봇(100)의 현재 상태를 분석하는 구성이다. 즉 로봇 상태 분석기(163)는 로봇(100)의 위치, 속도, 전류 센서 신호 등 센서부(120)로부터 전달되는 각종 신호를 궤환 받아 현재 로봇(100)의 동작상태를 연산한다. 이를 위하여 상기 로봇 상태 분석기(163)는 센서부(120)가 전달하는 센서 정보들을 기반으로 로봇(100)의 현재 상태를 판단할 수 있도록 참조할 수 있는 상태 분석 테이블을 저장부(130)에서 로드할 수 있다. 그리고 상기 로봇 상태 분석기(163)는 센서부(120)가 전달한 각 센서 정보에 따라 현재 로봇(100)이 어떠한 상태인지를 확인한다. 이후 상기 로봇 상태 분석기(163)는 해당 결과를 내부 지령 생성기(165)에 전달할 수 있다. The robot state analyzer 163 is a component for analyzing the current state of the robot 100 based on sensor information transmitted from the sensor unit 120. That is, the robot state analyzer 163 receives the various signals transmitted from the sensor unit 120 such as the position, speed, and current sensor signal of the robot 100 to calculate the current operating state of the robot 100. To this end, the robot state analyzer 163 loads a state analysis table from the storage unit 130 that can be referred to to determine the current state of the robot 100 based on sensor information transmitted from the sensor unit 120. can do. The robot state analyzer 163 checks the state of the current robot 100 according to the sensor information transmitted from the sensor unit 120. The robot state analyzer 163 may then transfer the result to the internal command generator 165.

상기 내부 지령 생성기(165)는 저장부(130)에 저장된 적응적 지령 생성 프로그램을 로드하고, 로봇 상태 분석기(163)가 전달하는 현재 로봇(100) 상태에 대응하는 적응적 지령을 생성하는 구성이다. 예를 들면, 상기 내부 지령 생성기(165)는 지령 수신부(110)가 수신한 지령에 따라 기 설정된 동작 제어 방식에 따라 동작함으로써 보여야할 위치 값 및 가속도 값 등이 다를 경우, 해당 값이 기 설정된 일정한 오차 범위 이내인지 여부를 확인한다. 그리고 상기 내부 지령 생성기(165)는 해당 위치 값 및 가속도 값이 설정된 오차 범위 이내인 경우, 오차 허용을 적용한 새로운 지령을 생성하도록 제어할 수 있다. 한편 상기 내부 지령 생성기(165)는 해당 위치 값 및 가속도 값이 설정된 오차 범위를 벗어난 경우, 상기 현재 위치 값 및 가속도 값에 따른 동작 제어를 수행하기 위한 지령을 생성하도록 제어할 수 있다. 로봇(100)의 현재 상태에서 위치 및 속도에서 오차가 발생하면 상위 제어 명령 장치 또는 작업자는 해당 오차를 제거하기 위한 지령을 생성하여 전달할 수 있는데, 이에 따라 상기 내부 지령 생성기(165)는 상기 오차가 허용 범위인 경우, 해당 오차를 보상하기 위한 동작을 수행하지 않도록 하기 위한 새로운 지령을 생성할 수 있다. 그리고 상기 내부 지령 생성기(165)는 상기 오차가 기 설정된 오차 허용 범위를 벗어나는 경우 별도의 새로운 지령을 생성하지 않을 수 있다. 그러면 상기 위치 지령 생성기(161)가 상위 제어 명령 장치 또는 작업자로부터 수신한 해당 오차를 보상한 지령을 지령 결정기(167)에 전달하게 된다. 이때 지령 결정기(167)는 내부 지령 생성기(165)가 별도의 새로운 지령을 전달하지 않는 경우 위치 지령 생성기(161)로부터 전달되는 지령을 선택할 수 있다.The internal command generator 165 is configured to load an adaptive command generation program stored in the storage unit 130 and generate an adaptive command corresponding to the current robot 100 state transmitted by the robot state analyzer 163. . For example, the internal command generator 165 operates according to a preset operation control scheme according to a command received by the command receiver 110, and when the position value and acceleration value to be displayed are different, the predetermined value is set to a predetermined value. Check whether it is within the error range. The internal command generator 165 may control to generate a new command to which the error tolerance is applied when the corresponding position value and the acceleration value are within the set error range. Meanwhile, the internal command generator 165 may control to generate a command for performing an operation control according to the current position value and the acceleration value when the position value and the acceleration value are out of the set error range. When an error occurs in the position and speed in the current state of the robot 100, the upper control command device or the operator may generate and transmit a command for removing the error. Accordingly, the internal command generator 165 may cause the error to occur. In the case of the allowable range, a new command may be generated to not perform an operation for compensating for the error. The internal command generator 165 may not generate a separate new command when the error is out of a preset tolerance range. Then, the position command generator 161 transmits a command that compensates for the corresponding error received from the higher level control command device or the operator to the command determiner 167. In this case, the command determiner 167 may select a command transmitted from the position command generator 161 when the internal command generator 165 does not transmit a separate new command.

상기 지령 결정기(167)는 위치 지령 생성기(161)가 전달한 지령과 내부 지령 생성기(165)가 전달한 새로운 지령 중 어느 하나의 지령을 선택하고, 선택된 지령을 위치/속도 제어기(169)에 전달하는 구성이다. 암(140)의 운동은 실시간으로 이루어지기 때문에 지속적인 지령이 전달될 수 있으며 이에 따라 지령 결정기(167)는 위치 지령 생성기(161) 및 내부 지령 생성기(165) 중 어느 하나로부터 지령을 전달받고, 해당 지령을 실시간으로 위치/속도 제어기(169)에 전달할 수 있다. 상기 지령 결정기(167)는 상기 위치 지령 생성기(161) 및 상기 내부 지령 생성기(165)로부터 별도의 지령을 수신하지 못하는 경우 이전에 전달된 지령을 위치/속도 제어 기(169)에 전달하도록 제어하거나 기 설정된 스케줄에 따른 지령을 전달하도록 제어할 수 있다.The command determiner 167 selects any one command from the command transmitted from the position command generator 161 and the new command transmitted from the internal command generator 165, and transmits the selected command to the position / speed controller 169. to be. Since the movement of the arm 140 is performed in real time, a continuous command may be transmitted. Accordingly, the command determiner 167 receives a command from any one of the position command generator 161 and the internal command generator 165, and The command may be transmitted to the position / speed controller 169 in real time. If the command determiner 167 does not receive separate commands from the position command generator 161 and the internal command generator 165, the command determiner 167 controls to transfer the previously transmitted command to the position / speed controller 169, or It can be controlled to deliver a command according to a preset schedule.

상기 위치/속도 제어기(169)는 지령 결정기(167)로부터 전달된 지령 또는 새로운 지령에 대응하여 암(140)의 위치 및 가속도를 제어할 수 있는 명령어를 생성하는 구성이다. 상기 위치/속도 제어기(169)는 생성된 위치 및 가속도 제어 명령어를 암(140)에 전달할 수 있다. 이러한 위치/속도 제어기(169)는 위치 제어기 및 속도 제어기를 포함할 수 있다.The position / speed controller 169 is configured to generate a command capable of controlling the position and acceleration of the arm 140 in response to a command or a new command transmitted from the command determiner 167. The position / speed controller 169 may transmit the generated position and acceleration control commands to the arm 140. Such position / speed controller 169 may include a position controller and a speed controller.

상기 위치 제어기는 암(140)에 포함된 동력의 구성인 각각의 모터를 제어하는 명령어를 생성하고, 생성된 명령어를 암(140)에 포함된 각각의 모터로 전달하는 구성이다. 이 때, 전달되는 명령어의 형태는 해당 모터의 ID 및 목표 각도에 대한 정보를 포함할 수 있다. 명령어의 형태는 모터의 종류나 구현 방법에 따라서 상이할 수 있으므로, 본 발명이 전술한 형태에 한정되는 것은 아니다. 예를 들어, 모터가 서보 모터(servomotor)인 경우, 위치 제어기는 전 관절 각도 목표 값을 타이머 신호로 변환시키고, 관절 각도(0~180ㅀ)를 모터 제어 신호 값으로 변환할 수 있다. 한편 위치 제어기는 각 모터로 제어 신호 전달 시, 전체 모터의 값을 가지는 매트릭스 데이터를 받아, 각각의 모터에 대한 목표 값을 갖는 제어 신호를 전달할 수 있다. 그리고 위치 제어기는 입력된 명령을 따라 구동되어야 하는 모터를 순서대로 불러들여 움직일 수 있도록 제어 신호를 전달할 수 있다. The position controller generates a command for controlling each motor that is a configuration of power included in the arm 140 and transmits the generated command to each motor included in the arm 140. At this time, the type of the command to be delivered may include information about the ID and the target angle of the corresponding motor. Since the form of the instruction may vary depending on the type of motor and the method of implementation, the present invention is not limited to the above-described form. For example, when the motor is a servomotor, the position controller may convert the total joint angle target value into a timer signal and convert the joint angle (0 to 180 °) into a motor control signal value. On the other hand, when the position controller transmits a control signal to each motor, the position controller may receive the matrix data having the value of the entire motor, and may transmit the control signal having the target value for each motor. The position controller may transmit a control signal to call and move a motor to be driven in accordance with an input command.

상기 속도 제어기는 암(140)의 속도를 제어하기 위한 명령어를 생성하고 이를 암(140)에 전달하는 구성이다. 이때 속도 제어기는 암(140)에 포함된 각 모터들 의 회전 속도를 제어하기 위한 제어 신호 값이 될 수 있다. 암(140)에 포함된 각 모터들은 실질적으로 독립적인 구동을 수행하기 보다는 다른 모터들과 유기적으로 동작하게 됨으로 암(140)이 일정한 속도로 구동되기 위해서 각 모터들의 회전 속도를 서로의 연결 관계에서 결정할 수 있다. 상기 속도 제어기가 생성하는 모터 제어 신호 값에 대응하는 명령어는 특정 모터를 지시하는 모터 ID 및 각속도 정보를 포함할 수 있다.The speed controller is configured to generate a command for controlling the speed of the arm 140 and deliver it to the arm 140. In this case, the speed controller may be a control signal value for controlling the rotation speed of each motor included in the arm 140. Each motor included in the arm 140 is organically operated with other motors rather than performing substantially independent driving, so that the rotational speeds of the respective motors are connected to each other so that the arm 140 is driven at a constant speed. You can decide. The command corresponding to the motor control signal value generated by the speed controller may include a motor ID and angular speed information indicating a specific motor.

상기 위치 제어기 및 속도 제어기를 포함하는 본 발명의 위치/속도 제어기(169)는 각 모터의 회전 거리 및 회전 각속도를 제어하기 위한 명령어를 생성함으로써 암(140)이 일정한 형태의 동작을 생성할 수 있도록 지원한다. 이때 생성되는 동작은 암(140)의 특성에 따라 다양화될 수 있는데, 예를 들어 암(140)이 독립적인 구동수단을 마련하고 외부 지령에 따라 일정 방향으로 보행을 수행하는 로봇(100)인 경우 상기 위치/속도 제어기(169)는 해당 로봇(100)의 보행 동작 및 보행 외 동작을 위한 명령어 생성을 수행할 수 있다. 이때 상기 위치/속도 제어기(169)는 상기 보행 동작 및 보행 외 동작에 대하여 관절 단위 동작으로 구분하여 수행하도록 각각의 명령어들을 생성할 수 있다. 이를 보다 상세히 설명하면, 상기 위치/속도 제어기(169)는 암(140)에 포함된 전체 모터들에 대한 정보를 각 관절 단위별로 구분하고, 각 관절 단위별로 특정 동작을 수행할 수 있도록 각 관절 단위에 포함된 모터의 회전 거리 및 각속도를 제어하는 명령어들을 생성할 수 있다. 그리고 위치/속도 제어기(169)는 생성된 관절 단위 명령어를 암(140)에 전달함으로써 지령에 대응하는 특정 동작을 수행하도록 제어하게 된다. 여기서 상기 위치/속도 제어기(169)는 암(140)이 보행하는 로봇(100)인 경우를 예를 들어 설명하였으나, 일정 형태의 로봇 팔이나 이동 트레이 등도 관절 단위로 구분할 수 있으며, 이에 따라 상기 위치/속도 제어기(169)는 각 로봇(100)의 관절 단위 명령어 생성을 수행하여 지령에 대응하는 동작을 수행하도록 제어할 수 있을 것이다.The position / speed controller 169 of the present invention including the position controller and the speed controller generates an instruction for controlling the rotation distance and the rotational angular velocity of each motor so that the arm 140 can generate a certain type of motion. Support. In this case, the generated motion may be diversified according to the characteristics of the arm 140. For example, the arm 140 may provide an independent driving means and may walk in a predetermined direction according to an external command. In this case, the position / speed controller 169 may generate a command for walking and non-walking of the robot 100. In this case, the position / speed controller 169 may generate respective commands to perform the gait motion and the out of gait motion by performing joint unit motion. In more detail, the position / speed controller 169 divides the information on the entire motors included in the arm 140 by each joint unit, and performs each joint unit to perform a specific operation for each joint unit. Commands for controlling the rotation distance and the angular velocity of the motor included in the can be generated. In addition, the position / speed controller 169 transmits the generated joint unit command to the arm 140 to control to perform a specific operation corresponding to the command. Here, the position / speed controller 169 has been described in the case where the arm 140 is a walking robot 100, for example, but a robot arm or a moving tray of a certain type can also be divided by a joint unit, and thus the position The / speed controller 169 may control to perform an operation corresponding to the command by performing a joint unit command generation of each robot 100.

도 3은 본 발명의 제2 실시 예에 따른 제어부(160)의 구성을 개략적으로 나타낸 도면이다. 설명에 앞서, 이하에서 설명하는 본 발명의 제2 실시 예에 따른 제어부(160)의 구성은 상기 제1 실시 예에 따른 제어부(160) 구성에서 위치 지령 생성기(161)의 구성과 지령 결정기(167)의 구성이 제거된 구성을 포함한다. 즉 상기 도 3을 참조하면, 본 발명의 제2 실시 예에 따른 제어부(160) 구성은 로봇 상태 분석기(163), 지령 생성기(166) 및 위치/속도 제어기(169)의 구성을 포함할 수 있다.3 is a diagram schematically illustrating a configuration of the controller 160 according to the second embodiment of the present invention. Prior to the description, the configuration of the control unit 160 according to the second embodiment of the present invention described below is the configuration of the position command generator 161 and the command determiner 167 in the configuration of the control unit 160 according to the first embodiment ) Includes the removed configuration. That is, referring to FIG. 3, the control unit 160 configuration according to the second embodiment of the present invention may include a configuration of the robot state analyzer 163, the command generator 166, and the position / speed controller 169. .

이와 같은 구성을 가지는 제어부(160)는 작업자 또는 상위 제어 명령 장치로부터 수신한 지령과 센서부(120)가 전달하는 센서 정보를 로봇 상태 분석기(163)가 수신할 수 있다. 그리고 상기 로봇 상태 분석기(163)가 분석한 결과를 지령 생성기(166)에 전달하면 지령 생성기(166)는 분석 결과에 대응하는 지령을 생성하고, 이를 위치/속도 제어기(169)에 전달할 수 있다. 이하 각 구성에 대하여 보다 상세히 설명하기로 한다.The controller 160 having such a configuration may receive the command received from the operator or the upper control command device and the sensor information transmitted from the sensor unit 120 by the robot state analyzer 163. When the robot state analyzer 163 transmits the analysis result to the command generator 166, the command generator 166 may generate a command corresponding to the analysis result and transmit the command to the position / speed controller 169. Hereinafter, each configuration will be described in more detail.

상기 로봇 상태 분석기(163)는 센서부(120)가 전달한 센서정보를 기반으로 현재 로봇 상태를 판단하고, 그에 따른 판단 결과를 지령 생성기(166)에 전달하는 구성이다. 이때 상기 로봇 상태 분석기(163)는 로봇(100)의 위치, 속도, 전류 등과 관련된 센서 신호를 기반으로 현재 로봇 상태가 전달된 지령에 따라 정상적으로 동 작하는지를 판단한다. 즉 로봇 상태 분석기(163)는 기 설정된 동작 제어 알고리즘과 지령을 확인하여 현재 로봇(100)이 동작해야할 위치와 속도, 힘, 방향 등을 확인하고 센서부(120)가 전달한 센서 정보에 포함된 위치와 속도, 힘 방향 등과 일치하는지를 확인한다. 그리고 상기 로봇 상태 분석기(163)는 해당 정보들의 오차 정보를 지령 생성기(166)에 전달할 수 있다.The robot state analyzer 163 is configured to determine the current robot state based on the sensor information transmitted from the sensor unit 120, and transmit the determination result to the command generator 166. In this case, the robot state analyzer 163 determines whether the robot state is normally operated based on a command transmitted based on a sensor signal related to the position, speed, and current of the robot 100. That is, the robot state analyzer 163 checks a preset motion control algorithm and a command, checks the position, speed, force, direction, etc., to which the robot 100 should operate, and includes the position included in the sensor information transmitted from the sensor unit 120. And speed, force direction and so on. The robot state analyzer 163 may transmit error information of the corresponding information to the command generator 166.

상기 지령 생성기(166)는 상기 로봇 상태 분석기(163)가 전달하는 오차 정보를 확인하고, 지령 수신부(110)가 수신한 지령을 위치/속도 제어기(169)에 바로 전달할 것인지 또는 수신한 지령을 버리고 새로운 지령을 생성한 후, 이를 위치/속도 제어기(169)에 전달할 것인지를 판단한다. 즉 지령 생성기(166)는 상기 오차 정보가 기 설정된 조건에 따라 허용 가능한 범위인지를 판단하고, 해당 오차 정보가 허용 가능 범위를 벗어나지 않는 경우 새로운 지령을 생성하도록 제어한다. 여기서 새로운 지령은 오차 정보의 허용 가능 범위가 적용된 것으로서 오차 허용 가능 범위가 없는 지령 수신부(110)가 수신한 지령과 다를 수 있다. 예를 들어 센서부(120)가 전달한 센서 신호에 의하여 작업자 및 상위 제어 명령 장치는 로봇(100)이 일정한 오차를 가지는 것으로 판단할 수 있으며, 그에 따라 오차를 보정하기 위한 위치 및 속도 제어를 위한 지령을 생성할 수 있다. 그러면 상기 지령 생성기(166)는 해당 오차가 허용 가능한 오차 범위인 것으로 판단되는 경우, 현재 수신된 지령 대신에 새로운 지령을 생성하고 이를 위치/속도 제어기(169)에 전달할 수 있다. 여기서 상기 오차 허용 범위는 각 로봇(100)의 형태나 로봇(100)이 적용되는 작업 환경 등에 따라 위치 및 속도 등의 오차율이 변화될 수 있기 때문에 설계자 또는 작업자의 설정에 따라 변경될 수 있을 것이다. 또한 상기 오차 허용 범위는 위치 및 속도의 오차율뿐만 아니라 로봇(100)의 일정 동작 패턴을 포함할 수도 있다.The command generator 166 checks the error information transmitted by the robot state analyzer 163 and directly transfers the command received by the command receiver 110 to the position / speed controller 169 or discards the received command. After generating a new command, it is determined whether to transfer it to the position / speed controller 169. That is, the command generator 166 determines whether the error information is in an acceptable range according to a preset condition, and controls to generate a new command when the error information does not fall within the allowable range. The new command may be different from the command received by the command receiver 110 having no allowable error range as the allowable range of error information is applied. For example, the operator and the higher control command device may determine that the robot 100 has a certain error based on the sensor signal transmitted from the sensor unit 120, and accordingly, the command for position and speed control for correcting the error may be determined. Can be generated. If the command generator 166 determines that the error is within an allowable error range, the command generator 166 may generate a new command and transfer it to the position / speed controller 169 instead of the currently received command. Here, the error tolerance range may be changed according to the setting of the designer or the operator because the error rate such as the position and the speed may be changed according to the shape of each robot 100 or the working environment to which the robot 100 is applied. In addition, the error tolerance may include a predetermined operation pattern of the robot 100 as well as the error rate of the position and speed.

상기 위치/속도 제어기(169)는 지령 생성기(166)가 전달하는 지령에 대응하여 암(140)의 동작 범위를 결정할 수 있는 위치 및 속도 제어를 위한 명령어들을 생성하고, 이를 암(140)에 전달하는 구성이다. 이때 상기 위치/속도 제어기(169)는 작업자 또는 상위 제어 명령 장치가 전달한 지령에 대응하는 명령어를 생성하거나 또는 지령 생성기(166)가 새롭게 생성하여 전달하는 새로운 지령에 대응하는 명령어들을 생성하게 된다. 상기 위치/속도 제어기(169)의 명령어 생성 및 전달에 대해서는 도 2에서 설명한 위치/속도 제어기(169)와 유사함으로 그에 대한 상세한 설명은 생략하기로 한다.The position / speed controller 169 generates instructions for position and speed control that can determine the operating range of the arm 140 in response to the instruction transmitted by the command generator 166, and transmits the instructions to the arm 140. It is a constitution. In this case, the position / speed controller 169 may generate a command corresponding to a command transmitted by an operator or a higher control command device, or generate a command corresponding to a new command newly generated and transmitted by the command generator 166. Since the command generation and transfer of the position / speed controller 169 is similar to the position / speed controller 169 described with reference to FIG. 2, a detailed description thereof will be omitted.

이상에서 설명한 바와 같이, 본 발명의 실시 예에 따른 본 발명의 로봇 제어 장치는 로봇(100)의 현재 상태를 분석하고, 그에 대응하여 오차 보상을 수행할지 여부를 확인한 뒤, 그 결과에 따른 지령을 생성여부를 결정하고, 이를 기반으로 로봇(100)의 동작을 제어할 수 있다. 이에 따라, 본 발명의 로봇 제어 장치는 시스템 과부하 등을 유발할 수 있는 부적절한 로봇(100) 제어를 방지함으로써, 보다 적응적이며 안정적인 로봇 운용을 지원할 수 있다. As described above, the robot control apparatus of the present invention according to an embodiment of the present invention analyzes the current state of the robot 100, and confirms whether or not to perform error compensation in response to the command, according to the result Determining whether or not to generate, and based on this can control the operation of the robot (100). Accordingly, the robot control apparatus of the present invention can support more adaptive and stable robot operation by preventing the improper control of the robot 100 that may cause a system overload.

이상에서는 본 발명의 실시 예에 따른 로봇 제어 장치의 구성에 대하여 살펴보았다. 이하에서는 본 발명의 실시 예에 따른 로봇 제어 방법에 대하여 아래 도면을 참조하여 보다 상세히 설명하기로 한다.In the above, the configuration of the robot control apparatus according to the exemplary embodiment of the present invention has been described. Hereinafter, a robot control method according to an exemplary embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 4는 본 발명의 실시 예에 따른 로봇 제어 방법을 설명하기 위한 순서도이다.4 is a flowchart illustrating a robot control method according to an embodiment of the present invention.

상기 도 1 내지 도 4를 참조하면, 본 발명의 로봇 제어 방법은 먼저, 로봇에 전원이 공급되고 운영체제 활성화 등을 수행하는 등 부팅이 완료되면, 상기 로봇(100)은 401 단계에서 상위 지령이 수신되는지 여부를 확인한다. 이 과정에서 별도의 상위 지령 수신이 없는 경우 상기 로봇(100)은 403 단계로 분기하여 이전에 수신된 지령에 따라 또는 기 설정된 스케줄 정보에 따라 특정 동작을 수행한다. 그리고 상기 로봇(100)은 다시 401 단계로 분기하여 상위 지령 수신 여부를 지속적으로 검사할 수 있다.1 to 4, in the robot control method of the present invention, when booting is completed, such as power supply to a robot and activation of an operating system, the robot 100 receives an upper command in step 401. Check whether or not. In this process, if there is no separate upper command reception, the robot 100 branches to step 403 to perform a specific operation according to a previously received command or according to preset schedule information. The robot 100 may branch to step 401 again to continuously check whether the upper command is received.

한편, 401 단계에서 상위 지령이 수신되는 경우 상기 로봇(100)은 405 단계로 분기하여 로봇 상태 분석을 수행할 수 있다. 이를 위하여 상기 로봇(100)은 센서부(120)로부터 수신된 센서 정보를 기반으로 현재 로봇(100)의 상태를 판단할 수 있다. 즉 로봇(100)은 로봇(100)의 위치 정보, 속도 정보, 힘 정보, 방향 정보 중 적어도 하나를 포함하는 센서 정보로부터 로봇(100)의 현재 상태를 분석한다. 이 과정에서 상기 로봇(100)은 저장부(130)에 저장된 동작 제어 알고리즘에 의해 결정된 로봇(100)의 위치, 속도, 힘, 방향 중 적어도 하나의 정보와 센서 정보에 포함된 위치, 속도, 힘, 방향 정보 등을 비교하고 오차가 존재하는 경우, 해당 오차 정보를 생성할 수 있다.On the other hand, when the higher command is received in step 401, the robot 100 may branch to step 405 to perform the robot state analysis. To this end, the robot 100 may determine the current state of the robot 100 based on sensor information received from the sensor unit 120. That is, the robot 100 analyzes the current state of the robot 100 from sensor information including at least one of position information, speed information, force information, and direction information of the robot 100. In this process, the robot 100 includes at least one of the position, speed, force, and direction information of the robot 100 determined by the motion control algorithm stored in the storage 130 and the position, speed, and force included in the sensor information. In this case, the direction information may be compared and the error information may be generated when an error exists.

그리고 상기 로봇(100)은 407 단계에서 작업 환경에 따른 지령을 생성하도록 제어한다. 이때 상기 로봇(100)은 상기 오차 정보에 따라 현재 작업 환경에 따른 새로운 지령을 생성하거나 수신된 상위 지령을 위치/속도 제어기(169)에 바로 전달할 수 있다. 여기서 새로 생성된 새로운 지령은 상기 오차 정보를 오차 허용 범위와 비교한 결과에 따라 생성될 수 있다. 그리고 상기 상위 지령은 현재 로봇(100) 상태에 따른 지령으로서 위치와 속도 등의 오차가 발생한 경우 이를 보상하기 위한 값을 포함하는 지령이 될 수 있다. 이를 위하여 상기 동작 제어 알고리즘은 오차 발생 시 이를 보상하기 위한 보상 알고리즘을 포함할 수 있다.In operation 407, the robot 100 controls to generate a command according to the working environment. In this case, the robot 100 may generate a new command according to the current working environment or directly transfer the received upper command to the position / speed controller 169 according to the error information. Here, the newly generated new command may be generated according to a result of comparing the error information with an error tolerance range. The upper command may be a command according to the current robot 100 state and includes a value for compensating for an error such as a position and a speed. To this end, the motion control algorithm may include a compensation algorithm for compensating for an error.

현재 작업 환경에 따라 생성된 새로운 지령 또는 상위 지령을 위치/속도 제어기(169)에 전달하면, 로봇(100)은 409 단계에서 수신된 지령 또는 생성된 지령에 따라 로봇(100)의 위치/속도를 연산한다. 즉 로봇(100)은 지령에 따라 로봇(100)이 움직여야할 위치 움직이는 동안의 속도 등에 대응하는 명령어를 생성하기 위한 연산을 수행한다. 이때 상기 로봇(100)은 각 관절 단위별로 동작할 명령어들을 생성할 수 있다.When the new command or higher command generated according to the current working environment is transmitted to the position / speed controller 169, the robot 100 may adjust the position / speed of the robot 100 according to the received command or the generated command in step 409. Calculate That is, the robot 100 performs an operation for generating a command corresponding to a speed while moving the position where the robot 100 should move according to the command. In this case, the robot 100 may generate instructions to operate for each joint unit.

다음으로 상기 로봇(100)은 411 단계에서 연산에 따라 생성된 명령어를 암(140)에 전달함으로써 암(140)의 동작을 제어한다. 그리고 상기 로봇(100)은 413 단계에서 로봇(100)의 동작 종료 여부를 확인하고, 계속적인 동작을 수행하고자 하는 경우 401 단계 이전으로 분기하여 이하 과정을 반복적으로 수행하도록 제어할 수 있다.Next, the robot 100 controls the operation of the arm 140 by transferring a command generated according to the operation to the arm 140 in step 411. In operation 413, the robot 100 may determine whether the operation of the robot 100 is terminated. If the robot 100 intends to perform continuous operation, the robot 100 may branch to step 401 and control to repeatedly perform the following process.

이상에서 설명한 바와 같이 본 발명의 실시 예에 따른 로봇 제어 방법은 로봇의 현재 상태를 기반으로 오차 발생을 확인하고, 해당 오차에 대응하는 새로운 지령을 생성하거나, 상위 제어 명령 장치로부터 수신된 지령에 따라 로봇(100)이 동작할 수 있는 명령어들을 생성하고 이를 기반으로 동작을 수행하도록 제어하게 된다. 이때 본 발명의 로봇 제어 방법은 오차 발생 시 상위로부터 수신된 지령과 해당 오차 발생에 따라 새로 생성된 지령 중 어느 하나를 선택적으로 운용하도록 함으로써, 로봇 시스템의 과부하를 줄이고 보다 안정적인 운용을 할 수 있도록 지원할 수 있다.As described above, the robot control method according to an embodiment of the present invention checks the occurrence of an error based on the current state of the robot, generates a new command corresponding to the error, or according to the command received from the upper control command device. The robot 100 generates commands capable of operating and controls the robot 100 to perform operations based thereon. In this case, the robot control method of the present invention selectively supports any one of a command received from a higher level and a newly generated command according to the occurrence of an error when an error occurs, thereby reducing the overload of the robot system and supporting a more stable operation. Can be.

도 5는 본 발명의 실시 예에 따른 로봇 제어 장치의 운용 및 방법에 따른 운용에 의한 로봇의 동작을 설명하기 위한 그래프이다. 설명에 앞서, 도시된 그래프는 일정량 이상의 무게를 운반하는 로봇(100)에서 발생할 수 있는 다양한 궤환 신호(Feed-back signal)들을 나타낸 것이다.5 is a graph for explaining the operation of the robot by the operation according to the operation and method of the robot control apparatus according to an embodiment of the present invention. Prior to the description, the illustrated graph shows various feedback signals that may occur in the robot 100 carrying a certain amount or more of weight.

상기 도 5에서 제1 지시선(11)은 작업자 또는 상위 제어 명령 장치가 전달한 지령치를 나타낸 것이며, 제2 지시선(13)은 기존 동작 제어 알고리즘에 따른 로봇(100)의 궤환 신호를 나타낸 것이고, 제3 지시선(15)은 본 발명의 오차 발생에 따른 적응적 동작 제어 방식에 따른 로봇(100)의 궤환 신호를 나타낸 것이다. 도 5에 도시된 바와 같이, 본 발명의 적응적 동작 제어 방식에 따른 궤환 신호는 초기에 과도한 슈팅이 존재하지만 특정상태에서는 보다 지령치에 잘 부합되도록 동작하는 것을 알 수 있다. 이에 따라 시스템 보호 및 전기적 보드의 소손을 방지하기 위해서 로봇(100) 제어 시 본 발명의 실시 예에 따른 적응적 동작 제어 방식에 따라 동작하는 것이 바람직하다.In FIG. 5, the first leader line 11 indicates a command value transmitted by an operator or a higher control command device, and the second leader line 13 shows a feedback signal of the robot 100 according to an existing motion control algorithm. Leader line 15 shows the feedback signal of the robot 100 according to the adaptive motion control method according to the error of the present invention. As shown in Figure 5, the feedback signal according to the adaptive motion control method of the present invention can be seen that there is an excessive shooting initially, but in a specific state to operate more well to the command value. Accordingly, in order to protect the system and prevent damage to the electrical board, it is preferable to operate according to the adaptive motion control method according to the embodiment of the present invention when controlling the robot 100.

한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아 니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.On the other hand, embodiments of the present invention disclosed in the specification and drawings are merely presented specific examples to aid understanding, and are not intended to limit the scope of the invention. In addition to the embodiments disclosed herein, it is apparent to those skilled in the art that other modifications based on the technical idea of the present invention may be implemented.

도 1은 본 발명의 실시 예에 따른 로봇 제어 장치의 개략적인 구성을 나타낸 블록도이다.1 is a block diagram showing a schematic configuration of a robot control apparatus according to an embodiment of the present invention.

도 2는 본 발명의 제1 실시 예에 따른 제어부의 구성을 보다 상세히 나타낸 블록도이다.2 is a block diagram illustrating in detail the configuration of the controller according to the first embodiment of the present invention.

도 3은 본 발명의 제2 실시 예에 따른 제어부의 구성을 보다 상세히 나타낸 블록도이다.3 is a block diagram illustrating in detail the configuration of the controller according to the second embodiment of the present invention.

도 4는 본 발명의 실시 예에 따른 로봇 제어 방법을 나타낸 순서도이다.4 is a flowchart illustrating a robot control method according to an exemplary embodiment of the present invention.

도 5는 다양한 동작 방식에 따라 동작하는 로봇의 궤환 신호를 개략적으로 나타낸 그래프이다.5 is a graph schematically illustrating a feedback signal of a robot operating according to various operating methods.

* 도면의 주요 부분에 대한 설명 *Description of the Related Art [0002]

100 : 로봇 110 : 지령 수신부100: robot 110: command receiver

120 : 센서부 130 : 저장부120 sensor unit 130 storage unit

140 : 암 160 : 제어부140: arm 160: control unit

161 : 위치 지령 생성기 163 : 로봇 상태 분석기161: position command generator 163: robot status analyzer

165 : 내부 지령 생성기 166 : 지령 생성기165: internal command generator 166: command generator

167 : 지령 결정기 169 : 위치/속도 제어기167: command determiner 169: position / speed controller

Claims (11)

작업자 및 상위 제어 명령 장치로부터 지령을 수신하는 지령 수신부;A command receiving unit which receives a command from an operator and a higher control command device; 로봇의 현재 상태에 따른 센서 신호를 수신하는 센서부;A sensor unit configured to receive a sensor signal according to a current state of the robot; 상기 로봇의 현재 상태에 따라 상기 수신된 지령을 바탕으로 새로운 지령을 생성하도록 제어하는 제어부;A controller configured to generate a new command based on the received command according to the current state of the robot; 상기 지령 수신부가 수신하는 지령 또는 상기 새로운 지령 중 어느 하나에 따라 일정한 위치 및 속도를 가지며 동작하는 암;을 포함하고,And an arm operating with a constant position and speed according to any one of the instructions received by the instruction receiver or the new instruction. 상기 제어부는The control unit 상기 지령 수신부가 수신한 지령에 따라 상기 암의 위치와 속도 제어를 위한 지령을 생성하는 위치 지령 생성기;A position command generator for generating a command for position control and speed control of the arm according to the command received by the command receiver; 상기 센서부가 수집하는 센서 정보에 따라 로봇의 현재 상태를 분석하는 로봇 상태 분석기;A robot state analyzer for analyzing a current state of the robot according to sensor information collected by the sensor unit; 상기 로봇 상태 분석기가 분석한 로봇의 현재 상태에 따라 새로운 지령을 생성하는 내부 지령 생성기;An internal command generator for generating a new command according to the current state of the robot analyzed by the robot condition analyzer; 상기 위치 지령 생성기가 전달하는 지령 또는 상기 내부 지령 생성기가 전달하는 새로운 지령 중 어느 하나의 지령을 선택하는 지령 결정기;A command determiner for selecting any one of a command transmitted by the position command generator or a new command transmitted by the internal command generator; 상기 지령 결정기가 결정한 지령 또는 새로운 지령에 따라 상기 암의 위치 및 속도를 제어하기 위한 명령어를 생성하는 위치/속도 제어기;A position / speed controller for generating an instruction for controlling the position and speed of the arm in accordance with a command or a new command determined by the command determiner; 를 포함하는 것을 특징으로 하는 로봇 제어 장치.Robot control apparatus comprising a. 작업자 및 상위 제어 명령 장치로부터 지령을 수신하는 지령 수신부;A command receiving unit which receives a command from an operator and a higher control command device; 로봇의 현재 상태에 따른 센서 신호를 수신하는 센서부;A sensor unit configured to receive a sensor signal according to a current state of the robot; 상기 로봇의 현재 상태에 따라 상기 수신된 지령을 바탕으로 새로운 지령을 생성하도록 제어하는 제어부;A controller configured to generate a new command based on the received command according to the current state of the robot; 상기 지령 수신부가 수신하는 지령 또는 상기 새로운 지령 중 어느 하나에 따라 일정한 위치 및 속도를 가지며 동작하는 암;을 포함하고,And an arm operating with a constant position and speed according to any one of the instructions received by the instruction receiver or the new instruction. 상기 제어부는The control unit 상기 센서부가 수집하는 센서 신호에 따라 로봇의 현재 상태를 분석하는 로봇 상태 분석기;A robot state analyzer for analyzing a current state of the robot according to a sensor signal collected by the sensor unit; 상기 로봇의 현재 상태에 따라 새로운 지령을 생성하거나 상기 지령 수신부가 전달한 지령 중 어느 하나를 선택하는 지령 생성기;A command generator for generating a new command or selecting any one of commands received from the command receiver according to the current state of the robot; 상기 지령 생성기가 전달하는 지령 또는 새로운 지령 중 어느 하나에 따라 상기 암의 동작 제어를 위한 명령어를 생성하는 위치/속도 제어기;A position / speed controller for generating an instruction for controlling the operation of the arm in accordance with any one of a command or a new command delivered by the command generator; 를 포함하는 것을 특징으로 하는 로봇 제어 장치.Robot control apparatus comprising a. 제1항 또는 제2항에 있어서The method according to claim 1 or 2 상기 센서부는The sensor unit 상기 로봇의 위치를 센싱하는 위치 센서;A position sensor for sensing a position of the robot; 상기 로봇의 속도 및 상기 로봇의 힘 중 적어도 하나를 센싱하는 힘/가속도 센서;A force / acceleration sensor that senses at least one of the speed of the robot and the force of the robot; 를 포함하는 것을 특징으로 하는 로봇 제어 장치.Robot control apparatus comprising a. 삭제delete 제1항 또는 제2항에 있어서The method according to claim 1 or 2 상기 위치/속도 제어기는The position / speed controller 상기 암의 관절 단위 별로 위치와 관련된 명령어를 생성하는 위치 제어기;A position controller for generating a command related to a position for each joint unit of the arm; 상기 암의 관절 단위 별로 속도와 관련된 명령어를 생성하는 속도 제어기;A speed controller for generating a command related to speed for each joint unit of the arm; 를 포함하는 것을 특징으로 하는 로봇 제어 장치. Robot control apparatus comprising a. 제1항 또는 제2항에 있어서The method according to claim 1 or 2 상기 지령에 따라 상기 로봇을 동작시키기 위한 동작 제어 알고리즘 및 상기 동작 제어 알고리즘에 따라 동작하는 로봇의 위치와 속도에 대한 오차 허용 범위 정보를 저장하는 저장부;를 더 포함하는 것을 특징으로 하는 로봇 제어 장치.And a storage unit configured to store an operation control algorithm for operating the robot according to the command and error tolerance information on the position and speed of the robot operating according to the operation control algorithm. . 제6항에 있어서The method of claim 6 상기 제어부는 The control unit 상기 로봇의 현재 동작의 위치와 속도 정보를 상기 로봇이 동작할 위치와 속도 정보와 비교하고 상기 정보 간의 오차가 상기 저장부에 저장된 오차 허용 범위 이내인 경우 오차 허용에 따른 암의 동작 제어를 위한 새로운 지령을 생성하도록 제어하는 것을 특징으로 하는 로봇 제어 장치.The position and speed information of the robot's current operation is compared with the position and speed information on which the robot is to operate, and when the error between the information is within the error tolerance stored in the storage unit, a new method for controlling the motion of the arm according to the tolerance is allowed. The robot control apparatus characterized by controlling to generate a command. 삭제delete 수집되는 센서 신호에 따라 로봇의 현재 상태를 분석하는 과정;Analyzing the current state of the robot according to the collected sensor signals; 상기 로봇의 현재 상태에 따라 작업자 또는 상위 제어 명령 장치가 전달하는 지령을 선택하거나 새로운 지령을 생성하는 생성 과정;A generation process of selecting a command transmitted from an operator or a higher control command device or generating a new command according to the current state of the robot; 상기 생성된 새로운 지령 또는 상기 전달된 지령 중 어느 하나의 지령에 따라 암의 동작 제어를 위한 명령어를 생성하는 과정;Generating an instruction for controlling the operation of the arm according to any one of the generated new instruction or the transferred instruction; 상기 명령어에 따라 암의 동작을 제어하는 과정;을 포함하고,And controlling the operation of the arm according to the command. 상기 명령어를 생성하는 과정은The process of generating the command 상기 암에 포함된 모터들을 관절 단위로 분류하는 과정;Classifying motors included in the arm into joint units; 상기 관절 단위별로 동작할 위치와 속도 제어를 위한 명령어를 생성하는 과정;Generating a command for controlling a position and a speed to be operated for each joint unit; 을 포함하는 것을 특징으로 하는 로봇 제어 방법.Robot control method comprising a. 수집되는 센서 신호에 따라 로봇의 현재 상태를 분석하는 과정;Analyzing the current state of the robot according to the collected sensor signals; 상기 로봇의 현재 상태에 따라 작업자 또는 상위 제어 명령 장치가 전달하는 지령을 선택하거나 새로운 지령을 생성하는 생성 과정;A generation process of selecting a command transmitted from an operator or a higher control command device or generating a new command according to the current state of the robot; 상기 생성된 새로운 지령 또는 상기 전달된 지령 중 어느 하나의 지령에 따라 암의 동작 제어를 위한 명령어를 생성하는 과정;Generating an instruction for controlling the operation of the arm according to any one of the generated new instruction or the transferred instruction; 상기 명령어에 따라 암의 동작을 제어하는 과정;을 포함하고,And controlling the operation of the arm according to the command. 상기 분석하는 과정은The analysis process 기 저장된 동작 제어 알고리즘에 따라 상기 로봇이 동작할 위치와 속도 정보를 수집하는 과정;Collecting position and velocity information for the robot to operate according to a previously stored motion control algorithm; 상기 로봇의 현재 동작의 위치와 속도 정보를 상기 로봇이 동작할 위치와 속도 정보와 비교하는 과정;Comparing the position and the speed information of the current operation of the robot with the position and the speed information on which the robot is to operate; 상기 정보 간의 오차를 검출하는 과정;Detecting an error between the information; 을 포함하는 것을 특징으로 하는 로봇 제어 방법.Robot control method comprising a. 제10항에 있어서The method of claim 10 상기 생성 과정은The generation process 상기 정보 간의 오차가 기 설정된 오차 허용 범위 이내인지 여부를 확인하는 과정;Checking whether an error between the information is within a preset tolerance range; 상기 오차가 기 설정된 오차 허용 범위 이내인 경우, 오차 허용에 따른 암의 동작 제어를 위한 새로운 지령을 생성하는 과정;Generating a new command for controlling the operation of the arm according to the error tolerance when the error is within a preset error tolerance range; 을 포함하는 것을 특징으로 하는 로봇 제어 방법.Robot control method comprising a.
KR1020090120043A 2009-12-04 2009-12-04 Control Method And Apparatus For Robot KR101138019B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090120043A KR101138019B1 (en) 2009-12-04 2009-12-04 Control Method And Apparatus For Robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090120043A KR101138019B1 (en) 2009-12-04 2009-12-04 Control Method And Apparatus For Robot

Publications (2)

Publication Number Publication Date
KR20110063099A KR20110063099A (en) 2011-06-10
KR101138019B1 true KR101138019B1 (en) 2012-04-20

Family

ID=44397151

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090120043A KR101138019B1 (en) 2009-12-04 2009-12-04 Control Method And Apparatus For Robot

Country Status (1)

Country Link
KR (1) KR101138019B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170030139A (en) 2015-09-08 2017-03-17 경희대학교 산학협력단 System and method of controlling mobile robot using inertia measurement unit and electromyogram sensor-based gesture recognition

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0679666A (en) * 1992-08-31 1994-03-22 Nec Corp Manipulator control device
JPH06106490A (en) * 1992-09-29 1994-04-19 Fujitsu Ltd Control device
KR100222763B1 (en) * 1997-07-21 1999-10-01 이형도 Linear output apparatus for controlling position of robot and method thereof
KR100382749B1 (en) 1995-03-29 2003-06-19 삼성전자주식회사 Adaptive control unit for robot manipulator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0679666A (en) * 1992-08-31 1994-03-22 Nec Corp Manipulator control device
JPH06106490A (en) * 1992-09-29 1994-04-19 Fujitsu Ltd Control device
KR100382749B1 (en) 1995-03-29 2003-06-19 삼성전자주식회사 Adaptive control unit for robot manipulator
KR100222763B1 (en) * 1997-07-21 1999-10-01 이형도 Linear output apparatus for controlling position of robot and method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170030139A (en) 2015-09-08 2017-03-17 경희대학교 산학협력단 System and method of controlling mobile robot using inertia measurement unit and electromyogram sensor-based gesture recognition

Also Published As

Publication number Publication date
KR20110063099A (en) 2011-06-10

Similar Documents

Publication Publication Date Title
US9616564B2 (en) Event-based redundancy angle configuration for articulated-arm robots
US9849595B2 (en) Contact force limiting with haptic feedback for a tele-operated robot
US9393687B2 (en) Method for programming an industrial robot and industrial robot
KR101942167B1 (en) Omnidirectional wheeled humanoid robot based on a linear predictive position and velocity controller
US10618164B2 (en) Robot system having learning control function and learning control method
US20160121484A1 (en) Control device with function to check load information settings
US10864632B2 (en) Direct teaching method of robot
KR20170030078A (en) Omnidirectional wheeled humanoid robot based on a linear preictive position and velocity conroller
JPWO2007111252A1 (en) Manipulator control method and control system
CN101947789B (en) Method and device for operating a manipulator
US11478919B2 (en) Robot system and method of controlling the robot system
JP2013223921A (en) Workspace safe operation of force-controlled or impedance-controlled robot
KR20130136477A (en) Method and device for controlling a peripheral component of a robot system
US20220388156A1 (en) Maintaining free-drive mode of robot arm for period of time
WO2020239184A2 (en) Control of a multipurpose robot arm
Kuts et al. COLLABORATIVE WORK BETWEEN HUMAN AND INDUSTRIAL ROBOT IN MANUFACTURING BY ADVANCED SAFETY MONITORING SYSTEM.
KR101138019B1 (en) Control Method And Apparatus For Robot
CN109507879B (en) Control device and machine learning device
WO2019206408A1 (en) Method and control system for controlling movement trajectories of a robot
JP7098062B2 (en) Robot motion adjustment device, motion control system and robot system
US11584007B2 (en) Robotic method and system
EP4048486A1 (en) Safe activation of free-drive mode of robot arm
KR20210127746A (en) Methods and systems for performing predetermined tasks by means of robots
CN115709471B (en) Robot state value adjusting method and robot
US11034022B2 (en) Robot teaching system, controller and hand guide unit

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150109

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 7