KR102139229B1 - Collision Detection Method and System of Robot Manipulator Using Artificial Neural Network - Google Patents

Collision Detection Method and System of Robot Manipulator Using Artificial Neural Network Download PDF

Info

Publication number
KR102139229B1
KR102139229B1 KR1020190136622A KR20190136622A KR102139229B1 KR 102139229 B1 KR102139229 B1 KR 102139229B1 KR 1020190136622 A KR1020190136622 A KR 1020190136622A KR 20190136622 A KR20190136622 A KR 20190136622A KR 102139229 B1 KR102139229 B1 KR 102139229B1
Authority
KR
South Korea
Prior art keywords
collision
neural network
signal
cycle
robot manipulator
Prior art date
Application number
KR1020190136622A
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 KR1020190136622A priority Critical patent/KR102139229B1/en
Priority to KR1020200091433A priority patent/KR102357168B1/en
Application granted granted Critical
Publication of KR102139229B1 publication Critical patent/KR102139229B1/en
Priority to EP20881558.9A priority patent/EP4052862A4/en
Priority to PCT/KR2020/014982 priority patent/WO2021086091A1/en
Priority to US17/771,406 priority patent/US20220398454A1/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/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones

Abstract

The present invention relates to a system for detecting a collision of a robot manipulator using an artificial neural network, which may comprise: a joint driving unit which is provided in a plurality of joints of the robot manipulator and drives each of the joints; an encoder unit which is provided on one side of the joint driving unit and measures angles of the plurality of joints; and a neural network operation unit which learns a neural network with a large amount of data, and infers to sense that the plurality of joints collide with the outside through preprocessing operation.

Description

인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템{Collision Detection Method and System of Robot Manipulator Using Artificial Neural Network}Collision Detection Method and System of Robot Manipulator Using Artificial Neural Network

본 발명은 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템에 관한 것으로, 인공신경망을 이용한 학습을 통해 로봇 매니퓰레이터가 충돌을 감지하는 기술에 관한 것이다.The present invention relates to a method and system for detecting a collision of a robot manipulator using an artificial neural network, and relates to a technique for detecting a collision by a robot manipulator through learning using an artificial neural network.

인간의 상지와 유사한 기능을 보유하고, 그 선단부위에 해당하는 기계 손(mechanical hand) 등에 의해 물체를 파지하여 공간적으로 이동시키는 작업 또는 그 선단부위에 부착된 도장용 스프레이 건(spray gun), 용접 토치 등의 공구에 의한 도장, 용접 등의 작업을 실시할 수 있는 것을 말한다. 여기서, 파지는 파악, 흡착, 유지하는 것들을 일컫는다.It has a function similar to that of the human upper extremity, and holds the object by means of a mechanical hand or the like corresponding to its tip to move it spatially, or spray gun, welding torch, etc. attached to the tip. It means that work such as painting and welding can be performed using the tool. Here, phage refers to those that are grasped, adsorbed, and maintained.

인간의 상지와 유사한 것이란 팔(arm)에 손(hand)이 붙어있는 것을 말하지만, 손이 없고 직접 암에 공구가 부착되어 있는 것, 손에 공구를 파지해서 작업을 실시하는 것과 같기 때문에 이것도 인간의 상지와 유사한 것으로 취급할 수 있다.Similar to the human upper extremity means that a hand is attached to an arm, but it is like a human being without a hand attached to a tool, or holding a tool in a hand to perform work. It can be treated as something similar to the upper extremity.

또, 기계손에는 흡착기, 후크가 포함될 수 있다. 더욱이 인간이 조작하는 매니퓰레이터를 매뉴얼(manual) 매니퓰레이터라 하며, 안전규칙에 벗어나고 있지만 기억장치(고정 시퀀스 제어장치, 가변 시퀀스 제어장치)의 정보에 입각해서 작동하는 매니퓰레이터를 보유하고 있는 것은 산업용 로봇으로 분류하고 있다.Also, the mechanical hand may include an adsorber and a hook. Moreover, manipulators operated by humans are referred to as manual manipulators, and although they are out of safety rules, those with manipulators that operate based on information from memory (fixed sequence controllers, variable sequence controllers) are classified as industrial robots. Doing.

한편, 자동화에 주로 사용되는 6자 유도 로봇 매니퓰레이터는 정밀한 모션제어를 수행할 수 있다. 로봇이 프로그램 된 모션에 따라 동작할 때 작업자와 충돌하게 되면, 로봇은 목적하는 위치로 계속해서 이동하려고 큰 토크를 출력하기 때문에 작업자가 부상을 당할 수 있다. 따라서 로봇과 동일 공간에서 작업하는 작업자의 안전을 보장하기 위해서는 로봇 자체적으로 충돌이 발생하면 이를 감지하여 구동 작업을 중단하는 충돌 감지 기능이 필요하다.On the other hand, a six-character induction robot manipulator mainly used for automation can perform precise motion control. When the robot collides with the operator when operating according to the programmed motion, the robot may be injured because the robot outputs a large torque to continuously move to the desired position. Therefore, in order to ensure the safety of the worker working in the same space as the robot, a collision detection function is required to detect the collision of the robot itself and stop the driving operation.

종래의 기술은 로봇이 충돌을 감지하기 위해 관절마다 토크센서를 부착하고, 토크센서에서 측정되는 값을 통해 외부의 충돌을 감지한다. 이를 통해, 민감하게 충돌을 감지할 수 있다. 하지만, 6축 다관절 로봇의 모든 관절에 토크센서를 부착하게 되면 경제적인 문제가 발생할 수 있다.In the prior art, the robot attaches a torque sensor for each joint to detect a collision, and detects an external collision through a value measured by the torque sensor. Through this, it is possible to sensitively detect the collision. However, if a torque sensor is attached to all joints of a 6-axis multi-joint robot, economic problems may occur.

또한, 종래에도 관절 토크 센서가 없어도 로봇의 동력학과 기구학 정보를 활용하여 외부 충돌을 추정하는 방법들이 다수 제안되었다. 이러한 로봇 동역학 정보나 비선형 함수에 대한 수식을 이용하기 때문에 시스템의 부하가 커지는 문제가 발생될 수 있다.In addition, a number of methods have been proposed to estimate external collisions using the dynamics and kinematics information of a robot even without a joint torque sensor. Since the robot dynamics information or a formula for a nonlinear function is used, a problem that a system load is increased may occur.

이와 같은 종래의 문제점들로 인해 종래의 기술들보다 효율적으로 로봇이 충돌을 감지하는 방법과 시스템이 필요한 실정이다.Due to these conventional problems, there is a need for a method and a system for robot to detect collision more efficiently than conventional techniques.

대한민국 공개특허 제10-2019-0114083호Republic of Korea Patent Publication No. 10-2019-0114083

본 발명은 상술한 바와 같은 종래 기술의 문제점을 해결하기 위한 것으로, 다축이 구비된 로봇이 인공신경망을 통해 충돌 감지에 대한 데이터를 학습하여 민감하게 충돌을 감지하는 데 그 목적이 있다.The present invention is to solve the problems of the prior art as described above, the purpose is to detect the collision sensitively by learning the data about the collision detection through the artificial neural network equipped with a multi-axis robot.

상기 목적을 달성하기 위한 본 발명에 따른 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 시스템에 있어서, 상기 로봇 매니퓰레이터의 복수의 관절에 구비되어 상기 복수의 관절을 각각 구동시키는 관절 구동부; 상기 관절 구동부의 일측에 구비되어 상기 복수의 관절의 각도를 측정하는 엔코더부; 다량의 데이터로 신경망이 학습하여 전처리 연산을 통해 상기 복수의 관절이 외부와 충돌하는 것을 감지하도록 추론하는 신경망 연산부;를 포함하는 것을 특징으로 한다.A system for detecting collision of a robot manipulator using an artificial neural network according to the present invention for achieving the above object, comprising: a joint driving unit provided at a plurality of joints of the robot manipulator to drive each of the plurality of joints; An encoder unit provided on one side of the joint driving unit to measure an angle of the plurality of joints; It characterized in that it comprises; a neural network operation unit for learning the neural network with a large amount of data and inferring to detect that the plurality of joints collide with the outside through a pre-processing operation.

여기서, 상기 전처리 연산은 사이클 정규화(Cycle Normalization)를 통해 신경망의 일반화를 수행하는 것을 특징으로 한다.Here, the pre-processing operation is characterized in that generalization of the neural network is performed through cycle normalization.

또, 상기 사이클 정규화는 지정된 다수의 경유점(way point)들을 정의하고, 지정된 경유점 중 첫 번째 경유점부터 마지막 경유점까지 차례대로 거친 후 다시 첫 번째 경유점으로 경로 이동을 하는 것으로 하나의 사이클을 정의하는 것을 특징으로 한다.In addition, the cycle normalization defines a plurality of designated waypoints, passes through the sequence from the first waypoint to the last waypoint among the designated waypoints, and then moves the path back to the first waypoint. Characterized in that to define.

아울러, 상기 사이클과 관련한 정보를 저장하는 메모리를 더 포함하고, 정의된 상기 사이클의 전체 신호를 참조 사이클로 정의하여 상기 메모리에 저장하는 것을 특징으로 한다.In addition, a memory for storing information related to the cycle is further included, and the entire signal of the defined cycle is defined as a reference cycle and stored in the memory.

또한, 상기 구동 관절부를 제어하기 위해 제어 입력에 관한 신호를 인가 및 연산을 수행하는 제어부를 더 포함하는 것을 특징으로 한다.In addition, it characterized in that it further comprises a control unit for applying and applying a signal related to the control input to control the driving joint.

또, 상기 신호는 매 제어주기마다 획득되는 관절 각도, 관절 각속도 및 제어토크를 포함하는 것을 특징으로 한다.In addition, the signal is characterized in that it includes the joint angle, joint angular velocity and control torque obtained at every control cycle.

아울러, 상기 신호는 상기 신경망의 입력으로 사용하고, 슬라이딩 기법으로 상기 신호의 패턴을 분석하는 것을 특징으로 한다.In addition, the signal is used as the input of the neural network, and characterized in that the pattern of the signal is analyzed by a sliding technique.

또한, 상기 신경망은 신호와 라벨의 쌍으로 이루어진 학습데이터를 기반으로 지도학습(supervised learning)을 통해 충돌신호를 학습하는 것을 특징으로 한다.In addition, the neural network is characterized by learning a collision signal through supervised learning based on learning data consisting of a pair of signals and labels.

또, 상기 신경망은 충돌이 발생하였을 시 True 신호를 출력하고, 충돌이 발생하지 않았을 시 False 신호를 출력하는 이진 신호인 것을 특징으로 한다.In addition, the neural network is characterized in that it is a binary signal that outputs a True signal when a collision occurs and a False signal when a collision does not occur.

아울러, 상기 충돌신호를 학습하는 것은 복수의 상기 관절의 일측에 구비된 압력센서 또는 FSR(force sensitive resistor)의 접촉을 통해 충돌을 측정하는 것을 특징으로 한다.In addition, learning the collision signal is characterized in that the collision is measured through the contact of a pressure sensor or a force sensitive resistor (FSR) provided on one side of the plurality of joints.

또한, 상기 신경망의 층 중에서 마지막 층은 0부터 1 사이의 확률값이며, 상기 신경망의 추론에 따라 상기 확률값이 0.5 이상일 경우 충돌이 발생하는 것으로 판단하는 것을 특징으로 한다.In addition, the last layer among the layers of the neural network is a probability value between 0 and 1, and it is characterized in that collision occurs when the probability value is 0.5 or more according to the inference of the neural network.

한편, 상기 목적을 달성하기 위한 본 발명에 따른 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법은 다수의 경유점(way point)들을 정의하여 신경망 연산부가 사이클 정규화를 통해 전처리 연산을 수행하는 단계; 충돌 측정부로부터 충돌신호를 획득하는 단계; 신경망이 충돌신호를 기반으로 학습하는 단계; 학습된 신경망이 실시간으로 충돌을 감지한 신호를 전달하여 제어를 수행하는 단계;를 포함할 수 있다.On the other hand, a method of detecting a collision of a robot manipulator using an artificial neural network according to the present invention for achieving the above object comprises: defining a plurality of way points to perform a pre-processing operation through a cycle normalization by a neural network calculation unit; Obtaining a collision signal from the collision measurement unit; A neural network learning based on a collision signal; The learned neural network may perform control by transmitting a signal that detects a collision in real time.

본 발명에 따른 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템은 다음과 같은 효과가 있다.Method and system for detecting a collision of a robot manipulator using an artificial neural network according to the present invention has the following effects.

첫째, 성능 변화 없이 민감하게 충돌을 감지할 수 있다. 본 발명에서는 로봇에 인가되는 전류와 로봇제어에 필수적으로 요구되어 관절에 부착된 엔코더가 측정하는 관절 각도 및 관절 각속도만을 이용하여, 실시간 충돌 감지를 수행할 수 있다.First, it is possible to sensitively detect collisions without changing performance. In the present invention, real-time collision detection can be performed using only the joint angle and the joint angular velocity measured by the encoder attached to the joint, which is essential for controlling the current and robot applied to the robot.

둘째, 경제적이다. 본 발명에서는 관절에 다수의 토크센서를 구비하는 것과 같이 별도의 성능 변화 없이도 실시간 충돌 감지를 수행할 수 있기 때문에 종래와 비교하여 비용이 절감될 수 있다.Second, it is economical. In the present invention, since a real-time collision detection can be performed without a separate performance change, such as having a plurality of torque sensors in the joint, the cost can be reduced compared to the prior art.

도1은 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 시스템이 구비된 로봇 매니퓰레이터의 사시도이다.
도2는 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 시스템에 대한 블록도이다.
도3은 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 방법에 대한 순서도이다.
도4는 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 방법에서 충돌 발생의 여부를 감지하는 흐름에 관한 도면이다.
도5는 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 방법에서 신경망이 학습데이터를 학습하는 과정을 개략적으로 나타낸 도면이다.
도6은 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 시스템과 종래의 모멘텀 옵저버가 충돌을 감지한 것을 실험하여 비교한 결과를 나타낸 도면이다.
도7은 도6에 도시된 실험에서 모멘텀 옵저버의 충돌감지에 대한 경계값을 감소시켜 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 시스템과 실험하여 비교한 결과를 나타낸 도면이다.
1 is a perspective view of a robot manipulator equipped with a system for detecting a collision of a robot manipulator according to an embodiment of the present invention.
2 is a block diagram of a system for detecting a collision of a robot manipulator according to an embodiment of the present invention.
3 is a flowchart of a method for detecting a collision of a robot manipulator according to an embodiment of the present invention.
4 is a diagram of a flow for detecting whether a collision has occurred in a method for detecting a collision of a robot manipulator according to an embodiment of the present invention.
5 is a diagram schematically showing a process in which a neural network learns learning data in a method of detecting a collision of a robot manipulator according to an embodiment of the present invention.
FIG. 6 is a diagram showing a result of experiment and comparison of a system for detecting a collision of a robot manipulator and a conventional momentum observer detecting a collision according to an embodiment of the present invention.
7 is a view showing a result of experiment and comparison with a system for detecting a collision of a robot manipulator according to an embodiment of the present invention by reducing a boundary value for collision detection of a momentum observer in the experiment illustrated in FIG. 6.

이하에서는 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 다만 발명의 요지와 무관한 일부 구성은 생략 또는 압축할 것이나, 생략된 구성이라고 하여 반드시 본 발명에서 필요가 없는 구성은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 결합되어 사용될 수 있다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. However, some components irrelevant to the subject matter of the present invention will be omitted or compressed, but the omitted components are not necessarily required in the present invention, and are used in combination by those skilled in the art to which the present invention pertains. Can.

<로봇 매니퓰레이터 충돌 감지 시스템><Robot Manipulator Collision Detection System>

도1은 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 시스템이 구비된 로봇 매니퓰레이터의 사시도이고, 도2는 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 시스템에 대한 블록도이다.1 is a perspective view of a robot manipulator equipped with a system for detecting a collision of a robot manipulator according to an embodiment of the present invention, and FIG. 2 is a block diagram of a system for detecting a collision of a robot manipulator according to an embodiment of the present invention .

도1 및 도2에 도시된 바와 같이, 본 발명의 실시예에 따른 로봇 매니퓰레이터(200)의 충돌을 감지하는 시스템이 구비된 로봇 매니퓰레이터(200)는 다수의 관절 또는 축이 구비되어 있고, 다수의 관절은 각각 마련된 회전축을 기준으로 회전하는 것으로 작동할 수 있다.1 and 2, the robot manipulator 200 equipped with a system for detecting a collision of the robot manipulator 200 according to an embodiment of the present invention includes a plurality of joints or axes, and a plurality of The joints can operate by rotating based on the provided rotation axis.

또한, 로봇 매니퓰레이터(200) 충돌 감지 시스템(100)은 관절 구동부(110), 엔코더부(120), 신경망 연산부(130), 제어부(140) 및 충돌 측정부(150)를 포함할 수 있다.In addition, the robot manipulator 200 collision detection system 100 may include a joint driving unit 110, an encoder unit 120, a neural network computing unit 130, a control unit 140, and a collision measurement unit 150.

관절 구동부(110)는 로봇 매니퓰레이터(200)가 작동할 수 있도록 관절을 구동시키는 구성이다. 이러한 관절 구동부(110)는 예를 들어 모터가 설치될 수 있고, 로봇 매니퓰레이터(200)를 형성하는 복수의 관절에 각각 복수로 구비될 수 있다. 관절 구동부(110)는 제어부(140)에서 전송하는 신호에 따라 관절을 구동시킬 수 있다. 여기서, 관절을 제어하는데 포함되는 신호는 관절 각도에 관한 신호, 관절 각도로부터 제어부(140)의 연산을 통해 획득된 관걸 각속도 및 제어 오차에 관한 신호, 관절 모터에 인가되는 전류 신호이다. 이러한 관절을 제어하는데 포함되는 신호는 로봇 신호로도 칭할 수 있다.The joint driving unit 110 is a component that drives the joint so that the robot manipulator 200 can operate. The joint driving unit 110 may be provided with a motor, for example, and may be provided in plural in each of a plurality of joints forming the robot manipulator 200. The joint driving unit 110 may drive the joint according to a signal transmitted from the control unit 140. Here, the signals included in controlling the joint are signals related to the joint angle, signals related to the angular angular velocity and control error obtained through the operation of the controller 140 from the joint angle, and current signals applied to the joint motor. The signal included in controlling such a joint may also be referred to as a robot signal.

엔코더부(120)는 관절 구동부(110)의 일측에 구비되어 관절의 각도를 측정하는 구성이다.The encoder unit 120 is provided on one side of the joint driving unit 110 to measure the angle of the joint.

신경망 연산부(130)는 신경망이 구비되어 있고, 학습데이터를 기반으로 신경망이 충돌신호에 관한 학습을 수행하며, 학습된 신경망이 실시간으로 입력된 신호를 추론하여 충돌을 감지하는 구성이다. 이러한 신경망 연산부(130)는 예를 들어 GPGPU(General-Purpose computing on Graphics Processing Units)로 구성될 수 있다. 또한, 신경망 연산부(130)는 학습된 신경망이 충돌을 추론할 시 충돌에 대한 감지를 원활히 하기 위해 전처리 연산을 거칠 수 있다. 이 때 전처리 연산에는 사이클 정규화(Cycle Normalization)를 통해 신경망의 일반화 성능을 향상시킬 수 있다. 신경망이 일반화(Generalization)를 달성하지 못할 경우 로봇 매니퓰레이터(200)의 모션이 변경되거나, 로봇 매니퓰레이터(200)가 들고 있는 물체의 무게가 변경될 경우 충돌에 대한 감지 성능이 변경되어 신뢰도가 감소할 수 있지만, 본 발명과 같이 사이클 정규화를 통해 일반화 성능을 향상시킨다면, 로봇 매니퓰레이터(200)의 모션(예를 들어 로봇 매니퓰레이터(200)의 속도 및 경로), 로봇 매니퓰레이터(200)가 들고 있는 물체의 무게가 변경되더라도 신경망의 충돌에 대한 감지 성능은 높은 수준으로 유지될 수 있다.The neural network operation unit 130 is provided with a neural network, and the neural network performs learning on a collision signal based on the learning data, and the learned neural network detects a collision by inferring an input signal in real time. The neural network computing unit 130 may be configured with, for example, General-Purpose computing on Graphics Processing Units (GPGPU). In addition, the neural network calculator 130 may undergo a pre-processing operation to facilitate detection of collision when the trained neural network infers the collision. In this case, the normalization performance of the neural network may be improved through cycle normalization in the pre-processing operation. If the neural network does not achieve generalization, if the motion of the robot manipulator 200 is changed or the weight of the object held by the robot manipulator 200 is changed, the detection performance for collision may be changed and reliability may be reduced. However, if the generalization performance is improved through cycle normalization as in the present invention, the motion of the robot manipulator 200 (for example, the speed and path of the robot manipulator 200), the weight of the object held by the robot manipulator 200 Even if changed, the detection performance of the collision of the neural network can be maintained at a high level.

제어부(140)는 로봇 매니퓰레이터(200)에게 제어 입력을 인가해주고 연산을 수행할 수 있다. 여기서, 제어 입력에는 전류, 토크 등이 포함될 수 있다.The control unit 140 may apply a control input to the robot manipulator 200 and perform an operation. Here, the control input may include current, torque, and the like.

<충돌 감지를 위한 전체 과정><The whole process for collision detection>

이하에서는 도면을 통해 로봇 매니퓰레이터(200)가 충돌을 감지하는 방법에 대해 설명하기로 한다.Hereinafter, a method of detecting the collision by the robot manipulator 200 will be described with reference to the drawings.

도3은 본 발명의 실시예에 따른 로봇 매니퓰레이터(200)의 충돌을 감지하는 방법에 대한 순서도이다.3 is a flowchart of a method for detecting a collision of a robot manipulator 200 according to an embodiment of the present invention.

도3에 도시된 바와 같이, 본 발명에서 로봇 매니퓰레이터(200)의 충돌을 감지하는 방법은 최초에 다수의 경유점(way point)들을 정의하여 신경망 연산부(150)가 사이클 정규화를 통해 전처리 연산을 수행한다.<S30>As illustrated in FIG. 3, in the present invention, the method for detecting the collision of the robot manipulator 200 initially defines a number of way points, so that the neural network operator 150 performs pre-processing through cycle normalization. <S30>

이후 충돌 측정부(150)로부터 충돌신호를 획득한다.<S31>Thereafter, a collision signal is obtained from the collision measurement unit 150. <S31>

다음으로, 신경망이 충돌신호를 기반으로 학습한다.<S32>Next, the neural network learns based on the collision signal. <S32>

마지막으로, 학습된 신경망이 실시간으로 충돌을 감지한 신호를 전달하여 제어를 수행한다.<S33>Finally, the trained neural network performs control by transmitting a signal that detects collision in real time. <S33>

이와 같은 전체적인 과정을 통해 본 발명에 따른 로봇 매니퓰레이터(200)는 충돌을 학습하고, 이후 실시간으로 충돌을 감지하여 관절에 대한 제어를 수행할 수 있다.Through this entire process, the robot manipulator 200 according to the present invention learns a collision, and then detects a collision in real time to perform control of the joint.

<사이클 정규화><cycle normalization>

이하에서는 도면을 통하여 전처리 연산 과정인 사이클 정규화에 대한 설명을 이어가기로 한다.Hereinafter, description of cycle normalization, which is a pre-processing operation, will be continued through the drawings.

도4는 본 발명의 실시예에 따른 로봇 매니퓰레이터(200)의 충돌을 감지하는 방법에서 충돌 발생의 여부를 감지하는 흐름에 관한 도면이다.4 is a diagram of a flow for detecting whether a collision has occurred in a method of detecting a collision of the robot manipulator 200 according to an embodiment of the present invention.

도4에 도시된 바와 같이, 본 발명에서는 충격 또는 충돌을 감지하여 관절을 제어하는 로봇 신호를 전달하기 전에 사이클 정규화라는 전처리 과정을 거치게 된다. 사이클 정규화는 신경망을 전처리하여 일반화 성능을 향상시킴으로써, 로봇의 모션 (로봇의 속도 및 경로), 로봇이 들고있는 물체의 무게가 바뀐다 할지라도 신경망의 충돌감지 성능은 높은 수준으로 유지시킬 수 있다.As shown in FIG. 4, in the present invention, a pre-processing process called cycle normalization is performed before transmitting a robot signal for controlling a joint by detecting an impact or a collision. Cycle normalization improves the generalization performance by preprocessing the neural network, so that the collision detection performance of the neural network can be maintained at a high level even if the robot's motion (robot speed and path) and the weight of the object held by the robot change.

구체적으로, 로봇의 모션 프로그램은 사용자가 지정한 다수개의 경유점 (waypoint)들을 차례로 경유하는 것으로 정의하였을 때, 지정된 경유점 중 첫 번째 경유점부터 마지막 경유점까지 차례대로 거친 후 다시 첫 번째 경유점으로 경로이동을 하는 것을 하나의 사이클로 정의한다.Specifically, when a robot motion program is defined as passing through a number of waypoints designated by a user in sequence, it passes through the first stoppoint to the last stoppoint in sequence, and then back to the first stoppoint. Path movement is defined as one cycle.

예를 들어, 경유점이 3개라고 가정하였을 때, 로봇 매니퓰레이터(200)의 동작은 1번 경유점부터 시작하여 2, 3번 경유점을 거쳐 다시 1번 경유점까지 도달하는 경로를 사이클로 정의할 수 있다. 따라서 자동화를 위해 반복적인 작업을 하는 로봇 매니퓰레이터(200)는 사이클을 반복하는 것을 의미한다.For example, assuming that there are three waypoints, the operation of the robot manipulator 200 may be defined as a cycle that starts from waypoint 1 and passes through waypoints 2 and 3 to reach waypoint 1 again. have. Therefore, the robot manipulator 200 that performs repetitive tasks for automation means repeating cycles.

로봇 매니퓰레이터(200)의 경유점을 최초 프로그래밍하고 이를 실행할 때, 첫 번째 사이클 모션을 수행하는 동안 제어부(140)는 첫 사이클의 전 구간에서의 로봇 신호를 제어부(140) 내에 구비된 메모리에 저장하며, 이와 같이 사이클 전체의 신호를 저장한 사이클을 참조 사이클(reference cycle)이라고 정의할 수 있다. 아울러, 참조 사이클 이후의 사이클은 실시 사이클(execution cycle)이라고 정의할 수 있다.When the waypoint of the robot manipulator 200 is first programmed and executed, while performing the first cycle motion, the controller 140 stores the robot signals in all sections of the first cycle in a memory provided in the controller 140, In this case, a cycle in which the signal of the entire cycle is stored may be defined as a reference cycle. In addition, the cycle after the reference cycle can be defined as an execution cycle.

최초 로봇 프로그램이 작성되면 사이클의 크기는 일정 크기로 고정되며, 이 크기는 제어 주기와 모션의 길이에 의해 결정될 수 있다. 예를 들어, 임의의 로봇 프로그램이 주어진 경유점을 모두 경유하는데 2초의 시간이 소요되고, 로봇 매니퓰레이터(200)의 제어 주기가 4000Hz(초당 4000회 씩 제어)라고 하였을 때, 2초 동안 총 8,000번의 제어 연산을 수행하여 로봇 신호를 획득하고 저장하므로, 해당 모션의 사이클 크기는 8,000이다. 이에 따라, 8,000개의 로봇 신호를 참조 사이클로 구성하여 메모리에 저장할 수 있다. 로봇 매니퓰레이터(200)는 프로그램에 정의된 대로 반복적인 작업을 수행하므로 로봇 프로그램을 수정하지 않는 한 참조 사이클과 실시 사이클의 크기는 동일할 것이다. 그러나 실시간 운영체제의 제어주기 연산 오차로 인해 실제 구동 시에는 참조 사이클과 실시 사이클의 크기에 +5, -5 정도의 오차가 발생할 수 있다.When the initial robot program is created, the cycle size is fixed to a certain size, and this size can be determined by the control cycle and the length of the motion. For example, when it takes 2 seconds for any robot program to pass all of the given waypoints, and the control cycle of the robot manipulator 200 is 4000 Hz (controls 4000 times per second), a total of 8,000 times for 2 seconds Since the robot signal is obtained and stored by performing the control operation, the cycle size of the corresponding motion is 8,000. Accordingly, 8,000 robot signals can be configured in a reference cycle and stored in a memory. Since the robot manipulator 200 performs repetitive tasks as defined in the program, the size of the reference cycle and the execution cycle will be the same unless the robot program is modified. However, due to the error in the control cycle operation of the real-time operating system, errors of +5 and -5 may occur in the size of the reference cycle and the execution cycle during actual driving.

로봇 신호에 대해 보다 상세하게 설명하기로 한다. 예를 들어, 6자유도 로봇 매니퓰레이터(200)에 대해 적용한다고 하였을 때, 제어부(140)를 통해 매 제어주기마다 획득되는 관절 각도를

Figure 112019111231519-pat00001
, 관절 각속도를
Figure 112019111231519-pat00002
, 그리고 로봇에 인가되는 제어토크를
Figure 112019111231519-pat00003
이라고 가정한다.The robot signal will be described in more detail. For example, when applying to the six-degree-of-freedom robot manipulator 200, the joint angle obtained at every control cycle through the control unit 140 is determined.
Figure 112019111231519-pat00001
, Angular joint velocity
Figure 112019111231519-pat00002
, And the control torque applied to the robot
Figure 112019111231519-pat00003
Is assumed.

이 때 로봇 신호는 관절 각도에 대한 신호, 관절 각속도에 관한 신호들을 전부 포함하는 것이며, 수학식 벡터

Figure 112019111231519-pat00004
로 정의할 수 있다. 로봇 신호는 자유도에 따라 가변적인 것뿐만 아니라 제어부(140)의 연산을 통해 획득되는 별도 신호 또한 로봇 신호로 추가할 수 있다. 예를 들어, 목표 관절 각도
Figure 112019111231519-pat00005
와 관절각 오차
Figure 112019111231519-pat00006
등도 로봇 신호에 포함되거나 제외될 수 있다.At this time, the robot signal includes all signals related to the joint angle and the joint angular velocity.
Figure 112019111231519-pat00004
It can be defined as The robot signal is not only variable according to the degree of freedom, but also a separate signal obtained through the operation of the controller 140 can be added as a robot signal. For example, the target joint angle
Figure 112019111231519-pat00005
And joint angle error
Figure 112019111231519-pat00006
The back may also be included or excluded from the robot signal.

여기서 시간 변수를 t 라고 할 때, 현재 시각에서의 로봇 신호는 xt로 표현한다. 로봇 신호는 신경망의 입력으로 사용되며 신경망이 로봇 신호의 패턴을 분석할 수 있도록 슬라이딩 윈도우(sliding window) 기법을 적용할 수 있다. 슬라이딩 윈도우의 크기를 W라고 가정할 경우, 슬라이딩 윈도우가 적용된 로봇 신호는 아래 수학식과 같이 표현 될 수 있다.Here, when the time variable is t, the robot signal at the current time is expressed as x t . The robot signal is used as the input of the neural network, and a sliding window technique can be applied so that the neural network can analyze the pattern of the robot signal. Assuming that the size of the sliding window is W, the robot signal to which the sliding window is applied can be expressed as the following equation.

Figure 112019111231519-pat00007
Figure 112019111231519-pat00007

이는 현재 시각 기준으로 과거 W개의 데이터를 포함하는 것을 의미한다. 로봇 매니퓰레이터(200)의 제어는 이산시간(discrete time)으로 이루어지기 때문에 시간변수 t 를 사이클 내의 위치를 나타내는 인덱스로 표현할 수 있다.This means that W data of the past is included as the current time reference. Since the control of the robot manipulator 200 is made of discrete time, the time variable t can be expressed as an index indicating the position in the cycle.

앞서 예시와 같이 로봇 매니퓰레이터(200)의 모션이 2초간 8,000번의 제어를 통해 수행되는 실시 사이클에서 크기 200의 슬라이딩 윈도우를 적용한다고 가정한다. 이 때 현재 시각은 사이클 시작을 기준으로 2,000번째 제어주기가 시작되는 시각일 경우 실시 사이클에서의 로봇 신호는 아래와 같이 표현할 수 있다.As in the example above, it is assumed that the sliding window of size 200 is applied in the execution cycle in which the motion of the robot manipulator 200 is performed through 8,000 controls for 2 seconds. At this time, if the current time is the time when the 2,000th control cycle starts based on the cycle start, the robot signal in the execution cycle can be expressed as follows.

Figure 112019111231519-pat00008
Figure 112019111231519-pat00008

이는 현재 시각을 기준으로 현재를 포함한 과거 W개의 로봇 신호를 연결한 것이며, 이를 위해 W보다 많은 과거 데이터를 일시적으로 메모리에 저장해야 매 시각 슬라이딩 윈도우 신호를 획득할 수 있다.This is to connect the past W robot signals including the present based on the current time, and for this, it is necessary to temporarily store more past data than W in the memory to obtain the sliding window signal every time.

참조 사이클에 슬라이딩 윈도우를 적용할 경우에는 전체 사이클의 로봇 신호가 저장되어 있으므로 저장된 로봇 신호 중 1801번째부터 2000번째 신호를 추출하면 참조 사이클에 대한 슬라이딩 윈도우 로봇 신호를 획득할 수 있으며, 이는 아래와 같이 표현할 수 있다. When the sliding window is applied to the reference cycle, the robot signal of the entire cycle is stored, so by extracting the 1801th to 2000th signals from the stored robot signals, the sliding window robot signal for the reference cycle can be obtained. Can.

Figure 112019111231519-pat00009
Figure 112019111231519-pat00009

이 때 사이클 정규화는 동일한 타이밍에서의 참조 사이클과 실시 사이클의 로봇 신호의 차로 표현되며, 이는 아래 수학식으로 표현될 수 있다.At this time, the cycle normalization is expressed by the difference between the reference cycle at the same timing and the robot signal of the execution cycle, which can be expressed by the following equation.

Figure 112019111231519-pat00010
Figure 112019111231519-pat00010

이 때

Figure 112019111231519-pat00011
은 사이클 시작 인덱스를 0이라 하였을 때 t 번째 시각에서의 최종 사이클 정규화 로봇 신호이며, 이는 신경망의 입력으로 사용된다. At this time
Figure 112019111231519-pat00011
Is the final cycle normalization robot signal at the t-th time when the cycle start index is 0, which is used as the input of the neural network.

이와 같이 사이클 정규화는 실시 사이클에서 참조 사이클에서의 모션과의 신호차를 통해 실시간으로 신호 정규화를 수행하며, 이를 통해 모션의 경유점, 로봇 매니퓰레이터(200)의 속도, 로봇 매니퓰레이터(200)의 무게 등이 바뀐다 할지라도 정규화된 신호 패턴은 일정하게 유지될 수 있기 때문에 신경망의 일반화 성능을 향상시킬 수 있다.In this way, the cycle normalization performs signal normalization in real time through a signal difference from the motion in the reference cycle in the execution cycle, and through this, the waypoint of the motion, the speed of the robot manipulator 200, the weight of the robot manipulator 200, etc. Even if this is changed, the normalized signal pattern can be kept constant, thereby improving the generalization performance of the neural network.

<신경망 학습><Learning Neural Networks>

또한, 신경망이 학습데이터를 기반으로 학습하는 과정을 도면을 통해 상세하게 설명하기로 한다.In addition, the process of the neural network learning based on the learning data will be described in detail through the drawings.

도5는 본 발명의 실시예에 따른 로봇 매니퓰레이터(200)의 충돌을 감지하는 방법에서 신경망이 학습데이터를 학습하는 과정을 개략적으로 나타낸 도면이다.5 is a diagram schematically showing a process in which a neural network learns learning data in a method of detecting a collision of a robot manipulator 200 according to an embodiment of the present invention.

도5에 도시된 바와 같이, 본 발명에서 신경망은 신호와 라벨의 쌍으로 이루어진 학습데이터를 기반으로 지도학습(supervised learning)을 통해 충돌신호를 학습할 수 있다. 지도학습은 신호와 라벨의 쌍으로 이루어진 데이터를 통해 신경망에게 주어진 신호에 대한 정답을 반복적으로 알려줌으로써 학습시키는 방법이다.As shown in FIG. 5, in the present invention, the neural network may learn a collision signal through supervised learning based on learning data consisting of a pair of signals and labels. Supervised learning is a method of learning by repeatedly notifying the correct answer to a given signal to a neural network through data consisting of a pair of signals and labels.

또한, 본 발명에서 충돌에 대한 감지의 목적은 알고리즘 측면에서 충돌이 발생했는지의 유무를 판단하는 것이다. 이는 True, False로 나타낼 수 있는 이진 신호이다. 따라서 신경망은 충돌이 발생했을 때 True 신호를 출력하고, 충돌이 발생하지 않았을 때는 False 신호를 출력하도록 학습될 수 있다.In addition, in the present invention, the purpose of detecting a collision is to determine whether a collision has occurred in terms of an algorithm. This is a binary signal that can be represented as True or False. Therefore, the neural network can be trained to output a True signal when a collision occurs and a False signal when a collision does not occur.

본 발명에서는 종래의 기술과 비교하여 추가적인 센서를 사용하지 않는 것이 차이점이긴 하나, 학습데이터를 획득하는 과정에서는 관절의 일측에 충돌 측정부(150)를 구비하여 접촉을 통해 충돌에 대한 신호를 획득할 수 있다. 이러한 충돌 측정부(150)는 예를 들어 압력센서 또는 FSR(force sensitive resistor)이 구비될 수 있고, 접촉을 통해 온-오프 됨에 따라 충돌을 측정할 수 있다.In the present invention, the difference is that an additional sensor is not used in comparison with the prior art, but in the process of acquiring learning data, a collision measurement unit 150 is provided on one side of the joint to acquire a signal for collision through contact. Can. The collision measurement unit 150 may be equipped with, for example, a pressure sensor or a force sensitive resistor (FSR), and may measure collision as it is turned on and off through contact.

충돌 측정부(150)는 제어부(140)와 연결된 상태이고, 제어부(140)가 로봇 매니퓰레이터(200)의 제어 연산 시 충돌 측정부(150)의 신호를 로봇 신호와 동기화 하여 획득할 수 있고, 로봇 매니퓰레이터(200)의 관절에서 임의의 부위에 부착한 후 프로그램에 따라 반복적으로 작동될 수 있다.The collision measurement unit 150 is connected to the control unit 140, and when the control unit 140 performs a control operation of the robot manipulator 200, the collision measurement unit 150 signal can be obtained by synchronizing with the robot signal, and the robot After attaching to any part of the joint of the manipulator 200, it can be operated repeatedly according to a program.

로봇 매니퓰레이터(200)가 동작하는 동안, 예를 들어 관절에 부착된 충돌 측정부(150)에 손이나 도구를 이용하여 충격을 가하게 되면, 충돌 측정부(150)를 통해 관절에 가해지는 충돌 신호가 획득될 수 있다.While the robot manipulator 200 is operating, when a shock is applied to the collision measuring unit 150 attached to the joint using a hand or a tool, a collision signal applied to the joint through the collision measuring unit 150 is generated. Can be obtained.

또한, 관절의 모션 프로그램, 충돌 측정부(150)의 부착위치, 모션 내에서 충돌이 발생하는 타이밍을 무작위로 하여 반복해서 로봇 신호와 충돌 신호를 획득될 수 있다.In addition, a robot signal and a collision signal may be obtained by repeating a motion program of a joint, an attachment position of the collision measurement unit 150, and a timing in which a collision occurs in motion at random.

이 때 획득된 신호 중 충돌 측정부(150)의 신호를 y로 표면하고, 충돌 신호로 정의할 수 있다. 현재 시각에서의 충돌신호를

Figure 112019111231519-pat00012
라고 하였을 때, 신경망을 학습시키기 위한 신호-라벨 데이터 쌍은
Figure 112019111231519-pat00013
로 정의할 수 있다.At this time, the signal of the collision measurement unit 150 among the acquired signals may be surfaced with y and defined as a collision signal. The collision signal at the current time
Figure 112019111231519-pat00012
Is a signal-label data pair for training a neural network.
Figure 112019111231519-pat00013
It can be defined as

학습데이터를 충분히 획득한 후 신경망을 지도학습 방법을 통해 학습시키는데, 이 때 사용된 신경망 또는 인공신경망은 콘볼루션 신경망 (Convolution neural network) 형태이다. 이는 종래에 일반적으로 이용되는 백 프로파게이션(back propagation) 방법을 통해 신경망을 학습하는 것이며, 손실함수는 분류기(classification)를 학습시키는데 주로 이용되는 이진 크로스엔트로피(binary cross-entropy)를 이용할 수 있다.After sufficiently obtaining the learning data, the neural network is trained through a supervised learning method. The neural network or artificial neural network used at this time is in the form of a convolutional neural network. This is to train a neural network through a back propagation method commonly used in the prior art, and the loss function can use binary cross-entropy, which is mainly used to learn classification. .

<실시간 신경망 추론><Real-time neural network inference>

아울러, 실시간 신경망 추론을 통해 로봇 매니퓰레이터(200)가 동작하는 중에 실시간으로 충돌감지를 수행할 수 있다. 최초 사용자가 로봇 매니퓰레이터(200)를 구동하는 프로그램을 프로그래밍 하여 몇 개의 경유점을 지정한다고 하였을 때, 해당 경유점을 반복적으로 방문하는 로봇 매니퓰레이터 프로그램이라고 가정하기로 한다.In addition, collision detection can be performed in real time while the robot manipulator 200 is operating through real-time neural network inference. Assuming that the first user specifies several stops by programming a program that drives the robot manipulator 200, it will be assumed that the robot manipulator program repeatedly visits the stop.

이 때 첫 번째 사이클은 참조 사이클로써 참조 사이클의 모션을 수행하는 동안 앞서 설명한 바와 같이 제어부(140) 내부에 전체 사이클 구간의 로봇 신호를 메모리에 저장할 수 있다. 이러한 상황에서는 충돌이 발생하지 않아야 한다.In this case, the first cycle is a reference cycle, and while performing the motion of the reference cycle, the robot signal of the entire cycle section can be stored in the memory inside the controller 140 as described above. In this situation, a collision should not occur.

참조 사이클에서 충돌감지는 종래의 방법을 이용하여 충돌감지를 수행하며, 종래의 방법으로 참조 사이클에서 충돌감지가 되었을 때에는 다음 사이클을 다시 참조 사이클로서 새로이 로봇신호를 저장한다. 참조 사이클에서 충돌이 없이 정상적으로 사이클의 모든 로봇신호가 저장되면, 다음으로 실시 사이클이 수행된다.In the reference cycle, collision detection is performed using a conventional method, and when a collision is detected in the reference cycle in the conventional method, the next cycle is again stored as a reference cycle, and the robot signal is newly stored. If all robot signals of the cycle are normally stored without collision in the reference cycle, the execution cycle is performed next.

실시 사이클부터 제어부(140)는 로봇 신호를 정해진 슬라이딩 윈도우 크기만큼 메모리에 저장을 한다. 사이클 정규화를 적용한 로봇 신호는 사전에 학습된 신경망의 입력이 되며, 신경망은 이를 이용하여 추론연산을 수행한다.From the execution cycle, the control unit 140 stores the robot signal in the memory for a predetermined sliding window size. The robot signal to which the cycle normalization is applied becomes an input of a previously learned neural network, and the neural network performs inference calculation using this.

추론연산의 결과는 도5에 도시된 바와 같이, 신경망의 마지막 층이 Sigmoid 이기 때문에 0부터 1사이의 확률값이 되며, 확률값이

Figure 112019111231519-pat00014
보다 높을 경우 충돌이 발생한 것으로 설정할 수 있다. 이 때 일반적인
Figure 112019111231519-pat00015
은 0.5이지만, 실시예에 따라 0.6 또는 0.7이 적용될 수도 있다.As shown in Fig. 5, the result of inference calculation is a probability value between 0 and 1 because the last layer of the neural network is Sigmoid.
Figure 112019111231519-pat00014
If it is higher, it can be set as a collision. Common at this time
Figure 112019111231519-pat00015
Is 0.5, but 0.6 or 0.7 may be applied depending on the embodiment.

추론연산을 통해 충돌 유무를 판단하고 충돌이 발생했을 경우 제어부(140)는 안전 정지 기능을 수행하도록 한다. 안전정지는 충돌 발생 시 일반적인 로봇 반응이며, 실시 방법에 따라 다양한 로봇 반응을 설정할 수 있다.The existence of a collision is determined through inference calculation, and when a collision occurs, the controller 140 performs a safety stop function. Safety stop is a general robot reaction when a collision occurs, and various robot reactions can be set according to the method of implementation.

<로봇 매니퓰레이터 충돌 감지 시스템의 실험결과><Experimental results of the robot manipulator collision detection system>

이하에서는 본 발명에 따른 로봇 매니퓰레이터(200) 충돌 감지 시스템(100)과 종래의 모멘텀 옵저버를 통한 충돌 감지 시스템에 관해 비교한 실험결과를 설명하기로 한다.Hereinafter, experimental results comparing the robot manipulator 200 collision detection system 100 according to the present invention and a collision detection system through a conventional momentum observer will be described.

도6은 본 발명의 실시예에 따른 로봇 매니퓰레이터(200)의 충돌을 감지하는 시스템과 종래의 모멘텀 옵저버가 충돌을 감지한 것을 실험하여 비교한 결과를 나타낸 도면이고, 도7은 도6에 도시된 실험에서 모멘텀 옵저버의 충돌감지에 대한 경계값을 감소시켜 본 발명의 실시예에 따른 로봇 매니퓰레이터(200)의 충돌을 감지하는 시스템과 실험하여 비교한 결과를 나타낸 도면이다.FIG. 6 is a diagram showing the results of experiments comparing a system for detecting a collision of a robot manipulator 200 and a conventional momentum observer detecting a collision according to an embodiment of the present invention, and FIG. 7 is a diagram illustrated in FIG. 6 It is a diagram showing a result of experiment and comparison with a system for detecting a collision of a robot manipulator 200 according to an embodiment of the present invention by reducing a boundary value for collision detection of a momentum observer in an experiment.

도6 및 도7에 도시된 바와 같이, 본 발명에서 제안하는 사이클 정규화와 신경망을 이용한 충돌감지 알고리즘을 종래의 방법과 비교하는 실험을 수행하였다. 앞서 언급한 로봇 충돌감지의 성능평가 중 허위부정, 허위긍정 및 충돌감지 정확도 항목을 종래 방법과 비교하였다. 센서를 사용하지 않고 충돌감지를 수행하는 종래 방법은 모멘텀 옵저버 (momentum-based observer)를 통해 외력을 추정한 후, 추정된 외력이 미리 설정한 충돌감지 경계값 이상이 되었을 때 충돌감지를 하는 방법이다. 이는 모멘텁 옵저버 기반의 충돌감지라고 한다(이하 MOD, Momentum-based Observer-based collision Detector). 일반적으로, 상용 로봇과 로봇연구를 수행하는 연구자들이 일반적으로 많이 이용하는 방법이다.As shown in Figs. 6 and 7, experiments were performed to compare the collision normalization algorithm using the cycle normalization and neural networks proposed in the present invention with a conventional method. Among the performance evaluations of the aforementioned robot collision detection, false false, false positive and collision detection accuracy items were compared with the conventional methods. The conventional method of performing collision detection without using a sensor is a method of estimating an external force through a momentum-based observer and then detecting a collision when the estimated external force exceeds a preset collision detection boundary value. . This is called Momentum Observer-based collision detection (MOD, Momentum-based Observer-based collision Detector). In general, it is a method commonly used by commercial robots and researchers performing robot research.

충돌감지 경계값은 낮을수록 민감한 충돌감지를 할 수 있는 반면, 경계값이 낮음으로 인해 허위긍정이 발생할 수도 있다. 공평한 실험을 위해 종래 방법의 충돌감지 경계값을 허위긍정이 발생하지 않는 범위에서의 최소값으로 설정하였다. 이 때 종래 방법과 본 발명에서 제안하는 방법의 충돌감지 정확도와 민감도를 실험적으로 비교하였다.The lower the collision detection boundary value, the more sensitive collision detection can be, whereas the lower the boundary detection value, false positives may occur. For a fair experiment, the collision detection boundary value of the conventional method was set to a minimum value in a range in which false positives do not occur. At this time, the collision detection accuracy and sensitivity of the conventional method and the method proposed in the present invention were experimentally compared.

도6은 앞서 설명한 바에 대한 실험결과를 나타낸다. 본 실험에서는 6자유도 로봇 매니퓰레이터(200)에 본 발명에서 제안하는 충돌감지를 적용하였으며, 종래의 모멘텀 옵저버 기반의 충돌감지를 동일한 시스템에 적용하였다. MOD의 충돌감지 경계값을 허위긍정이 발생하지 않는 최소값으로 하였을 때에도 제안하는 충돌감지가 종래의 MOD 보다 더 빠르고, 민감하게 충돌을 인식하는 것을 확인할 수 있다.Figure 6 shows the results of the experiments as described above. In this experiment, the collision detection proposed in the present invention was applied to the six-degree-of-freedom robot manipulator 200, and a conventional momentum observer-based collision detection was applied to the same system. It can be seen that the proposed collision detection is faster and more sensitive than the conventional MOD even when the collision detection boundary value of the MOD is set to a minimum value that does not generate false positives.

이 때 MOD의 경계값을 보다 낮게 설정하여 좀 더 종래의 방법이 민감하게 충돌을 감지하도록 한다면, 도7에서와 같이 허위긍정이 발생하며, 이 때 본 발명에서 제안하는 방법은 허위긍정이 발생하지 않음을 확인할 수 있다. 이를 통해 종래의 MOD와 비교하였을 때 본 발명에서 제안하는 신경망 기반의 방법이 충돌감지의 민감도와 허위부정에 대한 강인성이 높음을 확인할 수 있다.At this time, if the boundary value of the MOD is set to be lower to allow the more conventional method to detect the collision sensitively, a false positive occurs as in FIG. 7, and in this case, the method proposed in the present invention does not generate a false positive. Can be confirmed. Through this, it can be confirmed that the neural network-based method proposed in the present invention has high sensitivity to collision detection and robustness against false negatives when compared with the conventional MOD.

상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면, 본 발명의 사상과 범위 안에서 다양한 수정, 변경 및 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 본 발명의 특허청구 범위에 속하는 것으로 보아야 할 것이다.The above-described preferred embodiments of the present invention are disclosed for the purpose of illustration, and those skilled in the art having ordinary knowledge of the present invention, various modifications, changes, and additions will be possible within the spirit and scope of the present invention. And additions should be considered to fall within the scope of the claims of the present invention.

100 : 로봇 매니퓰레이터 충돌 감지 시스템
110 : 관절 구동부
120 : 엔코더부
130 : 신경망 연산부
140 : 제어부
150 : 충돌 측정부
200 : 로봇 매니퓰레이터
100: robot manipulator collision detection system
110: joint driving unit
120: encoder unit
130: neural network operation unit
140: control unit
150: collision measurement unit
200: robot manipulator

Claims (12)

인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 시스템에 있어서,
로봇 매니퓰레이터의 복수의 관절에 구비되어 상기 복수의 관절을 각각 구동시키는 관절 구동부;
상기 관절 구동부의 일측에 구비되어 상기 복수의 관절의 각도를 측정하는 엔코더부;
충돌 신호에 관한 다량의 학습데이터를 기반으로 구비된 신경망이 학습하고, 전처리 연산을 통해 상기 복수의 관절이 외부와 충돌하는 것을 감지하도록 추론하는 신경망 연산부;를 포함하되,
상기 전처리 연산은 사이클 정규화(Cycle Normalization)를 통해 상기 신경망의 일반화를 수행하고,
상기 사이클 정규화는 지정된 다수의 경유점(way point)들을 정의하고, 지정된 경유점 중 첫 번째 경유점부터 마지막 경유점까지 차례대로 거친 후 다시 첫 번째 경유점으로 경로 이동을 하는 것으로 하나의 사이클을 정의하며,
상기 신경망 연산부는 신호와 라벨의 쌍으로 이루어진 학습데이터를 기반으로 지도학습(supervised learning)을 통해 충돌신호를 학습하고, 충돌이 발생하였을 시 True 신호를 출력하고, 충돌이 발생하지 않았을 시 False 신호인 이진 신호를 출력하며,
상기 신경망에 구비된 층 중에서 마지막 층은 0부터 1 사이의 확률값이고,
상기 신경망 연산부는 추론을 수행하여 상기 확률값이 0.5 이상일 경우 충돌이 발생하는 것으로 판단하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
In the system for detecting the collision of the robot manipulator using an artificial neural network,
A joint driving unit provided at a plurality of joints of the robot manipulator to drive the plurality of joints, respectively;
An encoder unit provided on one side of the joint driving unit to measure an angle of the plurality of joints;
It includes; a neural network operation unit for learning a neural network provided based on a large amount of learning data about a collision signal and inferring to detect that the plurality of joints collide with the outside through a pre-processing operation.
The pre-processing operation performs generalization of the neural network through cycle normalization,
The cycle normalization defines a number of waypoints, and one cycle is defined by going through the path from the first waypoint to the last waypoint and then moving to the first waypoint again. And
The neural network operation unit learns a collision signal through supervised learning based on learning data consisting of a pair of signals and labels, outputs a true signal when a collision occurs, and is a false signal when a collision does not occur. Output a binary signal,
The last layer among the layers provided in the neural network is a probability value between 0 and 1,
The neural network operation unit performs a reasoning to detect a collision of the robot manipulator, characterized in that if the probability value is 0.5 or more, a collision occurs.
삭제delete 삭제delete 제1항에 있어서,
상기 사이클과 관련한 정보를 저장하는 메모리를 더 포함하고,
정의된 상기 사이클의 전체 신호를 참조 사이클로 정의하여 상기 메모리에 저장하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
According to claim 1,
Further comprising a memory for storing information related to the cycle,
A system for detecting collision of a robot manipulator, characterized in that the entire signal of the defined cycle is defined as a reference cycle and stored in the memory.
제1항에 있어서,
상기 관절 구동부를 제어하기 위해 제어 입력에 관한 신호를 인가 및 연산을 수행하는 제어부를 더 포함하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
According to claim 1,
A system for detecting collision of a robot manipulator, further comprising a control unit for applying and calculating a signal related to a control input to control the joint driving unit.
제5항에 있어서,
상기 신호는 매 제어주기마다 획득되는 관절 각도, 관절 각속도 및 제어토크를 포함하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
The method of claim 5,
The signal is a system for detecting a collision of a robot manipulator, characterized in that it comprises a joint angle, joint angular velocity and control torque obtained at every control cycle.
제6항에 있어서,
상기 신호는 상기 신경망의 입력으로 사용하고,
슬라이딩 기법으로 상기 신호의 패턴을 분석하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
The method of claim 6,
The signal is used as an input of the neural network,
A system for detecting a collision of a robot manipulator, characterized by analyzing the pattern of the signal using a sliding technique.
삭제delete 삭제delete 제1항에 있어서,
상기 충돌신호를 학습하는 것은 복수의 상기 관절의 일측에 구비된 압력센서 또는 FSR(force sensitive resistor)의 접촉을 통해 충돌을 측정하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
According to claim 1,
Learning the collision signal is a system for detecting a collision of a robot manipulator, characterized in that the collision is measured through contact of a pressure sensor or a force sensitive resistor (FSR) provided on one side of the joint.
삭제delete 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법에 관한 것으로,
다수의 경유점(way point)들을 정의하여 신경망이 구비된 신경망 연산부가 사이클 정규화를 통해 전처리 연산을 수행하는 단계;
충돌 측정부로부터 충돌신호를 획득하는 단계;
상기 신경망이 충돌신호를 기반으로 학습하는 단계;
학습된 상기 신경망이 실시간으로 충돌을 감지한 신호를 전달하여 제어를 수행하는 단계;를 포함하되,
상기 전처리 연산은 사이클 정규화(Cycle Normalization)를 통해 상기 신경망의 일반화를 수행하고,
상기 사이클 정규화는 지정된 다수의 경유점(way point)들을 정의하고, 지정된 경유점 중 첫 번째 경유점부터 마지막 경유점까지 차례대로 거친 후 다시 첫 번째 경유점으로 경로 이동을 하는 것으로 하나의 사이클을 정의하며,
상기 신경망 연산부는 신호와 라벨의 쌍으로 이루어진 학습데이터를 기반으로 지도학습(supervised learning)을 통해 충돌신호를 학습하고, 충돌이 발생하였을 시 True 신호를 출력하고, 충돌이 발생하지 않았을 시 False 신호인 이진 신호를 출력하며,
상기 신경망에 구비된 층 중에서 마지막 층은 0부터 1 사이의 확률값이며,
상기 신경망 연산부는 추론을 수행하여 상기 확률값이 0.5 이상일 경우 충돌이 발생하는 것으로 판단하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 방법.
A method for detecting a collision of a robot manipulator using an artificial neural network,
Defining a plurality of way points to perform a preprocessing operation through cycle normalization by a neural network operation unit equipped with a neural network;
Obtaining a collision signal from the collision measurement unit;
Learning the neural network based on a collision signal;
Including the step of performing control by transmitting the signal that the learned neural network detects a collision in real time;
The pre-processing operation performs generalization of the neural network through cycle normalization,
The cycle normalization defines a number of waypoints, and one cycle is defined by going through the path from the first waypoint to the last waypoint and then moving to the first waypoint again. And
The neural network operation unit learns a collision signal through supervised learning based on learning data consisting of a pair of signals and labels, outputs a true signal when a collision occurs, and is a false signal when a collision does not occur. Output a binary signal,
The last layer among the layers provided in the neural network is a probability value between 0 and 1,
The neural network operation unit detects the collision of the robot manipulator, characterized in that for detecting the collision of the robot manipulator, characterized in that as the probability value is 0.5 or more to determine that a collision occurs.
KR1020190136622A 2019-10-30 2019-10-30 Collision Detection Method and System of Robot Manipulator Using Artificial Neural Network KR102139229B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020190136622A KR102139229B1 (en) 2019-10-30 2019-10-30 Collision Detection Method and System of Robot Manipulator Using Artificial Neural Network
KR1020200091433A KR102357168B1 (en) 2019-10-30 2020-07-23 Collision Detection Method and System of Robot Manipulator Using Artificial Neural Network
EP20881558.9A EP4052862A4 (en) 2019-10-30 2020-10-30 Method and system for detecting collision of robot manipulator using artificial neural network
PCT/KR2020/014982 WO2021086091A1 (en) 2019-10-30 2020-10-30 Method and system for detecting collision of robot manipulator using artificial neural network
US17/771,406 US20220398454A1 (en) 2019-10-30 2020-10-30 Method and system for detecting collision of robot manipulator using artificial neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190136622A KR102139229B1 (en) 2019-10-30 2019-10-30 Collision Detection Method and System of Robot Manipulator Using Artificial Neural Network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200091433A Division KR102357168B1 (en) 2019-10-30 2020-07-23 Collision Detection Method and System of Robot Manipulator Using Artificial Neural Network

Publications (1)

Publication Number Publication Date
KR102139229B1 true KR102139229B1 (en) 2020-07-29

Family

ID=71893423

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190136622A KR102139229B1 (en) 2019-10-30 2019-10-30 Collision Detection Method and System of Robot Manipulator Using Artificial Neural Network

Country Status (1)

Country Link
KR (1) KR102139229B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021086091A1 (en) * 2019-10-30 2021-05-06 주식회사 뉴로메카 Method and system for detecting collision of robot manipulator using artificial neural network
CN114055479A (en) * 2022-01-04 2022-02-18 广东工业大学 Dragging teaching spraying robot collision early warning method, medium and equipment
CN117067220A (en) * 2023-10-16 2023-11-17 广州上诺生物技术有限公司 Neural network-based blood bank mechanical arm collision-free path planning method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05119815A (en) * 1991-10-28 1993-05-18 Toshiba Corp Obstacle avoiding method using neural network
JPH07223181A (en) * 1994-02-09 1995-08-22 Yaskawa Electric Corp Interference checking device for manipulator
KR20150080050A (en) * 2013-12-30 2015-07-09 전자부품연구원 Collision sensing apparatus of articulated robot and method using the same
KR20170126997A (en) * 2015-05-21 2017-11-20 구글 엘엘씨 The vector computation unit of the neural network processor
WO2019162109A1 (en) * 2018-02-23 2019-08-29 Abb Schweiz Ag Robot system and operation method
KR20190114083A (en) 2018-03-29 2019-10-10 조황해 Rail System

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05119815A (en) * 1991-10-28 1993-05-18 Toshiba Corp Obstacle avoiding method using neural network
JPH07223181A (en) * 1994-02-09 1995-08-22 Yaskawa Electric Corp Interference checking device for manipulator
KR20150080050A (en) * 2013-12-30 2015-07-09 전자부품연구원 Collision sensing apparatus of articulated robot and method using the same
KR20170126997A (en) * 2015-05-21 2017-11-20 구글 엘엘씨 The vector computation unit of the neural network processor
WO2019162109A1 (en) * 2018-02-23 2019-08-29 Abb Schweiz Ag Robot system and operation method
KR20190114083A (en) 2018-03-29 2019-10-10 조황해 Rail System

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
허영진 외 6명, "Collision Detection for Industrial Collaborative Robots: A Deep Learning Approach", IEEE ROBOTICS AND AUTOMATION LETTERS, Vol.4, No.2, pp.740~746 (2019.04.)* *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021086091A1 (en) * 2019-10-30 2021-05-06 주식회사 뉴로메카 Method and system for detecting collision of robot manipulator using artificial neural network
CN114055479A (en) * 2022-01-04 2022-02-18 广东工业大学 Dragging teaching spraying robot collision early warning method, medium and equipment
CN117067220A (en) * 2023-10-16 2023-11-17 广州上诺生物技术有限公司 Neural network-based blood bank mechanical arm collision-free path planning method
CN117067220B (en) * 2023-10-16 2024-01-02 广州上诺生物技术有限公司 Neural network-based blood bank mechanical arm collision-free path planning method

Similar Documents

Publication Publication Date Title
KR102357168B1 (en) Collision Detection Method and System of Robot Manipulator Using Artificial Neural Network
KR102139229B1 (en) Collision Detection Method and System of Robot Manipulator Using Artificial Neural Network
Zhang et al. Recurrent neural network for motion trajectory prediction in human-robot collaborative assembly
US10807235B2 (en) Machine learning device, robot controller, robot system, and machine learning method for learning action pattern of human
US10953538B2 (en) Control device and learning device
US20180354125A1 (en) Controller and machine learning device
KR102513854B1 (en) Control apparatus, robot, learning apparatus, robot systems and method
Johansson et al. State-space system identification of robot manipulator dynamics
Nicolis et al. Human intention estimation based on neural networks for enhanced collaboration with robots
KR20150080050A (en) Collision sensing apparatus of articulated robot and method using the same
CN111712356A (en) Robot system and method of operation
Sotoudehnejad et al. Counteracting modeling errors for sensitive observer-based manipulator collision detection
KR101820580B1 (en) Safe robot with path progress variables
Ligutan et al. Design and implementation of a fuzzy logic-based joint controller on a 6-DOF robot arm with machine vision feedback
Buitrago-Martínez et al. Hierarchical reinforcement learning approach for motion planning in mobile robotics
KR101487624B1 (en) Method for controlling robot manipulator device with a redundant dof for detecting abnormal external force
Skubic et al. Learning force-based assembly skills from human demonstration for execution in unstructured environments
Wagner et al. Interval-arithmetic-based trajectory scaling and collision detection for robots with uncertain dynamics
Dimeas et al. Robot collision detection based on fuzzy identification and time series modelling
Maithani et al. Predicting human intent for cooperative physical human-robot interaction tasks
Nguyen et al. Evaluation of data-driven models in human-robot load-sharing
Grella et al. Voluntary Interaction Detection for Safe Human-Robot Collaboration
KR102482530B1 (en) Robot system with ai-based collision detection and method for generating ai-based learning data for collision detection
JP2005125475A (en) Architecture capable of learning best course by single successful trial
KR101970951B1 (en) Apparatus and method of collision detection of robot manipulator

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant