KR101363209B1 - Apparatus and method for contolling articulated robot - Google Patents
Apparatus and method for contolling articulated robot Download PDFInfo
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/06—Programme-controlled manipulators characterised by multi-articulated arms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J18/00—Arms
- B25J18/06—Arms flexible
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/02—Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
- B25J9/04—Programme-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/041—Cylindrical coordinate type
- B25J9/042—Cylindrical coordinate type comprising an articulated arm
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1641—Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/01—Mobile robot
Abstract
Description
하기의 실시예들은 다관절 로봇을 제어하는 장치 및 방법에 관한 것으로, 구체적으로는, 다관절 로봇의 동작 수행 도중에, 다관절 로봇을 구성하는 링크들이 서로 충돌하는지 여부를 판단하여 다관절 로봇의 동작을 최적화하는 장치 및 방법에 관한 것이다.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
[수학식 1]
[Equation 1]
여기서, 는 상기 제4 시점이고, 는 상기 제3 시점이고, 는 상기 제1 시점이다.here, Is the fourth time point, Is the third time point, 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) "
여기서, 는 상기 제4 시점이고, 는 상기 제3 시점이고, 는 상기 제1 시점이다.here, Is the fourth time point, Is the third time point, 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
동작 최적화부(210)는 다관절 로봇이 링크를 움직여 특정한 동작을 수행하는 경우에, 각 링크의 움직임을 최적화 한다. 동작 최적화부(210)는 이를 위하여 각 링크를 연결하는 관절을 구동하는 모터의 동작을 제어할 수 있다. 예를 들어, 동작 최적화부(210)는 각 모터를 어떤 시점에 얼마만큼 회전 시켜야 할지 결정할 수 있다.The
동작 파라미터 추출부(220)는 동작 최적화부(210)가 결정한 동작에 대한 파라미터를 추출한다. 동작 파라미터 추출부(220)가 추출하는 파라미터는 각 모터의 시간에 따른 회전 속도, 각 링크의 위치, 방향 등에 대한 정보일 수 있다.The
거리 계산부(230)는 다관절 로봇이 동작을 수행하는 도중에, 각 링크간의 거리를 계산한다. 거리 계산부(230)는 동작 최적화부(210)가 결정한 동작에 대한 파라미터를 이용하여 각 링크 간의 거리를 계산할 수 있다. 각 링크간의 거리에 대해서는 도 4에서 상세히 설명하기로 한다.The
최소값 산출부(240)는 시간에 따라 변화하는 각 링크간의 거리 중에서, 최소값을 산출한다. 산출된 최소값이 '0'보다 더 작은 값이라면, 두 링크는 동작 수행중에 충돌한다. 이 경우에, 동작 최적화부(210)는 다관절 로봇의 동작을 다시 최적화하여 링크간의 충돌을 방지할 수 있다.
The
도 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은 다관절 로봇이 동작을 수행함에 따라서, 다관절 로봇의 두 링크간의 거리가 변화하는 것을 나타낸 도면이다. 다관절 로봇의 링크간의 거리가 실선으로 표현되었다. 다관절 로봇의 제어 장치는 다관절 로봇이 동작을 수행하는 부터 까지의 시간 구간을 복수의 서브 구간(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. from A time interval up to is divided into a plurality of
다관절 로봇의 제어 장치는 각 서브 구간(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
도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
도 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
도 4에서, 각 링크(410, 420)의 중심에 중심선(414, 421)을 설정할 수 있다. 각각의 중심선은 원통(412)의 윗면 중심과 바닥면 중심을 연결하는 선이다.In FIG. 4,
일측에 따르면, 다관절 로봇의 제어 장치는 각 링크(420)의 중심선(414, 421)들간의 거리(430)만을 이용하여 링크간의 거리(440)를 간단히 계산할 수 있다. 예를 들어, 제1 링크(410)에서, 원통(412)의 반지름 및 반원(410, 411)의 반지름이 이고, 제2 링크(420)에서, 원통의 반지름 및 반원의 반지름이 인 경우에, 중심선간의 거리(430)가 +라면, 각 링크간의 거리(440)는 '0'일 수 있다. 여기서, 중심선(414, 421)간의 거리는 중심선(414, 421)간의 유클리디안 거리(Euclidian distance)로 정의될 수 있다.According to one side, the control device of the articulated robot can simply calculate the
예시적 실시예에 따르면, 거리 계산부(230)는 동작 파라미터 및 도 4에 도시된 링크의 모델을 이용하여 도 3에 도시된 각 링크간의 거리를 간단히 산출할 수 있다.
According to an exemplary embodiment, the
도 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
다관절 로봇이 제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
최소값 산출부(520)는 다관절 로봇이 동작을 수행하는 경우에, 각 링크간의 거리의 최소값을 산출한다. 일측에 따르면, 최소값 산출부(520)는 황금 분할 탐색법(Golden Section Search), CA(Conservative Advancement) 탐색법, 하이브리드(hybrid) 탐색법 등 여러 가지 방법을 이용하여 링크간의 거리의 최소값을 산출할 수 있다. 일측에 따르면, 최소값 산출부(520)는 다관절 로봇이 제1 자세를 취하는 제1 시점으로부터 다관절 로봇이 제2 자세를 취하는 제2 시점까지의 시간 구간을 복수의 서브 구간으로 분할하고, 각각의 서브 구간에 대하여 최소값을 산출할 수 있다.The
동작 최적화부(530)는 산출된 최소값에 기반하여 다관절 로봇의 동작을 최적화할 수 있다. 최소값 산출부(520)가 제1 시점으로부터 제2 시점까지의 시간 구간을 복수의 서브 구간으로 분할한 경우에, 동작 최적화부(530)는 각각의 서브 구간에 대하여 동작을 최적화할 수 있다.The
일측에 따르면, 동작 최적화부(530)는 산출된 최소값을 미리 결정된 임계값과 비교할 수 있다. 동작 최적화부(530)는 산출된 최소값이 미리 결정된 임계값 보다 작은 경우에, 해당 서브 구간 및 해당 서브 구간과 이웃한 서브 구간들의 동작을 최적화할 수 있다. 일측에 따르면, 미리 결정된 임계값은 '0'일 수 있다.
According to one side, the
이하 최소값 산출부(520)가 링크간의 거리의 최소값을 산출하는 탐색기법에 대하여 설명하기로 한다.Hereinafter, a searcher method in which the
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
일측에 따르면, 제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
일측에 따르면, 제4 시점(640)이 제1 시점(610)과 제3 시점(630)사이에 위치하는 경우에, 최소값 산출부(520)는 제1 시점(610)과 제3 시점(630)에 따라서 제4 시점을 결정할 수 있다. 최소값 산출부(520)는 하기 수학식 1에 따라서 제4 시점(640)을 결정할 수 있다.
According to one side, when the
[수학식 1]
[Equation 1]
여기서, 는 제4 시점이고, 는 제3시점이고, 는 제1 시점이다
here, Is the fourth time point, Is the third time point, 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
[수학식 2]
&Quot; (2) "
여기서, 는 제4 시점이고, 는 제3시점이고, 는 제2 시점이다.
here, Is the fourth time point, Is the third time point, 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
반대로, 만약 제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
제4 시점(640)이 제3 시점(630)과 제2 시점(620)사이에 위치하는 경우에도 최소값 산출부(520)는 제4 시점(640)이 제1 시점(610)과 제3 시점(630)사이에 위치하는 경우와 유사한 과정을 통하여 최소값이 위치하는 것으로 판단되는 구간을 좀더 좁힐 수 있다.Even when the
도 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
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
최소값 산출부(520)는 제1 시점(711)에서의 제1 거리(710)를 라고 설정하고, 링크간의 거리의 하한선을 라고 설정한다. 일측에 따르면, 최소값 산출부(520)는 하기 수학식 2에 따라서 링크간의 거리의 하한선 를 설정할 수 있다.
The
[수학식 2]
&Quot; (2) "
여기서, 은 제1 링크를 구성하는 원통의 반지름이고, 는 제2 링크를 구성하는 원통의 반지름이다. 도 4를 참고하면, 각 링크의 중심선(414, 421)이 서로 접하는 경우에 링크간의 거리는 이 된다.here, Is the radius of the cylinder constituting the first link, Is the radius of the cylinder constituting the second link. Referring to FIG. 4, when the
최소값 산출부(520)는 제1 시점에서의 제1 거리 (720)과 하한선 (720)사이에 중간 거리 (730)를 설정한다. 일측에 따르면, 최소값 산출부(520)는 중간 거리 (730)를 제1 거리 (720)과 하한선 (720)의 산술 평균값으로 설정할 수 있다.The
최소값 산출부(520)는 제1 시점(711)에서의 제1 링크(410) 및 제2 링크(420)의 위치, 거리, 이동 속도, 제1 링크(410)로부터 제2 링크(420)까지의 방향 등을 고려하여 제1 링크(410)와 제2 링크(420)가 중간 거리 (730)만큼 이격되는 시간을 산출한다. 일측에 따르면, 중간 거리 (730)를 후보 최소값이라 할 수 있다.The
이 경우에, 최소값 산출부(520)는 제1 링크(410)가 제2 링크(420)의 방향으로 이동하는 속도에 기반하여 두 링크(410, 420)가 중간 거리 (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)가 중간 거리 (730)만큼 이격되는 시간을 산출할 수 있다.In this case, the
만약 링크간의 거리의 최소값이 중간 거리(후보 최소값) (730) 보다 작다면, 제1 링크(410)와 제2 링크(420)간의 거리가 중간 거리(후보 최소값) (730)과 일치하는 시점이 존재한다. 이를 간단히 제3 시점(731)이라고 하자. 이 경우에, 링크간의 거리의 최소값은 제3 시점(731)과 제2 시점간의 시간 구간에 위치한다.If the minimum distance between links is the intermediate distance (candidate minimum value) If less than 730, the distance between the
도 7을 참고하면, 최소값 산출부(520)는 새로운 중간 거리(후보 최소값) 를 설정할 수 있다. 일측에 따르면, 최소값 산출부(520)는 (730)와 (720)간의 사이에서 새로운 중간 거리(후보 최소값) (740)를 설정할 수 있다.Referring to FIG. 7, the
만약 링크간의 거리의 최소값이 중간 거리(후보 최소값) (740) 보다 크다면, 최소값 산출부(520)는 제1 링크(410)와 제2 링크(420)가 (740)만큼 이격되는 시간을 산출할 수 없다. 또는, 산출된 시간이 제2 시점()보다 더 큰 의미없는 값이 산출된다. 따라서, 이 경우에, 최소값 산출부(520)는 링크간 거리의 최소값이 (740) 보다는 크고, (730)보다는 작은 값인 것으로 판단할 수 있다.If the minimum distance between links is the intermediate distance (candidate minimum value) If greater than 740, the
도 7에 설명된 탐색을 반복하면, 최소값 산출부(520)는 최소값(750)이 위치하는 구간을 충분히 정밀하게 파악할 수 있다. 일측에 따르면, 최소값 산출부(520)는 최소값이 위치하는 것으로 판단되는 구간이 충분히 좁아진 것으로 판단되거나, 정해진 횟수 이상 탐색을 반복한 경우에, 최소값 탐색을 중지하고 최소값이 위치하는 시점(751)을 결정할 수 있다.
By repeating the search described with reference to FIG. 7, the
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
만약 최소값이 위치하는 것으로 판단되는 구간이 충분히 좁아졌다고 판단되면, 최소값 산출부(520)는 황금 분할 탐색법을 이용하여 정확한 최소값을 탐색할 수 있다.
If it is determined that the section in which the minimum value is located is sufficiently narrowed, the
도 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
단계(820)에서, 다관절 로봇의 제어 장치는 다관절 로봇이 제1 자세를 취하는 제1 시점으로부터 제2 자세를 취하는 제2 시점까지의 시간 구간을 복수의 서브 구간으로 분할할 수 있다.In
단계(830)에서, 다관절 로봇의 제어 장치는 링크간의 거리의 최소값을 산출한다. 일측에 따르면, 다관절 로봇의 제어 장치는 1)황금 분할 탐색법 2)CA 탐색법 3)하이브리드 탐색법 중에서 어느 하나의 탐색법을 선택하여 최소값을 산출할 수 있다.In
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
단계(920)에서, 다관절 로봇의 제어 장치는 제4 시점에서의 제4 거리와 제3 시점에서의 제3 거리의 비교 결과에 따라서, 최소값이 제1 시점과 제3 시점 사이의 구간 또는 제4 시점과 제2 시점 사이의 구간 중에서 어느 구간에 위치하는지 판단한다.In
단계(930)에서, 다관절 로봇의 제어 장치는 황금 분할 탐색법을 종료할지 여부를 판단한다. 일측에 따르면, 다관절 로봇의 제어 장치는 최소값이 위치하는 것으로 판단된 구간이 소정의 범위 이하이면 최소값이 위치하는 것으로 판단된 구간이 충분히 정확히 탐색된 것으로 판단하고, 황금 분할 탐색법을 종료할 수 있다.In
또는, 다관절 로봇의 제어 장치는 탐색이 미리 정해진 횟수 이상 수행되었는지 여부에 따라서 황금 분할 탐색법을 종료할지 판단할 수 있다.
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
단계(1020)에서, 다관절 로봇의 제어 장치는 다관절 로봇이 제1 자세를 취하는 제1 시점과 제2 자세를 취하는 제2 시점 사이에서, 링크간의 거리가 후보 최소값 와 일치하는 제3 시점이 존재하는지 여부를 판단한다.In
다관절 로봇의 제어 장치는 제1 링크의 이동 속도 중에서, 제1 링크로부터 제2 링크까지의 방향에 해당하는 최대 이동 속도만을 추출할 수 있다. 예를 들어, 다관절 로봇의 제어 장치는 제1 링크의 이동 속도를 제1 링크로부터 제2 링크까지의 방향에 프로젝션(projection)시켜 제1 링크가 제2 링크로 이동하는 최대 속도만을 추출할 수 있다. 다관절 로봇의 제어 장치는 추출된 속도를 이용하여 제1 링크와 제2 링크가 후보 최소값 만큼 이격되는 시간을 산출할 수 있다.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. 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
단계(830)에서, 다관절 로봇의 제어 장치는 각 링크간의 거리의 최소값을 산출한다.In
단계(840)에서, 다관절 로봇의 제어 장치는 산출된 최소값에 기반하여 다관절 로봇의 동작을 최적화할 수 있다. 일측에 따르면, 다관절 로봇의 제어 장치는 산출된 최소값을 미리 결정된 임계값과 비교할 수 있다. 다관절 로봇의 제어 장치는 산출된 최소값이 미리 결정된 임계값 보다 작은 경우에, 해당 서브 구간 및 해당 서브 구간과 이웃한 서브 구간들의 동작을 최적화할 수 있다.
In
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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 시점으로부터 상기 다관절 로봇이 상기 제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 시점과 상기 제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.
상기 제4 시점은
수학식
에 따라 결정되고,
는 상기 제4 시점이고, 는 상기 제3 시점이고, 는 상기 제1 시점인 다관절 로봇의 제어 장치.The method of claim 3,
The fourth time point
Equation
Lt; / RTI >
Is the fourth time point, Is the third time point, Is a control device of the articulated robot which is the first time point.
상기 최소값 산출부는 상기 거리에 대한 후보 최소값을 설정하고, 상기 제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.
상기 최소값 산출부는 상기 복수의 링크에 포함된 제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.
상기 다관절 로봇이 상기 링크들을 구동하여 제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.
상기 다관절 로봇이 상기 제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.
상기 제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.
상기 제4 시점은
수학식
에 따라 결정되고,
는 상기 제4 시점이고, 는 상기 제3 시점이고, 는 상기 제1 시점인 다관절 로봇의 제어 방법.The method of claim 10, wherein in the setting of the fourth viewpoint,
The fourth time point
Equation
Lt; / RTI >
Is the fourth time point, Is the third time point, Is a control method of the articulated robot.
상기 거리에 대한 후보 최소값을 설정하는 단계;
상기 제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.
상기 제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.
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)
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 |
-
2012
- 2012-10-31 KR KR1020120122344A patent/KR101363209B1/en active IP Right Grant
Patent Citations (2)
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 |