KR101363209B1 - Apparatus and method for contolling articulated robot - Google Patents

Apparatus and method for contolling articulated robot Download PDF

Info

Publication number
KR101363209B1
KR101363209B1 KR1020120122344A KR20120122344A KR101363209B1 KR 101363209 B1 KR101363209 B1 KR 101363209B1 KR 1020120122344 A KR1020120122344 A KR 1020120122344A KR 20120122344 A KR20120122344 A KR 20120122344A KR 101363209 B1 KR101363209 B1 KR 101363209B1
Authority
KR
South Korea
Prior art keywords
minimum value
time point
articulated robot
distance
links
Prior art date
Application number
KR1020120122344A
Other languages
Korean (ko)
Inventor
김영준
이영은
Original Assignee
이화여자대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이화여자대학교 산학협력단 filed Critical 이화여자대학교 산학협력단
Priority to KR1020120122344A priority Critical patent/KR101363209B1/en
Application granted granted Critical
Publication of KR101363209B1 publication Critical patent/KR101363209B1/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/06Programme-controlled manipulators characterised by multi-articulated arms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J18/00Arms
    • B25J18/06Arms flexible
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/04Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
    • B25J9/041Cylindrical coordinate type
    • B25J9/042Cylindrical coordinate type comprising an articulated arm
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/01Mobile robot

Abstract

Disclosed are an apparatus and a method for controlling an articulate robot. The apparatus for controlling an articulated robot calculates distances between a plurality of links when working. The apparatus for controlling an articulated robot derives a minimum value from the calculated distances and optimizes the work if the derived minimum value is lower than a preset threshold value. [Reference numerals] (510) Distance calculation unit; (520) Minimum value calculation unit; (530) Operation optimization unit

Description

다관절 로봇의 제어 장치 및 방법{APPARATUS AND METHOD FOR CONTOLLING ARTICULATED ROBOT}Control device and method of articulated robot {APPARATUS AND METHOD FOR CONTOLLING ARTICULATED ROBOT}

하기의 실시예들은 다관절 로봇을 제어하는 장치 및 방법에 관한 것으로, 구체적으로는, 다관절 로봇의 동작 수행 도중에, 다관절 로봇을 구성하는 링크들이 서로 충돌하는지 여부를 판단하여 다관절 로봇의 동작을 최적화하는 장치 및 방법에 관한 것이다.The following embodiments relate to an apparatus and a method for controlling an articulated robot, and in particular, during the operation of the articulated robot, it is determined whether links constituting the articulated robot collide with each other to operate the articulated robot. It relates to an apparatus and a method for optimizing.

다관절 로봇은 여러 각도로 움직일 수 있는 링크들을 구비하고 자유로운 동작을 취할 수 있는 로봇이다. 다관절 로봇은 일반적으로 3개 이상의 회전 운동 기구로 각 링크들을 결합시키고, 다관절 로봇을 움직이는 경우 이 회전 운동 기구(일반적으로는 모터)를 구동하여 동작을 수행할 수 있다.An articulated robot is a robot that can freely move with links that can move at various angles. The articulated robot generally combines the links with three or more rotary motion mechanisms, and when the articulated robot moves, it can drive the rotary motion mechanism (generally a motor) to perform an operation.

다관절 로봇은 여러 가지 자세를 취할 수 있으며, 제1 자세에서 제2 자세로 자세를 변경하는 경우 각 링크들을 어떻게 동작시켜야 할지에 대해서 여러 가지 제어 방법이 적용될 수 있다.The articulated robot may take various postures, and various control methods may be applied to how each link should be operated when the posture is changed from the first posture to the second posture.

특정한 동작을 수행하기 위하여 복수의 링크를 움직여야 하는 경우에, 각각의 링크들이 서로 충돌할 수도 있다. 따라서, 복수의 회전 운동 기구들 중에서, 어느 회전 운동 기구를 어느 시점에 얼마만큼 구동시키느냐를 결정하는 기술에 대한 중요성이 커지고 있다.In the case where a plurality of links must be moved to perform a specific operation, the respective links may collide with each other. Therefore, among the plurality of rotary motion mechanisms, the importance of a technique for determining which rotary motion mechanism is driven at what time and how much is increasing.

하기의 실시예들은 다관절 로봇의 동작을 최적화하는 것을 목적으로 한다.The following embodiments aim to optimize the operation of an articulated robot.

하기의 실시예들은 동작 수행중에 다관절 로봇의 링크들이 서로 충돌하는지 여부를 판단하여 이를 방지하는 것을 목적으로 한다.The following embodiments aim to prevent and determine whether the links of the articulated robot collide with each other while performing an operation.

예시적 실시예에 따르면, 복수의 링크로 구성된 다관절 로봇의 제어 장치에 있어서, 상기 다관절 로봇이 상기 링크들을 구동하여 제1 자세로부터 제2 자세로 자세를 변경하는 동작을 수행하는 경우에, 상기 각 링크간의 거리를 계산하는 거리 계산부, 상기 산출된 각 링크 간의 거리의 최소값을 산출하는 최소값 산출부 및 상기 산출된 최소값에 기반하여 상기 동작을 최적화 하는 동작 최적화부를 포함하는 다관절 로봇의 제어 장치가 개시된다.According to an exemplary embodiment, in the control device of a articulated robot composed of a plurality of links, when the articulated robot drives the links to change the posture from a first posture to a second posture, Control of the articulated robot including a distance calculator for calculating the distance between each link, a minimum value calculator for calculating the minimum value of the calculated distance between each link, and an operation optimizer for optimizing the operation based on the calculated minimum value. An apparatus is disclosed.

여기서, 상기 최소값 산출부는 상기 다관절 로봇이 상기 제1 자세를 취하는 제1 시점으로부터 상기 다관절 로봇이 상기 제2 자세를 취하는 제2 시점까지의 시간 구간을 복수의 서브 구간으로 분할하고, 상기 각각의 서브 구간에 대하여 최소값을 산출하고, 상기 동작 최적화부는 상기 각각의 서브 구간에 대하여 상기 동작을 최적화할 수 있다.Here, the minimum value calculator divides the time interval from the first time point when the articulated robot takes the first posture to the second time point when the articulated robot takes the second posture, into a plurality of sub-sections, respectively. The minimum value may be calculated for the sub period of, and the operation optimizer may optimize the operation for each sub period.

그리고, 상기 최소값 산출부는 상기 제1 자세를 취하는 제1 시점과 상기 제2 자세를 취하는 제2 시점 사이에 제3 시점을 설정하고, 상기 제1 시점과 상기 제3 시점 사이의 제4 시점에 대하여, 상기 제4 시점에서의 제4 거리와 상기 제3 시점에서의 제3 거리의 비교 결과에 따라서, 상기 최소값이 상기 제1 시점과 상기 제3 시점 사이의 구간 또는 상기 제4 시점과 상기 제2 시점 사이의 구간 중에서 어느 구간에 위치하는지 판단할 수 있다.The minimum value calculator sets a third viewpoint between the first viewpoint in which the first posture is taken and the second viewpoint in which the second posture is taken, and relates to a fourth viewpoint between the first viewpoint and the third viewpoint. And the minimum value is a section between the first time point and the third time point or the fourth time point and the second time point according to a comparison result of the fourth distance at the fourth time point and the third distance at the third time point. It may be determined which section is located among the sections between viewpoints.

또한, 상기 제1 시점과 상기 제3 시점 사이의 거리가 상기 제3 시점과 상기 제2 시점 사이의 거리보다 더 큰 값인 경우에, 상기 제4 시점은 하기 수학식 1에 따라서 결정될 수 있다.
In addition, when the distance between the first time point and the third time point is greater than the distance between the third time point and the second time point, the fourth time point may be determined according to Equation 1 below.

[수학식 1]
[Equation 1]

Figure 112012089391221-pat00001

Figure 112012089391221-pat00001

여기서,

Figure 112012089391221-pat00002
는 상기 제4 시점이고,
Figure 112012089391221-pat00003
는 상기 제3 시점이고,
Figure 112012089391221-pat00004
는 상기 제1 시점이다.here,
Figure 112012089391221-pat00002
Is the fourth time point,
Figure 112012089391221-pat00003
Is the third time point,
Figure 112012089391221-pat00004
Is the first time point.

여기서, 상기 최소값 산출부는 상기 거리에 대한 후보 최소값을 설정하고, 상기 제1 자세를 취하는 제1 시점과 상기 제2 자세를 취하는 제2 시점 사이에 상기 계산된 거리가 상기 후보 최소값과 일치하는 제3 시점이 존재하는지 여부를 판단하고, 상기 판단에 따라서 상기 최소값을 산출할 수 있다.Here, the minimum value calculator sets a candidate minimum value for the distance, and wherein the calculated distance coincides with the candidate minimum value between the first time point taking the first posture and the second time point taking the second posture. It may be determined whether a time point exists, and the minimum value may be calculated according to the determination.

그리고, 상기 최소값 산출부는 상기 복수의 링크에 포함된 제1 링크가 상기 복수의 링크에 포함된 제2 링크의 방향으로 이동하는 속도에 기반하여 상기 제3 시점이 존재하는지 여부를 판단할 수 있다.The minimum value calculator may determine whether the third time point exists based on a speed at which the first link included in the plurality of links moves in the direction of the second link included in the plurality of links.

또한, 상기 동작 최적화부는 상기 산출된 최소값이 미리 결정된 임계값 보다 작은 경우에 상기 동작을 최적화할 수 있다.The operation optimizer may optimize the operation when the calculated minimum value is smaller than a predetermined threshold value.

또 다른 예시적 실시예에 따르면, 복수의 링크로 구성된 다관절 로봇의 제어 방법에 있어서, 상기 다관절 로봇이 상기 링크들을 구동하여 제1 자세로부터 제2 자세로 자세를 변경하는 동작을 수행하는 경우에, 상기 각 링크간의 거리를 계산하는 단계, 상기 산출된 각 링크 간의 거리의 최소값을 산출하는 단계 및 상기 산출된 최소값에 기반하여 상기 동작을 최적화 하는 단계를 포함하는 다관절 로봇의 제어 방법이 제공된다.According to another exemplary embodiment, in a method of controlling a jointed-arm robot composed of a plurality of links, the articulated robot drives the links to change an attitude from a first posture to a second posture. The control method of the articulated robot includes a step of calculating a distance between each link, calculating a minimum value of the calculated distance between each link, and optimizing the operation based on the calculated minimum value. do.

여기서, 상기 다관절 로봇이 상기 제1 자세를 취하는 제1 시점으로부터 상기 다관절 로봇이 상기 제2 자세를 취하는 제2 시점까지의 시간 구간을 복수의 서브 구간으로 분할하는 단계를 더 포함하고, 상기 최소값을 산출하는 단계는 상기 각각의 서브 구간에 대하여 최소값을 산출하고, 상기 동작을 최적화하는 단계는 상기 각각의 서브 구간에 대하여 상기 동작을 최적화할 수 있다.The method may further include: dividing the time interval from the first time point in which the articulated robot takes the first posture to the second time point in which the articulated robot takes the second posture into a plurality of sub-sections. The calculating of the minimum value may include calculating a minimum value for each of the sub-sections, and the optimizing the operation may optimize the operation with respect to each of the sub-sections.

그리고, 상기 제1 자세를 취하는 제1 시점과 상기 제2 자세를 취하는 제2 시점 사이의 제3 시점 및 상기 제1 시점과 상기 제3 시점 사이의 제4 시점을 설정하는 단계, 상기 제4 시점에서의 제4 거리와 상기 제3 시점에서의 제3 거리의 비교 결과에 따라서, 상기 최소값이 상기 제1 시점과 상기 제3 시점 사이의 구간 또는 상기 제4 시점과 상기 제2 시점 사이의 구간 중에서 어느 구간에 위치하는지 판단하는 단계를 더 포함할 수 있다.And setting a third view point between the first view point taking the first posture and the second view point taking the second posture and a fourth view point between the first view point and the third view point. According to a result of the comparison of the fourth distance at and the third distance at the third time point, the minimum value is selected from the interval between the first time point and the third time point or the interval between the fourth time point and the second time point. The method may further include determining which section it is located in.

또한, 상기 제4 시점을 설정하는 단계는 상기 제1 시점과 상기 제3 시점 사이의 거리가 상기 제3 시점과 상기 제2 시점 사이의 거리보다 더 큰 값인 경우에, 상기 제4 시점은 하기 수학식 2에 따라서 결정될 수 있다.
The setting of the fourth view may be performed when the distance between the first view and the third view is greater than the distance between the third view and the second view. It can be determined according to Equation 2.

[수학식 2]
&Quot; (2) "

Figure 112012089391221-pat00005

Figure 112012089391221-pat00005

여기서,

Figure 112012089391221-pat00006
는 상기 제4 시점이고,
Figure 112012089391221-pat00007
는 상기 제3 시점이고,
Figure 112012089391221-pat00008
는 상기 제1 시점이다.here,
Figure 112012089391221-pat00006
Is the fourth time point,
Figure 112012089391221-pat00007
Is the third time point,
Figure 112012089391221-pat00008
Is the first time point.

여기서, 상기 거리에 대한 후보 최소값을 설정하는 단계, 상기 제1 자세를 취하는 제1 시점과 상기 제2 자세를 취하는 제2 시점 사이에 상기 계산된 거리가 상기 후보 최소값과 일치하는 제3 시점이 존재하는지 여부를 판단하는 단계를 더 포함하고, 상기 최소값을 산출하는 단계는 상기 판단에 따라서 상기 최소값을 산출할 수 있다.Here, the step of setting a candidate minimum value for the distance, there is a third time point that the calculated distance coincides with the candidate minimum value between the first time point taking the first pose and the second time point taking the second pose. The method may further include determining whether to determine whether to calculate the minimum value, and calculating the minimum value according to the determination.

그리고, 상기 제3 시점이 존재하는지 여부를 판단하는 단계는 상기 복수의 링크에 포함된 제1 링크가 상기 복수의 링크에 포함된 제2 링크의 방향으로 이동하는 속도에 기반하여 상기 제3 시점이 존재하는지 여부를 판단할 수 있다.The determining of whether the third viewpoint exists may include determining whether the third viewpoint is based on a speed at which a first link included in the plurality of links moves in a direction of a second link included in the plurality of links. It can be determined whether it exists.

또한, 상기 동작을 최적화하는 단계는 상기 산출된 최소값이 미리 결정된 임계값 보다 작은 경우에 상기 동작을 최적화할 수 있다.Further, the optimizing the operation may optimize the operation when the calculated minimum value is smaller than a predetermined threshold value.

하기의 실시예들에 따르면, 다관절 로봇의 동작 수행 중에 링크간의 충돌을 방지할 수 있다.According to the following embodiments, it is possible to prevent a collision between links during the operation of the articulated robot.

도 1은 복수의 링크로 구성되는 다관절 로봇이 상태를 변경하는 동작을 수행하는 개념을 도시한 도면이다.
도 2는 예시적 실시예에 따른 다관절 로봇의 제어 장치의 구조를 도시한 블록도이다.
도 3은 예시적 실시예에 따라 산출된 최소값에 기반하여 다관절 로봇의 동작을 제어하는 개념을 도시한 도면이다.
도 4는 다관절 로봇을 구성하는 복수의 링크간의 거리를 도시한 도면이다.
도 5는 또 다른 예시적 실시예에 따른 다관절 로봇의 제어 장치의 구조를 도시한 블록도이다.
도 6은 황금 분할 탐색법(Golden Section Search)에 따른 최소값 탐색 방법을 설명한 도면이다.
도 7은 CA(Conservative Advancement) 기법에 따른 최소값 탐색 방법을 설명한 도면이다.
도 8은 또 다른 예시적 실시예에 따른 다관절 로봇의 제어 방법을 단계별로 설명한 순서도이다.
도 9는 황금 분할 탐색법(Golden Section Search)에 따른 최소값 탐색 방법을 단계별로 설명한 순서도이다.
도 10은 CA(Conservative Advancement) 기법에 따른 최소값 탐색 방법을 단계별로 설명한 순서도이다.
FIG. 1 is a diagram illustrating a concept in which an articulated robot including a plurality of links performs an operation of changing a state.
Fig. 2 is a block diagram showing the structure of a control device for an articulated robot according to an exemplary embodiment.
3 is a diagram illustrating a concept of controlling an operation of an articulated robot based on a minimum value calculated according to an exemplary embodiment.
4 is a diagram illustrating a distance between a plurality of links constituting the articulated robot.
Fig. 5 is a block diagram showing the structure of a control device for an articulated robot according to still another exemplary embodiment.
FIG. 6 is a diagram illustrating a minimum value search method according to a golden section search method.
FIG. 7 illustrates a method for searching for a minimum value according to a conservative enhancement (CA) technique.
Fig. 8 is a flowchart illustrating a step-by-step method for controlling an articulated robot according to still another exemplary embodiment.
9 is a flowchart illustrating a step-by-step method for searching for a minimum value according to a golden section search method.
FIG. 10 is a flowchart illustrating a method of searching for a minimum value according to a Conservative Advancement (CA) method.

이하, 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

도 1은 복수의 링크로 구성되는 다관절 로봇이 상태를 변경하는 동작을 수행하는 개념을 도시한 도면이다.FIG. 1 is a diagram illustrating a concept in which an articulated robot including a plurality of links performs an operation of changing a state.

도 1의 (a)에서 다관절 로봇은 두 팔을 내린 제1 상태를 취한다. 다관절 로봇은 제1 상태에서 도 1의 (b)에 도시된 두 팔을 가슴에 겹쳐 모은 제2 상태로 변경하는 동작을 취할 수 있다.In (a) of FIG. 1, the articulated robot takes a first state with both arms lowered. The articulated robot may take an operation of changing from the first state to a second state in which the arms shown in FIG. 1B overlap the chest.

도 1에 설명된 동작을 수행하는 경우에, 다관절 로봇은 양 팔을 가슴으로 모은다. 이 경우에, 다관절 로봇이 양 팔을 동일한 시점에 움직이기 시작하여 동일한 속도로 움직인다면, 다관절 로봇의 양 팔은 서로 충돌할 수 있다. 따라서, 다관절 로봇의 양 팔은 겹쳐지지 못한다.In the case of performing the operation described in FIG. 1, the articulated robot collects both arms into the chest. In this case, if the articulated robot starts to move both arms at the same time and moves at the same speed, both arms of the articulated robot may collide with each other. Therefore, both arms of the articulated robot cannot overlap.

도 1에서 설명된 문제를 해결하기 위해서는, 다관절 로봇이 특정한 동작을 수행하기 이전에, 특정한 동작을 수행한다면 다관절 로봇을 구성하는 링크들이 서로 충돌하는지 여부를 판단하는 기술이 필요하다.
In order to solve the problem described in FIG. 1, before the articulated robot performs a specific operation, a technique for determining whether or not links constituting the articulated robot collide with each other is required.

도 2는 예시적 실시예에 따른 다관절 로봇의 제어 장치의 구조를 도시한 블록도이다. 다관절 로봇의 제어 장치(200)는 동작 최적화부(210), 동작 파라미터 추출부(220), 거리 계산부(230) 및 최소값 산출부(240)를 포함한다.Fig. 2 is a block diagram showing the structure of a control device for an articulated robot according to an exemplary embodiment. The control device 200 of the articulated robot includes an operation optimizer 210, an operation parameter extractor 220, a distance calculator 230, and a minimum value calculator 240.

동작 최적화부(210)는 다관절 로봇이 링크를 움직여 특정한 동작을 수행하는 경우에, 각 링크의 움직임을 최적화 한다. 동작 최적화부(210)는 이를 위하여 각 링크를 연결하는 관절을 구동하는 모터의 동작을 제어할 수 있다. 예를 들어, 동작 최적화부(210)는 각 모터를 어떤 시점에 얼마만큼 회전 시켜야 할지 결정할 수 있다.The motion optimizer 210 optimizes the motion of each link when the articulated robot performs a specific motion by moving the link. The motion optimizer 210 may control an operation of a motor driving a joint connecting each link for this purpose. For example, the operation optimizer 210 may determine how much time each motor should be rotated.

동작 파라미터 추출부(220)는 동작 최적화부(210)가 결정한 동작에 대한 파라미터를 추출한다. 동작 파라미터 추출부(220)가 추출하는 파라미터는 각 모터의 시간에 따른 회전 속도, 각 링크의 위치, 방향 등에 대한 정보일 수 있다.The operation parameter extractor 220 extracts a parameter for an operation determined by the operation optimizer 210. The parameter extracted by the operation parameter extractor 220 may be information about a rotation speed, a position, and a direction of each link according to time of each motor.

거리 계산부(230)는 다관절 로봇이 동작을 수행하는 도중에, 각 링크간의 거리를 계산한다. 거리 계산부(230)는 동작 최적화부(210)가 결정한 동작에 대한 파라미터를 이용하여 각 링크 간의 거리를 계산할 수 있다. 각 링크간의 거리에 대해서는 도 4에서 상세히 설명하기로 한다.The distance calculator 230 calculates a distance between each link while the articulated robot performs an operation. The distance calculator 230 may calculate a distance between each link by using parameters for an operation determined by the operation optimizer 210. The distance between each link will be described in detail with reference to FIG. 4.

최소값 산출부(240)는 시간에 따라 변화하는 각 링크간의 거리 중에서, 최소값을 산출한다. 산출된 최소값이 '0'보다 더 작은 값이라면, 두 링크는 동작 수행중에 충돌한다. 이 경우에, 동작 최적화부(210)는 다관절 로봇의 동작을 다시 최적화하여 링크간의 충돌을 방지할 수 있다.
The minimum value calculator 240 calculates a minimum value among distances between links that change with time. If the calculated minimum is less than '0', the two links collide while performing the operation. In this case, the motion optimizer 210 may optimize the motion of the articulated robot again to prevent collision between links.

도 3은 예시적 실시예에 따라 산출된 최소값에 기반하여 다관절 로봇의 동작을 제어하는 개념을 도시한 도면이다.3 is a diagram illustrating a concept of controlling an operation of an articulated robot based on a minimum value calculated according to an exemplary embodiment.

도 3은 다관절 로봇이 동작을 수행함에 따라서, 다관절 로봇의 두 링크간의 거리가 변화하는 것을 나타낸 도면이다. 다관절 로봇의 링크간의 거리가 실선으로 표현되었다. 다관절 로봇의 제어 장치는 다관절 로봇이 동작을 수행하는

Figure 112012089391221-pat00009
부터
Figure 112012089391221-pat00010
까지의 시간 구간을 복수의 서브 구간(310, 320, 330, 340, 350, 360)으로 분할하고, 분할된 서브 구간(310, 320, 330, 340, 350, 360) 각각에 대하여 최소값을 산출할 수 있다.3 is a view showing that the distance between two links of the articulated robot changes as the articulated robot performs an operation. The distance between the links of the articulated robots is represented by solid lines. The control device of the articulated robot performs the motion of the articulated robot.
Figure 112012089391221-pat00009
from
Figure 112012089391221-pat00010
A time interval up to is divided into a plurality of sub-sections 310, 320, 330, 340, 350, and 360, and a minimum value is calculated for each of the divided sub-sections 310, 320, 330, 340, 350, and 360. Can be.

다관절 로봇의 제어 장치는 각 서브 구간(310, 320, 330, 340, 350, 360)의 최소값과 미리 결정된 임계값을 비교한다. 여기서, 임계값은 다관절 로봇의 제어 장치가 다관절 로봇을 효과적으로 제어하기 위하여 설정한 값이다. 일실시예에 따르면, 임계값은 '0'으로 결정될 수 있다. 이 경우, 링크간의 거리가 '0'보다 작은 값이라면, 각 링크들이 서로 충돌하게 되므로, 다관절 로봇 제어 장치는 최소값이 임계값 보다 작은 서브 구간의 동작을 최적화할 수 있다.The control device of the articulated robot compares the minimum value of each sub-section (310, 320, 330, 340, 350, 360) with a predetermined threshold value. Here, the threshold is a value set by the control device of the articulated robot in order to effectively control the articulated robot. According to one embodiment, the threshold may be determined as '0'. In this case, if the distance between the links is less than '0', since the links collide with each other, the articulated robot control apparatus may optimize the operation of the sub-section having a minimum value smaller than the threshold.

도 3을 참조하면, 링크간의 거리는 서브 구간(320)에서 최소값을 가지며 최소값은 '0'보다 작을 수 있다. 이 경우, 다관절 로봇의 링크는 서로 충돌할 수 있다. 따라서, 다관절 로봇의 제어 장치는 서브 구간(320) 및 서브 구간(320)에 이웃한 다른 서브 구간들(330, 340)의 동작을 최적화할 수 있다.Referring to FIG. 3, the distance between the links may have a minimum value in the sub period 320, and the minimum value may be smaller than '0'. In this case, the links of the articulated robot may collide with each other. Therefore, the control device of the articulated robot may optimize the operation of the sub section 320 and the other sub sections 330 and 340 adjacent to the sub section 320.

도3에서, 최적화 이후의 링크간의 거리가 점선으로 표현되었다. 도 3을 참고하면, 서브 구간(320)에서의 최소값은 '0'이상이다. 따라서, 링크간의 충돌이 방지된다.In Fig. 3, the distance between the links after the optimization is represented by a dotted line. Referring to FIG. 3, the minimum value in the sub period 320 is greater than or equal to '0'. Thus, collisions between links are prevented.

도 3에서는 임계값이 '0'인 실시예만이 도시되었으나, 다관절 로봇의 제어 장치는 '0'보다 큰 값으로 임계값을 설정할 수 있다. 이 경우에, 다관절 로봇의 각 링크는 임계값 보다 더 큰 거리만큼 이격되어 이동된다.
In FIG. 3, only an embodiment in which the threshold is '0' is illustrated, but the control device of the articulated robot may set the threshold to a value greater than '0'. In this case, each link of the articulated robot is moved at a distance greater than the threshold.

도 4는 다관절 로봇을 구성하는 복수의 링크간의 거리를 도시한 도면이다.4 is a diagram illustrating a distance between a plurality of links constituting the articulated robot.

각 링크간의 거리를 간단히 계산 하기 위하여, 다관절 로봇을 구성하는 각 링크(410, 420)들은 도 4에 도시된 바와 같이 원통(412)의 윗면과 바닥면에 각각 반구(411, 413)를 결합한 형태로 모델링될 수 있다.In order to simply calculate the distance between the links, the links 410 and 420 constituting the articulated robot are combined with the hemispheres 411 and 413 on the top and bottom surfaces of the cylinder 412, respectively, as shown in FIG. It can be modeled in the form.

도 4에서, 각 링크(410, 420)의 중심에 중심선(414, 421)을 설정할 수 있다. 각각의 중심선은 원통(412)의 윗면 중심과 바닥면 중심을 연결하는 선이다.In FIG. 4, center lines 414 and 421 may be set at the center of each link 410 and 420. Each center line is a line connecting the top center and the bottom center of the cylinder 412.

일측에 따르면, 다관절 로봇의 제어 장치는 각 링크(420)의 중심선(414, 421)들간의 거리(430)만을 이용하여 링크간의 거리(440)를 간단히 계산할 수 있다. 예를 들어, 제1 링크(410)에서, 원통(412)의 반지름 및 반원(410, 411)의 반지름이

Figure 112012089391221-pat00011
이고, 제2 링크(420)에서, 원통의 반지름 및 반원의 반지름이
Figure 112012089391221-pat00012
인 경우에, 중심선간의 거리(430)가
Figure 112012089391221-pat00013
+
Figure 112012089391221-pat00014
라면, 각 링크간의 거리(440)는 '0'일 수 있다. 여기서, 중심선(414, 421)간의 거리는 중심선(414, 421)간의 유클리디안 거리(Euclidian distance)로 정의될 수 있다.According to one side, the control device of the articulated robot can simply calculate the distance 440 between the links using only the distance 430 between the center lines 414, 421 of each link 420. For example, in the first link 410, the radius of the cylinder 412 and the radius of the semicircles 410, 411 are
Figure 112012089391221-pat00011
In the second link 420, the radius of the cylinder and the radius of the semicircle are
Figure 112012089391221-pat00012
If the distance between centerlines 430 is
Figure 112012089391221-pat00013
+
Figure 112012089391221-pat00014
If so, the distance 440 between each link may be '0'. Here, the distance between the center lines 414 and 421 may be defined as an Euclidian distance between the center lines 414 and 421.

예시적 실시예에 따르면, 거리 계산부(230)는 동작 파라미터 및 도 4에 도시된 링크의 모델을 이용하여 도 3에 도시된 각 링크간의 거리를 간단히 산출할 수 있다.
According to an exemplary embodiment, the distance calculator 230 may simply calculate the distance between each link shown in FIG. 3 using an operating parameter and a model of the link shown in FIG. 4.

도 5는 또 다른 예시적 실시예에 따른 다관절 로봇의 제어 장치의 구조를 도시한 블록도이다. 다관절 로봇의 제어 장치(500)는 거리 계산부(510), 최소값 산출부(520) 및 동작 최적화부(530)를 포함한다.Fig. 5 is a block diagram showing the structure of a control device for an articulated robot according to still another exemplary embodiment. The control device 500 of the articulated robot includes a distance calculator 510, a minimum value calculator 520, and an operation optimizer 530.

다관절 로봇이 제1 자세로부터 제2 자세로 자세를 변경하는 동작을 수행하는 경우에, 거리 계산부(510)는 다관절 로봇을 구성하는 각 링크간의 거리를 계산한다. 일측에 따르면, 거리 계산부(510)는 추출된 동작 파라미터 및 도 4에 도시된 링크 모델을 이용하여 각 링크간의 거리를 계산할 수 있다. 여기서, 추출된 동작 파라미터는 각 링크를 움직이는 모터들의 시간에 따른 회전 속도, 동작을 시작하는 시점에서의 각 링크의 위치, 방향 등에 대한 정보일 수 있다.When the articulated robot performs the operation of changing the posture from the first posture to the second posture, the distance calculator 510 calculates the distance between each link constituting the articulated robot. According to one side, the distance calculator 510 may calculate the distance between each link by using the extracted operating parameters and the link model shown in FIG. 4. Here, the extracted operation parameter may be information about a rotational speed according to time of the motors moving each link, the position and the direction of each link at the time of starting the operation.

최소값 산출부(520)는 다관절 로봇이 동작을 수행하는 경우에, 각 링크간의 거리의 최소값을 산출한다. 일측에 따르면, 최소값 산출부(520)는 황금 분할 탐색법(Golden Section Search), CA(Conservative Advancement) 탐색법, 하이브리드(hybrid) 탐색법 등 여러 가지 방법을 이용하여 링크간의 거리의 최소값을 산출할 수 있다. 일측에 따르면, 최소값 산출부(520)는 다관절 로봇이 제1 자세를 취하는 제1 시점으로부터 다관절 로봇이 제2 자세를 취하는 제2 시점까지의 시간 구간을 복수의 서브 구간으로 분할하고, 각각의 서브 구간에 대하여 최소값을 산출할 수 있다.The minimum value calculator 520 calculates the minimum value of the distance between each link when the articulated robot performs an operation. According to one side, the minimum value calculating unit 520 may calculate the minimum value of the distance between links using various methods such as Golden Section Search, Conservative Advancement (CA) search, and hybrid search method. Can be. According to one side, the minimum value calculator 520 divides the time interval from the first time point in which the articulated robot takes a first posture to the second time point in which the articulated robot takes a second posture into a plurality of sub-sections, respectively. The minimum value may be calculated for the sub interval of.

동작 최적화부(530)는 산출된 최소값에 기반하여 다관절 로봇의 동작을 최적화할 수 있다. 최소값 산출부(520)가 제1 시점으로부터 제2 시점까지의 시간 구간을 복수의 서브 구간으로 분할한 경우에, 동작 최적화부(530)는 각각의 서브 구간에 대하여 동작을 최적화할 수 있다.The motion optimizer 530 may optimize the motion of the articulated robot based on the calculated minimum value. When the minimum value calculator 520 divides the time interval from the first time point to the second time point into a plurality of sub-sections, the operation optimizer 530 may optimize the operation for each sub-section.

일측에 따르면, 동작 최적화부(530)는 산출된 최소값을 미리 결정된 임계값과 비교할 수 있다. 동작 최적화부(530)는 산출된 최소값이 미리 결정된 임계값 보다 작은 경우에, 해당 서브 구간 및 해당 서브 구간과 이웃한 서브 구간들의 동작을 최적화할 수 있다. 일측에 따르면, 미리 결정된 임계값은 '0'일 수 있다.
According to one side, the operation optimizer 530 may compare the calculated minimum value with a predetermined threshold value. When the calculated minimum value is smaller than the predetermined threshold value, the operation optimizer 530 may optimize the operation of the sub-section and the sub-sections adjacent to the sub-section. According to one side, the predetermined threshold may be '0'.

이하 최소값 산출부(520)가 링크간의 거리의 최소값을 산출하는 탐색기법에 대하여 설명하기로 한다.Hereinafter, a searcher method in which the minimum value calculator 520 calculates the minimum value of the distance between links will be described.

1) 황금 분할 탐색법(Golden Section Search)1) Golden Section Search

도 6은 황금 분할 탐색법(Golden Section Search)에 따른 최소값 탐색 방법을 설명한 도면이다. 도 6의 가로축은 시간이고, 세로축은 링크간의 거리이다.FIG. 6 is a diagram illustrating a minimum value search method according to a golden section search method. 6 is the time axis, and the vertical axis is the distance between links.

먼저, 최소값 산출부(520)는 제1 시점(610) 및 제2 시점(620)간의 시간 구간에서, 제1 시점(610)과 제2 시점(620)의 사이에 제3 시점(630)을 설정한다. 최소값 산출부(520)는 제1 시점(610)과 제3 시점(630)간의 거리 및 제3 시점(630)과 제2 시점(620) 사이의 거리에 따라서 제1 시점(610)과 제3 시점(630) 사이에 위치할 수도 있고, 제3 시점(630)과 제2 시점(620) 사이에 위치할 수 있다.
First, the minimum value calculator 520 selects the third time point 630 between the first time point 610 and the second time point 620 in the time interval between the first time point 610 and the second time point 620. Set it. The minimum value calculator 520 may generate a first view point 610 and a third point according to the distance between the first view point 610 and the third view point 630 and the distance between the third view point 630 and the second view point 620. It may be located between the viewpoints 630 and may be located between the third viewpoint 630 and the second viewpoint 620.

일측에 따르면, 제1 시점(610)과 제3 시점(630)사이의 거리가 제3 시점(630)과 제2 시점(620) 사이의 거리보다 짧은 경우에, 제4 시점(640)은 제3 시점(630)과 제2 시점(620)사이에 위치한다. 반대로, 제1 시점(610)과 제3 시점(630)사이의 거리가 제3 시점(630)과 제2 시점(620) 사이의 거리보다 긴 경우에, 제4 시점(640)은 제1 시점(610)과 제3 시점(630) 이에 위치한다.
According to one side, when the distance between the first time point 610 and the third time point 630 is shorter than the distance between the third time point 630 and the second time point 620, the fourth time point 640 is the first time. It is located between the third time point 630 and the second time point 620. In contrast, when the distance between the first view point 610 and the third view point 630 is longer than the distance between the third view point 630 and the second view point 620, the fourth view point 640 is the first view point. 610 and the third time point 630 are located there.

일측에 따르면, 제4 시점(640)이 제1 시점(610)과 제3 시점(630)사이에 위치하는 경우에, 최소값 산출부(520)는 제1 시점(610)과 제3 시점(630)에 따라서 제4 시점을 결정할 수 있다. 최소값 산출부(520)는 하기 수학식 1에 따라서 제4 시점(640)을 결정할 수 있다.
According to one side, when the fourth time point 640 is located between the first time point 610 and the third time point 630, the minimum value calculator 520 is the first time point 610 and the third time point 630. ), The fourth time point may be determined. The minimum value calculator 520 may determine the fourth time point 640 according to Equation 1 below.

[수학식 1]
[Equation 1]

Figure 112012089391221-pat00015

Figure 112012089391221-pat00015

여기서,

Figure 112012089391221-pat00016
는 제4 시점이고,
Figure 112012089391221-pat00017
는 제3시점이고,
Figure 112012089391221-pat00018
는 제1 시점이다
here,
Figure 112012089391221-pat00016
Is the fourth time point,
Figure 112012089391221-pat00017
Is the third time point,
Figure 112012089391221-pat00018
Is the first time point

일측에 따르면, 제4 시점(640)이 제3 시점(630)과 제2 시점(620)사이에 위치하는 경우에, 최소값 산출부(520)는 제3 시점(630)과 제2 시점(620)에 따라서 제4 시점을 결정할 수 있다. 최소값 산출부(520)는 하기 수학식 2에 따라서 제4 시점(640)을 결정할 수 있다.
According to one side, when the fourth time point 640 is located between the third time point 630 and the second time point 620, the minimum value calculator 520 is the third time point 630 and the second time point 620. ), The fourth time point may be determined. The minimum value calculator 520 may determine the fourth time point 640 according to Equation 2 below.

[수학식 2]
&Quot; (2) "

Figure 112012089391221-pat00019

Figure 112012089391221-pat00019

여기서,

Figure 112012089391221-pat00020
는 제4 시점이고,
Figure 112012089391221-pat00021
는 제3시점이고,
Figure 112012089391221-pat00022
는 제2 시점이다.
here,
Figure 112012089391221-pat00020
Is the fourth time point,
Figure 112012089391221-pat00021
Is the third time point,
Figure 112012089391221-pat00022
Is the second time point.

제4 시점(640)이 제1 시점(610)과 제3 시점(630)사이에 위치하는 경우에, 최소값 산출부(520)는 제4 시점(640)에서의 제4 거리(641)와 제3 시점(630)에서의 제3 거리(631)를 비교한다. 만약 제4 시점(640)에서의 제4 거리(641)가 제3 시점(630)에서의 제3 거리(631) 보다 더 큰 값인 경우에, 최소값 산출부(520)는 제1 시점(610)과 제2 시점(620)간의 최소값이 제4 시점(640)에서 제2 시점(620)사이의 구간에 위치하는 것으로 판단할 수 있다. 이 경우에, 최소값 산출부(520)는 제4 시점(640)에서 제2 시점(620)사이의 구간에 대하여 도 6에서 설명한 탐색을 다시 적용하여 최소값이 위치하는 것으로 판단되는 구간을 좀더 좁힐 수 있다.When the fourth view point 640 is located between the first view point 610 and the third view point 630, the minimum value calculator 520 may set the fourth distance 641 and the fourth distance 641 at the fourth view point 640. The third distance 631 at the three viewpoints 630 is compared. If the fourth distance 641 at the fourth time point 640 is greater than the third distance 631 at the third time point 630, the minimum value calculator 520 is the first time point 610. The minimum value between the second view 620 and the second view point 620 may be determined to be located in a section between the second view point 620 and the fourth view point 640. In this case, the minimum value calculator 520 may further narrow the section in which the minimum value is determined by reapplying the search described with reference to FIG. 6 for the section between the fourth time point 640 and the second time point 620. have.

반대로, 만약 제4 시점(640)에서의 제4 거리(641)가 제3 시점(630)에서의 제3 거리(631) 보다 작은 값이라면, 최소값 산출부(520)는 제1 시점(610)과 제2 시점(620)간의 최소값이 제1 시점(610)에서 제3 시점(630)사이의 구간에 위치하는 것으로 판단할 수 있다. 이 경우에, 최소값 산출부(520)는 제1 시점(610)에서 제3 시점(630)사이의 구간에 대하여 도 6에서 설명한 탐색을 다시 적용할 수 있다.
On the contrary, if the fourth distance 641 at the fourth time point 640 is smaller than the third distance 631 at the third time point 630, the minimum value calculator 520 is the first time point 610. The minimum value between the second view 620 and the second view point 620 may be determined to be located in a section between the first view point 610 and the third view point 630. In this case, the minimum value calculator 520 may apply the search described with reference to FIG. 6 again to the section between the first time point 610 and the third time point 630.

제4 시점(640)이 제3 시점(630)과 제2 시점(620)사이에 위치하는 경우에도 최소값 산출부(520)는 제4 시점(640)이 제1 시점(610)과 제3 시점(630)사이에 위치하는 경우와 유사한 과정을 통하여 최소값이 위치하는 것으로 판단되는 구간을 좀더 좁힐 수 있다.Even when the fourth view point 640 is located between the third view point 630 and the second view point 620, the minimum value calculator 520 has the fourth view point 640 as the first view point 610 and the third view point. The process in which it is determined that the minimum value is located may be further narrowed through a similar process as in the case of 630.

도 6에 설명된 탐색을 반복하면, 최소값이 위치하는 구간을 충분히 정밀하게 파악할 수 있다. 일측에 따르면, 최소값 산출부(520)는 최소값이 위치하는 것으로 판단되는 구간이 충분히 좁아진 것으로 판단되거나, 정해진 횟수 이상 탐색을 반복한 경우에, 최소값 탐색을 중지하고 최소값이 위치하는 시점을 결정할 수 있다.
By repeating the search described in FIG. 6, the section in which the minimum value is located can be grasped with sufficient precision. According to one side, the minimum value calculator 520 may determine that the minimum value is located is narrow enough, or if the search is repeated more than a predetermined number of times, stop searching for the minimum value and determine the time when the minimum value is located. .

2) CA(Conservative Advancement) 탐색법2) How to search for Conservative Advancement

도 7은 CA(Conservative Advancement) 탐색법에 따른 최소값 탐색 방법을 설명한 도면이다. 도 7의 가로축은 시간이고, 세로축은 링크간의 거리이다.FIG. 7 is a view illustrating a minimum value search method according to a CA (Conservative Advancement) search method. The horizontal axis in FIG. 7 is time, and the vertical axis is the distance between links.

최소값 산출부(520)는 시간 구간이 시작되는 제1 시점에서의 제1 거리와 시간 구간이 종료되는 제2 시점에서의 제2 거리를 비교한다. 최소값 산출부(520)는 제1 거리와 제2 거리 중에서 더 작은 거리에 대응되는 시점을 기준으로 CA 탐색법을 수행할 수 있다. 도 7에서는 제1 시점(711)에서의 제1 거리(710)가 더 작은 값이므로, 최소값 산출부(520)는 제1 시점(711)을 기준으로 CA 탐색법을 수행한다.The minimum value calculator 520 compares the first distance at the first time point at which the time interval starts and the second distance at the second time point at which the time interval ends. The minimum value calculator 520 may perform a CA search method based on a time point corresponding to a smaller distance among the first distance and the second distance. In FIG. 7, since the first distance 710 at the first time point 711 is smaller, the minimum value calculator 520 performs the CA search method based on the first time point 711.

최소값 산출부(520)는 제1 시점(711)에서의 제1 거리(710)를

Figure 112012089391221-pat00023
라고 설정하고, 링크간의 거리의 하한선을
Figure 112012089391221-pat00024
라고 설정한다. 일측에 따르면, 최소값 산출부(520)는 하기 수학식 2에 따라서 링크간의 거리의 하한선
Figure 112012089391221-pat00025
를 설정할 수 있다.
The minimum value calculator 520 determines the first distance 710 at the first time point 711.
Figure 112012089391221-pat00023
The lower limit of the distance between links
Figure 112012089391221-pat00024
Is set. According to one side, the minimum value calculator 520 is the lower limit of the distance between the links according to the following equation (2)
Figure 112012089391221-pat00025
Can be set.

[수학식 2]
&Quot; (2) "

Figure 112012089391221-pat00026

Figure 112012089391221-pat00026

여기서,

Figure 112012089391221-pat00027
은 제1 링크를 구성하는 원통의 반지름이고,
Figure 112012089391221-pat00028
는 제2 링크를 구성하는 원통의 반지름이다. 도 4를 참고하면, 각 링크의 중심선(414, 421)이 서로 접하는 경우에 링크간의 거리는
Figure 112012089391221-pat00029
이 된다.here,
Figure 112012089391221-pat00027
Is the radius of the cylinder constituting the first link,
Figure 112012089391221-pat00028
Is the radius of the cylinder constituting the second link. Referring to FIG. 4, when the centerlines 414 and 421 of each link are in contact with each other, the distance between the links is
Figure 112012089391221-pat00029
.

최소값 산출부(520)는 제1 시점에서의 제1 거리

Figure 112012089391221-pat00030
(720)과 하한선
Figure 112012089391221-pat00031
(720)사이에 중간 거리
Figure 112012089391221-pat00032
(730)를 설정한다. 일측에 따르면, 최소값 산출부(520)는 중간 거리
Figure 112012089391221-pat00033
(730)를 제1 거리
Figure 112012089391221-pat00034
(720)과 하한선
Figure 112012089391221-pat00035
(720)의 산술 평균값으로 설정할 수 있다.The minimum value calculator 520 may have a first distance at the first time point.
Figure 112012089391221-pat00030
720 and the lower limit
Figure 112012089391221-pat00031
Intermediate distance between 720
Figure 112012089391221-pat00032
730 is set. According to one side, the minimum value calculator 520 is an intermediate distance
Figure 112012089391221-pat00033
730 first street
Figure 112012089391221-pat00034
720 and the lower limit
Figure 112012089391221-pat00035
The arithmetic mean of 720 can be set.

최소값 산출부(520)는 제1 시점(711)에서의 제1 링크(410) 및 제2 링크(420)의 위치, 거리, 이동 속도, 제1 링크(410)로부터 제2 링크(420)까지의 방향 등을 고려하여 제1 링크(410)와 제2 링크(420)가 중간 거리

Figure 112012089391221-pat00036
(730)만큼 이격되는 시간을 산출한다. 일측에 따르면, 중간 거리
Figure 112012089391221-pat00037
(730)를 후보 최소값이라 할 수 있다.The minimum value calculator 520 may determine the position, distance, and moving speed of the first link 410 and the second link 420 at the first time point 711, from the first link 410 to the second link 420. The distance between the first link 410 and the second link 420 in consideration of the direction of the
Figure 112012089391221-pat00036
The time spaced by 730 is calculated. According to one side, the middle distance
Figure 112012089391221-pat00037
730 may be referred to as a candidate minimum value.

이 경우에, 최소값 산출부(520)는 제1 링크(410)가 제2 링크(420)의 방향으로 이동하는 속도에 기반하여 두 링크(410, 420)가 중간 거리

Figure 112012089391221-pat00038
(730)만큼 이격되는 제3 시점이 존재하는지 여부를 판단할 수 있다. 최소값 산출부(520)는 제1 링크(410)의 이동 속도 중에서, 제1 링크(410)로부터 제2 링크(420)까지의 방향에 해당하는 이동 속도만을 추출할 수 있다. 예를 들어, 최소값 산출부(520)는 제1 링크(410)의 이동 속도를 제1 링크(410)로부터 제2 링크(420)까지의 방향에 프로젝션(projection)시켜 제1 링크(410)가 제2 링크(420)로 이동하는 최대 속도만을 추출할 수 있다. 최소값 산출부(520)는 추출된 속도를 이용하여 제1 링크(410)와 제2 링크(420)가 중간 거리
Figure 112012089391221-pat00039
(730)만큼 이격되는 시간을 산출할 수 있다.In this case, the minimum value calculator 520 may determine the distance between the two links 410 and 420 based on the speed at which the first link 410 moves in the direction of the second link 420.
Figure 112012089391221-pat00038
It may be determined whether there is a third time point spaced apart by 730. The minimum value calculator 520 may extract only a moving speed corresponding to a direction from the first link 410 to the second link 420 among the moving speeds of the first link 410. For example, the minimum value calculator 520 may project the movement speed of the first link 410 in a direction from the first link 410 to the second link 420 so that the first link 410 is projected. Only the maximum speed of moving to the second link 420 may be extracted. The minimum value calculator 520 uses the extracted speed to determine the intermediate distance between the first link 410 and the second link 420.
Figure 112012089391221-pat00039
A time spaced by 730 may be calculated.

만약 링크간의 거리의 최소값이 중간 거리(후보 최소값)

Figure 112012089391221-pat00040
(730) 보다 작다면, 제1 링크(410)와 제2 링크(420)간의 거리가 중간 거리(후보 최소값)
Figure 112012089391221-pat00041
(730)과 일치하는 시점이 존재한다. 이를 간단히 제3 시점(731)이라고 하자. 이 경우에, 링크간의 거리의 최소값은 제3 시점(731)과 제2 시점간의 시간 구간에 위치한다.If the minimum distance between links is the intermediate distance (candidate minimum value)
Figure 112012089391221-pat00040
If less than 730, the distance between the first link 410 and the second link 420 is an intermediate distance (candidate minimum value).
Figure 112012089391221-pat00041
There is a time point that coincides with 730. Let this simply be the third time point 731. In this case, the minimum value of the distance between the links is located in the time interval between the third time point 731 and the second time point.

도 7을 참고하면, 최소값 산출부(520)는 새로운 중간 거리(후보 최소값)

Figure 112012089391221-pat00042
를 설정할 수 있다. 일측에 따르면, 최소값 산출부(520)는
Figure 112012089391221-pat00043
(730)와
Figure 112012089391221-pat00044
(720)간의 사이에서 새로운 중간 거리(후보 최소값)
Figure 112012089391221-pat00045
(740)를 설정할 수 있다.Referring to FIG. 7, the minimum value calculator 520 may generate a new intermediate distance (candidate minimum value).
Figure 112012089391221-pat00042
Can be set. According to one side, the minimum value calculator 520 is
Figure 112012089391221-pat00043
730 and
Figure 112012089391221-pat00044
New intermediate distance between candidates (candidate minimum)
Figure 112012089391221-pat00045
740 may be set.

만약 링크간의 거리의 최소값이 중간 거리(후보 최소값)

Figure 112012089391221-pat00046
(740) 보다 크다면, 최소값 산출부(520)는 제1 링크(410)와 제2 링크(420)가
Figure 112012089391221-pat00047
(740)만큼 이격되는 시간을 산출할 수 없다. 또는, 산출된 시간이 제2 시점(
Figure 112012089391221-pat00048
)보다 더 큰 의미없는 값이 산출된다. 따라서, 이 경우에, 최소값 산출부(520)는 링크간 거리의 최소값이
Figure 112012089391221-pat00049
(740) 보다는 크고,
Figure 112012089391221-pat00050
(730)보다는 작은 값인 것으로 판단할 수 있다.If the minimum distance between links is the intermediate distance (candidate minimum value)
Figure 112012089391221-pat00046
If greater than 740, the minimum value calculator 520 determines that the first link 410 and the second link 420 are connected to each other.
Figure 112012089391221-pat00047
It is not possible to calculate the time spaced apart by 740. Alternatively, the calculated time is the second time point (
Figure 112012089391221-pat00048
Yields a more significant value than Therefore, in this case, the minimum value calculator 520 determines that the minimum value of the distance between links is small.
Figure 112012089391221-pat00049
Greater than 740,
Figure 112012089391221-pat00050
It may be determined that the value is smaller than 730.

도 7에 설명된 탐색을 반복하면, 최소값 산출부(520)는 최소값(750)이 위치하는 구간을 충분히 정밀하게 파악할 수 있다. 일측에 따르면, 최소값 산출부(520)는 최소값이 위치하는 것으로 판단되는 구간이 충분히 좁아진 것으로 판단되거나, 정해진 횟수 이상 탐색을 반복한 경우에, 최소값 탐색을 중지하고 최소값이 위치하는 시점(751)을 결정할 수 있다.
By repeating the search described with reference to FIG. 7, the minimum value calculator 520 may grasp the section in which the minimum value 750 is located with sufficient precision. According to one side, the minimum value calculation unit 520 stops searching for the minimum value and determines the time point 751 where the minimum value is located when it is determined that the section in which the minimum value is located is sufficiently narrowed or the search is repeated more than a predetermined number of times. You can decide.

3) 하이브리드 탐색법
3) Hybrid Search

하이브리드 탐색법은 황금 분할 탐색법과 CA 탐색법을 결합한 탐색법이다.Hybrid search is a combination of golden partition search and CA search.

하이브리드 탐색법에 따르면, 최소값 산출부(520)는 CA 탐색법을 이용하여 최소값이 위치하는 것으로 판단되는 구간을 좁힐 수 있다. 이 경우에, 최소값 산출부(520)는 시간 구간의 시작 시점 및 시간 구간의 종료 시점의 양 방향에서 최소값으로 접근하여 탐색 시간을 감소시킬 수 있다.According to the hybrid search method, the minimum value calculator 520 may narrow the section where the minimum value is determined by using the CA search method. In this case, the minimum value calculator 520 may reduce the search time by approaching the minimum value in both directions of the start point of the time section and the end point of the time section.

만약 최소값이 위치하는 것으로 판단되는 구간이 충분히 좁아졌다고 판단되면, 최소값 산출부(520)는 황금 분할 탐색법을 이용하여 정확한 최소값을 탐색할 수 있다.
If it is determined that the section in which the minimum value is located is sufficiently narrowed, the minimum value calculator 520 may search for the correct minimum value using the golden division search method.

도 8은 또 다른 예시적 실시예에 따른 다관절 로봇의 제어 방법을 단계별로 설명한 순서도이다.Fig. 8 is a flowchart illustrating a step-by-step method for controlling an articulated robot according to still another exemplary embodiment.

단계(810)에서, 다관절 로봇의 제어 장치는 다관절 로봇이 링크들을 구동하여 제1 자세로부터 제2 자세로 자세를 변경하는 동작을 수행하는 경우에, 각 링크간의 거리를 계산한다. 일측에 따르면, 다관절 로봇의 제어 장치는 추출된 동작 파라미터 및 도 4에 도시된 링크 모델을 이용하여 각 링크간의 거리를 계산할 수 있다. 여기서, 추출된 동작 파라미터는 각 링크를 움직이는 모터들의 시간에 따른 회전 속도, 동작을 시작하는 시점에서의 각 링크의 위치, 방향 등에 대한 정보일 수 있다.In step 810, the control device of the articulated robot calculates the distance between each link when the articulated robot drives the links to change the pose from the first posture to the second posture. According to one side, the control device of the articulated robot can calculate the distance between each link using the extracted operating parameters and the link model shown in FIG. Here, the extracted operation parameter may be information about a rotational speed according to time of the motors moving each link, the position and the direction of each link at the time of starting the operation.

단계(820)에서, 다관절 로봇의 제어 장치는 다관절 로봇이 제1 자세를 취하는 제1 시점으로부터 제2 자세를 취하는 제2 시점까지의 시간 구간을 복수의 서브 구간으로 분할할 수 있다.In operation 820, the control device of the articulated robot may divide the time interval from the first time point that the articulated robot takes the first posture to the second time point that takes the second posture into a plurality of sub-sections.

단계(830)에서, 다관절 로봇의 제어 장치는 링크간의 거리의 최소값을 산출한다. 일측에 따르면, 다관절 로봇의 제어 장치는 1)황금 분할 탐색법 2)CA 탐색법 3)하이브리드 탐색법 중에서 어느 하나의 탐색법을 선택하여 최소값을 산출할 수 있다.In step 830, the control device of the articulated robot calculates the minimum value of the distance between the links. According to one side, the control device of the articulated robot can calculate the minimum value by selecting any one of 1) golden division search method 2) CA search method 3) hybrid search method.

1) 황금 분할 탐색법1) golden division exploration

도 9는 황금 분할 탐색법(Golden Section Search)에 따른 최소값 탐색 방법을 단계별로 설명한 순서도이다. 이하 도 9를 참고하여 황금 분할 탐색법을 단계별로 설명하기로 한다.9 is a flowchart illustrating a step-by-step method for searching for a minimum value according to a golden section search method. Hereinafter, the golden division searching method will be described step by step with reference to FIG. 9.

단계(910)에서, 다관절 로봇의 제어 장치는 제3 시점 및 제4 시점을 설정한다. 일측에 따르면, 다관절 로봇의 제어 장치는 제1 시점 및 제2 시점간의 시간 구간에서, 제1 시점과 제2 시점의 사이에 제3 시점을 설정한다. 또한, 다관절 로봇의 제어 장치는 제1 시점과 제3 시점의 사이에 제4 시점을 설정한다. 일측에 따르면, 다관절 로봇의 제어 장치는 제1 시점과 제3 시점에 따라서 제4 시점을 결정할 수 있다. 다관절 로봇의 제어 장치는 상기 수학식 1에 따라서 제4 시점을 결정할 수 있다.In step 910, the control device of the articulated robot sets a third time point and a fourth time point. According to one side, the control device of the articulated robot sets a third viewpoint between the first viewpoint and the second viewpoint in the time interval between the first viewpoint and the second viewpoint. In addition, the control device of the articulated robot sets a fourth viewpoint between the first viewpoint and the third viewpoint. According to one side, the control device of the articulated robot may determine a fourth time point according to the first time point and the third time point. The control device of the articulated robot may determine a fourth time point according to Equation 1 above.

단계(920)에서, 다관절 로봇의 제어 장치는 제4 시점에서의 제4 거리와 제3 시점에서의 제3 거리의 비교 결과에 따라서, 최소값이 제1 시점과 제3 시점 사이의 구간 또는 제4 시점과 제2 시점 사이의 구간 중에서 어느 구간에 위치하는지 판단한다.In step 920, the control device of the articulated robot according to the comparison result of the fourth distance at the fourth time point and the third distance at the third time point, the minimum value is the interval between the first time point and the third time point or the third time point. It is determined which section of the section between the 4th view point and the 2nd view point.

단계(930)에서, 다관절 로봇의 제어 장치는 황금 분할 탐색법을 종료할지 여부를 판단한다. 일측에 따르면, 다관절 로봇의 제어 장치는 최소값이 위치하는 것으로 판단된 구간이 소정의 범위 이하이면 최소값이 위치하는 것으로 판단된 구간이 충분히 정확히 탐색된 것으로 판단하고, 황금 분할 탐색법을 종료할 수 있다.In step 930, the control device of the articulated robot determines whether to end the golden segment search method. According to one side, the control device of the articulated robot determines that the section determined to be the minimum value is found correctly if the section determined to be the minimum value is less than a predetermined range, and can terminate the golden segment search method. have.

또는, 다관절 로봇의 제어 장치는 탐색이 미리 정해진 횟수 이상 수행되었는지 여부에 따라서 황금 분할 탐색법을 종료할지 판단할 수 있다.
Alternatively, the control device of the articulated robot may determine whether to terminate the golden segment search method according to whether the search is performed more than a predetermined number of times.

2) CA 탐색법2) CA search method

도 10은 CA(Conservative Advancement) 탐색법에 따른 최소값 탐색 방법을 단계별로 설명한 순서도이다.FIG. 10 is a flowchart illustrating a method of searching for a minimum value according to a search method of CA.

단계(1010)에서, 다관절 로봇의 제어 장치는 링크간의 거리에 대한 후보 최소값을 설정한다.In step 1010, the control device of the articulated robot sets a candidate minimum value for the distance between links.

단계(1020)에서, 다관절 로봇의 제어 장치는 다관절 로봇이 제1 자세를 취하는 제1 시점과 제2 자세를 취하는 제2 시점 사이에서, 링크간의 거리가 후보 최소값

Figure 112012089391221-pat00051
와 일치하는 제3 시점이 존재하는지 여부를 판단한다.In step 1020, the control device of the articulated robot determines that the distance between links is a candidate minimum value between a first time point at which the articulated robot takes a first pose and a second time point at which a second pose is taken.
Figure 112012089391221-pat00051
It is determined whether there is a third time point coinciding with.

다관절 로봇의 제어 장치는 제1 링크의 이동 속도 중에서, 제1 링크로부터 제2 링크까지의 방향에 해당하는 최대 이동 속도만을 추출할 수 있다. 예를 들어, 다관절 로봇의 제어 장치는 제1 링크의 이동 속도를 제1 링크로부터 제2 링크까지의 방향에 프로젝션(projection)시켜 제1 링크가 제2 링크로 이동하는 최대 속도만을 추출할 수 있다. 다관절 로봇의 제어 장치는 추출된 속도를 이용하여 제1 링크와 제2 링크가 후보 최소값

Figure 112012089391221-pat00052
만큼 이격되는 시간을 산출할 수 있다.The control device of the articulated robot may extract only the maximum moving speed corresponding to the direction from the first link to the second link among the moving speeds of the first link. For example, the control device of the articulated robot may project only the maximum speed at which the first link moves to the second link by projecting the moving speed of the first link in the direction from the first link to the second link. have. The control device of the articulated robot uses the extracted velocity to determine the candidate minimum value of the first link and the second link.
Figure 112012089391221-pat00052
It can calculate the time spaced apart.

만약 제3 시점이 존재한다면, 다관절 로봇의 제어 장치는 단계(1010)에서 새로운 후보 최소값을 설정하고, 좀더 정확한 최소값을 탐색할 수 있다.
If there is a third time point, the control device of the articulated robot may set a new candidate minimum value and search for a more accurate minimum value in step 1010.

단계(830)에서, 다관절 로봇의 제어 장치는 각 링크간의 거리의 최소값을 산출한다.In step 830, the control device of the articulated robot calculates the minimum value of the distance between each link.

단계(840)에서, 다관절 로봇의 제어 장치는 산출된 최소값에 기반하여 다관절 로봇의 동작을 최적화할 수 있다. 일측에 따르면, 다관절 로봇의 제어 장치는 산출된 최소값을 미리 결정된 임계값과 비교할 수 있다. 다관절 로봇의 제어 장치는 산출된 최소값이 미리 결정된 임계값 보다 작은 경우에, 해당 서브 구간 및 해당 서브 구간과 이웃한 서브 구간들의 동작을 최적화할 수 있다.
In operation 840, the control device of the articulated robot may optimize the operation of the articulated robot based on the calculated minimum value. According to one side, the control device of the articulated robot can compare the calculated minimum value with a predetermined threshold value. When the calculated minimum value of the articulated robot is smaller than a predetermined threshold value, the control device of the articulated robot may optimize operations of the corresponding sub-section and the sub-sections adjacent to the sub-section.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

 

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.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. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

500: 다관절 로봇의 제어 장치
510: 거리 계산부
520: 최소값 산출부
530: 동작 최적화부
500: control device of articulated robot
510: distance calculation unit
520: minimum value calculation unit
530: motion optimization unit

Claims (15)

복수의 링크로 구성된 다관절 로봇의 제어 장치에 있어서,
상기 다관절 로봇이 상기 링크들을 구동하여 제1 자세로부터 제2 자세로 자세를 변경하는 동작을 수행하는 경우에, 상기 각 링크간의 거리를 계산하는 거리 계산부;
상기 산출된 각 링크 간의 거리의 최소값을 산출하는 최소값 산출부; 및
상기 산출된 최소값에 기반하여 상기 동작을 최적화하는 동작 최적화부
를 포함하고,
상기 동작 최적화부는 상기 산출된 최소값이 미리 결정된 임계값 보다 작은 경우에 상기 동작을 최적화하는 다관절 로봇의 제어 장치.
In the control device of an articulated robot composed of a plurality of links,
A distance calculator configured to calculate a distance between the links when the articulated robot drives the links to change a posture from a first posture to a second posture;
A minimum value calculator for calculating a minimum value of the calculated distances between the links; And
An operation optimizer configured to optimize the operation based on the calculated minimum value
Lt; / RTI >
And the motion optimizer optimizes the motion when the calculated minimum value is smaller than a predetermined threshold value.
제1항에 있어서,
상기 최소값 산출부는 상기 다관절 로봇이 상기 제1 자세를 취하는 제1 시점으로부터 상기 다관절 로봇이 상기 제2 자세를 취하는 제2 시점까지의 시간 구간을 복수의 서브 구간으로 분할하고, 상기 각각의 서브 구간에 대하여 최소값을 산출하고,
상기 동작 최적화부는 상기 각각의 서브 구간에 대하여 상기 동작을 최적화하는 다관절 로봇의 제어 장치.
The method of claim 1,
The minimum value calculating unit divides the time interval from the first time point at which the articulated robot takes the first posture to the second time point at which the articulated robot takes the second posture, into a plurality of sub-sections, and each sub Calculate the minimum value for the interval,
And the motion optimizer optimizes the motion for each of the sub-sections.
제1항에 있어서,
상기 최소값 산출부는 상기 제1 자세를 취하는 제1 시점과 상기 제2 자세를 취하는 제2 시점 사이에 제3 시점을 설정하고,
상기 제1 시점과 상기 제3 시점 사이의 제4 시점에 대하여, 상기 제4 시점에서의 제4 거리와 상기 제3 시점에서의 제3 거리의 비교 결과에 따라서, 상기 최소값이 상기 제1 시점과 상기 제3 시점 사이의 구간 또는 상기 제4시점과 상기 제2 시점 사이의 구간 중에서 어느 구간에 위치하는지 판단하는 다관절 로봇의 제어 장치.
The method of claim 1,
The minimum value calculator sets a third viewpoint between a first viewpoint taking the first posture and a second viewpoint taking the second posture,
According to a result of a comparison between the fourth distance at the fourth time point and the third distance at the third time point, the minimum value is determined from the fourth time point between the first time point and the third time point. The control device of the articulated robot, which determines whether it is located in the section between the third view point or the section between the fourth view point and the second view point.
제3항에 있어서,
상기 제4 시점은
수학식
Figure 112013115986851-pat00053

에 따라 결정되고,
Figure 112013115986851-pat00054
는 상기 제4 시점이고,
Figure 112013115986851-pat00055
는 상기 제3 시점이고,
Figure 112013115986851-pat00056
는 상기 제1 시점인 다관절 로봇의 제어 장치.
The method of claim 3,
The fourth time point
Equation
Figure 112013115986851-pat00053

Lt; / RTI >
Figure 112013115986851-pat00054
Is the fourth time point,
Figure 112013115986851-pat00055
Is the third time point,
Figure 112013115986851-pat00056
Is a control device of the articulated robot which is the first time point.
제1항에 있어서,
상기 최소값 산출부는 상기 거리에 대한 후보 최소값을 설정하고, 상기 제1 자세를 취하는 제1 시점과 상기 제2 자세를 취하는 제2 시점 사이에 상기 계산된 거리가 상기 후보 최소값과 일치하는 제3 시점이 존재하는지 여부를 판단하고, 상기 판단에 따라서 상기 최소값을 산출하는 다관절 로봇의 제어 장치.
The method of claim 1,
The minimum value calculator sets a candidate minimum value for the distance, and a third time point at which the calculated distance coincides with the candidate minimum value between the first time point taking the first posture and the second time point taking the second posture. The control apparatus of the articulated robot which judges whether there exists and calculates the minimum value according to the determination.
제5항에 있어서,
상기 최소값 산출부는 상기 복수의 링크에 포함된 제1 링크가 상기 복수의 링크에 포함된 제2 링크의 방향으로 이동하는 최대 속도에 기반하여 상기 제3 시점이 존재하는지 여부를 판단하는 다관절 로봇의 제어 장치.
6. The method of claim 5,
The minimum value calculator may be configured to determine whether the third viewpoint exists based on the maximum speed at which the first link included in the plurality of links moves in the direction of the second link included in the plurality of links. controller.
삭제delete 복수의 링크로 구성된 다관절 로봇의 제어 방법에 있어서,
상기 다관절 로봇이 상기 링크들을 구동하여 제1 자세로부터 제2 자세로 자세를 변경하는 동작을 수행하는 경우에, 상기 각 링크간의 거리를 계산하는 단계;
상기 산출된 각 링크 간의 거리의 최소값을 산출하는 단계; 및
상기 산출된 최소값에 기반하여 상기 동작을 최적화하는 단계
를 포함하고,
상기 동작을 최적화하는 단계는 상기 산출된 최소값이 미리 결정된 임계값 보다 작은 경우에 상기 동작을 최적화하는 다관절 로봇의 제어 방법.
In the control method of the articulated robot composed of a plurality of links,
Calculating a distance between the links when the articulated robot drives the links to change a posture from a first posture to a second posture;
Calculating a minimum value of the calculated distances between the links; And
Optimizing the operation based on the calculated minimum value
Lt; / RTI >
The optimizing of the motion may include optimizing the motion when the calculated minimum value is smaller than a predetermined threshold value.
제8항에 있어서,
상기 다관절 로봇이 상기 제1 자세를 취하는 제1 시점으로부터 상기 다관절 로봇이 상기 제2 자세를 취하는 제2 시점까지의 시간 구간을 복수의 서브 구간으로 분할하는 단계
를 더 포함하고,
상기 최소값을 산출하는 단계는 상기 각각의 서브 구간에 대하여 최소값을 산출하고,
상기 동작을 최적화하는 단계는 상기 각각의 서브 구간에 대하여 상기 동작을 최적화하는 다관절 로봇의 제어 방법.
9. The method of claim 8,
Dividing the time interval from the first time point in which the articulated robot takes the first posture to the second time point in which the articulated robot takes the second posture into a plurality of sub-sections;
Further comprising:
The calculating of the minimum value may include calculating a minimum value for each sub-section,
The optimizing of the motion may include controlling the motion of the articulated robot for each of the sub-sections.
제8항에 있어서, 상기 최소값을 산출하는 단계는
상기 제1 자세를 취하는 제1 시점과 상기 제2 자세를 취하는 제2 시점 사이의 제3 시점 및 상기 제1 시점과 상기 제3 시점 사이의 제4 시점을 설정하는 단계;
상기 제4 시점에서의 제4 거리와 상기 제3 시점에서의 제3 거리의 비교 결과에 따라서, 상기 최소값이 상기 제1 시점과 상기 제3 시점 사이의 구간 또는 상기 제4 시점과 상기 제2 시점 사이의 구간 중에서 어느 구간에 위치하는지 판단하는 단계
를 더 포함하는 다관절 로봇의 제어 방법.
The method of claim 8, wherein calculating the minimum value
Setting a third view point between the first view point taking the first position and the second view point taking the second position and a fourth view point between the first view point and the third view point;
According to a comparison result of a fourth distance at the fourth time point and a third distance at the third time point, the minimum value is a section between the first time point and the third time point or the fourth time point and the second time point. Determining which section of the interval between
Control method of the articulated robot further comprising.
제10항에 있어서, 상기 제4 시점을 설정하는 단계에서,
상기 제4 시점은
수학식
Figure 112013115986851-pat00057

에 따라 결정되고,
Figure 112013115986851-pat00058
는 상기 제4 시점이고,
Figure 112013115986851-pat00059
는 상기 제3 시점이고,
Figure 112013115986851-pat00060
는 상기 제1 시점인 다관절 로봇의 제어 방법.
The method of claim 10, wherein in the setting of the fourth viewpoint,
The fourth time point
Equation
Figure 112013115986851-pat00057

Lt; / RTI >
Figure 112013115986851-pat00058
Is the fourth time point,
Figure 112013115986851-pat00059
Is the third time point,
Figure 112013115986851-pat00060
Is a control method of the articulated robot.
제8항에 있어서,
상기 거리에 대한 후보 최소값을 설정하는 단계;
상기 제1 자세를 취하는 제1 시점과 상기 제2 자세를 취하는 제2 시점 사이에 상기 계산된 거리가 상기 후보 최소값과 일치하는 제3 시점이 존재하는지 여부를 판단하는 단계
를 더 포함하고,
상기 최소값을 산출하는 단계는 상기 판단에 따라서 상기 최소값을 산출하는 다관절 로봇의 제어 방법.
9. The method of claim 8,
Setting a candidate minimum for the distance;
Determining whether there is a third time point in which the calculated distance coincides with the candidate minimum value between the first time point of the first pose and the second time point of the second pose.
Further comprising:
The calculating of the minimum value may include calculating the minimum value according to the determination.
제12항에 있어서,
상기 제3 시점이 존재하는지 여부를 판단하는 단계는 상기 복수의 링크에 포함된 제1 링크가 상기 복수의 링크에 포함된 제2 링크의 방향으로 이동하는 최대 속도에 기반하여 상기 제3 시점이 존재하는지 여부를 판단하는 다관절 로봇의 제어 방법.
The method of claim 12,
The determining of whether the third viewpoint exists includes the third viewpoint based on a maximum speed at which a first link included in the plurality of links moves in a direction of a second link included in the plurality of links. Control method of the articulated robot.
삭제delete 제8항 내지 제13항 중에서 어느 하나의 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 8 to 13.
KR1020120122344A 2012-10-31 2012-10-31 Apparatus and method for contolling articulated robot KR101363209B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120122344A KR101363209B1 (en) 2012-10-31 2012-10-31 Apparatus and method for contolling articulated robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120122344A KR101363209B1 (en) 2012-10-31 2012-10-31 Apparatus and method for contolling articulated robot

Publications (1)

Publication Number Publication Date
KR101363209B1 true KR101363209B1 (en) 2014-02-13

Family

ID=50271003

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120122344A KR101363209B1 (en) 2012-10-31 2012-10-31 Apparatus and method for contolling articulated robot

Country Status (1)

Country Link
KR (1) KR101363209B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07136976A (en) * 1993-11-11 1995-05-30 Matsushita Electric Ind Co Ltd Multiple robot interference avoiding method
JP5036661B2 (en) * 2008-08-29 2012-09-26 三菱電機株式会社 Interference check control apparatus and interference check control method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07136976A (en) * 1993-11-11 1995-05-30 Matsushita Electric Ind Co Ltd Multiple robot interference avoiding method
JP5036661B2 (en) * 2008-08-29 2012-09-26 三菱電機株式会社 Interference check control apparatus and interference check control method

Similar Documents

Publication Publication Date Title
JP6485661B2 (en) Method and control system for controlling operation of a processing machine, and processing machine
JP5860081B2 (en) Robot simulation device that generates robot motion path
US9649765B2 (en) Reducing energy consumption of industrial robots by using new methods for motion path programming
US10919153B2 (en) Teaching method for teaching operations to a plurality of robots and teaching system used therefor
US8924016B2 (en) Apparatus for planning path of robot and method thereof
JP2015160253A (en) Trajectory generation method, robot device, program and recording medium
WO2018119745A1 (en) Robot motion control method and related apparatus
US9895803B1 (en) Calculating trajectory corridor for robot end effector
KR20140055134A (en) Apparatus and method for planning path of robot, and the recording media storing the program for performing the said method
CN102152308A (en) Method for a collision-free path planning of an industrial robot
JP6567101B2 (en) Teaching method, robot operating method, program, storage medium, teaching apparatus
JP6729773B2 (en) Robot controller and robot system using the same
JP4942672B2 (en) Robot trajectory control apparatus and robot trajectory control method
Lee et al. Unifying scene registration and trajectory optimization for learning from demonstrations with application to manipulation of deformable objects
JP7368025B2 (en) Robot motion planning to optimize speed while maintaining acceleration and jerk limits
JP2017127964A (en) Robot apparatus having learning function
Kindle et al. Whole-body control of a mobile manipulator using end-to-end reinforcement learning
Pittner et al. Systematic analysis of global and local planners for optimal trajectory planning
JP2014161917A (en) Robot control system, robot, robot control method, and program
KR102323069B1 (en) Robot control apparatus, robot control method, and program
KR101981641B1 (en) Method and system for formation control of multiple mobile robots
KR101363209B1 (en) Apparatus and method for contolling articulated robot
CN110355753A (en) Robot controller, robot control method and storage medium
JP2007319991A (en) Mobile robot
CN108513636B (en) Robot motion control method and related device

Legal Events

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

Payment date: 20170725

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180206

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190201

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 7