KR20170103424A - Apparatus and Method for Collision Detection for Collaborative Robot - Google Patents

Apparatus and Method for Collision Detection for Collaborative Robot Download PDF

Info

Publication number
KR20170103424A
KR20170103424A KR1020160026324A KR20160026324A KR20170103424A KR 20170103424 A KR20170103424 A KR 20170103424A KR 1020160026324 A KR1020160026324 A KR 1020160026324A KR 20160026324 A KR20160026324 A KR 20160026324A KR 20170103424 A KR20170103424 A KR 20170103424A
Authority
KR
South Korea
Prior art keywords
command
collision
speed
motor
current
Prior art date
Application number
KR1020160026324A
Other languages
Korean (ko)
Other versions
KR101844542B1 (en
Inventor
유승열
전인택
조영화
Original Assignee
주식회사 사이보그-랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 사이보그-랩 filed Critical 주식회사 사이보그-랩
Priority to KR1020160026324A priority Critical patent/KR101844542B1/en
Publication of KR20170103424A publication Critical patent/KR20170103424A/en
Application granted granted Critical
Publication of KR101844542B1 publication Critical patent/KR101844542B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • 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/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • 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/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

The present invention relates to an apparatus and a method of detecting a collision of a collaborative robot. According to the present invention, the apparatus to detect a collision comprises: an instruction input unit which receives an instruction position, an instruction speed, and an instruction acceleration to control a motor from the outside, receives information about a current position and a current speed from the motor, and an instruction value input unit which calculates a position error based on the instruction position and the current position; a PID control unit which receives information about the instruction position, the instruction speed, the instruction acceleration, the current position, and the current speed from the instruction value input unit, and generating a proportional integral derivative (PID) control signal based on at least one of them; a threshold value calculation unit which calculates a collision instruction value based on at least one of the instruction position, the instruction speed, and the instruction acceleration; a collision determination unit which determines whether collision occurs based on the position error and the collision threshold value; and the motor operated by the PID control signal, transmitting information about the current position and speed to the instruction value input unit.

Description

협업로봇의 충돌을 감지하는 장치 및 방법{Apparatus and Method for Collision Detection for Collaborative Robot}[0001] Apparatus and Method for Collision Detection for Collaborative Robot [

본 발명은 산업용 로봇에 관한 것으로서, 보다 상세하게는 협업로봇의 충돌을 감지하는 장치 및 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an industrial robot, and more particularly, to an apparatus and method for detecting a collision of a cooperative robot.

일반적으로, 로봇(Robot) 산업은 나날이 발전하고 있으며 가까운 미래에 국가 경쟁력을 결정하는 중요한 산업 중 하나가 될 것으로 예상된다. 이에 따라 로봇 산업과 로봇 기술의 대중화를 위한 가정용 로봇을 비롯하여, 교육용 및 완구용 로봇에 대한 관심이 증대되고 있다. 현재 다수의 업체가 산업용 로봇뿐만 아니라 가정, 교육, 완구용 로봇에 대한 관심이 증대되고 있다. 현재 다수의 업체가 산업용 로봇뿐만 아니라 가정, 교육, 완구 로봇을 중심으로 로봇 산업화에 크게 기여하고 있으며 향후에 지능형 로봇에 대한 투자 및 기술 개발이 가속화될 것으로 기대된다.In general, the robot industry is evolving day by day, and it is expected to become one of the important industries that determine national competitiveness in the near future. As a result, interest in robotics for educational purposes and toys has been increasing, including home robots for popularization of the robot industry and robot technology. Currently, many companies are increasingly interested in industrial robots as well as home, educational, and toy robots. Currently, many companies are contributing to robot industrialization not only for industrial robots but also for home, education, and toy robots, and it is expected that investment and technology development for intelligent robots will accelerate in the future.

일반적으로 산업용 로봇은 대부분 고하중을 다루는 작업에 사용되며, 고출력의 엑츄에이터를 사용하고 있다. 이 중에서, 협업로봇은 도 1에 도시된 바와 같이 작업자와 근거리 작업을 하기 때문에 작업자의 안전에 대한 규정이 필요하다. 이에 따라 ISO 10218에는 로봇의 안전성에 대한 규정이 마련되어 있다. 상기 ISO 10218은 현재 개정작업이 진행 중이며, 로봇과 인간의 협동작업, 다중로봇 협동작업에 관한 규정 등이 신설되었다. 상기 ISO 10218은 파트 1(Part 1)과 파트 2(Part 2)의 2개의 파트로 나뉘어져 있다. 파트 1에서는 주로 로봇 자체에 관한 안정성, 즉, 로봇 제조자가 준수하여야 할 안전에 관하여 규정되어 있다. 예를 들어, 플랜지 속도는 0.25ms-1을 초과하지 말 것, 최대동력은 80W 이하일 것, 최대 정적 하중은 150N 이하일 것 등이 규정되어 있다. 파트 2에서는 로봇이 시스템에 통합되는 것과 관련한 안정성, 즉, 로봇 제조자, 통합자, 사용자가 모두 준수하여야 할 안전에 관하여 규정되어 있다. In general, most industrial robots are used for high-load handling and use high-power actuators. Among them, the collaborative robot is required to be closely related to the operator as shown in Fig. 1, so that the safety of the operator is required. Thus, ISO 10218 provides for the safety of robots. The revision of ISO 10218 is currently underway, and new provisions have been added to the cooperation of robots and humans, as well as regulations on the cooperation of multiple robots. ISO 10218 is divided into two parts: Part 1 (Part 1) and Part 2 (Part 2). Part 1 mainly stipulates the safety of the robot itself, that is, the safety that the robot manufacturer should observe. For example, the flange speed should not exceed 0.25ms -1 , the maximum power shall be 80W or less, and the maximum static load shall be 150N or less. Part 2 stipulates the stability with which the robot is integrated into the system, that is, the safety that the robot manufacturer, integrator, and user must comply with.

특히, 협업 로봇은 로봇과 작업자가 근거리 작업을 하기 때문에 최근에는 협업 로봇의 안전에 대한 중요성이 대두되고 있다. 협업 로봇에 대한 안정성을 강화하기 위해서는 보다 신뢰성 있는 충돌 감지 기술이 필요한 실정이다.Especially, since collaborative robots work close to each other by robots and workers, safety of collaborative robots is increasingly important. More robust collision detection technology is needed to enhance stability of collaborative robots.

본 발명의 기술적 과제는 안전성이 강화된 협업로봇의 충돌을 감지하는 장치 및 방법을 제공함에 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide an apparatus and method for detecting a collision of a cooperative robot with enhanced safety.

본 발명의 다른 기술적 과제는 충돌감지의 신뢰성이 향상된 협업로봇의 충돌을 감지하는 장치 및 방법을 제공함에 있다.It is another object of the present invention to provide an apparatus and method for detecting a collision of a cooperative robot with improved reliability of collision detection.

본 발명의 또 다른 기술적 과제는 연산이 단순하고, 제작비용이 절감된 협업로봇의 충돌을 감지하는 장치 및 방법을 제공함에 있다.It is another object of the present invention to provide an apparatus and method for detecting a collision of a cooperative robot having a simple operation and a reduced manufacturing cost.

본 발명의 일 양태에 따르면 협업로봇의 충돌 감지 장치가 제공된다. 상기 충돌 감지 장치는 외부로부터 모터를 제어하기 위한 지령 위치, 지령 속도 및 지령 가속도에 관한 정보를 입력받고, 상기 모터로부터 현재 위치 및 현재 속도에 관한 정보를 수신하며, 상기 지령 위치 및 상기 현재 위치를 기반으로 위치 오차를 계산하는 지령값 입력부, 상기 지령값 입력부로부터 상기 지령 위치, 상기 지령 속도, 상기 지령 가속도, 현재 위치 및 현재 속도에 관한 정보를 수신하여 이들 중 적어도 하나를 기반으로 PID(proportional integral derivative) 제어 신호를 생성하는 PID 제어부, 상기 지령 위치, 상기 지령 속도, 상기 지령 가속도 중 적어도 하나를 기반으로 충돌 임계값을 계산하는 임계값 계산부, 상기 위치 오차 및 상기 충돌 임계값을 기반으로 충돌 발생 여부를 판단하는 충돌 판정부 및 상기 PID 제어 신호에 의해 동작하며, 현재 위치 및 현재 속도에 관한 정보를 상기 지령값 입력부로 전송하는 상기 모터를 포함하여 구현된다.According to one aspect of the present invention, there is provided a collision sensing apparatus for a collaboration robot. The collision sensing apparatus receives information on a command position, command speed and command acceleration for controlling the motor from the outside, receives information about the current position and the current speed from the motor, and outputs the command position and the current position Based on at least one of the command position, the command speed, the command acceleration, the current position, and the current speed from the command value input unit, calculates a proportional integral (PID) a PID controller for generating a derivative control signal, a threshold value calculator for calculating a collision threshold value based on at least one of the command position, the command speed, and the command acceleration, A collision judging unit for judging whether or not a collision has occurred, Value and is implemented by including the motor for transmitting information regarding the current speed portion the command value input.

본 발명의 다른 양태에 따르면, 상기 PID 제어부로부터 PID 제어 신호를 수신하고, 상기 충돌 판정부로부터 충돌 발생 여부에 관한 정보를 수신하여 이들을 기반으로 상기 모터를 제어하는 피드백 제어부를 더 포함하여 구현된다.According to another aspect of the present invention, there is further provided a feedback control unit for receiving a PID control signal from the PID control unit, receiving information about whether a collision has occurred from the collision determination unit, and controlling the motor based on the information.

본 발명의 또 다른 양태에 따르면, 상기 지령값 입력부로부터 위치오차 값을 획득하여 미리 설정된 컷-오프(cut off) 주파수보다 높은 주파수 성분을 차단하는 저대역 필터를 더 포함하여 구현된다.According to another aspect of the present invention, there is further provided a low-pass filter for obtaining a position error value from the command value input unit and blocking a frequency component higher than a preset cut-off frequency.

본 발명의 또 다른 양태에 따르면, 상기 모터로부터 상기 현재 위치 및 현재 속도에 관한 정보를 인코딩하여 상기 지령값 입력부로 전송하는 인코더를 더 포함하여 구현된다.According to another aspect of the present invention, there is further provided an encoder for encoding information about the current position and the current speed from the motor and transmitting the encoded information to the command value input unit.

본 발명의 또 다른 양태에 따르면 협업로봇의 충돌 감지 장치에 의해 수행되는 충돌감지 방법이 제공된다. 상기 충돌 감지 방법은 모터의 지령 위치, 지령 속도, 지령 가속도, 현재 위치, 현재 속도를 획득하는 단계, 상기 지령 위치 및 상기 현재 위치를 기반으로 위치 오차를 계산하고, 상기 지령 속도 및 상기 현재 속도를 기반으로 속도오차를 계산하는 단계, 상기 지령 위치, 상기 지령 속도, 상기 지령 가속도를 기반으로 PID(proportional integral derivative) 제어 신호를 생성하는 단계, 상기 지령 위치, 상기 지령 속도, 상기 지령 가속도 및 로봇 암의 무게 중 어느 하나 이상을 기반으로 충돌 임계값을 계산하는 단계, 상기 지령 위치 및 상기 충돌 임계값을 기반으로 충돌이 발생하였는지 여부를 판단하는 단계, 상기 PID 제어 신호 및 상기 충돌이 발생하였는지 여부를 기반으로 모터 제어 신호를 생성하여 상기 모터를 제어하는 단계 및 상기 모터의 현재 위치 및 현재 속도를 피드백하는 단계를 포함하여 구현된다.According to still another aspect of the present invention, there is provided a collision detection method performed by a collision sensing apparatus of a collaboration robot. The collision detection method includes: acquiring a command position, an instruction speed, a command acceleration, a current position and a current speed of a motor; calculating a position error based on the command position and the current position; Generating a proportional integral derivative (PID) control signal based on the command position, the command velocity, and the command acceleration, calculating the command position, the command velocity, the command acceleration, Calculating a collision threshold based on any one or more of the weight and the collision threshold, determining whether a collision has occurred based on the command position and the collision threshold, determining whether the collision has occurred, Controlling the motor by generating a motor control signal based on the current position and the current position of the motor, It is implemented, including the step of feeding back the speed.

본 발명에 따르면 충돌 감지의 신뢰성이 향상된 협업로봇을 위한 충돌감지 장치 및 방법이 제공된다.According to the present invention, there is provided a collision sensing apparatus and method for a collaborative robot in which reliability of collision detection is improved.

또한, 연산이 단순하고, 제작비용이 절감된 협업로봇의 충돌을 감지하는 장치 및 방법이 제공된다.An apparatus and method for detecting a collision of a cooperative robot having a simple operation and a reduced manufacturing cost are provided.

도 1은 협업로봇이 작업자와 함께 작업을 수행하는 예시를 나타낸다.
도 2(a)는 2차 폴리노미얼(polynomial) 모델을 사용하여 모터의 경로를 설정하는 방법의 일례를 나타낸다.
도 2(b)는 3차 폴리노미얼(polynomial) 모델을 사용하여 모터의 경로를 설정하는 방법의 일례를 나타낸다.
도 3은 본 발명의 일 실시예에 따른 협업로봇의 충돌을 감지하는 장치를 나타낸다.
도 4는 충돌이 발생하지 않은 임의의 조인트에서 측정된 위치, 속도, 가속도, 위치오차, 속도오차의 일례를 나타낸다.
도 5는 충돌이 발생한 임의의 조인트에서 측정된 위치, 속도, 가속도, 위치오차, 속도오차의 일례를 나타낸다.
도 6은 충돌이 발생한 임의의 조인트에서 측정된 위치, 속도, 가속도, 위치오차, 속도오차의 다른 일례를 나타낸다.
도 7은 본 발명의 일 실시예에 따른 협업로봇의 충돌을 감지하는 장치의 블록도이다.
도 8은 도 7의 저대역 필터(740)에 의해 추출된 신호의 일례를 나타낸다.
도 9는 본 발명의 일 실시예에 따른 협업로봇의 충돌을 감지하는 방법의 흐름도이다.
1 shows an example in which a collaborative robot performs work with an operator.
2 (a) shows an example of a method of setting a path of a motor using a second-order polynomial model.
2 (b) shows an example of a method of setting a path of a motor using a third-order polynomial model.
FIG. 3 shows an apparatus for detecting a collision of a cooperative robot according to an embodiment of the present invention.
FIG. 4 shows an example of position, velocity, acceleration, position error, and velocity error measured at an arbitrary joint in which no collision occurred.
5 shows an example of position, velocity, acceleration, position error, and velocity error measured at any joint where a crash occurred.
Fig. 6 shows another example of position, velocity, acceleration, position error, and velocity error measured at any joint where a crash occurred.
7 is a block diagram of an apparatus for detecting a collision of a cooperative robot according to an embodiment of the present invention.
FIG. 8 shows an example of a signal extracted by the low-pass filter 740 in FIG.
9 is a flowchart of a method of detecting a collision of a cooperative robot according to an embodiment of the present invention.

이하, 본 명세서에서는 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 명세서의 실시 예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments will be described in detail with reference to exemplary drawings. It should be noted that, in adding reference numerals to the constituent elements of the drawings, the same constituent elements are denoted by the same reference symbols as possible even if they are shown in different drawings. In the following description of the embodiments of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present disclosure rather unclear.

협업 로봇은 작업의 수행 중에 작업자와 접촉이 이루어지는 경우 로봇각 축의 파라미터에 큰 변화량이 발생하기 때문에 이를 활용하여 충돌 감지를 구현할 수 있다. 협업 로봇의 충돌 감지를 구현하기 위하여 동역학이 활용될 수 있다. 예를 들어, 로봇의 원하는 조인트각(desired thetha)

Figure pat00001
를 움직이기 위해 요구되는 토크(desired torque)는 아래의 수학식 1에 의하여 계산될 수 있다.Collaborative robots can realize collision detection by using a large variation in parameters of each axis of the robot when a contact with a worker occurs while performing a task. Dynamics can be utilized to realize collision detection of collaborative robots. For example, if a desired desired angle of the robot is desired,
Figure pat00001
The desired torque to move the torsion spring can be calculated by the following equation (1).

Figure pat00002
Figure pat00002

수학식 1에서

Figure pat00003
는 관성 행렬(inertial matrix),
Figure pat00004
는 코리올리/원심력(Coriolis/centrifugal) 행렬(matrix),
Figure pat00005
는 중력항,
Figure pat00006
는 마찰항을 나타낸다. 하지만, 실제로 충돌이 발생하는 경우는 충돌에 의한 토크(
Figure pat00007
)를 고려해야 한다. 충돌에 의한 토크(
Figure pat00008
)는 실제 모터의 전류로부터
Figure pat00009
값을 측정하고, 이 값을 이용하여 도출할 수 있다. 상기 충돌에 의한 토크(
Figure pat00010
)는 아래 수학식 2를 이용하여
Figure pat00011
값으로부터 계산될 수 있다.In Equation (1)
Figure pat00003
An inertial matrix,
Figure pat00004
A Coriolis / centrifugal matrix,
Figure pat00005
Is a gravitational term,
Figure pat00006
Represents a friction term. However, when a collision actually occurs, the torque due to the collision
Figure pat00007
). Torque due to collision (
Figure pat00008
) From the actual motor current
Figure pat00009
The value can be measured and derived using this value. The torque due to the collision (
Figure pat00010
) Is calculated using Equation 2 below
Figure pat00011
Lt; / RTI >

Figure pat00012
Figure pat00012

여러 개의 조인트를 가진 다축 로봇의 경우, 상기 수학식 1 및 수학식 2에 비하여 훨씬 복잡한 연산을 수행하여야 한다. 따라서, 실시간으로 다축 로봇의 충돌에 의한 토크를 계산하는 많은 어려움이 따른다. 또한, 수학식 1의 마찰항인

Figure pat00013
은 주위환경, 마모 정도 등에 따라 변화하여 정밀한 수식모델을 구성하는 데 한계가 있다. 이 때, 각각의 조인트에 토크센서를 부착하면 복잡한 계산식이 필요 없고 정밀한 토크 측정이 가능하여 활용도가 높다. 다만, 여러 개의 토크센서를 부착하는 데에 따른 로봇의 비용이 증가하는 단점이 있다. In the case of a multi-axis robot having several joints, it is necessary to perform a much more complicated operation than the above Equations (1) and (2). Therefore, there are many difficulties in calculating the torque due to the collision of the multi-axis robot in real time. Further, the frictional resistance of Equation 1
Figure pat00013
There is a limitation in forming a precise mathematical expression model by changing with the surrounding environment, the degree of wear, and the like. At this time, attaching a torque sensor to each joint eliminates the need for complicated calculation formulas and allows precise torque measurement to be used. However, there is a disadvantage in that the cost of the robot is increased due to attachment of a plurality of torque sensors.

이하에서는 복잡한 수식모델을 피하고 제작비용을 절감할 수 있는 본 발명의 실시예에 따른 충돌감지 장치 및 방법에 관하여 설명한다.Hereinafter, a collision sensing apparatus and method according to an embodiment of the present invention capable of avoiding complex mathematical models and reducing manufacturing costs will be described.

도 2는 로봇을 제어하기 위한 경로설정 방법의 일례를 나타낸다. 도 2(a)는 2차 폴리노미얼(polynomial) 모델을 사용하여 모터의 경로를 설정하는 방법을 나타내고, 도 2(b)는 3차 폴리노미얼(polynomial) 모델을 사용하여 모터의 경로를 설정하는 방법을 나타낸다. 도 2(a) 및 도 2(b)를 참조하면, 로봇을 각 위치에서 다음 목표 지점까지 이동하도록 제어하기 위하여 각 시간별로 위치, 속도, 가속도 등을 설정하여 모터를 제어할 수 있다. Fig. 2 shows an example of a path setting method for controlling the robot. 2 (a) shows a method of setting a path of a motor using a second-order polynomial model, and FIG. 2 (b) shows a method of setting a path of a motor using a third-order polynomial model It shows how to set. Referring to FIGS. 2 (a) and 2 (b), the motor can be controlled by setting the position, speed, and acceleration for each time to control the robot to move from each position to the next target point.

도 3은 본 발명의 일 실시예에 따른 협업로봇의 충돌 감지 장치(300)를 나타낸다. 도 3을 참조하면, 충돌 감지 장치(300)는 지령값 입력부(310), 추적 오차 계산부(320), 피드포워드 토크(Feed forward Torque) 계산부(330), PID(proportional integral derivative) 보상부(340), 토크 합산부(350), 전류 제어부(360), 인코더(370), 피드백 제어부(380)를 포함한다.3 shows a collision sensing apparatus 300 of a cooperative robot according to an embodiment of the present invention. 3, the collision sensing apparatus 300 includes a command value input unit 310, a tracking error calculation unit 320, a feed forward torque calculation unit 330, a PID (proportional integral derivative) A torque summing unit 350, a current control unit 360, an encoder 370,

지령값 입력부(310)는 모터를 제어하기 위한 위치, 속도, 가속도에 대한 정보를 외부로부터 입력받는다.The command value input unit 310 receives information on the position, speed, and acceleration for controlling the motor from the outside.

추적 오차 계산부(320)는 지령값 입력부(310)로부터 모터를 제어하기 위한 지령 위치(

Figure pat00014
), 지령 속도(
Figure pat00015
), 지령 가속도(
Figure pat00016
)에 대한 정보를 수신하고, 인코더(370)로부터 모터의 실제 위치(
Figure pat00017
), 실제 속도(
Figure pat00018
)를 수신하여, 지령 위치와 실제 위치를 비교한 값으로부터 위치오차를 계산하고, 지령 속도와 실제 속도를 비교한 값으로부터 속도오차를 계산한다.The tracking error calculator 320 calculates a tracking error value from the command value input unit 310,
Figure pat00014
), Command speed (
Figure pat00015
), Command acceleration (
Figure pat00016
And receives information from the encoder 370 on the actual position of the motor (
Figure pat00017
), Actual speed (
Figure pat00018
), Calculates the position error from the value obtained by comparing the command position and the actual position, and calculates the speed error from the value obtained by comparing the command speed and the actual speed.

피드포워드 토크 계산부(330)는 지령값 입력부(310)를 통하여 입력된 위치, 속도, 가속도의 값으로부터 피드포워드 토크 값을 계산하여 토크 합산부(350)로 전송한다.The feedforward torque calculation unit 330 calculates the feedforward torque value from the position, speed, and acceleration values input through the command value input unit 310 and transmits the calculated feedforward torque value to the torque summing unit 350.

PID 보상부(340)는 추적 오차 계산부(320)로부터 수신되는 제어 값과 미리 설정된 PID(proportional integral derivative) 이득 스케줄(gain schedule)을 기반으로 PID 제어 값을 생성하고, 토크 합산부(350)로 전송한다.The PID compensator 340 generates a PID control value based on a control value received from the tracking error calculator 320 and a preset proportional integral derivative (PID) gain schedule, Lt; / RTI >

토크 합산부(350)는 피드포워드 토크 계산부(330)로부터 수신된 피드포워드 토크 값과 PID 보상부(340)로부터 수신된 PID 제어 값을 합산하여 전류 제어부(360)로 전송한다.The torque summing unit 350 sums the feedforward torque value received from the feedforward torque calculation unit 330 and the PID control value received from the PID compensator 340 and transmits the sum to the current controller 360.

전류 제어부(360)는 토크 합산부(350)로부터 수신된 토크 값을 기반으로 로봇의 암을 제어하기 위한 모터에 인가할 전류 값을 계산하여 인코더(370)로 전송한다.The current control unit 360 calculates a current value to be applied to the motor for controlling the arm of the robot based on the torque value received from the torque summing unit 350 and transmits the current value to the encoder 370.

인코더(370)는 전류 제어부(360)로부터 수신된 전류 값을 인코딩하여 로봇 암에 구비된 모터를 제어하고, 모터의 실제 위치를 측정하여 추적 오차 계산부(320)로 피드백한다.The encoder 370 encodes the current value received from the current controller 360 to control the motor provided in the robot arm, measures the actual position of the motor, and feeds back the measured value to the tracking error calculator 320.

상기와 같은 충돌 감지 장치(300)의 구성에 의하여, 외부로부터 입력된 지령 위치와 실제 위치 간의 위치오차 값을 계산할 수 있고, 상기 위치오차 값을 이용하여 로봇에 충돌이 발생하였는지 여부를 판단할 수 있다.According to the configuration of the collision sensing apparatus 300, the position error value between the command position and the actual position input from the outside can be calculated, and it is possible to determine whether a collision has occurred in the robot using the position error value have.

도 4는 도 3에 따른 모터 제어기에서 충돌이 발생하지 않은 임의의 조인트에서 측정된 위치(

Figure pat00019
), 속도(
Figure pat00020
), 가속도(
Figure pat00021
), 위치오차(
Figure pat00022
), 속도오차(
Figure pat00023
)의 일례를 나타낸다. 모터 제어기의 내부에서는 모터에 부가하는 전류를 계산하기 위하여 위치, 속도, 가속도를 이용한다. 모터에 충격이 발생하는 경우에는 상기 세 가지 값이 급격하게 변화한다. 속도 및 가속도의 경우에는 측정된 디지털화된(digitalize)된 위치값을 미분하여 측정하기 때문에 기본적으로 제어기의 사이클(cycle)과 비슷한 고주파수(high frequency)의 변화로 나타나지만, 상기 속도 및 가속도의 측정을 통해서는 충돌이 있는 경우와 없는 경우를 구분하기 어렵다. 하지만, 도 5 및 도 6에 나타난 것과 같이 위치오차를 참조하면 충돌이 있는 경우와 충돌이 없는 경우를 명확하게 구분할 수 있다. 따라서, 위치 오차의 크기가 미리 설정된 충돌 임계값(collision threshold)보다 클 경우에는 충돌이 발생한 것으로 판단하고, 이에 따른 적절한 안전 조치를 취할 수 있다.Fig. 4 is a graphical representation of the position measured at any joint in which no collision occurred in the motor controller according to Fig. 3
Figure pat00019
), speed(
Figure pat00020
), Acceleration (
Figure pat00021
), Position error
Figure pat00022
), Speed error (
Figure pat00023
). Inside the motor controller, position, velocity, and acceleration are used to calculate the current added to the motor. When an impact occurs in the motor, the three values change abruptly. In the case of speed and acceleration, since the measured digitalized position value is measured by differentiating it, it appears basically as a high frequency change similar to the cycle of the controller. However, by measuring the speed and acceleration It is difficult to distinguish between the case where there is a collision and the case where there is no collision. However, referring to the position error as shown in FIG. 5 and FIG. 6, the case where there is a collision and the case where there is no collision can be clearly distinguished. Accordingly, when the magnitude of the position error is larger than a predetermined collision threshold, it is determined that a collision has occurred, and appropriate safety measures can be taken accordingly.

도 5는 도 3에 따른 모터 제어기에서 충돌이 발생한 임의의 조인트에서 측정된 위치(

Figure pat00024
), 속도(
Figure pat00025
), 가속도(
Figure pat00026
), 위치오차(
Figure pat00027
), 속도오차(
Figure pat00028
)의 일례를 나타낸다. 도 5를 참조하면, 시간 t=2.3sec 일 때 충돌이 발생하였고, 이 때 위치오차(
Figure pat00029
)가 미리 설정된 충돌 임계값인 66을 초과하게 되어 이로부터 충돌이 발생한 것으로 판단될 수 있다.Fig. 5 is a graph showing the relationship between the position measured at any joint at which a collision occurred in the motor controller according to Fig. 3
Figure pat00024
), speed(
Figure pat00025
), Acceleration (
Figure pat00026
), Position error
Figure pat00027
), Speed error (
Figure pat00028
). Referring to FIG. 5, a collision occurred at a time t = 2.3 sec. At this time, the position error
Figure pat00029
) Exceeds 66, which is a preset collision threshold value, from which it can be judged that a collision has occurred.

도 6은 도 3에 따른 모터 제어기에서 충돌이 발생한 임의의 조인트에서 측정된 위치(

Figure pat00030
), 속도(
Figure pat00031
), 가속도(
Figure pat00032
), 위치오차(
Figure pat00033
), 속도오차(
Figure pat00034
)의 다른 일례를 나타낸다. 도 6을 참조하면, 시간 t=0~6 sec의 구간에서는 위치오차(
Figure pat00035
)가 상승하는 구간이 발생한다. 특히, t=5.5sec일 때 가속도의 지령값이 크고 위치오차도 일반적인 구간에 비하여 크지만, 위치 오차가 상기 시간에서의 미리 설정된 충돌 임계값인 216보다는 작아 충돌이 발생하지 않은 것으로 판단될 수 있다. 반면에 t=10.5sec에서는 가속도의 지령값과 속도의 지령값은 낮지만 위치 오차가 상기 시간에서의 미리 설정된 충돌 임계값인 21보다 크기 때문에 충돌이 발생한 것으로 판단될 수 있다.FIG. 6 is a graph showing the relationship between the position measured at any joint where a collision occurred in the motor controller according to FIG. 3
Figure pat00030
), speed(
Figure pat00031
), Acceleration (
Figure pat00032
), Position error
Figure pat00033
), Speed error (
Figure pat00034
). ≪ / RTI > Referring to FIG. 6, in a period of time t = 0 to 6 sec,
Figure pat00035
) Is generated. In particular, when t = 5.5 sec, the command value of the acceleration is large and the position error is larger than the normal section, but it can be judged that no collision occurs because the position error is smaller than the predetermined collision threshold value 216 at the time . On the other hand, at t = 10.5 sec, the command value of the acceleration and the command value of the velocity are low, but it can be judged that the collision occurs because the position error is larger than the predetermined collision threshold value 21 in the time.

위치 오차의 크기는 로봇이 작업하는 공작물의 무게, 경로의 위치, 속도 등에 따라 변한다. 충돌이 발생하는 경우에도 마찬가지로 공작물의 무게, 경로의 위치, 속도 등에 따라 변한다. 본 발명에서는 임계값은 가속도 명령의 크기에 따라 아래 수학식 3과 같이 구성될 수 있다.The size of the position error varies depending on the weight of the workpiece, the position of the path, and the speed of the robot. When a collision occurs, it also varies with the weight of the workpiece, the position of the path, the speed, and the like. In the present invention, the threshold value may be configured according to Equation (3) according to the magnitude of the acceleration command.

Figure pat00036
Figure pat00036

수학식 3에서 n은 충돌의 민감도 값을 의미하고, 일반적으로 2-5의 값으로 설정될 수 있다. 상기 n의 값이 작은 값으로 설정되면 충돌 임계값이 작아지기 때문에 제어기는 충돌에 대하여 민감하게 구성될 수 있지만, 너무 작은 값으로 설정하는 경우 충돌하지 않은 경우를 충돌한 것으로 잘못 판단될 수 있다. 반대로 상기 n의 값이 큰 값으로 설정되면 충돌 임계값이 커지기 때문에 제어기는 충돌에 대하여 민감하지 않게 구성되어, 너무 큰 값으로 설정하는 경우 충돌을 인식하지 못할 우려가 있다. In Equation (3), n means the sensitivity value of the collision, and can be generally set to a value of 2-5. If the value of n is set to a small value, the collision threshold value becomes small, so that the controller can be configured to be sensitive to the collision. However, if the value of n is set to a too small value, the collision can be erroneously determined as collision. On the contrary, if the value of n is set to a large value, the collision threshold value becomes large, so that the controller is not sensitive to the collision. If the value of n is set to a too large value, the collision may not be recognized.

도 7은 본 발명의 일 실시예에 따른 협업로봇을 위한 충돌 감지 장치의 블록도이다.7 is a block diagram of a collision sensing apparatus for a cooperative robot according to an embodiment of the present invention.

도 7을 참조하면, 충돌 감지 장치(700)는 지령값 입력부(710), PID 제어부(720), 저역 필터(Low pass filter, 730), 임계값 계산부(740), 충돌 판정부(750), 피드백 제어부(feed back controller, 760), 모터(770), 로봇 암(780), 인코더(790)를 포함하여 구성된다.7, the collision sensing apparatus 700 includes a command value input unit 710, a PID control unit 720, a low pass filter 730, a threshold value calculation unit 740, a collision determination unit 750, A feed back controller 760, a motor 770, a robot arm 780, and an encoder 790.

지령값 입력부(710)는 모터(770)를 제어하기 위한 지령 위치, 지령 속도, 지령 가속도에 대한 정보를 외부로부터 입력받고, 인코더(790)로부터 모터(770)의 현재 위치 및 현재 속도에 관한 정보를 수신한다. 지령값 입력부(710)는 모터(770)의 지령 위치와 현재 위치를 비교하여 위치오차를 계산하고, 지령 속도와 현재 속도를 비교하여 속도오차를 계산한다.The command value input unit 710 receives information on command positions, command speeds, and command accelerations for controlling the motor 770 from the outside and receives information about the current position and the current speed of the motor 770 from the encoder 790 . The command value input unit 710 compares the command position of the motor 770 with the current position to calculate a position error, and compares the command speed and the current speed to calculate a speed error.

PID(proportional integral derivative) 제어부(720)는 지령값 입력부(710)를 통하여 입력된 지령 위치, 지령 속도, 지령 가속도 및 인코더(790)로부터 입력된 모터의 현재 위치, 현재 속도의 값으로부터 PID 제어 신호를 생성하고, 피드백 제어부(760)로 전송한다. 상기 PID 제어 신호는 모터(770)에 인가하기 위한 전류 신호일 수 있다.The PID controller 720 calculates a proportional integral derivative (PID) control signal 720 based on the command position, command speed, command acceleration, current position of the motor input from the encoder 790, And transmits it to the feedback control unit 760. [ The PID control signal may be a current signal to be applied to the motor 770.

충돌 임계값 계산부(730)는 지령 위치, 지령 속도, 지령 가속도 또는 로봇 암의 무게 중 하나 이상을 기반으로 충돌 임계값을 계산한다. 상기 지령 위치, 지령 속도, 지령 가속도는 지령 입력부(710)로부터 수신될 수 있으며, 로봇 암의 무게는 시스템에 미리 설정될 수 있다. 충돌 임계값은 수학식 3에 의하여 계산될 수 있다. 상기 수학식 3에서 n의 값은 미리 설정된 값이 사용될 수도 있고, 지령값 입력부(710)로 입력된 지령 위치, 지령 속도, 로봇 암의 무게 중 하나 이상의 값을 기반으로 설정될 수 있다. 예를 들어, 상기 지령 속도가 빠른 경우에는 n의 값이 작은 값으로 설정되어 충돌에 보다 민감하게 반응하고, 지령 속도가 느린 경우에는 n의 값이 큰 값으로 설정되어 충돌에 덜 민감하게 반응하도록 설정될 수 있다. 한편, 상기 충돌 임계값은 로봇 암의 무게에 따라 서로 다른 값으로 설정될 수도 있다. 예를 들어, 로봇 암의 무게가 무거운 경우에는 n의 값이 작은 값으로 설정되어 충돌에 보다 민감하게 반응하고, 로봇 암의 무게가 가벼운 경우에는 n의 값이 큰 값으로 설정되어 충돌에 덜 민감하게 반응하도록 설정될 수 있다. 한편, 상기 충돌 임계값은 가속도 지령 값에 따라 서로 다른 값으로 설정될 수도 있다.The collision threshold calculator 730 calculates the collision threshold based on at least one of the command position, the command speed, the command acceleration, or the weight of the robot arm. The command position, the command speed, and the command acceleration can be received from the command input unit 710, and the weight of the robot arm can be preset in the system. The collision threshold can be calculated by Equation (3). In Equation (3), a predetermined value may be used as the value of n, and may be set based on one or more of the command position, command speed, and the weight of the robot arm input to the command value input unit 710. For example, when the command speed is high, the value of n is set to a small value so that it is more sensitive to collision. When the command speed is low, the value of n is set to a large value so as to be less sensitive to collision Can be set. The collision threshold value may be set to a different value depending on the weight of the robot arm. For example, when the weight of the robot arm is heavy, the value of n is set to a small value, so that it is more sensitive to collision. When the weight of the robot arm is light, the value of n is set to a large value, Or the like. Meanwhile, the collision threshold value may be set to a different value according to the acceleration command value.

저대역 필터(low pass filter, 740)는 지령값 입력부(710)로부터 수신된 위치오차 값 중에서 미리 설정된 컷-오프(cut off) 주파수 이하의 주파수 성분은 모두 통과시키고 컷-오프 주파수보다 높은 주파수 성분은 모두 차단한다. 따라서, 지령값 입력부(710)에 의해 계산된 위치오차로부터 실제 충돌에 의한 위치오차의 변화만을 추출한다. 상기 저대역 필터(740)는 아래의 수학식 4를 이용하여 입력 신호로부터 출력 신호를 도출한다.The low pass filter 740 passes all frequency components below a predetermined cut off frequency among the position error values received from the command value input unit 710 and outputs a frequency component higher than the cut- . Therefore, only the change of the position error due to the actual collision is extracted from the position error calculated by the command value input unit 710. The low-pass filter 740 derives an output signal from the input signal using Equation (4) below.

Figure pat00037
Figure pat00037

수학식 4에서 xi는 입력 신호, yi는 출력 신호, t는 샘플링 간격(sampling interval), fc는 컷오프 주파수(cutoff frequency)를 나타낸다. 도 8은 저대역 필터(740)에 의해 추출된 신호의 일례를 나타낸다. 도 8의 예시에서 t=1msec, fc=10Hz, a=0.6, 충돌 임계값(collision threshold)=0.06으로 설정되었다. 도 8을 참조하면, 저대역 필터(740)에 의해 컷오프 주파수(cutoff frequency)보다 높은 주파수 성분이 차단되어 실제 충돌이 발생하지 않은 경우에 충돌을 잘못 감지하는 오류가 제거된다. 도 8의 예시에서는 t=2.5sec 부근에서 위치오차가 충돌 임계값을 초과하으므로, 이 때 충돌이 발생한 것으로 감지될 수 있다. 구성에 따라, 상기 저대역 필터(740)는 생략될 수도 있다.In Equation (4), x i represents an input signal, y i represents an output signal, t represents a sampling interval, and f c represents a cutoff frequency. FIG. 8 shows an example of a signal extracted by the low-pass filter 740. In the example of Figure 8 has been set to 1msec = t, f c = 10Hz, a = 0.6, collision threshold (collision threshold) = 0.06. Referring to FIG. 8, a frequency component higher than a cutoff frequency is blocked by the low-pass filter 740, thereby eliminating an error that erroneously detects a collision if no actual collision occurs. In the example of Fig. 8, since the position error exceeds the collision threshold value in the vicinity of t = 2.5 sec, the collision can be detected as occurring at this time. Depending on the configuration, the low-pass filter 740 may be omitted.

충돌 판정부(750)는 저대역 필터(740)에 의해 추출된 위치오차와 충돌 임계값 계산부(730)에 의해 계산된 충돌 임계값을 기반으로 충돌이 발생하였는지 여부를 판단한다. 위치 오차의 절대값이 충돌 임계값보다 큰 경우에는 충돌이 발생한 것으로 판단하고, 위치 오차의 절대값이 충돌 임계값보다 작거나 같은 경우에는 충돌이 발생하지 않은 것으로 판단할 수 있다. 한편, 상기 충돌 판정부(750)는 속도오차를 임의의 충돌 임계값과 비교하여 충돌이 발생하였는지 여부를 판단할 수도 있고, 충돌이 발생하였는지 여부를 판단하는 보조적인 수단으로 상기 속도오차가 사용될 수 있다. 예를 들어, 상기 위치 오차의 절대값이 충돌 임계값보다 크고, 상기 속도 오차의 절대값이 임의의 다른 충돌 임계값보다 큰 경우를 모두 만족하거나, 이 둘 중 한가지 조건을 만족하는 경우에 충돌이 발생한 것으로 판단할 수도 있다. 충돌 판정부(750)는 충돌이 발생하였는지에 대한 여부를 지시하는 정보를 피드백 제어부(760)로 전송한다. The collision determining unit 750 determines whether a collision has occurred based on the position error extracted by the low-pass filter 740 and the collision threshold calculated by the collision threshold calculator 730. If the absolute value of the position error is larger than the collision threshold value, it is determined that a collision has occurred. If the absolute value of the position error is smaller than or equal to the collision threshold value, it can be determined that collision does not occur. Meanwhile, the collision determining unit 750 may determine whether a collision has occurred by comparing the velocity error with an arbitrary collision threshold value, and may determine that the velocity error can be used as an auxiliary means for determining whether a collision has occurred have. For example, if the absolute value of the position error is greater than the collision threshold and the absolute value of the velocity error is greater than any other collision threshold, or if one of the two conditions is met, It can be judged that it has occurred. The collision determining unit 750 transmits information indicating whether or not a collision has occurred to the feedback control unit 760.

피드백 제어부(760)는 PID(proportional integral derivative) 제어부(720)로부터 PID 제어 값을 수신하고, 충돌 판정부(750)로부터 충돌 발생 여부에 대한 정보를 수신하여, 모터(770)를 제어한다. 예를 들어, 피드백 제어부(760)는 충돌이 발생하지 않은 경우에는 PID 제어부(720)로부터 수신한 전류 값을 모터에 인가하여 모터를 제어하고, 충돌이 발생한 경우에는 모터에 전류를 인가하지 않아 모터를 정지시킬 수 있다. The feedback control unit 760 receives the PID control value from the proportional integral derivative (PID) control unit 720, receives information about the occurrence of the collision from the collision determination unit 750, and controls the motor 770. For example, when no collision has occurred, the feedback control unit 760 controls the motor by applying the current value received from the PID controller 720 to the motor, and when a collision occurs, Can be stopped.

모터(770)는 피드백 제어부(760)로부터 수신한 제어 신호를 기반으로 회전을 수행하여 로봇 암(780)을 동작시킨다. 한편, 모터(770)는 현재 위치, 현재 속도에 관한 정보를 인코더(790)로 전송한다. The motor 770 rotates based on the control signal received from the feedback control unit 760 to operate the robot arm 780. On the other hand, the motor 770 transmits information on the current position and the current speed to the encoder 790.

인코더(790)는 모터(770)로부터 수신한 모터의 현재 위치 및 현재 속도에 관한 정보를 인코딩하여 지령값 입력부(710)로 전송한다. 상기 지령값 입력부(710)로 전송된 모터의 현재 위치 및 현재 속도에 대한 정보는 위치 오차를 계산하는 데에 사용될 수 있다. 한편, 인코더(790)는 생략될 수 있으며, 이 때 모터(770)의 현재 위치, 현재 속도에 관한 정보는 모터(700)로부터 지령값 입력부(710)로 직접 전송될 수 있다.The encoder 790 encodes information on the current position and current speed of the motor received from the motor 770, and transmits the encoded information to the command value input unit 710. The information on the current position and the current speed of the motor transmitted to the command value input unit 710 can be used to calculate the position error. Meanwhile, the encoder 790 may be omitted, and information on the current position and the current speed of the motor 770 may be directly transmitted from the motor 700 to the command value input unit 710.

상기 충돌 감지 장치(700)의 구성에 의하면, 외부로부터 입력된 지령 위치와 실제 위치 간의 위치오차 값을 계산할 수 있고, 위치오차 값과 충돌 임계값을 비교하여 로봇에 충돌이 발생하였는지 여부를 판단할 수 있다. According to the configuration of the collision sensing apparatus 700, a position error value between an instruction position and an actual position input from the outside can be calculated, and the position error value is compared with the collision threshold value to determine whether a collision has occurred in the robot .

도 9는 본 발명의 일 실시예에 따른 협업로봇을 위한 충돌 감지 장치에서 수행되는 충돌 감지 방법의 흐름도이다.9 is a flowchart of a collision detection method performed in the collision sensing apparatus for a cooperative robot according to an embodiment of the present invention.

도 9를 참조하면, 충돌 감지 장치(700)는 모터를 제어하기 위한 지령 위치, 지령 속도, 지령 가속도, 모터의 현재 위치 및 현재 속도에 관한 정보를 획득한다(S910). 상기 지령 위치, 지령 속도, 지령 가속도에 대한 정보는 외부 입력에 의해 획득될 수 있고, 모터의 현재 위치 및 현재 속도에 대한 정보는 인코더(790)로부터 획득될 수 있다. Referring to FIG. 9, the collision sensing apparatus 700 acquires information on the command position, command speed, command acceleration, current position of the motor, and current speed for controlling the motor (S910). Information on the command position, the command speed, and the command acceleration can be obtained by an external input, and information on the current position and the current speed of the motor can be obtained from the encoder 790.

다음으로, 충돌 감지 장치(700)는 위치오차 및 속도오차를 계산한다(S920). 오치오차는 지령 위치와 실제 위치를 비교하여 계산될 수 있고, 속도오차는 지령 속도와 실제 속도를 비교하여 계산될 수 있다.Next, the collision sensing apparatus 700 calculates a position error and a velocity error (S920). The erroneous error can be calculated by comparing the command position with the actual position, and the speed error can be calculated by comparing the command speed and the actual speed.

다음으로, 충돌 감지 장치(700)는 지령 위치, 지령 속도, 지령 가속도의 값으로부터 PID(proportional integral derivative) 제어 신호를 생성한다(S930). 상기 PID 제어 신호는 모터에 인가하기 위한 전류 신호일 수 있다.Next, the collision sensing apparatus 700 generates a proportional integral derivative (PID) control signal from the command position, the command speed, and the command acceleration value (S930). The PID control signal may be a current signal to be applied to the motor.

다음으로, 충돌 감지 장치(700)는 지령 위치, 지령 속도, 지령 가속도 또는 로봇 암의 무게 중 어느 하나 이상을 기반으로 충돌 임계값을 계산한다(S940). 상기 지령 위치, 지령 속도, 지령 가속도는 단계 S910에서 외부 입력에 의해 획득될 수 있으며, 상기 로봇 암의 무게는 시스템에 미리 설정될 수 있다. 충돌 임계값은 수학식 3에 의하여 계산될 수 있다. 상기 수학식 3에서 사용되는 n의 값은 미리 설정된 값이 사용될 수도 있고, 지령 위치, 지령 속도, 로봇 암의 무게 중 하나 이상의 값을 기반으로 설정될 수 있다. 예를 들어, 상기 지령 속도가 빠른 경우에는 n의 값이 작은 값으로 설정되어 충돌에 보다 민감하게 반응하고, 지령 속도가 느린 경우에는 n의 값이 큰 값으로 설정되어 충돌에 덜 민감하게 반응하도록 설정될 수 있다. 한편, 상기 충돌 임계값은 로봇 암의 무게에 따라 서로 다른 값으로 설정될 수도 있다. 예를 들어, 로봇 암의 무게가 무거운 경우에는 n의 값이 작은 값으로 설정되어 충돌에 보다 민감하게 반응하고, 로봇 암의 무게가 가벼운 경우에는 n의 값이 큰 값으로 설정되어 충돌에 덜 민감하게 반응하도록 설정될 수 있다. 한편, 상기 충돌 임계값은 가속도 지령 값에 따라 서로 다른 값으로 설정될 수도 있다.Next, the collision sensing apparatus 700 calculates a collision threshold value based on at least one of the command position, the command speed, the command acceleration, or the weight of the robot arm (S940). The command position, the command speed, and the command acceleration may be acquired by an external input in step S910, and the weight of the robot arm may be preset in the system. The collision threshold can be calculated by Equation (3). The value of n used in Equation (3) may be set to a predetermined value or may be set based on one or more values of the command position, the command speed, and the weight of the robot arm. For example, when the command speed is high, the value of n is set to a small value so that it is more sensitive to collision. When the command speed is low, the value of n is set to a large value so as to be less sensitive to collision Can be set. The collision threshold value may be set to a different value depending on the weight of the robot arm. For example, when the weight of the robot arm is heavy, the value of n is set to a small value, so that it is more sensitive to collision. When the weight of the robot arm is light, the value of n is set to a large value, Or the like. Meanwhile, the collision threshold value may be set to a different value according to the acceleration command value.

다음으로, 충돌 감지 장치(700)는 위치오차 및 충돌 임계값을 기반으로 충돌이 발생하였는지 여부를 판단한다(S950). 상기 위치오차는 단계 S920에서 계산된 값이 사용될 수 있고, 단계 S920에서 계산된 위치오차를 저대역 필터(low pass filter)에 통과시킨 출력값이 사용될 수 있다. 저대역 필터는 수학식 4를 이용하여 입력 신호로부터 출력 신호가 도출될 수 있다. 충돌 감지 창치(700)는 위치오차와 단계 S940에서 계산된 충돌 임계값을 기반으로 충돌이 발생하였는지 여부를 판단한다. 위치오차의 절대값이 충돌 임계값보다 큰 경우에는 충돌이 발생한 것으로 판단하고, 위치오차의 절대값이 충돌 임계값보다 작거나 같은 경우에는 충돌이 발생하지 않은 것으로 판단할 수 있다. 상기 충돌이 발생하였는지에 대한 판단 결과는 일련의 신호를 생성하여 제공될 수 있다.Next, the collision sensing apparatus 700 determines whether a collision has occurred based on the position error and the collision threshold (S950). The position error may be a value calculated in step S920, and an output value obtained by passing the position error calculated in step S920 to a low pass filter may be used. The low-pass filter can derive the output signal from the input signal using Equation (4). The collision detection entity 700 determines whether a collision has occurred based on the position error and the collision threshold value calculated in step S940. If the absolute value of the position error is larger than the collision threshold value, it is determined that a collision has occurred. If the absolute value of the position error is smaller than or equal to the collision threshold value, it can be determined that collision does not occur. The result of the determination as to whether the collision has occurred may be provided by generating a series of signals.

다음으로, 충돌 감지 장치(700)는 단계 S930에서 생성된 PID 제어 신호 및 단계 S950에서 생성된 충돌이 발생하였는지 여부에 대한 판단 결과를 기반으로 제어 신호를 생성하여 모터를 제어한다(S960). 상기 제어 신호는 모터에 인가되는 전류 값일 수 있다. 예를 들어, 충돌이 발생하지 않은 경우에는 모터에 PID 제어 신호 신호를 전송하여 모터를 제어하고, 충돌이 발생한 경우에는 아무런 신호를 전송하지 않아 모터를 정지시킬 수 있다. 충돌이 발생했을 때, 충돌 감지 장치(700)는 작업자의 안전을 위하여 모든 동작을 종료할 수 있다.Next, in step S960, the collision sensing apparatus 700 generates a control signal based on the PID control signal generated in step S930 and the determination result of whether or not the collision generated in step S950 has occurred. The control signal may be a current value applied to the motor. For example, when a collision does not occur, the PID control signal is transmitted to the motor to control the motor, and when a collision occurs, no signal is transmitted to stop the motor. When a collision occurs, the collision sensing apparatus 700 can terminate all operations for the safety of the operator.

마지막으로, 충돌 감지 장치(700)는 로봇 암을 동작시키고, 모터의 현재 위치 및 현재 속도에 대한 정보를 피드백한다(S970). 상기 모터의 현재 위치 및 현재 속도에 대한 정보는 지령값 입력부(710)로 피드백될 수 있으며, 상기 피드백되는 모터의 현재 위치 및 현재 속도에 대한 정보는 단계 S920에서 위치 오차를 구하기 위한 값으로 사용될 수 있다.Finally, the collision sensing apparatus 700 operates the robot arm and feeds back information on the current position and current speed of the motor (S970). Information on the current position and the current speed of the motor may be fed back to the command value input unit 710. Information on the current position and the current speed of the motor to be fed back may be used as a value for obtaining a position error in step S920 have.

본 발명에 따르면, 충돌감지의 신뢰성이 향상되고, 연산이 단순하여 협업로봇에서 충돌의 감지를 구현하기 위해 소요되는 비용이 절감될 수 있다.According to the present invention, the reliability of collision detection is improved, and the computation is simple, so that the cost required to implement the collision detection in the collaboration robot can be reduced.

상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술적 분야의 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. It will be apparent to those skilled in the art that various modifications may be made without departing from the scope of the present invention. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

Claims (2)

협업로봇의 충돌 감지 장치에 있어서,
외부로부터 모터를 제어하기 위한 지령 위치, 지령 속도 및 지령 가속도에 관한 정보를 입력받고, 상기 모터로부터 현재 위치 및 현재 속도에 관한 정보를 수신하며, 상기 지령 위치 및 상기 현재 위치를 기반으로 위치 오차를 계산하는 지령값 입력부;
상기 지령값 입력부로부터 상기 지령 위치, 상기 지령 속도, 상기 지령 가속도, 현재 위치 및 현재 속도에 관한 정보를 수신하여 이들 중 적어도 하나를 기반으로 PID(proportional integral derivative) 제어 신호를 생성하는 PID 제어부;
상기 지령 위치, 상기 지령 속도, 상기 지령 가속도 중 적어도 하나를 기반으로 충돌 임계값을 계산하는 임계값 계산부;
상기 위치 오차 및 상기 충돌 임계값을 기반으로 충돌 발생 여부를 판단하는 충돌 판정부;
상기 PID 제어 신호에 의해 동작하며, 현재 위치 및 현재 속도에 관한 정보를 상기 지령값 입력부로 전송하는 상기 모터;
상기 PID 제어부로부터 PID 제어 신호를 수신하고, 상기 충돌 판정부로부터 충돌 발생 여부에 관한 정보를 수신하여 이들을 기반으로 상기 모터를 제어하는 피드백 제어부;
상기 지령값 입력부로부터 위치오차 값을 획득하여 미리 설정된 컷-오프(cut off) 주파수보다 높은 주파수 성분을 차단하는 저대역 필터; 및
상기 모터로부터 상기 현재 위치 및 현재 속도에 관한 정보를 인코딩하여 상기 지령값 입력부로 전송하는 인코더
를 포함하는 충돌감지 장치.
A collision sensing apparatus for a collaborative robot,
And a controller for receiving information on a command position, an instruction speed and a command acceleration for controlling the motor from the outside, receiving information on the current position and the current speed from the motor, and based on the command position and the current position, A command value input unit for calculating the command value;
A PID controller for receiving information on the command position, the command speed, the command acceleration, the current position, and the current speed from the command value input unit and generating a PID (proportional integral derivative) control signal based on at least one of the command position, the command acceleration,
A threshold calculator for calculating a collision threshold value based on at least one of the command position, the command speed, and the command acceleration;
A collision judging unit for judging whether a collision has occurred based on the position error and the collision threshold value;
The motor operating by the PID control signal and transmitting information about a current position and a current speed to the command value input unit;
A feedback control unit for receiving the PID control signal from the PID control unit, receiving information about the occurrence of a collision from the collision determination unit, and controlling the motor based on the received information;
A low-pass filter for obtaining a position error value from the command value input unit and blocking a frequency component higher than a preset cut-off frequency; And
An encoder for encoding information on the current position and the current speed from the motor and transmitting the encoded information to the command value input unit,
And a collision sensing device.
협업로봇의 충돌 감지 장치에 의해 수행되는 충돌감지 방법에 있어서,
모터의 지령 위치, 지령 속도, 지령 가속도, 현재 위치, 현재 속도를 획득하는 단계;
상기 지령 위치 및 상기 현재 위치를 기반으로 위치 오차를 계산하고, 상기 지령 속도 및 상기 현재 속도를 기반으로 속도오차를 계산하는 단계;
상기 지령 위치, 상기 지령 속도, 상기 지령 가속도를 기반으로 PID(proportional integral derivative) 제어 신호를 생성하는 단계;
상기 지령 위치, 상기 지령 속도, 상기 지령 가속도 및 로봇 암의 무게 중 어느 하나 이상을 기반으로 충돌 임계값을 계산하는 단계;
상기 지령 위치 및 상기 충돌 임계값을 기반으로 충돌이 발생하였는지 여부를 판단하는 단계;
상기 PID 제어 신호 및 상기 충돌이 발생하였는지 여부를 기반으로 모터 제어 신호를 생성하여 상기 모터를 제어하는 단계; 및
상기 모터의 현재 위치 및 현재 속도를 피드백하는 단계;
를 포함하는 충돌감지 방법.
A collision sensing method performed by a collision sensing device of a collaboration robot,
Obtaining command position, command speed, command acceleration, current position and current speed of the motor;
Calculating a position error based on the command position and the current position, and calculating a speed error based on the command speed and the current speed;
Generating a proportional integral derivative (PID) control signal based on the command position, the command velocity, and the command acceleration;
Calculating a collision threshold value based on at least one of the command position, the command speed, the command acceleration, and the weight of the robot arm;
Determining whether a collision has occurred based on the command position and the collision threshold;
Generating a motor control signal based on the PID control signal and whether or not the collision has occurred to control the motor; And
Feeding back the current position and current speed of the motor;
Lt; / RTI >
KR1020160026324A 2016-03-04 2016-03-04 Apparatus and Method for Collision Detection for Collaborative Robot KR101844542B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160026324A KR101844542B1 (en) 2016-03-04 2016-03-04 Apparatus and Method for Collision Detection for Collaborative Robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160026324A KR101844542B1 (en) 2016-03-04 2016-03-04 Apparatus and Method for Collision Detection for Collaborative Robot

Publications (2)

Publication Number Publication Date
KR20170103424A true KR20170103424A (en) 2017-09-13
KR101844542B1 KR101844542B1 (en) 2018-04-02

Family

ID=59967628

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160026324A KR101844542B1 (en) 2016-03-04 2016-03-04 Apparatus and Method for Collision Detection for Collaborative Robot

Country Status (1)

Country Link
KR (1) KR101844542B1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108582070A (en) * 2018-04-17 2018-09-28 上海达野智能科技有限公司 robot collision detecting system and method, storage medium, operating system
CN108858190A (en) * 2018-06-28 2018-11-23 共享智能铸造产业创新中心有限公司 The safety monitoring device of servo-control system
CN110053043A (en) * 2019-03-05 2019-07-26 华南理工大学 A kind of industrial robot collision checking method, device, electronic equipment and medium
CN110653821A (en) * 2019-10-10 2020-01-07 上海电气集团股份有限公司 Control method, system, medium and equipment for mechanical arm
KR102105626B1 (en) * 2019-10-30 2020-04-28 주식회사 뉴로메카 Method for setting collision sensitivity automatically for cooperative robot
CN111906775A (en) * 2020-06-08 2020-11-10 深圳众为兴技术股份有限公司 Robot collision detection method and device, storage medium and robot
KR102226122B1 (en) * 2020-04-22 2021-03-11 주식회사 뉴로메카 Method for setting collision sensitivity automatically for cooperative robot
CN112731797A (en) * 2020-12-10 2021-04-30 清华大学 Planar motor motion control method, device and system
WO2021086103A1 (en) * 2019-10-30 2021-05-06 주식회사 뉴로메카 Method for automatically setting collision sensitivity of collaborative robot
KR102274770B1 (en) * 2019-12-27 2021-07-07 한국기술교육대학교 산학협력단 Apparatus for detecting collision in collaborative robot and method thereof
CN115674190A (en) * 2022-09-30 2023-02-03 深圳市越疆科技有限公司 Cooperative mechanical arm and motion control method, collision detection method and control system thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102521151B1 (en) * 2021-05-26 2023-04-13 주식회사 뉴로메카 Collaborative robot with collision detectiong function and collision detection method of collaborative robot

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101313245B1 (en) * 2012-02-10 2013-09-30 삼성중공업 주식회사 Motion control Chip

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108582070A (en) * 2018-04-17 2018-09-28 上海达野智能科技有限公司 robot collision detecting system and method, storage medium, operating system
CN108858190A (en) * 2018-06-28 2018-11-23 共享智能铸造产业创新中心有限公司 The safety monitoring device of servo-control system
CN110053043A (en) * 2019-03-05 2019-07-26 华南理工大学 A kind of industrial robot collision checking method, device, electronic equipment and medium
CN110653821A (en) * 2019-10-10 2020-01-07 上海电气集团股份有限公司 Control method, system, medium and equipment for mechanical arm
WO2021086103A1 (en) * 2019-10-30 2021-05-06 주식회사 뉴로메카 Method for automatically setting collision sensitivity of collaborative robot
KR102105626B1 (en) * 2019-10-30 2020-04-28 주식회사 뉴로메카 Method for setting collision sensitivity automatically for cooperative robot
KR102274770B1 (en) * 2019-12-27 2021-07-07 한국기술교육대학교 산학협력단 Apparatus for detecting collision in collaborative robot and method thereof
KR102226122B1 (en) * 2020-04-22 2021-03-11 주식회사 뉴로메카 Method for setting collision sensitivity automatically for cooperative robot
CN111906775A (en) * 2020-06-08 2020-11-10 深圳众为兴技术股份有限公司 Robot collision detection method and device, storage medium and robot
CN112731797A (en) * 2020-12-10 2021-04-30 清华大学 Planar motor motion control method, device and system
CN112731797B (en) * 2020-12-10 2021-11-23 清华大学 Planar motor motion control method, device and system
CN115674190A (en) * 2022-09-30 2023-02-03 深圳市越疆科技有限公司 Cooperative mechanical arm and motion control method, collision detection method and control system thereof
CN115674190B (en) * 2022-09-30 2024-05-07 深圳市越疆科技股份有限公司 Cooperative mechanical arm and motion control method, collision detection method and control system thereof

Also Published As

Publication number Publication date
KR101844542B1 (en) 2018-04-02

Similar Documents

Publication Publication Date Title
KR101844542B1 (en) Apparatus and Method for Collision Detection for Collaborative Robot
CN102233588B (en) Robot system
EP2939797B1 (en) Motion limiting device and motion limiting method
CN105034025B (en) The security monitoring device of robot
US20160121484A1 (en) Control device with function to check load information settings
Geravand et al. Human-robot physical interaction and collaboration using an industrial robot with a closed control architecture
US11548153B2 (en) Robot comprising safety system ensuring stopping time and distance
US6208105B1 (en) Robot controller
US9782898B2 (en) Robot controller for avoiding problem regarding robot at the time of emergency stop
US20090200978A1 (en) Robot controller having component protecting function and robot control method
US20190001504A1 (en) Method For Detecting A Collision Of A Robot Arm With An Object, And A Robot With A Robot Arm
US9477216B2 (en) Numerical control device including display part for displaying information for evaluation of machining process
US10960549B2 (en) Vibration analyzer and vibration analysis method
US11766780B2 (en) System identification of industrial robot dynamics for safety-critical applications
JP2016112627A (en) Human coordination type robot system
KR20090069595A (en) Apparatus and method for detecting movement error in moving robot
JP2665984B2 (en) Collision detection method using disturbance estimation observer
KR101329853B1 (en) Collision detection system of manipulator using torque filtering and control system and method of manipulator using the same
KR20120108318A (en) Method for controlling robot manipulator device based on frequency analysys of impact on the device
CN113352331B (en) Method for force cooperation between robot and external object and cooperative robot
JP2004364396A (en) Controller and control method for motor
CN107932500A (en) There is the speed, the robot controller of acceleration that limit robot
US20070216332A1 (en) Method for Effecting the Movement of a Handling Device and Image Processing Device
KR20090114890A (en) Detection methode for collision of robot
JP3997201B2 (en) Industrial robot and its abnormality judgment method

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant