KR101633357B1 - 매니퓰레이터 및 그 제어방법 - Google Patents
매니퓰레이터 및 그 제어방법 Download PDFInfo
- Publication number
- KR101633357B1 KR101633357B1 KR1020100003519A KR20100003519A KR101633357B1 KR 101633357 B1 KR101633357 B1 KR 101633357B1 KR 1020100003519 A KR1020100003519 A KR 1020100003519A KR 20100003519 A KR20100003519 A KR 20100003519A KR 101633357 B1 KR101633357 B1 KR 101633357B1
- Authority
- KR
- South Korea
- Prior art keywords
- freedom
- obstacle
- degree
- collision
- work
- 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/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40338—Task priority redundancy
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40362—Elbow high or low, avoid obstacle collision with redundancy control
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
작업에 대한 우선순위 및 충돌회피 기여도를 고려하여 충돌 회피에 사용되는 자유도를 산출하고, 산출된 자유도를 사용하여 장애물과의 충돌을 회피하는 매니퓰레이터 및 그 제어방법을 제공한다. 매니퓰레이터는 장애물에 충돌할 위험이 있는지 확인하고, 충돌할 위험이 있으면 여유자유도만으로 장애물과 충돌을 회피할 수 있는지 확인하고, 여유자유도만으로 장애물과 충돌을 회피할 수 없으면 복수 개의 작업자유도 중 장애물과 충돌을 회피할 수 있는 작업자유도가 존재하는지 확인하고, 장애물과 충돌을 회피할 수 있는 작업자유도가 존재하면 장애물과 충돌을 회피할 수 있는 작업자유도 중 작업 수행 시 우선순위가 가장 낮은 작업자유도를 사용하여 장애물과의 충돌을 회피한다. 그리고, 매니퓰레이터는 장애물과 충돌을 회피할 수 있는 작업자유도 중 작업 수행 시 우선순위가 가장 낮은 작업자유도가 복수 개 존재하면 복수 개의 작업자유도 중 충돌회피기여도가 가장 큰 작업자유도를 사용하여 장애물과의 충돌을 회피한다.
Description
장애물과의 충돌을 회피 할 수 있는 매니퓰레이터 및 그 제어방법에 관한 것이다.
로봇이 진화함에 따라 지능형 서비스 로봇 분야 뿐만 아니라 산업용 로봇 분야에서도 로봇과 로봇 또는 로봇과 사람의 공동 작업의 필요성이 부각되고 있다. 산업용 로봇으로 인간의 손과 팔의 형태로 이루어져 손과 팔의 동작을 제공하는 다관절 매니퓰레이터(manipulator)가 있다. 다관절 매니퓰레이터는 여러 개의 링크들이 서로 연결되어 구성된다. 각 링크들의 부위를 관절이라 하는데 매니퓰레이터는 이러한 링크와 관절들 사이의 기하학적인 관계에 따라 운동 특성이 결정된다.
가장 기본적인 형태의 매니퓰레이터는 끝에 장착된 공구의 공간 위치와 방위를 완전히 제어하기 위한 연동 구성에 6개의 자유도가 부여된다. 다른 형태의 매니퓰레이터는 인간의 팔과 같이 작업 자유도인 6개의 자유도 외에 팔꿈치에 1개의 자유도가 추가적으로 부여된다. 작업 자유도가 6개인 매니퓰레이터는 작업 자유도 외의 여유 자유도가 없어 내부 모션(internal motion) 즉, 팔꿈치 움직임으로 장애물과의 충돌을 회피할 수 없다. 작업 자유도 6개 외에 여유 자유도를 1개 더 가지고 있는 매니퓰레이터는 여유자유도인 팔꿈치 움직임으로 장애물과의 충돌을 회피할 수 있다. 7축 매니퓰레이터는 여유 자유도를 활용하여 작업의 연속성을 훼손하지 않고 장애물과의 충돌을 회피하거나, 여유 자유도만으로 장애물과의 충돌을 회피할 수 없는 경우 작업을 중지하고 작업 자유도와 여유 자유도를 모두 사용하여 장애물과의 충돌을 회피할 수 있다.
작업에 대한 우선순위 및 충돌회피에 대한 효용성을 고려하여 장애물과 의 충돌을 방지하기 위해 사용되는 자유도를 산출하는 매니퓰레이터 및 그 제어방법을 제공한다.
이를 위해, 본 발명의 일측면에 의한 매니퓰레이터의 제어방법은 작업에 사용되는 복수 개의 작업자유도를 가지는 매니퓰레이터의 제어방법에 있어서, 상기 매니퓰레이터가 장애물에 충돌할 위험이 있는지 확인하고, 상기 장애물과 충돌할 위험이 있으면 상기 복수 개의 작업자유도 중 상기 장애물과 충돌을 회피할 수 있는 작업자유도가 존재하는지 확인하고, 상기 장애물과 충돌을 회피할 수 있는 작업자유도가 존재하면 상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도부터 우선적으로 사용하여 상기 장애물과의 충돌을 회피할 수 있다.
상기 매니퓰레이터는 상기 작업자유도 외에 추가적으로 구비되는 적어도 하나 이상의 여유자유도를 포함할 수 있으며, 상기 장애물과 충돌할 위험이 있으면 상기 여유자유도만으로 상기 장애물과 충돌을 회피할 수 있는지 확인하고, 상기 여유자유도만으로 상기 장애물과의 충돌을 회피할 수 있으면 상기 여유자유도만으로 상기 장애물과의 충돌을 회피할 수 있다.
상기 여유자유도만으로 상기 장애물과 충돌을 회피할 수 없으면 상기 복수 개의 작업자유도 중 상기 장애물과 충돌을 회피할 수 있는 작업자유도가 존재하는지 확인하여 상기 장애물과의 충돌을 회피할 수 있다.
상기 여유자유도만으로 상기 장애물과의 충돌을 회피할 수 없고, 상기 작업자유도 중 상기 장애물과 충돌을 회피할 수 있는 작업자유도가 존재하지 않으면 상기 작업을 중단하고 상기 작업자유도와 상기 여유자유도를 모두 사용하여 상기 장애물을 회피할 수 있다.
상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도를 사용하여 상기 장애물과의 충돌을 회피하는 것은, 상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도가 1개 존재하면 그 작업자유도를 사용하여 장애물과의 충돌을 회피할 수 있다.
상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도를 사용하여 상기 장애물과의 충돌을 회피하는 것은, 상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도가 복수 개 존재하면 상기 복수 개의 작업자유도 중 충돌회피기여도가 가장 큰 작업자유도를 우선으로 사용하여 상기 장애물과의 충돌을 회피할 수 있다.
상기 충돌회피기여도는 상기 매니퓰레이터와 상기 장애물과의 최단거리를 구하고, 상기 매니퓰레이터와 상기 장애물과의 최단거리를 증가시키는 정도를 확인하여 구할 수 있다.
상기 매니퓰레이터가 상기 장애물에 충돌할 위험이 있는지 확인하는 것은, 상기 매니퓰에티어에 구비되는 관절의 절대 좌표 위치와, 상기 장애물의 3차원 위치 좌표를 확인하고, 상기 매니퓰레이터와 상기 장애물이 일정 거리 이내에 존재하는지 확인할 수 있다.
그리고, 본 발명의 일실시예에 의한 매니퓰레이터는 작업에 사용되는 복수 개의 작업자유도와, 상기 작업자유도 외에 추가적으로 구비되는 적어도 하나 이상의 여유자유도를 가지는 매니퓰레이터에 있어서, 매니퓰레이터의 관절의 각도를 산출하고, 상기 관절의 각도로부터 상기 관절의 절대 좌표를 계산하는 현재위치계산부;와 상기 매니퓰레이터 주변의 장애물의 3차원 위치 좌표를 산출하는 센서부;와 상기 상기 관절의 절대 좌표와 상기 장애물의 3차원 위치 좌표에 따라 상기 장애물이 상기 매니퓰레이터에 충돌할 위험이 있는지 산출하는 충돌위험산출부;와 상기 장애물이 상기 매니퓰레이터에 충돌할 위험이 있으면 상기 여유자유도를 사용하여 상기 장애물과 충돌을 회피할 수 있는지 확인하고, 상기 여유자유도를 사용하여 상기 장애물과 충돌을 회피할 수 없으면 상기 작업자유도를 사용하여 상기 장애물과 충돌을 회피할 수 있는지 확인하고, 상기 장애물과 충돌을 회피할 수 있는 작업자유도가 존재하면 상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도를 산출하는 충돌회피 자유도 산출부; 및 상기 산출된 작업자유도를 사용하여 상기 장애물과 충돌을 회피하도록 관절을 제어하는 관절제어부;를 포함할 수 있다.
상기 충돌회피 자유도 산출부는 상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도가 1개 존재하면 그 작업자유도를 충돌 회피에 사용되는 작업자유도로 산출할 수 있다.
상기 충돌회피 자유도 산출부는 상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도가 복수 개 존재하면 상기 복수 개의 작업자유도 중 충돌회피기여도가 가장 큰 작업자유도를 사용하여 상기 장애물과의 충돌을 회피할 수 있다.
상기 충돌회피 자유도 산출부는 상기 매니퓰레이터와 상기 장애물과의 최단거리를 구하고, 상기 매니퓰레이터와 상기 장애물과의 최단거리를 증가시키는 정도를 확인하여 상기 충돌회피기여도를 계산하여 상기 복수 개의 작업자유도 중 충돌회피기여도가 가장 큰 작업자유도를 산출할 수 있다.
상기 충돌회피 자유도 산출부는 상기 여유자유도만으로 상기 장애물과의 충돌을 회피할 수 없고, 상기 작업자유도 중 상기 장애물과 충돌을 회피할 수 있는 작업자유도가 존재하지 않으면 상기 작업자유도와 상기 여유자유도를 모두 상기 장애물과의 충돌 회피를 위한 자유도로 산출할 수 있다.
상술한 것처럼, 우선순위 및 충돌회피 기여도를 고려하여 장애물과의 충돌을 회피하는데 사용되는 자유도를 산출하면, 작업의 지속성 및 일관성을 유지하면서 장애물을 회피할 수 있다.
도 1은 본 발명의 일실시예에 의한 7축 자유도를 가지는 매니퓰레이터를 설명하기 위한 도면
도 2는 도 1의 매니퓰레이터의 여유자유도인 팔꿈치 관절의 동작을 설명하기 위한 도면
도 3은 도 1의 매니퓰레이터의 제어블록도.
도 4는 도 1의 매니퓰레이터의 여유자유도를 사용하여 장애물을 회피하는 동작을 설명하기 위한 도면
도 5a 및 5b는 도 1의 매니퓰레이터에서 물컵을 운반하는 작업 진행 시 충돌 회피를 위한 작업 자유도의 우선순위를 설명하기 위한 도면
도 6a 및 6b는 작업자유도 중 일부의 자유도만으로 장애물을 회피하는 방법을 설명하기 위한 도면
도 2는 도 1의 매니퓰레이터의 여유자유도인 팔꿈치 관절의 동작을 설명하기 위한 도면
도 3은 도 1의 매니퓰레이터의 제어블록도.
도 4는 도 1의 매니퓰레이터의 여유자유도를 사용하여 장애물을 회피하는 동작을 설명하기 위한 도면
도 5a 및 5b는 도 1의 매니퓰레이터에서 물컵을 운반하는 작업 진행 시 충돌 회피를 위한 작업 자유도의 우선순위를 설명하기 위한 도면
도 6a 및 6b는 작업자유도 중 일부의 자유도만으로 장애물을 회피하는 방법을 설명하기 위한 도면
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.
도 1은 본 발명의 일실시예에 의한 7축 자유도를 가지는 매니퓰레이터를 설명하기 위한 도면이다.
매니퓰레이터(1)는 인간의 손과 팔의 형태로 이루어져 7개의 자유도를 가진다. 매니퓰레이터(1)는 7개의 관절(11 내지 17)과 작업 핸드(18)를 포함하여 구성된다. 참조번호 11, 12, 15 및 17은 회전축이고, 참조번호 13,14 및 16은 굴곡축이다. 본 실시예에서는 참조번호 14가 팔꿈치 관절이다.
도 2는 도 1의 매니퓰레이터의 여유자유도인 팔꿈치 관절의 동작을 설명하기 위한 도면이다.
도 1의 참조번호 13에 표시된 어깨 점 Os와, 참조번호 16에 표시된 손목 점 Ow를 연결하는 선 100을 중심으로 팔꿈치 관절(14)을 회전시켜도, 매니퓰레이터(1)의 작업 핸드(18)의 위치와 자세는 변하지 않는다. 즉, 작업 핸드(18)의 위치와 자세를 고정한 채로 팔꿈치 관절(14)의 위치를 변경할 수 있다. 팔꿈치 관절(14)의 관절각(φ)은 손목 점(Ow)과 어깨 점(Os)를 연결하는 선 100을 통과하며 x-y평면에 수직인 평면 PLO와, 손목 점(Ow)과 어깨 점(Os)과 어깨 점(Oe)을 통과하는 평면 PL1이 이루는 각도로 정의할 수 있다.
도 3은 도 1의 매니퓰레이터의 제어블록도이고, 도 4는 도 1의 매니퓰레이터의 여유자유도를 사용하여 장애물을 회피하는 동작을 설명하기 위한 도면이다.
도 5a 및 5b는 도 1의 매니퓰레이터의 물컵을 운반하는 작업 진행 시 충돌 회피를 위한 작업 자유도의 우선순위를 설명하기 위한 도면이고, 도 6a 및 6b는 작업자유도 중 일부의 자유도만으로 장애물을 회피하는 방법을 설명하기 위한 도면이다.
도 3에 도시한 바와 같이, 매니퓰레이터(1)는 현재위치계산부(200), 센서부(210), 충돌위험산출부(220), 충돌회피 자유도 산출부(230), 관절제어부(240) 및 관절구동부(250)를 포함하여 구성될 수 있다.
현재위치계산부(200)는 매니퓰레이터(1)의 각 관절 및 작업 핸드(18)의 현재 위치를 계산한다. 현재위치계산부(200)는 타고메타와 같은 속도센서 등을 이용하여 매니퓰레이터(1)의 관절각을 산출하고, 산출된 관절각으로부터 각 관절의 절대 좌표 위치를 계산한다.
센서부(210)는 매니퓰레이터(1)의 주변의 장애물을 감지한다. 센서부(210)는 영상 데이터를 획득하는 카메라와, 영상 데이터를 기초로 장애물의 3차원 위치 정보를 획득하는 센서부 제어장치를 포함하여 구성될 수 있다.
충돌위험산출부(220)는 현재위치계산부(200)로부터 전송되는 매니퓰레이터(1)의 각 관절 및 작업 핸드(18)의 절대 좌표 위치와, 센서부(210)로부터 전송되는 장애물의 3차원 위치 정보를 조합하여 매니퓰레이터(1)와 장애물이 충돌 위험이 있는지 산출한다. 충돌위험산출부(220)는 매니퓰레이터(1)의 동작 방향으로 일정 거리 안에 장애물이 있는 것으로 확인되거나, 매니퓰레이터(1)가 있는 방향으로 장애물이 접근하고, 매니퓰레이터(1)와 장애물이 일정 거리 안에 있는 것으로 확인되면 충돌 위험이 있는 것으로 판단한다.
충돌회피 자유도산출부(230)는 장애물을 회피할 수 있는 자유도를 산출한다. 충돌회피 자유도산출부(230)는 매니퓰레이터(1)와 장애물이 충돌 위험이 있는 것으로 판단되면, 작업자유도가 아닌 여유자유도만을 사용하여 장애물과의 충돌을 회피할 수 있는지 판단한다. 작업자유도는 작업에 사용되도록 설계된 자유도이고, 여유자유도는 작업자유도가 아닌 자유도를 의미한다. 예를 들어, 7자유도를 가지는 매니퓰레이터(1)의 작업 핸드(18)가 물컵을 들고 있고, 장애물이 매니퓰레이터(1)에 접근하고 있다고 가정해보면, 센서부(210)에서 획득한 장애물의 3차원 위치 정보와, 현재위치계산부(200)에서 계산되는 각 관절의 절대 좌표 위치 정보를 이용하여 여유자유도를 사용하여 장애물을 회피할 수 있는지 판단한다. 즉, 도 2의 어깨 점 Os와 손목 점 Ow를 연결하는 선 100을 중심으로 여유자유도인 팔꿈치 관절(14)을 회전시켜 장애물을 회피할 수 있는지 판단한다. 충돌회피 자유도산출부(230)는 현재위치계산부(200)로부터 전송되는 매니퓰레이터(1)의 관절각에 대한 정보에 따라 여유자유도인 팔꿈치 관절(14)의 회전각 및 회전반경을 이용하여 장애물과의 충돌을 회피할 수 있는지 판단하게 된다. 도 4를 참조하면, 매니퓰레이터(1)는 여유자유도인 팔꿈치 관절(14)만을 동작시켜 장애물을 회피할 수 있음을 알 수 있다.
충돌회피 자유도산출부(230)는 작업자유도의 동작없이 여유자유도만으로 장애물과의 충돌을 회피할 수 없다고 판단되면 작업자유도를 사용하여 장애물과의 충돌을 회피할 수 있는지 판단한다. 매니퓰레이터(1)의 작업 진행 시, 모든 작업자유도의 사용을 요구하는 것은 아니며, 작업자유도간에 우선순위가 있을 수 있다. 도 5a 및 5b를 참조하면, 매니퓰레이터(1)가 물컵을 운반하는 작업 진행 시 물컵에 있는 물을 흘리지 않으려면, 작업 핸드(18)는 x축 회전 및 y축 회전을 수행하지 말아야 한다. 이에 따라, x축 회전 및 y축 회전에 관한 자유도는 가장 우선순위가 높은 자유도이고, x, y, z방향으로의 이동 및 z축 회전에 관한 자유도는 상대적으로 우선순위가 낮은 자유도가 될 수 있다. 충돌회피 자유도산출부(230)는 우선순위가 낮은 자유도를 장애물과의 충돌을 회피할 수 있는 자유도로 산출할 수 있다. 여기서, 우선순위는 매니퓰레이터(1)의 작업 설계 시 설계자에 의해 정해진다.
한편, 충돌회피 자유도산출부(230)는 작업자유도 중 일부의 자유도를 사용하여 장애물과의 충돌을 회피하는 경우, 작업자유도 중 우선순위가 가장 낮은 자유도를 산출한다.
충돌회피 자유도산출부(230)는 작업자유도 중 우선순위가 가장 낮은 자유도가 유일한 경우 그 자유도를 충돌회피 자유도로 산출한다.
충돌회피 자유도산출부(230)는 작업자유도 중 우선순위가 가장 낮은 자유도가 유일하지 않은 경우, 우선순위가 가장 낮은 복수 개의 자유도 중 충돌 회피 기여도가 가장 큰 자유도를 산출함으로써, 장애물과의 충돌을 회피할 수 있도록 한다. 이하, 충돌 회피 기여도를 계산하는 방법에 대해 설명한다.
충돌회피 자유도산출부(230)는 수학식 1과 같이 매니퓰레이터(1)로부터 장애물까지의 최소거리(d)의 제곱인 목적함수(h(q))를 구한다.
수학식 1
수학식 1의 d(q)는 매니퓰레이터(1)의 각 관절의 관절각으로 표현되는 거리함수이고, h(q)는 매니퓰레이터(1)로부터 장애물까지의 최소거리를 나타내는 목적함수이며, q는 매니퓰레이터(1)가 구비하는 각 관절의 각도를 나타내는 벡터로서 6자유도 매니퓰레이터(1)의 경우 수학식 2와 같은 성분을 가진다.
수학식 2
q = [q1 q2 q3 q4 q5 q6]
충돌회피 자유도산출부(230)는 수학식 1의 목적함수 h(q)의 그라디언트(Gradient)를 구한다. h(q)의 그라디언트(Gradient)는 수학식 3과 같으며, 조인트 스페이스(joint space)상에서 매니퓰레이터(1)와 장애물의 최단거리가 증가하는 방향을 의미한다. 즉, h(q)의 그라디언트(Gradient)는 충돌 회피를 위한 가장 효과적인 방향이라 할 수 있다.
수학식 3
충돌회피 자유도산출부(230)는 의 방향의 단위 벡터(unit vector) r을 구한다. 단위 벡터(unit vector) r은 수학식 4와 같다. 한편, r벡터는 조인트 스페이스 상에서 정의되는 벡터이다.
수학식 4
충돌회피 자유도산출부(230)는 각 작업자유도(예를 들면, x방향으로 이동하기 위한 자유도)에 상응하는 조인트 스페이스 상에서의 단위 벡터(unit vector)를 구한다. 예를 들어, x방향으로 이동하는 작업자유도에 상응하는 조인트 스페이스 상에서의 단위 벡터를 구해보기로 한다.
자코비안에서 x방향에 상응하는 행벡터를 삭제하고, 나머지 자코비안에 대해 특이값 분해(Singular Value Decomposition)를 수행하면 V 행렬의 마지막 열 벡터가 x방향에 상응하는 조인트 스페이스 상에서 단위 벡터가 된다. 자코비안의 특이값 분해(Singular Value Decomposition)는 수학식 5를 이용하여 수행할 수 있다.
수학식 5
한편, 공지된 미분형 키네매틱스(Differential Kinematics)는 수학식 6과 같다.
수학식 6
수학식 6을 이용하여 방향에 상응하는 행벡터를 삭제한 자코비안에 특이값 분해(SVD)를 수행하면 V행렬의 마지막 열벡터인 v6가 x방향에 상응하는 조인트 스페이스 상에서의 단위 벡터가 된다. 또한, y방향(), z방향(), x방향 각속도(), y방향 각속도(), z방향 각속도()에 해당하는 행벡터를 삭제한 자코비안에 특이값 분해(SVD)를 수행하는 경우에도 V행렬의 마지막 열벡터인 v6가 각 방향에 상응하는 조인트 스페이스 상에서의 단위 벡터가 된다.
상술한 방식으로 방향에 상응하는 행벡터를 삭제한 자코비안에 특이값 분해(SVD)를 수행하여 산출된 V행렬의 마지막 열벡터를 라 하면, x방향의 이동(translation)에 관한 작업자유도의 충돌 회피 기여도()는 수학식 7과 같다.
수학식 7
충돌회피 자유도산출부(230)는 상술한 방식으로 동일한 우선순위를 갖는 작업 자유도의 충돌 회피 기여도를 산출하고, 충돌 회피 기여도가 큰 작업 자유도를 산출하여 장애물과 충돌을 회피하도록 하며, 작업우선순위가 같은 복수개의 작업자유도가 같은 값의 충돌회피에 대한 기여도를 갖는 경우 그 중 어느 작업자유도를 충돌회피에 사용하여도 무방하다. 한편, 충돌 회피 기여도는 그 값이 클수록 충돌회피에 대한 기여도가 큰 것이다.
충돌회피 자유도산출부(230)는 작업자유도 중에서 x방향 이동에 관한 성분이 충돌 회피 기여도가 가장 큰 것으로 확인되면, x방향 성분을 제거한 행렬에 자코비안의 수도-인버스(Psuedo-Inverse) 를 사용하여 작업 핸드(18)의 궤적을 만족시키는 무수한 해 중에서 의 norm()을 최소화하는 해(minimum norm solution)를 구한다.
수학식 8
충돌회피 자유도산출부(230)는 수학식 8에 의해 구해진 norm()을 최소화하는 해(minimum norm solution)에 작업에 어떠한 영향도 주지 않는 관절 모션(Joint Motion)을 더해도 역 키네메틱스(Inverse-Kinematics)의 해가 되므로 다음과 같은 수학식 9에 의해 관절 각속도 를 산출하고, 산출된 관절 각속도에 따라 매니퓰레이터(1)를 동작시켜 장애물을 회피할 수 있다.
수학식 9
여기서, 는 관절 각속도이고, 는 Minimum Norm Soltion이고, 는 널 스페이스 프로젝션 매트릭스(Nullspace Projection Matrix)이고, h(q)는 매니퓰레이터(1)로부터 장애물까지의 최소거리를 나타내는 목적함수이고, 는 조인트 스페이스(joint space)상에서 매니퓰레이터(1)와 장애물의 최단거리가 증가하는 방향을 나타내는 h(q)의 그라디언트(Gradient)를 나타낸다.
수학식 9의 의미를 살펴보면, 는 작업 자유도 중 우선 순위가 가장 낮은 자유도(예를 들면, z방향 이동)의 사용을 제외한 동작으로 원래의 작업을 유지하기 위한 동작을 나타내며, 는 우선순위가 가장 낮은 자유도를 사용하여 장애물과의 충돌을 회피하기 위한 동작을 나타낸다.
관절제어부(240)는 충돌회피 자유도산출부(230)가 산출한 수학식 9에 의해 구해진 궤적을 만족시키는 무수한 해 중에서 의 norm()을 최소화하는 해(minimum norm solution)에 의한 관절 모션()과, 작업 핸드(18)의 작업에 어떠한 영향도 주지 않는 관절 모션()에 따라 장애물 회피 동작을 수행하도록 관절구동부(250)를 제어한다. 도 6a 및 도 6b를 참조하면, 관절제어부(240)는 장애물과 매니퓰레이터(1)의 최단거리 d가 증가하는 방향(d<d')으로 작업 핸드(18)를 이동시키는 것을 알 수 있으며, 충돌 회피 기여도는 장애물과 매니퓰레이터(1)의 최단거리 d가 증가하는 방향으로의 이동에 기여하는 정도를 의미한다는 것을 알 수 있다.
한편, 관절제어부(240)는 작업에 대한 우선순위에 따라 관절을 구동하여 장애물을 회피 하는 동작을 수행하는 경우 우선순위가 가장 낮은 자유도부터 우선적으로 사용하여 장애물과의 충돌을 회피할 수 있다. 즉, 관절제어부(240)는 우선순위가 가장 낮은 자유도부터 높은 자유도까지 순차적으로 사용하여 충돌 회피 동작을 수행할 수 있다.
한편, 충돌회피 자유도산출부(230)는 작업자유도 중 일부의 자유도를 사용하여 장애물을 회피할 수 없다고 판단되면 전체 자유도를 충돌 회피 자유도로 정한다. 이 때, 관절제어부(240)는 작업을 중지하고 전체 자유도를 사용하여 장애물을 회피한 후, 작업을 다시 시작한다.
도 7은 본 발명의 일실시예에 의한 매니퓰레이터의 장애물 회피를 위한 제어흐름도이다.
도 7에 도시한 바와 같이, 충돌위험산출부(220)는 매니퓰레이터(1)의 작업 진행 시 장애물과 충돌 위험이 있는지 산출한다. 매니퓰레이터(1)의 작업은 컵 운반 작업, 용접 작업 등과 같이 미리 설계된 작업을 의미한다. 충돌위험산출부(220)는 매니퓰레이터(1)에 장애물이 일정 거리 이하로 접근하거나, 매니퓰레이터(1)의 진행 방향으로 장애물이 일정 거리 안에 있는 경우에 충돌 위험이 있는 것으로 판단한다. 매니퓰레이터(1)와 장애물의 접근 여부는 현재위치계산부(200)에 의해 계산되는 각 관절의 절대 좌표 위치와 센서부(210)에 의해 전송되는 장애물의 3차원 위치 정보를 이용하여 판단할 수 있다.(300,301)
다음으로, 충돌회피 자유도 산출부(230)는 매니퓰레이터(1)와 장애물이 충돌 위험이 있는 것으로 확인되면, 여유자유도를 사용하여 장애물과 충돌을 회피할 수 있는지 산출한다. 충돌회피 자유도 산출부(230)는 팔꿈치 관절(14)의 회전각 및 회전반경에 따라 작업의 중단없이 여유자유도인 팔꿈치 관절(14)의 동작만으로 장애물과 충돌을 회피할 수 있는지 판단한다.(302)
다음으로, 충돌회피 자유도 산출부(230)는 여유자유도를 사용하여 장애물과의 충돌을 회피할 수 있는 것으로 판단되면 그 정보를 관절제어부(240)에 전송하고, 관절제어부(240)는 관절구동부(250)를 구동시켜 여유자유도를 이용한 장애물 회피 동작을 수행한다.(303)
한편, 충돌회피 자유도 산출부(230)는 여유자유도를 사용하여 장애물과의 충돌을 회피할 수 없다고 판단하는 경우 작업자유도 중 일부 자유도를 사용하여 장애물과의 충돌을 회피할 수 있는지 확인한다.(304)
다음으로, 충돌회피 자유도 산출부(230)는 작업 자유도를 사용하여 장애물과의 충돌을 회피할 수 있는 것으로 판단되면 작업자유도 중 우선순위가 가장 낮은 자유도가 유일하게(1개) 존재하는지 판단한다. 우선순위는 매니퓰레이터(1)의 작업 설계 시 설계자에 의해 정해진다. 예를 들면, 매니퓰레이터(1)의 작업이 물컵 운반 작업이면 도 5a 및 도 5b에 도시한 것처럼, x축을 기준으로 하는 회전과 y축을 기준으로 하는 회전과 관련된 자유도는 우선순위가 가장 높게 정해질 수 있다.(305)
다음으로, 충돌회피 자유도 산출부(230)는 작업자유도 중 우선순위가 가장 낮은 작업자유도가 유일하게(1개) 존재하면, 그 작업자유도를 장애물과의 충돌을 회피하기 위해 사용되는 자유도로 산출한다. 관절제어부(240)은 우선순위가 가장 낮은 작업자유도를 사용하여 장애물과의 충돌을 회피할 수 있도록 관절구동부(250)를 제어한다.(306)
다음으로, 충돌회피 자유도 산출부(230)는 작업자유도 중 우선순위가 가장 낮은 작업자유도가 복수 개 존재하는 것으로 판단되면, 동일한 우선순위를 가지는 작업자유도의 충돌 회피 기여도를 산출하고, 충돌 회피 기여도가 가장 큰 자유도를 산출한다. 관절제어부(240)는 충돌 회피 기여도가 가장 큰 작업자유도를 사용하여 장애물을 회피하도록 관절구동부(250)를 제어한다.(308)
한편, 관절제어부(240)는 304단계에서 작업 자유도 중 일부 자유도를 사용하여 장애물과의 충돌을 회피할 수 없다고 판단되면 작업을 중지하고, 여유자유도 및 작업자유도를 모두 사용하여 충돌을 회피한 후 작업을 재개한다.(307)
한편, 상술한 실시예에서는 여유자유도와 작업자유도를 가지는 매니퓰레이터(1)를 그 예로 들어 설명하였지만, 작업자유도만을 가지는 매니퓰레이터(1)가 본 발명의 실시예에 포함됨은 물론이다. 이 때는 여유자유도를 사용하여 장애물을 회피하는 동작을 제외하고, 작업자유도만을 이용한 제어방법을 사용하여 장애물을 회피하는 동작을 수행할 수 있다.
Claims (13)
- 작업에 사용되는 복수 개의 작업자유도를 가지는 매니퓰레이터의 제어방법에 있어서,
상기 매니퓰레이터가 장애물에 충돌할 위험이 있는지 확인하고,
상기 장애물과 충돌할 위험이 있으면 상기 복수 개의 작업자유도 중 상기 장애물과 충돌을 회피할 수 있는 작업자유도가 존재하는지 확인하고,
상기 장애물과 충돌을 회피할 수 있는 작업자유도가 존재하면 상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도부터 우선적으로 사용하여 상기 장애물과의 충돌을 회피하는 매니퓰레이터의 제어방법. - 제 1 항에 있어서,
상기 매니퓰레이터는 상기 작업자유도 외에 추가적으로 구비되는 적어도 하나 이상의 여유자유도를 포함할 수 있으며,
상기 장애물과 충돌할 위험이 있으면 상기 여유자유도만으로 상기 장애물과 충돌을 회피할 수 있는지 확인하고,
상기 여유자유도만으로 상기 장애물과의 충돌을 회피할 수 있으면 상기 여유자유도만으로 상기 장애물과의 충돌을 회피하는 매니퓰레이터의 제어방법. - 제 2 항에 있어서,
상기 여유자유도만으로 상기 장애물과 충돌을 회피할 수 없으면 상기 복수 개의 작업자유도 중 상기 장애물과 충돌을 회피할 수 있는 작업자유도가 존재하는지 확인하여 상기 장애물과의 충돌을 회피하는 매니퓰레이터의 제어방법. - 제 3 항에 있어서,
상기 여유자유도만으로 상기 장애물과의 충돌을 회피할 수 없고, 상기 작업자유도 중 상기 장애물과 충돌을 회피할 수 있는 작업자유도가 존재하지 않으면 상기 작업을 중단하고 상기 작업자유도와 상기 여유자유도를 모두 사용하여 상기 장애물을 회피하는 것인 매니퓰레이터의 제어방법. - 제 1 항에 있어서,
상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도를 사용하여 상기 장애물과의 충돌을 회피하는 것은,
상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도가 1개 존재하면 그 작업자유도를 사용하여 장애물과의 충돌을 회피하는 것인 매니퓰레이터의 제어방법. - 제 1 항에 있어서,
상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도를 사용하여 상기 장애물과의 충돌을 회피하는 것은,
상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도가 복수 개 존재하면 상기 복수 개의 작업자유도 중 충돌회피기여도가 가장 큰 작업자유도를 우선으로 사용하여 상기 장애물과의 충돌을 회피하는 매니퓰레이터의 제어방법. - 제 6 항에 있어서,
상기 충돌회피기여도는 상기 매니퓰레이터와 상기 장애물과의 최단거리를 구하고, 상기 매니퓰레이터와 상기 장애물과의 최단거리를 증가시키는 정도를 확인하여 구하는 것인 매니퓰레이터의 제어방법. - 제 1 항에 있어서,
상기 매니퓰레이터가 상기 장애물에 충돌할 위험이 있는지 확인하는 것은,
상기 매니퓰레이터에 구비되는 관절의 절대 좌표 위치와, 상기 장애물의 3차원 위치 좌표를 확인하고, 상기 매니퓰레이터와 상기 장애물이 일정 거리 이내에 존재하는지 확인하는 것인 매니퓰레이터의 제어방법. - 작업에 사용되는 복수 개의 작업자유도와, 상기 작업자유도 외에 추가적으로 구비되는 적어도 하나 이상의 여유자유도를 가지는 매니퓰레이터에 있어서,
매니퓰레이터의 관절의 각도를 산출하고, 상기 관절의 각도로부터 상기 관절의 절대 좌표를 계산하는 현재위치계산부;
상기 매니퓰레이터 주변의 장애물의 3차원 위치 좌표를 산출하는 센서부;
상기 상기 관절의 절대 좌표와 상기 장애물의 3차원 위치 좌표에 따라 상기 장애물이 상기 매니퓰레이터에 충돌할 위험이 있는지 산출하는 충돌위험산출부;
상기 장애물이 상기 매니퓰레이터에 충돌할 위험이 있으면 상기 여유자유도를 사용하여 상기 장애물과 충돌을 회피할 수 있는지 확인하고, 상기 여유자유도를 사용하여 상기 장애물과 충돌을 회피할 수 없으면 상기 작업자유도를 사용하여 상기 장애물과 충돌을 회피할 수 있는지 확인하고, 상기 장애물과 충돌을 회피할 수 있는 작업자유도가 존재하면 상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도를 산출하는 충돌회피 자유도 산출부; 및
상기 산출된 작업자유도를 사용하여 상기 장애물과 충돌을 회피하도록 관절을 제어하는 관절제어부;를 포함하는 매니퓰레이터. - 제 9 항에 있어서,
상기 충돌회피 자유도 산출부는 상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도가 1개 존재하면 그 작업자유도를 충돌 회피에 사용되는 작업자유도로 산출하는 매니퓰레이터. - 제 9 항에 있어서,
상기 충돌회피 자유도 산출부는 상기 장애물과 충돌을 회피할 수 있는 작업자유도 중 상기 작업 수행 시 우선순위가 가장 낮은 작업자유도가 복수 개 존재하면 상기 복수 개의 작업자유도 중 충돌회피기여도가 가장 큰 작업자유도를 사용하여 상기 장애물과의 충돌을 회피하는 매니퓰레이터. - 제 11 항에 있어서,
상기 충돌회피 자유도 산출부는 상기 매니퓰레이터와 상기 장애물과의 최단거리를 구하고, 상기 매니퓰레이터와 상기 장애물과의 최단거리를 증가시키는 정도를 확인하여 상기 충돌회피기여도를 계산하여 상기 복수 개의 작업자유도 중 충돌회피기여도가 가장 큰 작업자유도를 산출하는 매니퓰레이터. - 제 9 항에 있어서,
상기 충돌회피 자유도 산출부는 상기 여유자유도만으로 상기 장애물과의 충돌을 회피할 수 없고, 상기 작업자유도 중 상기 장애물과 충돌을 회피할 수 있는 작업자유도가 존재하지 않으면 상기 작업자유도와 상기 여유자유도를 모두 상기 장애물과의 충돌 회피를 위한 자유도로 산출하는 매니퓰레이터.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100003519A KR101633357B1 (ko) | 2010-01-14 | 2010-01-14 | 매니퓰레이터 및 그 제어방법 |
US13/004,515 US8606402B2 (en) | 2010-01-14 | 2011-01-11 | Manipulator and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100003519A KR101633357B1 (ko) | 2010-01-14 | 2010-01-14 | 매니퓰레이터 및 그 제어방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110083341A KR20110083341A (ko) | 2011-07-20 |
KR101633357B1 true KR101633357B1 (ko) | 2016-06-28 |
Family
ID=44259140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100003519A KR101633357B1 (ko) | 2010-01-14 | 2010-01-14 | 매니퓰레이터 및 그 제어방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8606402B2 (ko) |
KR (1) | KR101633357B1 (ko) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9643316B2 (en) * | 2009-10-27 | 2017-05-09 | Battelle Memorial Institute | Semi-autonomous multi-use robot system and method of operation |
CN107397591B (zh) * | 2012-06-01 | 2020-04-03 | 直观外科手术操作公司 | 用于使用零空间避免操纵器臂之间碰撞的系统和方法 |
US9327401B2 (en) * | 2012-09-10 | 2016-05-03 | Fanuc America Corporation | Method of controlling a redundant robot |
JP6229324B2 (ja) * | 2013-06-14 | 2017-11-15 | セイコーエプソン株式会社 | ロボット、ロボット制御装置およびロボットの制御方法 |
DE102014216514B3 (de) * | 2014-08-20 | 2015-09-10 | Kuka Roboter Gmbh | Verfahren zum Programmieren eines Industrieroboters und zugehöriger Industrieroboter |
DE102014222809B3 (de) * | 2014-11-07 | 2016-01-14 | Kuka Roboter Gmbh | Event-basierte Redundanzwinkelkonfiguartion für Gelenkarmroboter |
JP6515828B2 (ja) * | 2016-01-26 | 2019-05-22 | トヨタ自動車株式会社 | 干渉回避方法 |
CN109070366B (zh) * | 2016-05-16 | 2021-09-28 | 三菱电机株式会社 | 机器人动作评价装置、机器人动作评价方法及机器人系统 |
CN107067921B (zh) * | 2016-09-28 | 2018-05-11 | 哈尔滨理工大学 | 一种可扩展至七自由度的力反馈器械 |
WO2018213965A1 (zh) * | 2017-05-21 | 2018-11-29 | 李仁涛 | 无人驾驶汽车避障装置及方法 |
WO2018213964A1 (zh) * | 2017-05-21 | 2018-11-29 | 李仁涛 | 移动机器人避障装置及方法 |
CN108789406A (zh) * | 2018-06-05 | 2018-11-13 | 上海大学 | 一种用于冗余机械臂可达性分析的逆解求解方法 |
US11103994B2 (en) * | 2018-07-02 | 2021-08-31 | Teradyne, Inc. | System and method for natural tasking of one or more robots |
WO2020161910A1 (ja) * | 2019-02-08 | 2020-08-13 | 日本電気株式会社 | 制御装置、制御方法、記録媒体 |
DE102019207161A1 (de) * | 2019-05-16 | 2020-11-19 | Robert Bosch Gmbh | Verfahren zur Ermittlung des Platzbedarfs einer Baumaschine, eines Arbeitsarms und eines Werkzeugs |
CN110281239B (zh) * | 2019-06-25 | 2020-11-10 | 广州晒帝智能科技有限公司 | 一种机器人运动障碍的判断方法 |
CN111015656A (zh) * | 2019-12-19 | 2020-04-17 | 佛山科学技术学院 | 一种机器人主动避障的控制方法、装置及存储介质 |
CN113954073B (zh) * | 2021-11-08 | 2024-03-22 | 北京华航唯实机器人科技股份有限公司 | 机器人活动部件的轨迹分析方法及装置、机器人设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0550386A (ja) * | 1991-08-16 | 1993-03-02 | Fanuc Ltd | 7自由度マニプレータの位置教示方式 |
US5355743A (en) * | 1991-12-19 | 1994-10-18 | The University Of Texas At Austin | Robot and robot actuator module therefor |
US5430643A (en) * | 1992-03-11 | 1995-07-04 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Configuration control of seven degree of freedom arms |
US6304050B1 (en) * | 1999-07-19 | 2001-10-16 | Steven B. Skaar | Means and method of robot control relative to an arbitrary surface using camera-space manipulation |
-
2010
- 2010-01-14 KR KR1020100003519A patent/KR101633357B1/ko active IP Right Grant
-
2011
- 2011-01-11 US US13/004,515 patent/US8606402B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20110083341A (ko) | 2011-07-20 |
US20110172819A1 (en) | 2011-07-14 |
US8606402B2 (en) | 2013-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101633357B1 (ko) | 매니퓰레이터 및 그 제어방법 | |
JP5114019B2 (ja) | エフェクタの軌道を制御するための方法 | |
EP1972416B1 (en) | Robots with occlusion avoidance functionality | |
US9981389B2 (en) | Robotics platforms incorporating manipulators having common joint designs | |
US8311731B2 (en) | Robots with collision avoidance functionality | |
US8340823B2 (en) | Controller of mobile robot | |
CN111216125B (zh) | 面向狭窄通道的移动机械臂装置的避障方法及系统 | |
US8473101B2 (en) | Coordinated action robotic system and related methods | |
EP2783812A2 (en) | Robot device and method for manufacturing an object | |
US9193072B2 (en) | Robot and control method thereof | |
Kaldestad et al. | Collision avoidance with potential fields based on parallel processing of 3D-point cloud data on the GPU | |
US11433538B2 (en) | Trajectory generation system and trajectory generating method | |
US20220244741A1 (en) | Semantic Models for Robot Autonomy on Dynamic Sites | |
JP5250858B2 (ja) | 複数ロボットの衝突検知方法及びロボット装置 | |
JP2012056064A (ja) | 経路生成装置および経路生成方法 | |
JP5173958B2 (ja) | 移動体姿勢生成方法および移動体姿勢生成装置 | |
JP6743453B2 (ja) | ロボット制御装置、ロボットおよびシミュレーション装置 | |
CN107363851A (zh) | 控制装置以及机器人系统 | |
JP5878750B2 (ja) | ロボットの動作規制方法及び装置 | |
CN115648200A (zh) | 复合型机器人协同控制方法及系统 | |
Deepak et al. | Inverse kinematic models for mobile manipulators | |
KR102170752B1 (ko) | 장애물 회피 경로 생성 시뮬레이션 시스템 | |
Spencer et al. | Collision avoidance techniques for tele-operated and autonomous manipulators in overlapping workspaces | |
US20180001486A1 (en) | Robot, robot control device, and robot system | |
Cai et al. | Prioritized motion-force control of multi-constraints for industrial manipulators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190520 Year of fee payment: 4 |