WO2021086091A1 - 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템 - Google Patents

인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템 Download PDF

Info

Publication number
WO2021086091A1
WO2021086091A1 PCT/KR2020/014982 KR2020014982W WO2021086091A1 WO 2021086091 A1 WO2021086091 A1 WO 2021086091A1 KR 2020014982 W KR2020014982 W KR 2020014982W WO 2021086091 A1 WO2021086091 A1 WO 2021086091A1
Authority
WO
WIPO (PCT)
Prior art keywords
collision
neural network
signal
robot manipulator
cycle
Prior art date
Application number
PCT/KR2020/014982
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020190136622A external-priority patent/KR102139229B1/ko
Application filed by 주식회사 뉴로메카 filed Critical 주식회사 뉴로메카
Priority to EP20881558.9A priority Critical patent/EP4052862A4/en
Priority to US17/771,406 priority patent/US20220398454A1/en
Publication of WO2021086091A1 publication Critical patent/WO2021086091A1/ko

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/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37399Pressure
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39082Collision, real time collision avoidance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39093On collision, ann, bam, learns path on line, used next time for same command

Definitions

  • the present invention relates to a method and system for detecting a collision of a robot manipulator using an artificial neural network, and to a technology for the robot manipulator to detect a collision through learning using an artificial neural network.
  • Similar to the human upper limb means that the hand is attached to the arm, but the tool is attached directly to the arm without a hand, and it is the same as holding the tool in the hand to perform the work. It can be treated as similar to the upper limb.
  • the mechanical hand may include an absorber and a hook.
  • manipulators operated by humans are called manual manipulators, and those that have manipulators that operate based on information from memory devices (fixed sequence control devices, variable sequence control devices) are classified as industrial robots, although they are out of safety rules. I'm doing it.
  • the six-character guided robot manipulator which is mainly used for automation, can perform precise motion control.
  • the robot moves according to the programmed motion and collides with an operator, the robot may injure the operator because it outputs a large torque to continue moving to the desired position. Therefore, in order to ensure the safety of workers working in the same space as the robot, a collision detection function is required that detects a collision by itself and stops the driving operation.
  • a torque sensor is attached to each joint in order for a robot to detect a collision, and an external collision is sensed through a value measured by the torque sensor. Through this, collision can be sensitively detected.
  • torque sensors are attached to all joints of a 6-axis articulated robot, economic problems may occur.
  • the present invention is to solve the problems of the prior art as described above, and an object of the present invention is to detect a collision sensitively by learning data on collision detection by a robot equipped with a multi-axis through an artificial neural network.
  • a system for detecting a collision of a robot manipulator using an artificial neural network comprising: a joint driving unit provided in 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 the angles of the plurality of joints; And a neural network operator for inferring to sense that the plurality of joints collide with the outside through a preprocessing operation by learning a neural network with a large amount of data.
  • the preprocessing operation is characterized in that the neural network is generalized through cycle normalization.
  • the cycle normalization is to define a number of designated way points, go through sequentially from the first way point to the last way point among designated way points, and then move the path to the first way point again. It characterized in that it defines.
  • 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.
  • control unit for applying and performing a signal related to the control input to control the joint driving unit.
  • the signal is characterized in that it includes a joint angle, joint angular velocity, and control torque obtained every control cycle.
  • the signal is used as an input of the neural network, and a pattern of the signal is analyzed using a sliding technique.
  • the neural network is characterized in that it learns a collision signal through supervised learning based on learning data consisting of a pair of signals and labels.
  • 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 no collision occurs.
  • learning the collision signal is characterized in that the collision is measured through contact with a pressure sensor or force sensitive resistor (FSR) provided on one side of the plurality of joints.
  • FSR force sensitive resistor
  • the last layer among the layers of the neural network is a probability value between 0 and 1, and it is characterized in that it is determined that a collision occurs when the probability value is 0.5 or more according to the inference of the neural network.
  • the method of detecting a collision of a robot manipulator using an artificial neural network for achieving the above object includes: defining a plurality of way points and performing a preprocessing operation by a neural network operator through cycle normalization; Obtaining a collision signal from a collision measurement unit; Learning by the neural network based on the collision signal; The learned neural network transmits a signal that detects a collision in real time to perform control.
  • the method and system for detecting collision of a robot manipulator using an artificial neural network according to the present invention has the following effects.
  • collision can be sensitively detected without performance change.
  • it is possible to perform real-time collision detection using only the current applied to the robot and the joint angle and joint angular velocity measured by the encoder attached to the joint, which is essentially required for robot control.
  • FIG. 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.
  • FIG. 2 is a block diagram of a system for detecting collision of a robot manipulator according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of a method of detecting a collision of a robot manipulator according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating a flow of detecting whether a collision has occurred in a method of detecting a collision of a robot manipulator according to an exemplary embodiment of the present invention.
  • FIG. 5 is a diagram schematically illustrating a process in which a neural network learns learning data in a method of detecting 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 between a collision detection system of a robot manipulator according to an embodiment of the present invention and a collision detection by a conventional momentum observer.
  • FIG. 7 is a view showing results of experiment and comparison with a system for detecting collision of a robot manipulator according to an embodiment of the present invention by reducing a threshold value for collision detection of a momentum observer in the experiment shown in FIG. 6.
  • FIG. 1 is a perspective view of a robot manipulator equipped with a system for detecting a collision of a robot manipulator according to an exemplary embodiment of the present invention
  • FIG. 2 is a block diagram of a system for detecting a collision of a robot manipulator according to an exemplary embodiment of the present invention.
  • a robot manipulator 200 equipped with a system for detecting a collision of a robot manipulator 200 according to an embodiment of the present invention is provided with a plurality of joints or axes, and a plurality of The joints can be operated by rotating based on each provided rotation axis.
  • the robot manipulator 200 collision detection system 100 may include a joint drive unit 110, an encoder unit 120, a neural network operation unit 130, a control unit 140, and a collision measurement unit 150.
  • the joint driving unit 110 is a component that drives a 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 at each of a plurality of joints forming the robot manipulator 200.
  • the joint driving unit 110 may drive a joint according to a signal transmitted from the control unit 140.
  • the signal included in controlling the joint is a signal related to a joint angle, a signal related to a joint angular velocity and a control error obtained through calculation of the controller 140 from the joint angle, and a current signal applied to the joint motor. Signals included in controlling these joints may also be referred to as robot signals.
  • the encoder unit 120 is provided on one side of the joint driving unit 110 to measure the angle of the joint.
  • the neural network operation unit 130 is equipped with a neural network, the neural network learns a collision signal based on the learning data, and the learned neural network infers an input signal in real time to detect a collision.
  • the neural network operation unit 130 may be configured with, for example, General-Purpose computing on Graphics Processing Units (GPGPU).
  • GPGPU Graphics Processing Unit
  • the neural network operation unit 130 may perform a preprocessing operation to facilitate detection of the collision. In this case, the generalization performance of the neural network can be improved through cycle normalization in the preprocessing operation.
  • the motion of the robot manipulator 200 changes, or if the weight of the object held by the robot manipulator 200 changes, the detection performance for collision may change, resulting in a decrease in reliability.
  • 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) and the weight of the object held by the robot manipulator 200 Even if it is changed, the collision detection performance of the neural network can be maintained at a high level.
  • the controller 140 may apply a control input to the robot manipulator 200 and perform an operation.
  • the control input may include current and torque.
  • FIG 3 is a flowchart of a method of detecting a collision of the robot manipulator 200 according to an embodiment of the present invention.
  • the neural network operation unit 150 initially defines a plurality of way points, and the neural network operation unit 150 performs a pre-processing operation through cycle normalization. Do it. ⁇ S30>
  • the learned neural network transmits a signal that detects collision in real time to perform control.
  • the robot manipulator 200 may learn a collision and then detect the collision in real time to perform control on the joint.
  • cycle normalization which is a pre-processing operation
  • FIG. 4 is a diagram illustrating a flow of detecting whether a collision has occurred in a method of detecting a collision of the robot manipulator 200 according to an exemplary embodiment of the present invention.
  • Cycle normalization improves generalization performance by preprocessing the neural network, so even if the motion of the robot (the speed and path of the robot) and the weight of the object held by the robot change, the collision detection performance of the neural network can be maintained at a high level.
  • the motion program of the robot when defined as passing through a number of waypoints designated by the user in sequence, it goes through sequentially from the first waypoint among the designated waypoints to the last waypoint, and then goes back to the first waypoint.
  • Path movement is defined as one cycle.
  • the operation of the robot manipulator 200 starts from the first waypoint, passes through the second and third waypoints, and reaches the first waypoint again as a cycle. have. Therefore, the robot manipulator 200 that performs repetitive tasks for automation means repeating the cycle.
  • the control unit 140 When initially programming the transit point of the robot manipulator 200 and executing it, the control unit 140 stores the robot signal in the entire section of the first cycle in the memory provided in the control unit 140 while performing the first cycle motion. In this way, a cycle in which the signal of the entire cycle is stored may be defined as a reference cycle. In addition, a cycle after the reference cycle may be defined as an execution cycle.
  • the size of the cycle is fixed to a certain size, and this size can be determined by the control period and the length of the motion. For example, assuming that it takes 2 seconds for an arbitrary robot program to go through all the given waypoints, and the control cycle of the robot manipulator 200 is 4000 Hz (controlling 4,000 times per second), a total of 8,000 times per second. Since the robot signal is acquired and stored by performing a control operation, the cycle size of the motion is 8,000. Accordingly, 8,000 robot signals can be configured as reference cycles 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 implementation cycle will be the same unless the robot program is modified. However, due to the control cycle operation error of the real-time operating system, errors of +5 or -5 may occur in the size of the reference cycle and the execution cycle during actual operation.
  • the robot signal will be described in more detail.
  • the robot signal is not only variable according to the degree of freedom, but also a separate signal obtained through an operation of the controller 140 may be added as a robot signal.
  • the robot signal at the current time is expressed as X t.
  • the robot signal is used as an input to 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.
  • the time variable t can be expressed as an index indicating the position in the cycle.
  • the robot signal in the implementation cycle can be expressed as follows.
  • X 2000 [x 1801 ,... , x 1999 , x 2000 ]
  • the robot signal of the entire cycle is stored. Therefore, by extracting the 1801th to 2000th signals from the stored robot signals, the sliding window robot signal for the reference cycle can be obtained, which can be expressed as follows. I can.
  • the cycle normalization is expressed as the difference between the reference cycle and the robot signal of the implementation cycle at the same timing, which can be expressed by the following equation.
  • the cycle normalization performs signal normalization in real time through the signal difference with the motion in the reference cycle in the implementation cycle, and through this, the waypoint of 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, thus improving the generalization performance of the neural network.
  • FIG. 5 is a diagram schematically illustrating 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.
  • a 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 telling a neural network the correct answer to a given signal through data consisting of pairs of signals and labels.
  • the purpose of detecting a collision is to determine whether or not 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 no collision occurs.
  • a collision measurement unit 150 is provided on one side of the joint to obtain a signal for collision through contact. I can.
  • the collision measurement unit 150 may be provided with, for example, a pressure sensor or a force sensitive resistor (FSR), and may measure the collision as it is turned on and off through contact.
  • FSR force sensitive resistor
  • the collision measurement unit 150 is in a state connected to the control unit 140, and when the control unit 140 performs a control operation of the robot manipulator 200, the signal of the collision measurement unit 150 can be obtained by synchronizing with the robot signal. After attaching to an arbitrary part of the joint of the manipulator 200, it may be repeatedly operated according to a program.
  • While the robot manipulator 200 is operating, for example, if an impact is applied to the collision measuring unit 150 attached to the joint by using a hand or a tool, a collision signal applied to the joint through the collision measuring unit 150 is transmitted. Can be obtained.
  • a robot signal and a collision signal may be repeatedly obtained by randomly selecting a motion program of a joint, an attachment position of the collision measurement unit 150, and a timing at which a collision occurs in the motion.
  • the signal of the collision measurement unit 150 may be expressed as y, and may be defined as a collision signal.
  • the collision signal at the current time is y t
  • the signal-label data pair for training the neural network can be defined as (X t , y t ).
  • the neural network After sufficiently acquiring the training data, the neural network is trained through the supervised learning method, and the neural network or artificial neural network used at this time is in the form of a convolution neural network. This is to learn a neural network through a conventionally used back propagation method, and the loss function can use binary cross-entropy, which is mainly used to learn a classification. .
  • collision detection may be performed in real time while the robot manipulator 200 is operating through real-time neural network inference. Assuming that the first user programming a program that drives the robot manipulator 200 to designate several transit points, it is assumed that the robot manipulator program repeatedly visits the corresponding transit points.
  • the first cycle is a reference cycle
  • the robot signal of the entire cycle section may be stored in the memory inside the controller 140. There should be no collisions in these situations.
  • Collision detection in the reference cycle is performed using a conventional method, and when collision is detected in the reference cycle by the conventional method, a robot signal is newly stored as the next cycle again as a reference cycle. If all robot signals of the cycle are normally stored without collision in the reference cycle, the next execution cycle is performed.
  • the controller 140 stores the robot signal in the memory as much as a predetermined sliding window size.
  • the robot signal to which the cycle normalization is applied becomes the input of the previously learned neural network, and the neural network uses it to perform inference calculations.
  • the result of the inference calculation becomes a probability value between 0 and 1 because the last layer of the neural network is Sigmoid, and if the probability value is higher than ⁇ , it can be set that a collision has occurred.
  • the general sigma is 0.5, but 0.6 or 0.7 may be applied depending on the embodiment.
  • Safety stop is a general robot reaction when a collision occurs, and various robot reactions can be set according to the implementation method.
  • FIG. 6 is a view showing the result of experiment and comparison of the collision detection system of the robot manipulator 200 according to an embodiment of the present invention and the conventional momentum observer detects the collision, and FIG.
  • the boundary value for the collision detection of the momentum observer is decreased, and the result is compared with the system for detecting the collision of the robot manipulator 200 according to the embodiment of the present invention.
  • 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 threshold. .
  • This is called Momentum Observer-based collision detection (hereinafter, MOD, Momentum-based Observer-based collision detector).
  • MOD Momentum-based Observer-based collision detector
  • the collision detection threshold value of the conventional method was set to the minimum value in the range where 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.
  • the threshold value of the MOD is set to a lower value so that the conventional method more sensitively detects collision, a false affirmation occurs as shown in FIG. 7, and in this case, the method proposed in the present invention does not generate a false affirmation. It can be confirmed that it is not. 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Fuzzy Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 시스템에 관한 것으로, 상기 로봇 매니퓰레이터의 복수의 관절에 구비되어 상기 복수의 관절을 각각 구동시키는 관절 구동부, 상기 관절 구동부의 일측에 구비되어 상기 복수의 관절의 각도를 측정하는 엔코더부, 다량의 데이터로 신경망을 학습하여 전처리 연산을 통해 상기 복수의 관절이 외부와 충돌하는 것을 감지하도록 추론하는 신경망 연산부를 포함할 수 있다.

Description

인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템
본 발명은 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템에 관한 것으로, 인공신경망을 이용한 학습을 통해 로봇 매니퓰레이터가 충돌을 감지하는 기술에 관한 것이다.
인간의 상지와 유사한 기능을 보유하고, 그 선단부위에 해당하는 기계 손(mechanical hand) 등에 의해 물체를 파지하여 공간적으로 이동시키는 작업 또는 그 선단부위에 부착된 도장용 스프레이 건(spray gun), 용접 토치 등의 공구에 의한 도장, 용접 등의 작업을 실시할 수 있는 것을 말한다. 여기서, 파지는 파악, 흡착, 유지하는 것들을 일컫는다.
인간의 상지와 유사한 것이란 팔(arm)에 손(hand)이 붙어있는 것을 말하지만, 손이 없고 직접 암에 공구가 부착되어 있는 것, 손에 공구를 파지해서 작업을 실시하는 것과 같기 때문에 이것도 인간의 상지와 유사한 것으로 취급할 수 있다.
또, 기계손에는 흡착기, 후크가 포함될 수 있다. 더욱이 인간이 조작하는 매니퓰레이터를 매뉴얼(manual) 매니퓰레이터라 하며, 안전규칙에 벗어나고 있지만 기억장치(고정 시퀀스 제어장치, 가변 시퀀스 제어장치)의 정보에 입각해서 작동하는 매니퓰레이터를 보유하고 있는 것은 산업용 로봇으로 분류하고 있다.
한편, 자동화에 주로 사용되는 6자 유도 로봇 매니퓰레이터는 정밀한 모션제어를 수행할 수 있다. 로봇이 프로그램 된 모션에 따라 동작할 때 작업자와 충돌하게 되면, 로봇은 목적하는 위치로 계속해서 이동하려고 큰 토크를 출력하기 때문에 작업자가 부상을 당할 수 있다. 따라서 로봇과 동일 공간에서 작업하는 작업자의 안전을 보장하기 위해서는 로봇 자체적으로 충돌이 발생하면 이를 감지하여 구동 작업을 중단하는 충돌 감지 기능이 필요하다.
종래의 기술은 로봇이 충돌을 감지하기 위해 관절마다 토크센서를 부착하고, 토크센서에서 측정되는 값을 통해 외부의 충돌을 감지한다. 이를 통해, 민감하게 충돌을 감지할 수 있다. 하지만, 6축 다관절 로봇의 모든 관절에 토크센서를 부착하게 되면 경제적인 문제가 발생할 수 있다.
또한, 종래에도 관절 토크 센서가 없어도 로봇의 동력학과 기구학 정보를 활용하여 외부 충돌을 추정하는 방법들이 다수 제안되었다. 이러한 로봇 동역학 정보나 비선형 함수에 대한 수식을 이용하기 때문에 시스템의 부하가 커지는 문제가 발생될 수 있다.
이와 같은 종래의 문제점들로 인해 종래의 기술들보다 효율적으로 로봇이 충돌을 감지하는 방법과 시스템이 필요한 실정이다.
본 발명은 상술한 바와 같은 종래 기술의 문제점을 해결하기 위한 것으로, 다축이 구비된 로봇이 인공신경망을 통해 충돌 감지에 대한 데이터를 학습하여 민감하게 충돌을 감지하는 데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명에 따른 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 시스템에 있어서, 상기 로봇 매니퓰레이터의 복수의 관절에 구비되어 상기 복수의 관절을 각각 구동시키는 관절 구동부; 상기 관절 구동부의 일측에 구비되어 상기 복수의 관절의 각도를 측정하는 엔코더부; 다량의 데이터로 신경망이 학습하여 전처리 연산을 통해 상기 복수의 관절이 외부와 충돌하는 것을 감지하도록 추론하는 신경망 연산부;를 포함하는 것을 특징으로 한다.
여기서, 상기 전처리 연산은 사이클 정규화(Cycle Normalization)를 통해 신경망의 일반화를 수행하는 것을 특징으로 한다.
또, 상기 사이클 정규화는 지정된 다수의 경유점(way point)들을 정의하고, 지정된 경유점 중 첫 번째 경유점부터 마지막 경유점까지 차례대로 거친 후 다시 첫 번째 경유점으로 경로 이동을 하는 것으로 하나의 사이클을 정의하는 것을 특징으로 한다.
아울러, 상기 사이클과 관련한 정보를 저장하는 메모리를 더 포함하고, 정의된 상기 사이클의 전체 신호를 참조 사이클로 정의하여 상기 메모리에 저장하는 것을 특징으로 한다.
또한, 상기 관절 구동부를 제어하기 위해 제어 입력에 관한 신호를 인가 및 연산을 수행하는 제어부를 더 포함하는 것을 특징으로 한다.
또, 상기 신호는 매 제어주기마다 획득되는 관절 각도, 관절 각속도 및 제어토크를 포함하는 것을 특징으로 한다.
아울러, 상기 신호는 상기 신경망의 입력으로 사용하고, 슬라이딩 기법으로 상기 신호의 패턴을 분석하는 것을 특징으로 한다.
또한, 상기 신경망은 신호와 라벨의 쌍으로 이루어진 학습데이터를 기반으로 지도학습(supervised learning)을 통해 충돌신호를 학습하는 것을 특징으로 한다.
또, 상기 신경망은 충돌이 발생하였을 시 True 신호를 출력하고, 충돌이 발생하지 않았을 시 False 신호를 출력하는 이진 신호인 것을 특징으로 한다.
아울러, 상기 충돌신호를 학습하는 것은 복수의 상기 관절의 일측에 구비된 압력센서 또는 FSR(force sensitive resistor)의 접촉을 통해 충돌을 측정하는 것을 특징으로 한다.
또한, 상기 신경망의 층 중에서 마지막 층은 0부터 1 사이의 확률값이며, 상기 신경망의 추론에 따라 상기 확률값이 0.5 이상일 경우 충돌이 발생하는 것으로 판단하는 것을 특징으로 한다.
한편, 상기 목적을 달성하기 위한 본 발명에 따른 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법은 다수의 경유점(way point)들을 정의하여 신경망 연산부가 사이클 정규화를 통해 전처리 연산을 수행하는 단계; 충돌 측정부로부터 충돌신호를 획득하는 단계; 신경망이 충돌신호를 기반으로 학습하는 단계; 학습된 신경망이 실시간으로 충돌을 감지한 신호를 전달하여 제어를 수행하는 단계;를 포함할 수 있다.
본 발명에 따른 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템은 다음과 같은 효과가 있다.
첫째, 성능 변화 없이 민감하게 충돌을 감지할 수 있다. 본 발명에서는 로봇에 인가되는 전류와 로봇제어에 필수적으로 요구되어 관절에 부착된 엔코더가 측정하는 관절 각도 및 관절 각속도만을 이용하여, 실시간 충돌 감지를 수행할 수 있다.
둘째, 경제적이다. 본 발명에서는 관절에 다수의 토크센서를 구비하는 것과 같이 별도의 성능 변화 없이도 실시간 충돌 감지를 수행할 수 있기 때문에 종래와 비교하여 비용이 절감될 수 있다.
도1은 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 시스템이 구비된 로봇 매니퓰레이터의 사시도이다.
도2는 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 시스템에 대한 블록도이다.
도3은 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 방법에 대한 순서도이다.
도4는 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 방법에서 충돌 발생의 여부를 감지하는 흐름에 관한 도면이다.
도5는 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 방법에서 신경망이 학습데이터를 학습하는 과정을 개략적으로 나타낸 도면이다.
도6은 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 시스템과 종래의 모멘텀 옵저버가 충돌을 감지한 것을 실험하여 비교한 결과를 나타낸 도면이다.
도7은 도6에 도시된 실험에서 모멘텀 옵저버의 충돌감지에 대한 경계값을 감소시켜 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 시스템과 실험하여 비교한 결과를 나타낸 도면이다.
이하에서는 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 다만 발명의 요지와 무관한 일부 구성은 생략 또는 압축할 것이나, 생략된 구성이라고 하여 반드시 본 발명에서 필요가 없는 구성은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 결합되어 사용될 수 있다.
<로봇 매니퓰레이터 충돌 감지 시스템>
도1은 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 시스템이 구비된 로봇 매니퓰레이터의 사시도이고, 도2는 본 발명의 실시예에 따른 로봇 매니퓰레이터의 충돌을 감지하는 시스템에 대한 블록도이다.
도1 및 도2에 도시된 바와 같이, 본 발명의 실시예에 따른 로봇 매니퓰레이터(200)의 충돌을 감지하는 시스템이 구비된 로봇 매니퓰레이터(200)는 다수의 관절 또는 축이 구비되어 있고, 다수의 관절은 각각 마련된 회전축을 기준으로 회전하는 것으로 작동할 수 있다.
또한, 로봇 매니퓰레이터(200) 충돌 감지 시스템(100)은 관절 구동부(110), 엔코더부(120), 신경망 연산부(130), 제어부(140) 및 충돌 측정부(150)를 포함할 수 있다.
관절 구동부(110)는 로봇 매니퓰레이터(200)가 작동할 수 있도록 관절을 구동시키는 구성이다. 이러한 관절 구동부(110)는 예를 들어 모터가 설치될 수 있고, 로봇 매니퓰레이터(200)를 형성하는 복수의 관절에 각각 복수로 구비될 수 있다. 관절 구동부(110)는 제어부(140)에서 전송하는 신호에 따라 관절을 구동시킬 수 있다. 여기서, 관절을 제어하는데 포함되는 신호는 관절 각도에 관한 신호, 관절 각도로부터 제어부(140)의 연산을 통해 획득된 관절 각속도 및 제어 오차에 관한 신호, 관절 모터에 인가되는 전류 신호이다. 이러한 관절을 제어하는데 포함되는 신호는 로봇 신호로도 칭할 수 있다.
엔코더부(120)는 관절 구동부(110)의 일측에 구비되어 관절의 각도를 측정하는 구성이다.
신경망 연산부(130)는 신경망이 구비되어 있고, 학습데이터를 기반으로 신경망이 충돌신호에 관한 학습을 수행하며, 학습된 신경망이 실시간으로 입력된 신호를 추론하여 충돌을 감지하는 구성이다. 이러한 신경망 연산부(130)는 예를 들어 GPGPU(General-Purpose computing on Graphics Processing Units)로 구성될 수 있다. 또한, 신경망 연산부(130)는 학습된 신경망이 충돌을 추론할 시 충돌에 대한 감지를 원활히 하기 위해 전처리 연산을 거칠 수 있다. 이 때 전처리 연산에는 사이클 정규화(Cycle Normalization)를 통해 신경망의 일반화 성능을 향상시킬 수 있다. 신경망이 일반화(Generalization)를 달성하지 못할 경우 로봇 매니퓰레이터(200)의 모션이 변경되거나, 로봇 매니퓰레이터(200)가 들고 있는 물체의 무게가 변경될 경우 충돌에 대한 감지 성능이 변경되어 신뢰도가 감소할 수 있지만, 본 발명과 같이 사이클 정규화를 통해 일반화 성능을 향상시킨다면, 로봇 매니퓰레이터(200)의 모션(예를 들어 로봇 매니퓰레이터(200)의 속도 및 경로), 로봇 매니퓰레이터(200)가 들고 있는 물체의 무게가 변경되더라도 신경망의 충돌에 대한 감지 성능은 높은 수준으로 유지될 수 있다.
제어부(140)는 로봇 매니퓰레이터(200)에게 제어 입력을 인가해주고 연산을 수행할 수 있다. 여기서, 제어 입력에는 전류, 토크 등이 포함될 수 있다.
<충돌 감지를 위한 전체 과정>
이하에서는 도면을 통해 로봇 매니퓰레이터(200)가 충돌을 감지하는 방법에 대해 설명하기로 한다.
도3은 본 발명의 실시예에 따른 로봇 매니퓰레이터(200)의 충돌을 감지하는 방법에 대한 순서도이다.
도3에 도시된 바와 같이, 본 발명에서 로봇 매니퓰레이터(200)의 충돌을 감지하는 방법은 최초에 다수의 경유점(way point)들을 정의하여 신경망 연산부(150)가 사이클 정규화를 통해 전처리 연산을 수행한다.<S30>
이후 충돌 측정부(150)로부터 충돌신호를 획득한다.<S31>
다음으로, 신경망이 충돌신호를 기반으로 학습한다.<S32>
마지막으로, 학습된 신경망이 실시간으로 충돌을 감지한 신호를 전달하여 제어를 수행한다.<S33>
이와 같은 전체적인 과정을 통해 본 발명에 따른 로봇 매니퓰레이터(200)는 충돌을 학습하고, 이후 실시간으로 충돌을 감지하여 관절에 대한 제어를 수행할 수 있다.
<사이클 정규화>
이하에서는 도면을 통하여 전처리 연산 과정인 사이클 정규화에 대한 설명을 이어가기로 한다.
도4는 본 발명의 실시예에 따른 로봇 매니퓰레이터(200)의 충돌을 감지하는 방법에서 충돌 발생의 여부를 감지하는 흐름에 관한 도면이다.
도4에 도시된 바와 같이, 본 발명에서는 충격 또는 충돌을 감지하여 관절을 제어하는 로봇 신호를 전달하기 전에 사이클 정규화라는 전처리 과정을 거치게 된다. 사이클 정규화는 신경망을 전처리하여 일반화 성능을 향상시킴으로써, 로봇의 모션 (로봇의 속도 및 경로), 로봇이 들고있는 물체의 무게가 바뀐다 할지라도 신경망의 충돌감지 성능은 높은 수준으로 유지시킬 수 있다.
구체적으로, 로봇의 모션 프로그램은 사용자가 지정한 다수개의 경유점 (waypoint)들을 차례로 경유하는 것으로 정의하였을 때, 지정된 경유점 중 첫 번째 경유점부터 마지막 경유점까지 차례대로 거친 후 다시 첫 번째 경유점으로 경로이동을 하는 것을 하나의 사이클로 정의한다.
예를 들어, 경유점이 3개라고 가정하였을 때, 로봇 매니퓰레이터(200)의 동작은 1번 경유점부터 시작하여 2, 3번 경유점을 거쳐 다시 1번 경유점까지 도달하는 경로를 사이클로 정의할 수 있다. 따라서 자동화를 위해 반복적인 작업을 하는 로봇 매니퓰레이터(200)는 사이클을 반복하는 것을 의미한다.
로봇 매니퓰레이터(200)의 경유점을 최초 프로그래밍하고 이를 실행할 때, 첫 번째 사이클 모션을 수행하는 동안 제어부(140)는 첫 사이클의 전 구간에서의 로봇 신호를 제어부(140) 내에 구비된 메모리에 저장하며, 이와 같이 사이클 전체의 신호를 저장한 사이클을 참조 사이클(reference cycle)이라고 정의할 수 있다. 아울러, 참조 사이클 이후의 사이클은 실시 사이클(execution cycle)이라고 정의할 수 있다.
최초 로봇 프로그램이 작성되면 사이클의 크기는 일정 크기로 고정되며, 이 크기는 제어 주기와 모션의 길이에 의해 결정될 수 있다. 예를 들어, 임의의 로봇 프로그램이 주어진 경유점을 모두 경유하는데 2초의 시간이 소요되고, 로봇 매니퓰레이터(200)의 제어 주기가 4000Hz(초당 4000회 씩 제어)라고 하였을 때, 2초 동안 총 8,000번의 제어 연산을 수행하여 로봇 신호를 획득하고 저장하므로, 해당 모션의 사이클 크기는 8,000이다. 이에 따라, 8,000개의 로봇 신호를 참조 사이클로 구성하여 메모리에 저장할 수 있다. 로봇 매니퓰레이터(200)는 프로그램에 정의된 대로 반복적인 작업을 수행하므로 로봇 프로그램을 수정하지 않는 한 참조 사이클과 실시 사이클의 크기는 동일할 것이다. 그러나 실시간 운영체제의 제어주기 연산 오차로 인해 실제 구동 시에는 참조 사이클과 실시 사이클의 크기에 +5, -5 정도의 오차가 발생할 수 있다.
로봇 신호에 대해 보다 상세하게 설명하기로 한다. 예를 들어, 6자유도 로봇 매니퓰레이터(200)에 대해 적용한다고 하였을 때, 제어부(140)를 통해 매 제어주기마다 획득되는 관절 각도를 q=[q 1, …, q 6], 관절 각속도를 q'=[q' 1, …, q' 6] , 그리고 로봇에 인가되는 제어토크를 τ=[τ 1, …, τ 6]이라고 가정한다.
이 때 로봇 신호는 관절 각도에 대한 신호, 관절 각속도에 관한 신호들을 전부 포함하는 것이며, 수학식 벡터 x=[q, q',τ]로 정의할 수 있다. 로봇 신호는 자유도에 따라 가변적인 것뿐만 아니라 제어부(140)의 연산을 통해 획득되는 별도 신호 또한 로봇 신호로 추가할 수 있다. 예를 들어, 목표 관절 각도 q des=[q des1, …, q des6]와 관절각 오차 e=[q des1-q 1, …, q des6-q 6]등도 로봇 신호에 포함되거나 제외될 수 있다.
여기서 시간 변수를 t 라고 할 때, 현재 시각에서의 로봇 신호는 X t로 표현한다. 로봇 신호는 신경망의 입력으로 사용되며 신경망이 로봇 신호의 패턴을 분석할 수 있도록 슬라이딩 윈도우(sliding window) 기법을 적용할 수 있다. 슬라이딩 윈도우의 크기를 W라고 가정할 경우, 슬라이딩 윈도우가 적용된 로봇 신호는 아래 수학식과 같이 표현 될 수 있다.
Xt=[x t-W+1, …, x t-1, x t ]
이는 현재 시각 기준으로 과거 W개의 데이터를 포함하는 것을 의미한다. 로봇 매니퓰레이터(200)의 제어는 이산시간(discrete time)으로 이루어지기 때문에 시간변수 t 를 사이클 내의 위치를 나타내는 인덱스로 표현할 수 있다.
앞서 예시와 같이 로봇 매니퓰레이터(200)의 모션이 2초간 8,000번의 제어를 통해 수행되는 실시 사이클에서 크기 200의 슬라이딩 윈도우를 적용한다고 가정한다. 이 때 현재 시각은 사이클 시작을 기준으로 2,000번째 제어주기가 시작되는 시각일 경우 실시 사이클에서의 로봇 신호는 아래와 같이 표현할 수 있다.
X 2000=[x 1801,…, x 1999, x 2000 ]
이는 현재 시각을 기준으로 현재를 포함한 과거 W개의 로봇 신호를 연결한 것이며, 이를 위해 W보다 많은 과거 데이터를 일시적으로 메모리에 저장해야 매 시각 슬라이딩 윈도우 신호를 획득할 수 있다.
참조 사이클에 슬라이딩 윈도우를 적용할 경우에는 전체 사이클의 로봇 신호가 저장되어 있으므로 저장된 로봇 신호 중 1801번째부터 2000번째 신호를 추출하면 참조 사이클에 대한 슬라이딩 윈도우 로봇 신호를 획득할 수 있으며, 이는 아래와 같이 표현할 수 있다.
Figure PCTKR2020014982-appb-img-000001
이 때 사이클 정규화는 동일한 타이밍에서의 참조 사이클과 실시 사이클의 로봇 신호의 차로 표현되며, 이는 아래 수학식으로 표현될 수 있다.
Figure PCTKR2020014982-appb-img-000002
이 때
Figure PCTKR2020014982-appb-img-000003
은 사이클 시작 인덱스를 0이라 하였을 때 t 번째 시각에서의 최종 사이클 정규화 로봇 신호이며, 이는 신경망의 입력으로 사용된다.
이와 같이 사이클 정규화는 실시 사이클에서 참조 사이클에서의 모션과의 신호차를 통해 실시간으로 신호 정규화를 수행하며, 이를 통해 모션의 경유점, 로봇 매니퓰레이터(200)의 속도, 로봇 매니퓰레이터(200)의 무게 등이 바뀐다 할지라도 정규화된 신호 패턴은 일정하게 유지될 수 있기 때문에 신경망의 일반화 성능을 향상시킬 수 있다.
<신경망 학습>
또한, 신경망이 학습데이터를 기반으로 학습하는 과정을 도면을 통해 상세하게 설명하기로 한다.
도5는 본 발명의 실시예에 따른 로봇 매니퓰레이터(200)의 충돌을 감지하는 방법에서 신경망이 학습데이터를 학습하는 과정을 개략적으로 나타낸 도면이다.
도5에 도시된 바와 같이, 본 발명에서 신경망은 신호와 라벨의 쌍으로 이루어진 학습데이터를 기반으로 지도학습(supervised learning)을 통해 충돌신호를 학습할 수 있다. 지도학습은 신호와 라벨의 쌍으로 이루어진 데이터를 통해 신경망에게 주어진 신호에 대한 정답을 반복적으로 알려줌으로써 학습시키는 방법이다.
또한, 본 발명에서 충돌에 대한 감지의 목적은 알고리즘 측면에서 충돌이 발생했는지의 유무를 판단하는 것이다. 이는 True, False로 나타낼 수 있는 이진 신호이다. 따라서 신경망은 충돌이 발생했을 때 True 신호를 출력하고, 충돌이 발생하지 않았을 때는 False 신호를 출력하도록 학습될 수 있다.
본 발명에서는 종래의 기술과 비교하여 추가적인 센서를 사용하지 않는 것이 차이점이긴 하나, 학습데이터를 획득하는 과정에서는 관절의 일측에 충돌 측정부(150)를 구비하여 접촉을 통해 충돌에 대한 신호를 획득할 수 있다. 이러한 충돌 측정부(150)는 예를 들어 압력센서 또는 FSR(force sensitive resistor)이 구비될 수 있고, 접촉을 통해 온-오프 됨에 따라 충돌을 측정할 수 있다.
충돌 측정부(150)는 제어부(140)와 연결된 상태이고, 제어부(140)가 로봇 매니퓰레이터(200)의 제어 연산 시 충돌 측정부(150)의 신호를 로봇 신호와 동기화 하여 획득할 수 있고, 로봇 매니퓰레이터(200)의 관절에서 임의의 부위에 부착한 후 프로그램에 따라 반복적으로 작동될 수 있다.
로봇 매니퓰레이터(200)가 동작하는 동안, 예를 들어 관절에 부착된 충돌 측정부(150)에 손이나 도구를 이용하여 충격을 가하게 되면, 충돌 측정부(150)를 통해 관절에 가해지는 충돌 신호가 획득될 수 있다.
또한, 관절의 모션 프로그램, 충돌 측정부(150)의 부착위치, 모션 내에서 충돌이 발생하는 타이밍을 무작위로 하여 반복해서 로봇 신호와 충돌 신호를 획득될 수 있다.
이 때 획득된 신호 중 충돌 측정부(150)의 신호를 y로 표현하고, 충돌 신호로 정의할 수 있다. 현재 시각에서의 충돌신호를 y t라고 하였을 때, 신경망을 학습시키기 위한 신호-라벨 데이터 쌍은 (X t, y t)로 정의할 수 있다.
학습데이터를 충분히 획득한 후 신경망을 지도학습 방법을 통해 학습시키는데, 이 때 사용된 신경망 또는 인공신경망은 콘볼루션 신경망 (Convolution neural network) 형태이다. 이는 종래에 일반적으로 이용되는 백 프로파게이션(back propagation) 방법을 통해 신경망을 학습하는 것이며, 손실함수는 분류기(classification)를 학습시키는데 주로 이용되는 이진 크로스엔트로피(binary cross-entropy)를 이용할 수 있다.
<실시간 신경망 추론>
아울러, 실시간 신경망 추론을 통해 로봇 매니퓰레이터(200)가 동작하는 중에 실시간으로 충돌감지를 수행할 수 있다. 최초 사용자가 로봇 매니퓰레이터(200)를 구동하는 프로그램을 프로그래밍 하여 몇 개의 경유점을 지정한다고 하였을 때, 해당 경유점을 반복적으로 방문하는 로봇 매니퓰레이터 프로그램이라고 가정하기로 한다.
이 때 첫 번째 사이클은 참조 사이클로써 참조 사이클의 모션을 수행하는 동안 앞서 설명한 바와 같이 제어부(140) 내부에 전체 사이클 구간의 로봇 신호를 메모리에 저장할 수 있다. 이러한 상황에서는 충돌이 발생하지 않아야 한다.
참조 사이클에서 충돌감지는 종래의 방법을 이용하여 충돌감지를 수행하며, 종래의 방법으로 참조 사이클에서 충돌감지가 되었을 때에는 다음 사이클을 다시 참조 사이클로서 새로이 로봇신호를 저장한다. 참조 사이클에서 충돌이 없이 정상적으로 사이클의 모든 로봇신호가 저장되면, 다음으로 실시 사이클이 수행된다.
실시 사이클부터 제어부(140)는 로봇 신호를 정해진 슬라이딩 윈도우 크기만큼 메모리에 저장을 한다. 사이클 정규화를 적용한 로봇 신호는 사전에 학습된 신경망의 입력이 되며, 신경망은 이를 이용하여 추론연산을 수행한다.
추론연산의 결과는 도5에 도시된 바와 같이, 신경망의 마지막 층이 Sigmoid 이기 때문에 0부터 1사이의 확률값이 되며, 확률값이 σ보다 높을 경우 충돌이 발생한 것으로 설정할 수 있다. 이 때 일반적인 σ은 0.5이지만, 실시예에 따라 0.6 또는 0.7이 적용될 수도 있다.
추론연산을 통해 충돌 유무를 판단하고 충돌이 발생했을 경우 제어부(140)는 안전 정지 기능을 수행하도록 한다. 안전정지는 충돌 발생 시 일반적인 로봇 반응이며, 실시 방법에 따라 다양한 로봇 반응을 설정할 수 있다.
<로봇 매니퓰레이터 충돌 감지 시스템의 실험결과>
이하에서는 본 발명에 따른 로봇 매니퓰레이터(200) 충돌 감지 시스템(100)과 종래의 모멘텀 옵저버를 통한 충돌 감지 시스템에 관해 비교한 실험결과를 설명하기로 한다.
도6은 본 발명의 실시예에 따른 로봇 매니퓰레이터(200)의 충돌을 감지하는 시스템과 종래의 모멘텀 옵저버가 충돌을 감지한 것을 실험하여 비교한 결과를 나타낸 도면이고, 도7은 도6에 도시된 실험에서 모멘텀 옵저버의 충돌감지에 대한 경계값을 감소시켜 본 발명의 실시예에 따른 로봇 매니퓰레이터(200)의 충돌을 감지하는 시스템과 실험하여 비교한 결과를 나타낸 도면이다.
도6 및 도7에 도시된 바와 같이, 본 발명에서 제안하는 사이클 정규화와 신경망을 이용한 충돌감지 알고리즘을 종래의 방법과 비교하는 실험을 수행하였다. 앞서 언급한 로봇 충돌감지의 성능평가 중 허위부정, 허위긍정 및 충돌감지 정확도 항목을 종래 방법과 비교하였다. 센서를 사용하지 않고 충돌감지를 수행하는 종래 방법은 모멘텀 옵저버 (momentum-based observer)를 통해 외력을 추정한 후, 추정된 외력이 미리 설정한 충돌감지 경계값 이상이 되었을 때 충돌감지를 하는 방법이다. 이는 모멘텁 옵저버 기반의 충돌감지라고 한다(이하 MOD, Momentum-based Observer-based collision Detector). 일반적으로, 상용 로봇과 로봇연구를 수행하는 연구자들이 일반적으로 많이 이용하는 방법이다.
충돌감지 경계값은 낮을수록 민감한 충돌감지를 할 수 있는 반면, 경계값이 낮음으로 인해 허위긍정이 발생할 수도 있다. 공평한 실험을 위해 종래 방법의 충돌감지 경계값을 허위긍정이 발생하지 않는 범위에서의 최소값으로 설정하였다. 이 때 종래 방법과 본 발명에서 제안하는 방법의 충돌감지 정확도와 민감도를 실험적으로 비교하였다.
도6은 앞서 설명한 바에 대한 실험결과를 나타낸다. 본 실험에서는 6자유도 로봇 매니퓰레이터(200)에 본 발명에서 제안하는 충돌감지를 적용하였으며, 종래의 모멘텀 옵저버 기반의 충돌감지를 동일한 시스템에 적용하였다. MOD의 충돌감지 경계값을 허위긍정이 발생하지 않는 최소값으로 하였을 때에도 제안하는 충돌감지가 종래의 MOD 보다 더 빠르고, 민감하게 충돌을 인식하는 것을 확인할 수 있다.
이 때 MOD의 경계값을 보다 낮게 설정하여 좀 더 종래의 방법이 민감하게 충돌을 감지하도록 한다면, 도7에서와 같이 허위긍정이 발생하며, 이 때 본 발명에서 제안하는 방법은 허위긍정이 발생하지 않음을 확인할 수 있다. 이를 통해 종래의 MOD와 비교하였을 때 본 발명에서 제안하는 신경망 기반의 방법이 충돌감지의 민감도와 허위부정에 대한 강인성이 높음을 확인할 수 있다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면, 본 발명의 사상과 범위 안에서 다양한 수정, 변경 및 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 본 발명의 특허청구 범위에 속하는 것으로 보아야 할 것이다.

Claims (12)

  1. 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 시스템에 있어서,
    상기 로봇 매니퓰레이터의 복수의 관절에 구비되어 상기 복수의 관절을 각각 구동시키는 관절 구동부;
    상기 관절 구동부의 일측에 구비되어 상기 복수의 관절의 각도를 측정하는 엔코더부;
    다량의 데이터로 신경망이 학습하여 전처리 연산을 통해 상기 복수의 관절이 외부와 충돌하는 것을 감지하도록 추론하는 신경망 연산부;를 포함하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
  2. 제1항에 있어서,
    상기 전처리 연산은 사이클 정규화(Cycle Normalization)를 통해 신경망의 일반화를 수행하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
  3. 제2항에 있어서,
    상기 사이클 정규화는 지정된 다수의 경유점(way point)들을 정의하고,
    지정된 경유점 중 첫 번째 경유점부터 마지막 경유점까지 차례대로 거친 후 다시 첫 번째 경유점으로 경로 이동을 하는 것으로 하나의 사이클을 정의하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
  4. 제3항에 있어서,
    상기 사이클과 관련한 정보를 저장하는 메모리를 더 포함하고,
    정의된 상기 사이클의 전체 신호를 참조 사이클로 정의하여 상기 메모리에 저장하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
  5. 제1항에 있어서,
    상기 관절 구동부를 제어하기 위해 제어 입력에 관한 신호를 인가 및 연산을 수행하는 제어부를 더 포함하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
  6. 제5항에 있어서,
    상기 신호는 매 제어주기마다 획득되는 관절 각도, 관절 각속도 및 제어토크를 포함하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
  7. 제6항에 있어서,
    상기 신호는 상기 신경망의 입력으로 사용하고,
    슬라이딩 기법으로 상기 신호의 패턴을 분석하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
  8. 제1항에 있어서,
    상기 신경망은 신호와 라벨의 쌍으로 이루어진 학습데이터를 기반으로 지도학습(supervised learning)을 통해 충돌신호를 학습하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
  9. 제8항에 있어서,
    상기 신경망은 충돌이 발생하였을 시 True 신호를 출력하고, 충돌이 발생하지 않았을 시 False 신호를 출력하는 이진 신호인 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
  10. 제8항에 있어서,
    상기 충돌신호를 학습하는 것은 복수의 상기 관절의 일측에 구비된 압력센서 또는 FSR(force sensitive resistor)의 접촉을 통해 충돌을 측정하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
  11. 제8항에 있어서,
    상기 신경망의 층 중에서 마지막 층은 0부터 1 사이의 확률값이며,
    상기 신경망의 추론에 따라 상기 확률값이 0.5 이상일 경우 충돌이 발생하는 것으로 판단하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 시스템.
  12. 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법에 관한 것으로,
    다수의 경유점(way point)들을 정의하여 신경망 연산부가 사이클 정규화를 통해 전처리 연산을 수행하는 단계;
    충돌 측정부로부터 충돌신호를 획득하는 단계;
    신경망이 충돌신호를 기반으로 학습하는 단계;
    학습된 신경망이 실시간으로 충돌을 감지한 신호를 전달하여 제어를 수행하는 단계;를 포함하는 것을 특징으로 하는 로봇 매니퓰레이터의 충돌을 감지하는 방법.
PCT/KR2020/014982 2019-10-30 2020-10-30 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템 WO2021086091A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20881558.9A EP4052862A4 (en) 2019-10-30 2020-10-30 METHOD AND SYSTEM FOR COLLISION DETECTION OF A ROBOT MANIPULATOR USING AN 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 (4)

Application Number Priority Date Filing Date Title
KR10-2019-0136622 2019-10-30
KR1020190136622A KR102139229B1 (ko) 2019-10-30 2019-10-30 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템
KR10-2020-0091433 2019-10-30
KR1020200091433A KR102357168B1 (ko) 2019-10-30 2020-07-23 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템

Publications (1)

Publication Number Publication Date
WO2021086091A1 true WO2021086091A1 (ko) 2021-05-06

Family

ID=75718772

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/014982 WO2021086091A1 (ko) 2019-10-30 2020-10-30 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템

Country Status (4)

Country Link
US (1) US20220398454A1 (ko)
EP (1) EP4052862A4 (ko)
KR (1) KR102357168B1 (ko)
WO (1) WO2021086091A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023123911A1 (zh) * 2021-12-31 2023-07-06 达闼科技(北京)有限公司 机器人碰撞检测方法、装置、电子设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102482530B1 (ko) * 2021-06-30 2022-12-28 고려대학교 산학협력단 인공지능 기반의 충돌 감지 기능을 갖는 로봇 시스템 및 로봇 관절의 충돌 감지를 위한 인공지능 기반의 학습 데이터 생성 방법
KR20230173005A (ko) 2022-06-15 2023-12-26 주식회사 유진로봇 인공신경망을 이용한 충돌 감지 장치 및 이동 로봇
KR102629021B1 (ko) * 2023-01-30 2024-01-25 주식회사 마키나락스 산업용 로봇의 작업 경로 생성 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05119815A (ja) * 1991-10-28 1993-05-18 Toshiba Corp 神経回路網を用いた障害物回避方法
JPH07223181A (ja) * 1994-02-09 1995-08-22 Yaskawa Electric Corp マニピュレータの干渉チェック装置
KR20150080050A (ko) * 2013-12-30 2015-07-09 전자부품연구원 다관절로봇의 충돌 감지 장치 및 이를 이용한 충돌 감지 방법
WO2019162109A1 (en) * 2018-02-23 2019-08-29 Abb Schweiz Ag Robot system and operation method
KR102139229B1 (ko) * 2019-10-30 2020-07-29 주식회사 뉴로메카 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10192162B2 (en) * 2015-05-21 2019-01-29 Google Llc Vector computation unit in a neural network processor
KR102125688B1 (ko) 2018-03-29 2020-07-08 조황해 레일 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05119815A (ja) * 1991-10-28 1993-05-18 Toshiba Corp 神経回路網を用いた障害物回避方法
JPH07223181A (ja) * 1994-02-09 1995-08-22 Yaskawa Electric Corp マニピュレータの干渉チェック装置
KR20150080050A (ko) * 2013-12-30 2015-07-09 전자부품연구원 다관절로봇의 충돌 감지 장치 및 이를 이용한 충돌 감지 방법
WO2019162109A1 (en) * 2018-02-23 2019-08-29 Abb Schweiz Ag Robot system and operation method
KR102139229B1 (ko) * 2019-10-30 2020-07-29 주식회사 뉴로메카 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HEO YOUNG JIN; KIM DAYEON; LEE WOONGYONG; KIM HYOUNGKYUN; PARK JONGHOON; CHUNG WAN KYUN: "Collision Detection for Industrial Collaborative Robots: A Deep Learning Approach", IEEE ROBOTICS AND AUTOMATION LETTERS, vol. 4, no. 2, 1 April 2019 (2019-04-01), pages 740 - 746, XP011708627, DOI: 10.1109/LRA.2019.2893400 *
See also references of EP4052862A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023123911A1 (zh) * 2021-12-31 2023-07-06 达闼科技(北京)有限公司 机器人碰撞检测方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
KR20210052182A (ko) 2021-05-10
EP4052862A4 (en) 2023-11-29
US20220398454A1 (en) 2022-12-15
KR102357168B1 (ko) 2022-02-07
EP4052862A1 (en) 2022-09-07

Similar Documents

Publication Publication Date Title
WO2021086091A1 (ko) 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템
Magrini et al. Estimation of contact forces using a virtual force sensor
US20200376666A1 (en) Robot system and operation method
US20170249561A1 (en) Robot learning via human-demonstration of tasks with force and position objectives
TWI827907B (zh) 機器人的控制裝置、控制方法、機器人及其系統、學習裝置、方法及電腦程式產品
CN110662635A (zh) 机器人的碰撞处理
KR102139229B1 (ko) 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템
Anvaripour et al. Collision detection for human-robot interaction in an industrial setting using force myography and a deep learning approach
Sotoudehnejad et al. Counteracting modeling errors for sensitive observer-based manipulator collision detection
Calli et al. Learning modes of within-hand manipulation
Ligutan et al. Design and implementation of a fuzzy logic-based joint controller on a 6-DOF robot arm with machine vision feedback
Jha et al. Imitation and supervised learning of compliance for robotic assembly
Maithani et al. Predicting human intent for cooperative physical human-robot interaction tasks
CN116276998A (zh) 基于强化学习的免手眼标定的机械臂抓取方法及系统
Dimeas et al. Robot collision detection based on fuzzy identification and time series modelling
Haninger et al. Multimodal Environment Dynamics for Interactive Robots: Towards Fault Detection and Task Monitoring
Das et al. Whole body human-robot collision detection using base-sensor neuroadaptive interaction
Pham et al. Model-based and model-free collision detection and identification for a parallel Delta robot with uncertainties
Kramar et al. Self-collision avoidance control of dual-arm multi-link robot using neural network approach
Popov et al. Adaptive technique for physical human–robot interaction handling using proprioceptive sensors
CN116330259A (zh) 一种基于决策树的协作机器人碰撞检测方法
JP7159525B2 (ja) ロボット制御装置、学習装置、及びロボット制御システム
Kuhn et al. Neural approach to visual servoing for robotic hand eye coordination
JPH06106490A (ja) 制御装置
JP2005125475A (ja) 一回の成功試行で最良経路を学習するアーキテクチャ

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20881558

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020881558

Country of ref document: EP

Effective date: 20220530