KR101498835B1 - 7축 다관절 로봇의 제어방법, 제어 프로그램 및 로봇 제어장치 - Google Patents
7축 다관절 로봇의 제어방법, 제어 프로그램 및 로봇 제어장치 Download PDFInfo
- Publication number
- KR101498835B1 KR101498835B1 KR1020137009731A KR20137009731A KR101498835B1 KR 101498835 B1 KR101498835 B1 KR 101498835B1 KR 1020137009731 A KR1020137009731 A KR 1020137009731A KR 20137009731 A KR20137009731 A KR 20137009731A KR 101498835 B1 KR101498835 B1 KR 101498835B1
- Authority
- KR
- South Korea
- Prior art keywords
- joint
- joints
- axis
- angle
- robot
- Prior art date
Links
Images
Classifications
-
- 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
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
-
- 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
- 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/046—Revolute coordinate type
-
- 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/1643—Programme controls characterised by the control loop redundant 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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1607—Calculation of inertia, jacobian matrixes and inverses
-
- 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/39—Robotics, robotics to robotics hand
- G05B2219/39018—Inverse calibration, find exact joint angles for given location in world space
-
- 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/39—Robotics, robotics to robotics hand
- G05B2219/39414—7-DOF
-
- 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/40344—Configuration index, control, limits of joint movement
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
- Mathematical Physics (AREA)
Abstract
기단에서 선단을 향하여 차례로 설치된 7개 관절(JT1~JT7)을 구비하고, 해당 7개 관절이 다음의 관절을 선회시키는 회전축과 다음의 관절을 회동시키는 회전축을 교호로 갖고 있고, 또한 해당 기단측에 있는 3개 관절(JT1,JT2,JT7)의 각 회전축이 한 점에서 교차하지 않도록 구성된 7축 다관절 로봇의 제어방법으로, 상기 3개 관절 중 중간 관절(JT2)의 회전축을 어깨라고 간주하였을 경우의 의사적인 팔꿈치 각도가 일정해지는 상기 중간 관절의 관절각(J20')을 구속조건으로 이용하여 역변환을 실행한다(단계(S501~S505)).
Description
본 발명은, 7축 다관절 로봇(robot)의 제어방법, 제어 프로그램(program) 및 로봇 제어장치에 관한 것으로, 특히 기단측에 있는 3개 관절의 각 회전축 중 적어도 1축이 다른 축과 한 점에서 교차하지 않는 기구(機構)를 가진 7축 다관절 로봇을 인간의 팔처럼 원활하게 동작시키기 위한 제어방법에 관한 것이다.
최근, 산업용 로봇의 제어기술은, 컴퓨터(computer) 기술의 진보에 따라 진보하고 있고, 이에 따라 산업용 로봇에 요구되는 동작은 점점 더 복잡하고 고도화되고 있고, 또한 그 정밀도에 대해서도 더욱 빠르고 고정밀도화가 필요하게 되어 있다. 예를 들면, 종래부터 산업용 로봇으로서 널리 사용되고 있는 6축 다관절 로봇의 경우, 어느 정해진 위치로 이동하는 용도로서는 충분하지만, 이동 공간에 존재하는 여러 가지 장애물을 교묘하게 회피하면서 복잡한 작업을 행하는 것이 곤란하였다. 따라서 관절(JT1~JT6) 각각의 회전축인 총 6축을 구비한 6축 다관절 로봇에 대하여, 중복축(冗長軸)(redundant axis)으로서 관절(JT7)의 회전축을 더 추가한 7축 다관절 로봇의 개발이 최근 활발해져 오고 있다.
7축 다관절 로봇의 제어방법으로서는, 종래의 6축 다관절 로봇의 경우와 마찬가지로, 해당 손목의 위치 자세(손목 좌표)로부터 각 관절각(관절 좌표)을 구하는 역변환(좌표 변환)이 행해지고 있다. 그리고 이 역변환의 시에는, 인간의 팔처럼 원활한 동작을 실현하기 위하여, 팔꿈치 각도를 일정하게 하는 것을 구속조건(constriction condition)으로 하고 있다.
먼저, 도 10을 이용하여 관절(JT1), 관절(JT2), 및 관절(JT7) 각각의 회전축이 한 점에서 교차하는 기구를 가진 7축 다관절 로봇을 예로 들어 설명한다.
도 10에서는, 7축 다관절 로봇의 「어깨(S)」, 「팔꿈치(E)」 및 「손목(W)」이 정의되어 있다. 어깨(S)는 관절(JT1,JT2,JT7) 각각의 회전축의 교차점을 가리키고 있고, 손목(W)은 관절(JT4,JT5,JT6) 각각의 회전축의 교차점을 가리키고 있고, 팔꿈치(E)는 관절(JT3)의 회전축을 가리키고 있다. 도 11에 나타내는 바와 같이 어깨(S), 팔꿈치(E) 및 손목(W)의 총 3점으로 정의되는 평면(SEW)은, 손목의 위치 및 자세를 일정하게 유지한 상태로, 직선(SW)의 주위를 회전할 수가 있다. 일반적으로, 팔꿈치 각도(E)는, 어깨(S)와 손목(W)을 연결하는 벡터(vector) 주위에 있어서 「팔꿈치(E)」의 회전관절각(∠EHE')로서 정의되어 있고, 이 팔꿈치 각도(E)를 일정하게 하는 것을 구속조건으로 한 역변환이 행해진다.
예를 들면, 특허문헌1의 단락[0012]에는, 7축 다관절 로봇이 제7 관절(관절축(J3))을 고정함으로써 6축 다관절 로봇과 등가인 것으로서 생각하는 것이 개시되어 있다. 또, 특허문헌1의 단락[0014]에는, 관절축(J1)과 관절축(J2)의 사이에 Y방향의 옵셋(offset)이 없는 7축 다관절 로봇이, 소정 거리 이격하여 설치되어 있는 6축 다관절 로봇과의 간섭을 회피하기 위하여, 관절축(J2)을 포함하는 XY 평면과 어깨(관절축(J1)과 관절축(J2)의 교차점)와 손목(관절축(J6))을 지점으로서, 팔꿈치(관절축(J4))가 대략 원호 궤적을 그리도록 동작하는 것이 개시되어 있다.
다음에, 도 12에 나타내는 바와 같은, 관절(JT1,JT2,JT7) 각각의 회전축이 한 점에서 교차하지 않는 기구를 가진 7축 다관절 로봇을 예로 들어 설명한다.
도 12의 7축 다관절 로봇에서는, 관절(JT1,JT2)의 사이에 로봇의 작업범위를 확대시킬 목적으로 옵셋이 설정되고, 관절(JT1,JT2,JT7) 각각의 회전축이 한 점에서 교차하지 않는 기구를 갖고 있다. 이와 같이, 옵셋을 가진 기구의 경우, 7축 다관절 로봇의 어깨(S)를 정확하게 정의할 수가 없다. 가령, 관절(JT2)의 회전축 부근을 어깨라고 간주하여도 역변환의 처리에 필요한 팔꿈치 각도의 정밀도가 부족하다는 문제가 있다. 즉, 옵셋을 가진 기구의 경우, 팔꿈치 각도를 일정하게 유지하는 동작을 실현할 수 있도록 역변환하는 것은 쉽지 않다.
따라서 도 13에 나타내는 바와 같이, 중복축을 위하여 추가된 관절(JT7)의 현재의 관절각(JT7 현재값)을 고정시키는 것을 구속조건으로 하고 역변환을 행하는 방법을 생각할 수가 있다. 하지만, 이 방법에서는, 애써 중복성(redundancy)을 얻기 위하여 추가한 관절(JT7)의 관절각이 로봇 동작 중에 고정되어 1자유도만큼 낭비된다.
본 발명은, 이와 같은 과제를 해결하기 위하여 이루어진 것으로, 그 목적은, 7개 관절 중 기단측에 있는 3개 관절의 각 회전축 중 적어도 1축이 다른 축과 한 점에서 교차하지 않는 기구를 갖는 7축 다관절 로봇을 인간의 팔처럼 원활하게 동작시키는 제어를 적절하게 실현하는 것이다.
상기 과제를 해결하기 위하여, 본 발명에 따른 7축 다관절 로봇의 제어방법은, 기단에서 선단을 향하여 차례로 설치된 7개 관절을 구비하고, 해당 7개 관절이 다음의 관절을 선회시키는 회전축과 다음의 관절을 회동(回動)시키는 회전축을 교호로 갖고 있고, 또한 해당 기단측에 있는 3개 관절의 각 회전축 중 적어도 1축이 다른 축과 한 점에서 교차하지 않도록 구성된 7축 다관절 로봇의 제어방법이며, 상기 3개 관절 중 중간 관절의 회전축을 어깨라고 간주하였을 경우의 의사적인 팔꿈치 각도가 일정해지는 상기 중간 관절의 관절각을 구속조건으로 이용하여 역변환을 실행하는 것이다.
상기와 같이 구성된 7축 다관절 로봇도, 이 3개 관절 중 중간 관절(JT2)의 회전축을 의사적인 어깨(후술하는 의사 어깨)라고 간주하였을 경우, 의사적인 팔꿈치 각도를 정의할 수가 있다. 또한, 이러한 7축 다관절 로봇의 동작으로서, 본 발명자는, 「로봇 동작 시작 시의 초기형태가 어떠한 상태이어도 중간 관절의 관절각이 의사적인 팔꿈치 각도의 변화에 대체로 비례하도록 변화한다」라는 특징을 발견하였다(식견을 얻었다). 따라서 3개 관절 중 선단측 관절(후술하는 JT7)의 관절각을 고정시키는 것이 아니라, 이 의사적인 팔꿈치 각도가 일정하게 되는 중간 관절의 관절각을 구속조건으로 이용하여 역변환을 실행함에 따라, 상기와 같이 구성된 7축 다관절 로봇을 인간의 팔처럼 원활하게 동작시키는 제어를 적절하게 실현하는 것이 가능해졌다.
상기 제어방법에 있어서, 상기 3개 관절 중 선단측 관절의 관절각을 0°(기준위치) 또는 180°(그 기준위치로부터의 최대 변위위치)로 하여 역변환을 실행함에 따라, 로봇 동작 시작 시의 초기형태로부터 상기 중간 관절의 관절각이 취할 수 있는 제1 최대값 및 제1 최소값을 산출하는 공정과, 상기 의사적인 팔꿈치 각도를 나타내는 지표로서 상기 제1 최대값에서부터 상기 제1 최소값까지의 범위 내에 있어서 상기 초기형태의 상기 중간 관절의 관절각의 비율을 산출하는 공정을 구비하고, 상기 구속조건은, 산출한 상기 비율이 일정해지는 상기 중간 관절의 관절각을 사용하는 조건이 될 수 있다.
상기 제어방법에 있어서, 상기 구속조건의 공정은, 상기 선단측 관절의 관절각을 0°(기준위치) 또는 180°(그 기준위치로부터의 최대 변위위치)로 하여 역변환을 실행함에 따라, 로봇 동작 중에 있어서 현재의 상기 중간 관절의 관절각이 취할 수 있는 제2 최대값 및 제2 최소값을 산출하는 공정과, 산출한 상기 제2 최대값 및 제2 최소값과 산출한 상기 비율을 기초로 하여 로봇 동작 중에 있어서 현재 있어야 할 상기 중간 관절의 관절각의 목표값을 산출하는 공정과, 산출한 상기 목표값을 역변환 시의 구속조건으로 사용하는 상기 중간 관절의 관절각에 적용하는 공정을 구비할 수 있다.
상기와 같이 구성된 7축 다관절 로봇의 동작으로서, 본 발명자는, 또한, 「로봇 동작 시작 시의 초기형태가 어떠한 상태이어도 선단측 관절의 관절각이 0°(기준위치)인 경우에는 의사적인 팔꿈치 각도가 0°가 되고, 또한 중간 관절의 관절각이 제1 최소값(또는 제1 최대값)이 된다. 한편, 선단측 관절의 각도가 180°(기준위치로부터의 최대 변위위치)인 경우, 의사적인 팔꿈치 각도가 180°가 되고, 또한 중간 관절의 관절각이 제1 최대값(또는 제1 최소값)이 된다.」라는 특징을 발견하였다. 바꾸어 말하면, 선단측 관절의 관절각이 0°에서 180°로 변화함에 따라 의사적인 팔꿈치 각도가 0°에서 180°로 변화하고, 이 의사적인 팔꿈치 각도의 변화에 대체로 비례하도록 중간 관절의 관절각이 제1 최소값에서 제1 최대값으로(혹은 제1 최대값에서 제1 최소값으로) 변화하는 것을 발견하였다. 따라서 이 의사적인 팔꿈치 각도를 나타내는 지표로서, 제1 최대값에서부터 제1 최소값까지의 범위 내에 있어서 초기형태의 중간 관절의 관절각의 비율을 산출하고, 이 산출한 비율이 일정해지는 중간 관절의 각도를 구속조건으로 이용하기로 하였다. 이에 따라, 인간의 팔과 같이 원활하게 동작시키는 제어를 용이하게 실현하는 것이 가능해졌다.
상기 과제를 해결하기 위하여, 그 밖의 본 발명에 따른 7축 다관절 로봇의 제어 프로그램은, 기단에서 선단을 향하여 차례로 설치된 7개 관절을 구비하고, 상기 7개 관절이 다음 관절을 선회시키는 회전축과 다음의 관절을 회동시키는 회전축을 교호로 갖고, 또한 상기 기단측에 있는 3개 관절의 각 회전축 중 적어도 1축이 다른 축과 한 점에서 교차하지 않도록 구성된 7축 다관절 로봇의 제어 프로그램이며, 컴퓨터에, 상기 3개 관절 중 선단측 관절의 관절각을 0°(기준위치) 또는 180°(기준위치로부터의 최대 변위위치)로 하고 역변환을 실행함에 따라, 로봇 동작 시작 시의 초기형태로부터 상기 중간 관절의 관절각이 취할 수 있는 최대값 및 최소값을 산출하는 공정과, 상기 중간 관절의 회전축을 어깨라고 간주하였을 경우의 의사적인 팔꿈치 각도를 나타내는 지표로서, 상기 최대값에서부터 상기 최소값까지의 범위 내에 상기 초기형태의 상기 중간 관절의 관절각의 비율을 산출하는 공정과, 산출한 상기 비율이 일정해지는 상기 중간 관절의 관절각을 구속조건으로 이용하여 역변환을 실행하는 공정을 실행시키기 위한 것이다.
상기 과제를 해결하기 위하여, 그 밖의 본 발명에 따른 7축 다관절 로봇의 로봇 제어장치는, 기단에서 선단을 향하여 차례로 설치된 7개 관절을 구비하고, 상기 7개 관절이 다음의 관절을 선회시키는 회전축과 다음의 관절을 회동시키는 회전축을 교호로 갖고, 또한 상기 기단측에 있는 3개 관절의 각 회전축 중 적어도 1축이 다른 축과 한 점에서 교차하지 않도록 구성된 7축 다관절 로봇의 로봇 제어장치로서, 상기 3개 관절 중 선단측 관절의 관절각을 0°(기준위치) 또는 180°(기준위치로부터의 최대 변위위치)로 하여 역변환을 실행함에 따라, 로봇 동작 시작 시의 초기형태로부터 상기 중간 관절의 관절각이 취할 수 있는 최대값 및 최소값을 산출하는 수단과, 상기 중간 관절의 회전축을 어깨라고 간주하였을 경우 의사적인 팔꿈치 각도를 나타내는 지표로서, 상기 최대값에서부터 상기 최소값까지의 범위 내에서 상기 초기형태의 상기 중간 관절의 관절각의 비율을 산출하는 수단과, 산출한 상기 비율이 일정해지는 상기 중간 관절의 관절각을 구속조건으로 이용하여 역변환을 실행하는 수단을 구비하도록 구성된 것이다.
본 발명의 상기 목적, 다른 목적, 특징, 및 이점은, 첨부 도면의 참조 하에서, 이하의 바람직한 실시예의 상세한 설명으로부터 명확하게 된다.
본 발명에 따르면, 7개 관절 중 기단측에 있는 3개 관절의 각 회전축 한 점에서 교차하지 않는 기구를 가진 7축 다관절 로봇을 인간의 팔처럼 원활하게 동작시키는 제어를 적절하게 실현할 수가 있다.
도 1은, 본 발명의 실시예에 있어서 7축 다관절 로봇과 로봇 제어장치에 의한 로봇 시스템의 구성을 나타낸 도면이다.
도 2는, 도 1에 나타내는 7축 다관절 로봇의 링크(link) 구조를 모식적으로 나타낸 도면이다.
도 3은, 도 1에 나타내는 7축 다관절 로봇의 역변환을 설명하기 위한 개념도이다.
도 4는, 본 발명의 실시예에 있어서 로봇 동작 시작 시의 제어 순서를 나타내는 플로우차트이다.
도 5는, 본 발명의 실시예에 있어서 로봇 동작 중의 제어 순서를 나타내는 플로우차트이다.
도 6은, 본 방식의 시뮬레이션(simulation) 조건을 설명하기 위한 개념도이다.
도 7a는, 본 방식에 따른 의사적인 팔꿈치 각도의 변화를 나타낸 그래프이다.
도 7b는, 비교 방식에 따른 팔꿈치 각도의 변화를 나타낸 그래프이다.
도 7c는, 참고로 본 방식에 따른 관절(JT7)의 관절각의 변화를 나타낸 그래프이다.
도 8은, 본 발명의 개념을 설명하기 위한 모식도이다.
도 9는, 본 발명의 개념을 설명하기 위한 모식도이다.
도 10은, 7개 관절 중 기단측에 있는 3개 관절(JT1,JT2,JT7)의 각 회전축이 한 점에서 교차하는 기구를 가진 7축 다관절 로봇의 링크 구조를 모식적으로 나타낸 도면이다.
도 11은, 도 10에 나타내는 7축 다관절 로봇에 있어서 정의되는 팔꿈치 각도를 설명하기 위한 도면이다.
도 12는, 7개 관절 중 기단측에 있는 3개 관절(JT1,JT2,JT7)의 각 회전축이 한 점에서 교차하지 않는 기구를 가진 7축 다관절 로봇의 링크 구조를 모식적으로 나타낸 도면이다.
도 13은, 비교 방식의 역변환을 설명하기 위한 도면이다.
도 2는, 도 1에 나타내는 7축 다관절 로봇의 링크(link) 구조를 모식적으로 나타낸 도면이다.
도 3은, 도 1에 나타내는 7축 다관절 로봇의 역변환을 설명하기 위한 개념도이다.
도 4는, 본 발명의 실시예에 있어서 로봇 동작 시작 시의 제어 순서를 나타내는 플로우차트이다.
도 5는, 본 발명의 실시예에 있어서 로봇 동작 중의 제어 순서를 나타내는 플로우차트이다.
도 6은, 본 방식의 시뮬레이션(simulation) 조건을 설명하기 위한 개념도이다.
도 7a는, 본 방식에 따른 의사적인 팔꿈치 각도의 변화를 나타낸 그래프이다.
도 7b는, 비교 방식에 따른 팔꿈치 각도의 변화를 나타낸 그래프이다.
도 7c는, 참고로 본 방식에 따른 관절(JT7)의 관절각의 변화를 나타낸 그래프이다.
도 8은, 본 발명의 개념을 설명하기 위한 모식도이다.
도 9는, 본 발명의 개념을 설명하기 위한 모식도이다.
도 10은, 7개 관절 중 기단측에 있는 3개 관절(JT1,JT2,JT7)의 각 회전축이 한 점에서 교차하는 기구를 가진 7축 다관절 로봇의 링크 구조를 모식적으로 나타낸 도면이다.
도 11은, 도 10에 나타내는 7축 다관절 로봇에 있어서 정의되는 팔꿈치 각도를 설명하기 위한 도면이다.
도 12는, 7개 관절 중 기단측에 있는 3개 관절(JT1,JT2,JT7)의 각 회전축이 한 점에서 교차하지 않는 기구를 가진 7축 다관절 로봇의 링크 구조를 모식적으로 나타낸 도면이다.
도 13은, 비교 방식의 역변환을 설명하기 위한 도면이다.
이하, 본 발명의 바람직한 실시예를, 도면을 참조하면서 설명한다. 또한, 이하에서는 모든 도면을 통하여 동일하거나 상응하는 요소에는 동일한 참조부호를 부여하고 그 중복하는 설명을 생략한다.
(본 발명의 개념)
먼저 본 발명의 개념을 설명한다.
도 8은, 본 발명의 개념을 설명하기 위한 모식도이다. 또한, 도 8은, 도 12에 나타내는 옵셋이 있는 7축 다관절 로봇에서 「손목(W)」을 구성하는 관절(JT4~JT6)이 생략된 경우를 나타내고 있다.
도 8의 7축 다관절 로봇에 있어서 관절(JT2)의 회전축을 의사적인 「어깨(S)」(이하에서는, 의사 어깨(S')라고 칭한다)로 정의하였을 때에 도 11에 나타난 바와 같이 정의되는 팔꿈치 각도(E)(이하에서는, 의사적인 팔꿈치 각도라고 칭한다)가 일정해지도록 동작시킨다면, 인간의 팔과 같은 원활한 동작이 실현된다.
여기서, 도 8의 7축 다관절 로봇을, 도시하지 않은 「손목(W)」의 위치 자세를 일정하게 유지한 상태로 관절(JT7)을 동작시킨다면, 「팔꿈치(E)」를 구성하는 관절(JT3)이 쓰러짐과 아울러 의사적인 팔꿈치 각도가 변화하는 것을 알 수 있다. 또한, 이때 로봇 암(arm)의 동작에서 아래의 두 가지 특징을 찾아낼 수가 있다.
특징1: 손목의 위치 자세가 어떠한 상태이어도 관절(JT2)의 관절각이 의사적인 팔꿈치 각도의 변화에 대체로 비례하도록 변화한다.
특징2: 손목의 위치 자세가 어떠한 상태이어도 관절(JT7)이 0°인 경우(기준위치로부터 변화가 없는 경우)에는, 의사적인 팔꿈치 각도가 0°가 되고 또한 관절(JT2)의 관절각이 최소값(또는 최대값)(J21)이 된다. 관절(JT7)이 180°인 경우(기준위치로부터 최대로 변화하였을 경우)에는, 의사적인 팔꿈치 각도가 180°가 되고 또한 관절(JT2)의 관절각이 최대값(또는 최소값)(J22)이 된다.
즉, 도 9에 있어서, 관절(JT7)의 관절각이 0°에서 180°로 변화함에 따라 의사적인 팔꿈치 각도가 0°에서 180°로 변화하고, 또, 이 팔꿈치 각도의 변화에 대체로 비례하도록 관절(JT2)의 관절각이 J21에서 J22로 변화하게 된다.
따라서 관절(JT7)의 관절각을 0°또는 180°로 하고 역변환을 실행함에 따라, 로봇 동작 시작 시의 최기 형태에서 관절(JT2)의 관절각이 취할 수 있는 최대값 및 최소값을 산출한다. 그리고 이 산출된 최대값 및 최소값을 각각 100%, 0%라고 정의하고, 로봇 동작 시작 시에 있어서 관절(JT2)의 관절각이 몇%인지를 나타낸 JT2 비율(α)을 산출한다. 이 JT2 비율(α)은 옵셋이 없는 경우의 팔꿈치 각도(E)(도 11 참조)에 상당하는 지표이다. 그리고 이 산출한 JT2 비율(α)이 일정하게 되는 관절(JT2)의 관절각을 구속조건으로 이용하여 역변환을 실행한다.
(실시예)
다음에, 상술한 본 발명의 개념에 근거하는 본 발명의 실시예를 설명한다.
[7축 다관절 로봇]
도 1은, 본 발명의 실시예에 따른 7축 다관절 로봇과 로봇 제어장치로 이루어지는 로봇 시스템의 구성을 나타낸 도면이다.
도 1에 나타내는 바와 같이, 7축 다관절 로봇(100)은, 기단에서 손목을 향하여 차례로 설치된 6개 관절(JT1~JT6)을 구비하고, 6개 관절(JT1~JT6)이 회전축(A1~A6)을 각각 갖는 6축 다관절 로봇에 있어서, 관절(JT2)과 관절(JT3)의 사이에 중복축을 추가하기 위한 관절(JT7)이 설치되고, 또한 7개 관절(JT1~JT7)이 다음의 관절을 선회시키는 회전축과 다음의 관절을 회동시키는 회전축을 교호로 갖도록 구성된다. 또한, 7개 관절 및 7개 회전축에 부여된 부호(JT1~JT7, A1~A7)는 편의상 부여한 것으로, 7개 관절 및 7개 회전축 각각을 식별 가능하다면 임의의 부호가 될 수 있다.
더욱이, 7축 다관절 로봇(100)은, 도 12와 마찬가지로, 관절(JT1,JT2,JT7) 각각의 회전축 중 적어도 1축이 다른 축과 한 점에서 교차하지 않는 기구를 갖고 있다. 구체적으로는, 도 1에서는, 관절(JT1,JT2)의 사이에 로봇의 작업 범위를 확대시킬 목적으로 옵셋이 설정되어 있고, 관절(JT2,JT7) 각각의 회전축은 한 점에서 교차하고 있지만, 관절(JT1)의 회전축이 관절(JT2,JT7) 각각의 회전축과 한 점에서 교차하지 않는 기구가 나타내어져 있다. 이와 같이, 옵셋을 가진 기구의 경우, 「손목(W)」 및 「팔꿈치(E)」는 정의할 수 있지만, 「어깨(S)」를 정확하게 정의할 수는 없다. 따라서 관절(JT2)의 회전축 부근을 「의사 어깨(S')」라고 정의한다. 또한, 손목(W)은 관절(JT4,JT5,JT6) 각각의 회전축의 교차점을 가리키고 있고, 팔꿈치(E)는 관절(JT3)의 회전축을 가리키고 있다. 의사 어깨(S)는 관절(JT2,JT7) 각각의 회전축의 교차점을 가리키고 있다. 이하에서는, 「의사 어깨(S)」를 원점으로 한 XYZ 직교좌표계를 「기준좌표계」라고 칭하고, 「손목(W)」을 원점으로 한 XYZ 직교좌표계를 「손목좌표계」라고 칭한다. 또, 기준좌표계의 원점에 대한 손목좌표계의 원점의 변위를 「손목 위치」라고 칭하고, 기준좌표계에 대한 손목좌표계의 각 변위를 「손목 자세」라고 칭한다. 또, 주로 손목 자세에 영향을 미치는 부분을 「손목」이라고 칭한다.
도 1에 나타내는 7축 다관절 로봇(100)에 있어서, 손목좌표계의 원점은 회전축(A4~A6)의 회전축 전부가 한 점에서 교차한 점이기 때문에, 관절(JT4~JT6)에 관한 부분이 손목으로 되어 있다. 한편, 손목 위치에 영향을 미치는 것은 관절(JT1~JT3) 및 관절(JT7)에 관한 부분으로 되어 있다.
기대(基台, base)(2)에는, 선회대(3,Swivel), 암 부재(링크)(4,5,6,7,8), 및 어태치먼트(attachment)(9)가 이 순서로 연속 설치되어 있다. 또한, 어태치먼트(9)의 선단을 이루는 플랜지(flange) 면에는, 각종의 작업 내용에 따라 적절히 선택된 툴(tool) 부재(11)가 착탈 가능하게 장착되어 있다. 기대(2)에서 어태치먼트(9)까지 연속 설치된 부재(2~9)는 서로 상대 회전 가능해지도록 연결되어 있다.
암 부재(7,8) 및 어태치먼트(9)는, 어태치먼트(9)에 장착되는 툴 부재(11)에 미세한 동작을 행하게 하기 위한 인간의 손목과 비슷한 구조체(이하, 손목 장치라고 한다)를 이루고 있다. 회전축(A1), 회전축(A2), 회전축(A7) 및 회전축(A3)은, 손목 장치와 함께 툴 부재(11)를 수평 선회시키거나 요동시키거나 하기 위한 회전축으로서 이용되고, 7축 다관절 로봇(100)의 주축을 이루고 있다. 회전축(A4~A6)은, 손목 장치에 설정되는 회전축이고, 이른바 RBR(Roll-Bend-Roll)형의 손목축을 이루고 있다. 또한, 손목 장치의 손목축은 RBR형에 한정되지 않고, 이른바 BBR(Bend-Bend-Roll)형이나 3R(Roll-Roll-Roll)형의 손목축일 수 있다.
관절(JT1~JT7)에는 각각 서보 모터(servo motor)(M1~M7) 및 위치검출기(E1~E7)가 설치되어 있다. 위치검출기(E1~E7)는, 예를 들면 로터리 엔코더(rotary encoder)로 구성되어 있다. 상기 각 서보 모터(M1~M7)를 구동함에 따라, 관절(JT1~JT7)에 있어서 각각 허용되는 회전축(A1~A7) 주위의 회전이 행해진다. 또한, 각 서보 모터(M1~M7)는 서로 독립적으로 구동하는 것이 가능하다. 또한, 상기 각 서보 모터(M1~M7)가 구동된다면, 상기한 각 위치검출기(E1~E7)에 의해 상기 각 서보 모터(M1~M7)의 회전축(A1~A7) 주위의 회전 위치의 검출이 행해진다.
도 2는, 도 1에 나타낸 7축 관절 로봇(100)의 링크 구조를 모식적으로 나타낸 도면이다.
기대(2)와 선회대(3)의 연결부인 관절(JT1)에 있어서 기대(2)에 대한 선회대(3)의 회전축(A1) 주위의 회전(선회)이 허용되어 있다. 또한, 기대(2)의 상면 중앙부에는 의사 어깨(S')로서 기준좌표계(X0축, Y0축, Z0축으로 이루어지는 직교좌표계)의 원점(0)이 설정되어 있다(도 2 참조). 또한, 관절(JT1)에는, 해당 관절(JT1)의 관절좌표계(X1축, Y1축, Z1축으로 이루어지는 직교좌표계)가 설정되어 있다.
선회대(3)의 상단부와 암 부재(4)의 일단부와의 연결부인 관절(JT2)에 있어서, 선회대(3)에 대한 암 부재(4)의 회전축(A2) 주위의 회전(회동)이 허용된다. 또한, 관절(JT2)에는, 해당 관절(JT2)의 관절좌표계(X2축, Y2축, Z2축으로 이루어지는 직교좌표계)가 설정되어 있다. 여기서, 도 2의 각 관절 상태의 경우, 관절(JT2)의 관절좌표계의 원점의 연직방향 거리를 링크 길이(L0)로 나타내고, 관절(JT1)의 관절좌표계의 원점과 관절(JT2)의 관절좌표계의 원점과의 사이에서 수평방향(지면 좌방향) 거리를 링크 길이(L1)로 나타낸다.
암 부재(4)의 타단부와 암 부재(5)의 일단부와의 연결부인 관절(JT7)에 있어서, 암 부재(4)에 대한 암 부재(5)의 회전축(A7) 주위의 회전(선회)이 허용되어 있다. 또한, 관절(JT7)에는, 해당 관절(JT7)의 관절좌표계(X7축, Y7축, Z7축으로 이루어지는 직교좌표계)가 설정되어 있다.
암 부재(5)의 타단부와 암 부재(6)의 일단부와의 연결부인 관절(JT3)에 있어서, 암 부재(5)에 대한 암 부재(6)의 회전축(A3) 주위의 회전(회동)이 허용되어 있다. 또한, 관절(JT3)에는, 해당 관절(JT3)의 관절좌표계(X3축, Y3축, Z3축으로 이루어지는 직교좌표계)가 설정되어 있다. 여기서, 도 2의 각 관절 상태의 경우, 관절(JT2)의 관절좌표계의 원점과 관절(JT3)의 관절좌표계의 원점 사이에서 연직방향 거리를 링크 길이(L2)로 나타낸다.
암 부재(6)의 타단부와 암 부재(7)의 일단부와의 연결부인 관절(JT4)에 있어서, 암 부재(6)에 대한 암 부재(7)의 회전축(A4) 주위의 회전(선회)이 허용되어 있다. 또한, 관절(JT4)에는, 해당 관절(JT4)의 관절좌표계(X4축, Y4축, Z4축으로 이루어지는 직교좌표계)가 설정되어 있다. 여기서, 도 2의 각 관절 상태의 경우, 관절(JT3)의 관절좌표계의 원점과 관절(JT4)의 관절좌표계의 원점 사이에서 연직방향 거리를 링크 길이(L3)로 나타내고, 관절(JT3)의 관절좌표계의 원점과 관절(JT4)의 관절좌표계의 원점 사이에서 수평방향 거리를 링크 길이(L4)로 나타낸다.
암 부재(7)의 타단부와 암 부재(8)의 일단부와의 연결부인 관절(JT5)에 있어서, 암 부재(7)에 대한 암 부재(8)의 회전축(A5) 주위의 회전(회동)이 허용되어 있다. 또한, 관절(JT5)에는, 해당 관절(JT5)의 관절좌표계(X5축, Y5축, Z5축으로 이루어지는 직교좌표계)가 설정되어 있다.
암 부재(8)의 타단부와 어태치먼트(9)의 일단부와의 연결부인 관절(JT6)에 있어서, 암 부재(8)에 대한 어태치먼트(9)의 회전축(A6) 주위의 회전(선회)이 허용된다. 또한, 관절(JT6)에는, 해당 관절(JT6)의 관절좌표계로서 X6축, Y6축, Z6축으로 이루어지는 직교좌표계가 설정되어 있다. 이 X6축, Y6축, Z6축으로 이루어지는 직교좌표계는, 회전축(A4~A6)이 한 점에서 교차한 점을 원점으로 갖고 있다. 여기서, 도 2의 각 관절 상태의 경우, 관절(JT5)의 관절좌표계의 원점과 손목 사이에서 연직방향 거리를 링크 길이(L5)로 나타낸다.
기대(2)가 바닥면에 적정하게 설치된다면, 기대(2)에 가장 가까운 회전축(A1)은 연직방향(기대(2)에서 관절(JT1)으로의 연재(extending) 방향)을 지향하고, 회전축(A2)은 수평방향(바닥면과 평행한 방향)을 지향하고 있다. 회전축(A7)은 회전축(A2)과 직교하는 방향이고, 또한 암 부재(4)의 연재방향을 지향하고 있다. 회전축(A3)은 회전축(A7)과 직교하는 방향이고, 또한 수평방향을 지향하고 있다. 회전축(A4)은 회전축(A3)과 직교하는 방향이고, 또한 암 부재(6)의 연재방향을 지향하고 있다. 회전축(A5)은 회전축(A4)과 직교하는 방향이고, 또한 수평방향을 지향하고 있다. 회전축(A6)은 회전축(A5)과 직교하는 방향이고, 또한 암 부재(8)의 연재방향을 지향하고 있다. 따라서 회전축(A1~A7)은 모든 서로 인접하는 관절의 회전축이 서로 수직이 되도록 배치되어 있다.
[로봇 제어장치]
로봇 제어장치(200)는, 다관절 로봇(100)의 기대(2)의 주변에 배치되어 있다. 또한, 다관절 로봇(100)과 멀리 떨어져서 배치되어 있어도 좋고, 다관절 로봇(100)과 물리적으로 착탈 가능한 형태로 연결될 수 있다. 로봇 제어장치(200)는, 서보 앰프(servo amplifier)(210)를 구비하고 있다. 서보 앰프(210)는, 다관절 로봇(100)의 관절(JT1~JT6)이 구비하는 서보 모터(M1~M6) 각각에 대하여 어태치먼트(9)에 장착된 툴 부재(11)를 임의의 위치 자세로 임의의 경로를 따라 이동시키는 서보 제어를 행하는 것이다.
서보 앰프(210)는, 구동부(230) 및 제어부(240)를 구비하고 있다. 또한, 제어부(240)는 서보 앰프(210)의 외부에 설치되어도 좋고, 바꾸어 말하면, 서보 앰프(210)는 구동부(230)만으로 구성될 수 있다.
구동부(230)는, 서보 모터(M1~M6)를 구동하는 전력 변환 장치로, 예를 들면 정류 회로나 인버터(inverter) 회로로 구성되어 있다. 또한, 서보 앰프(210)는, 서보 모터(M1~M6) 각각에 대하여 개별적인 서보 루프(servo loop)를 형성하도록 복수 설치되어 있지만, 1개의 서보 앰프(210)에 의해 서보 모터(M1~M6)가 총괄하여 구동되도록 구성될 수 있다. 이 경우, 구동부(230)만이 서보 모터(M1~M6)마다 설치된다.
제어부(240)는, 서보 앰프(210)를 포함한 로봇 제어장치(200)의 전체 제어를 담당하는 것으로, 예를 들면 마이크로컨트롤러(micro controller), 중앙처리장치(CPU), 마이크로 프로세서 유닛(MPU), 프로그램 가능 로직 제어기(PLC), 디에스피(DSP), 에이에스아이씨(ASIC), 또는 에프피지에이(FPGA) 등으로 구성되어 있다. 또한, 제어부(240)는, 서로 협동하여 분산 제어하는 복수의 제어기로 구성될 수 있다. 예를 들면, 상위 제어장치와의 인터페이스(interface) 처리를 씨피유(CPU)가 담당하고, 서보 앰프(210)의 기본 연산(위치 루프 연산, 속도 루프 연산 및 전류 루프 연산)을 디에스피(DSP)가 담당하도록 시스템 구성될 수 있다.
로봇 제어장치(200)는, 티치펜던트(teach pendant) 등과 연결 가능하다. 이 티치펜던트를 이용하여 오퍼레이터(operator)가 교시(teaching)작업을 행한다. 제어부(240)는, 교시작업이나 오프라인 툴(offline tool) 등으로 작성된 동작 프로그램에 기초하여, 툴 부재(11)가 위치해야 할 목표 위치를 산출한다. 더욱이, 제어부(240)는, 목표 위치의 좌표 데이터의 역변환을 행하고, 툴 부재(11)를 목표 위치에 이동시키기 위해 필요해지는 관절각(1~7)을 산정한다. 그리고 제어부(240)는, 이러한 산정된 관절각(1~7)과, 상기한 위치검출기(E1~E7)에 의해 검출되는 전원 온(on) 시의 회전 위치와의 편차에 기초하고, 관절(JT1~JT7)에 설치된 서보 모터의 동작량의 지령값을 연산하여 각 서보 모터에 공급한다. 이에 따라, 툴 부재(11)가 목표 위치로 이동된다.
로봇 제어장치(200)가 7축 다관절 로봇(100)을 대상으로 한 역변환을 행하는 경우, 손목의 자세를 규정하는 손목축(A4~A6)은 우선 무시하여 두고, 해당 손목의 위치를 규정하는 나머지 4개 회전축(A1,A2,A7,A3) 중 1개 회전축(예를 들면, 회전축(A7))을 중복축으로 하고, 또한 나머지 3개 회전축(예를 들면, 회전축(A1~A3))을 기축으로 하여 해당 기축을 가진 각 관절의 관절각을 미지 변수로서 취급한다.
여기서, 도 3에 나타내는 바와 같이, 기준좌표계의 원점(O(0,0,0))과 7축 다관절 로봇(100)의 손목의 위치(P) 사이의 직선 거리를 Rh, 해당 기준좌표계에 있어서 손목의 위치(P)의 Z축방향 거리(기단에 가장 가까운 회전축의 연재방향에 있어서 기단에서 손목까지의 거리)를 Zh로 나타낸다. 더욱이, 기준좌표계에 있어서 손목의 위치(P)를 (Xp, Yp, Zp)로 표시하였을 때에, Rh 및 Zh에 대하여 다음 식이 성립된다.
또한, Rh, Zh는, 상기 수학식1 및 수학식2와는 달리, 7축 다관절 로봇(100)의 각 링크 길이와 관절(JT1~JT3,JT7)의 관절각(1,2,3,7)을 이용하여 나타낼 수가 있다. 따라서 이러한 식을 정리하면, 수학식3과 같이 변수(t)(= tan3)에 대한 4차 방정식을 얻을 수가 있다.
상기 수학식3의 4차 방정식을 해석함에 따라 관절각(3)이 구해지고, 이 구해진 관절각(3)이 기초하여 관절각(1) 및 관절각(2)이 일의적(Unambiguous)으로 구해진다.
[7축 다관절 로봇의 제어방법]
도 4는 본 발명의 실시예에 있어서 로봇 동작 시작 시의 제어 순서를 나타내는 플로우차트이다.
먼저, 로봇 제어장치(200)는, 로봇 동작 시작 시의 초기형태에 있어서 초기 손목 위치 자세(P_ini)와 로봇 동작 시작 시의 초기형태에 있어서 각 관절각인 초기 각 축값(JT1_ini, JT2_ini, ···, JT7_ini)을 미리 인식하고 있는 것으로 한다(단계(S401)). 또한 관절(JT2)의 초기 관절각(JT2_ini)을 초기값(J20)이라고 표시하는 것으로 한다.
다음에, 로봇 제어장치(200)는, 초기 손목 위치 자세(P_ini)에 대하여, 관절(JT7)의 관절각이 0°인 것을 구속조건으로 하고 역변환을 실행하여 관절각(JT1_ini_0, JT2_ini_0, ···, JT7_ini_0)을 구한다(단계(S402)). 또한, 이때 구해진 관절각 중에서 관절(JT2)의 관절각(JT2_ini_0)을 최소값(J21)(제1 최소값)이라고 표시하는 것으로 한다.
다음에, 로봇 제어장치(200)는, 초기 손목 위치 자세(P_ini)에 대하여, 관절(JT7)의 관절각이 180°인 것을 구속조건으로 하고 역변환을 실행하여 관절각(JT1_ini_180, JT2_ini_180, ···, JT7_ini_180)을 구한다(단계(S403)). 또한, 이때 구해진 관절각 중에서 관절(JT2)의 관절각(JT2_ini_180)을 최대값(J21)(제1 최대값)이라고 표시하는 것으로 한다.
그리고 로봇 제어장치(200)는, 단계(S401)에서 구한 초기값(J20), 단계(S402)에서 구한 최소값(J21) 및 단계(S403)에서 구한 최대값(J22)을 이용하여 초기 위치 자세에 있어서 관절(JT2)의 관절각이 취할 수 있는 범위(= J21―J22) 중에서 초기값(J20)이 최소값(J21)에 어느 정도 가까울 것인지를 나타낸 수학식4의 JT2 비율(α)을 산출한다(단계(S404)).
또한, JT2 비율(α)은, 초기값(J20)이 최소값(J21)에 가장 가까운(J20 = J21) 경우에는 1(100%)이고, 초기값(J20)이 최소값(J21)에 가장 먼(J20 = J22) 경우에는 0(0%)이다. 이 JT2 비율(α)을 대체로 일정하게 유지함으로써 의사적인 팔꿈치 각도를 대체로 일정하게 유지할 수가 있다.
도 5는, 본 발명의 실시예에 있어서 로봇 동작 중의 제어 순서를 나타내는 플로우차트이다.
먼저, 로봇 제어장치(200)는, 로봇 동작 중에 있어서 현재의 손목 위치 자세인 현재 손목 위치 자세(P_n)를 초기값으로서 인식하고 있는 것으로 한다(단계(S501)).
다음에, 로봇 제어장치(200)는, 현재 손목 위치 자세(P_n)에 대하여, 관절(JT7)의 관절각이 0°인 것을 구속조건으로 하고 역변환을 실행하고, 관절각(JT1_n_0, JT2_n_0, ···, JT7_n_0)을 구한다(단계(S502)). 또한, 이때 구해진 관절각 중에서 관절(JT2)의 관절각(JT2_n_0)을 최소값(J21')(제2 최소값)이라고 표시하는 것으로 한다.
다음에, 로봇 제어장치(200)는, 현재 손목 위치 자세(P_n)에 대하여, 관절(JT7)의 관절각이 180°인 것을 구속조건으로 하고 역변환을 실행하여 관절각(JT1_n_180, JT2_n_180, ···, JT7_n_180)을 구한다(단계(S503)). 또한, 이때 구해진 관절각 중에서 관절(JT2)의 관절각(JT2_n_180)을 최대값(J22')(제2 최대값)이라고 표시하는 것으로 한다.
다음에, 로봇 제어장치(200)는, 단계(S404)에서 구한 JT2 비율(α), 단계(S502)에서 구한 최소값(J21') 및 단계(S503)에서 구한 최대값(J22')을 이용하여 수학식5의 관절(JT2)의 관절각의 목표값(J20')을 산출한다(단계(S504)).
그리고 로봇 제어장치(200)는, 관절(JT2)의 관절각으로서 단계(S504)에서 구한 목표값(J20')을 구속조건으로 이용하여 역변환을 실행하고 나머지 관절(JT1,JT3,JT4,JT5,JT6,JT7)의 각 축값(관절각)을 산출한다(단계(S505)).
손목의 초기 위치 자세로부터 그 손목의 목표 위치 자세에 이를 때까지 이상의 단계(S501~S505)를 반복 수행함으로써 JT2 비율(α)이 일정하게 유지되고, 관절(JT1,JT2,JT7) 각각의 회전축이 한 점에서 교차하지 않는 기구를 가진 7축 다관절 로봇이어도 의사 어깨에 의한 의사적인 팔꿈치 각도를 일정하게 유지하는 것과 같은 원활한 동작을 용이하게 실현하는 것을 가능하게 한다.
[시뮬레이션 결과]
이하에서는, 도 6, 도 7을 이용하여 본 발명의 실시예에 있어서 JT2 비율(α)을 대체로 일정하게 유지하는 제어방법의 시뮬레이션 결과를 설명한다.
도 6은, 본 발명의 실시예에 있어서 JT2 비율(α)을 대체로 일정하게 유지하는 제어방법(이하, 본 방식이라고 칭한다)의 시뮬레이션 조건을 설명하기 위한 개념도이다. 7축 다관절 로봇(100)의 각 링크 길이로서 링크 길이(LO)를 400㎜, 링크 길이(L1)를 100㎜, 링크 길이(L2)를 500㎜, 링크 길이(L3)를 600㎜, 및 링크 길이(L4)를 40㎜라고 한다. 7축 다관절 로봇(100)의 초기형태에 있어서, 관절(JT1)의 관절각을 0°, 관절(JT2)의 관절각을 40°, 관절(JT3)의 관절각을 -100°, 관절(JT7)의 관절각을 -45°로 하고, 이 초기형태의 상태에서 손목을 도 6에 나타내는 기준좌표계의 Y축의 음방향을 따라 2000㎜ 이동시키는 것을 본 방식의 시뮬레이션 조건으로 한다.
도 7은, 도 6에 나타내는 시뮬레이션 조건을 바탕으로 실행한 본 방식의 시뮬레이션 결과와, 본 방식의 비교 방식으로서 관절(JT7)의 관절각을 고정시키는 제어방법(이하, 비교 방식이라고 칭한다)을, 동일한 시뮬레이션 조건을 바탕으로, 실행한 시뮬레이션 결과를 대비한 그래프이다. 또한, 도 7a는 본 방식에 따른 의사적인 팔꿈치 각도의 변화를 나타낸 그래프이고, 도 7b는 비교 방식에 따른 팔꿈치 각도의 변화를 나타낸 그래프이고, 도 7c는 참고로 본 방식에 따른 관절(JT7)의 관절각의 변화를 나타낸 그래프이다.
도 7a와 도 7b를 대비하면, 본 방식이 비교 방식보다 팔꿈치 각도의 변화를 작게 할 수 있는 것을 알 수 있다. 또한, 도 7c에 따르면, 본 방식에서는 팔꿈치 각도를 일정하게 하도록 관절(JT7)의 관절각이 변화하는 것을 알 수 있다.
[변형예]
7축 다관절 로봇(100)은, 예를 들면 로봇 전체가 주행하는 경우에 그 주행을 위한 모터의 회전축이 존재하는 경우나, 관절(JT7)과 관절(JT3)의 사이나 관절(JT3)과 제4 관절의 사이 등에 사용하지 않는 관절의 회전축이 존재하는 경우 등, 7축 이상의 다축을 가질 수도 있다. 즉, 7축 다관절 로봇(100)은, 실질적으로 7축인 것이 바람직하다.
JT2 비율(α)은, 수학식6과 같이, 초기값(J20)이 최대값(J22)에 어느 정도 가까울 것인지를 나타내는 지표가 될 수 있다.
관절(JT1)과 관절(JT2)의 사이에 설정되는 옵셋은, 도 2에 나타내는 바와 같이 직각으로 구부러져 있는 엘(L)자형의 형태에 한정되지 않고, 예를 들면 관절(JT1)과 관절(JT2)의 사이를 경사진 방향으로 기울게 한 직선형의 형태일 수 있다.
관절(JT1)과 관절(JT2)의 사이에 옵셋이 설정되는것 외에, 관절(JT2)과 관절(JT7)의 사이에 옵셋이 설정되어 있을 수 있고, 관절(JT1)과 관절(JT2)의 사이 및 관절(JT2)과 관절(JT7)의 사이에 옵셋이 설정되어 있을 수 있다. 즉, 7축 다관절 로봇(100)은, 관절(JT1,JT2,JT7) 각각의 회전축 중 적어도 1축이 다른 축과 한 점에서 교차하지 않는 기구를 가질 수 있다. 이와 같은 기구로서는, 도 2에 나타내는 바와 같이, 관절(JT2,JT7) 각각의 회전축이 한 점에서 교차하고는 있지만, 관절(JT1)의 회전축이 관절(JT2,JT7) 각각의 회전축과 교차하고 있지 않는 기구 외에, 관절(JT1,JT2) 각각의 회전축이 한 점에서 교차하고는 있지만, 관절(JT7)의 회전축이 관절(JT1,JT2) 각각의 회전축과 교차하고 있지 않는 기구일 수 있다. 또는, 관절(JT1,JT2,JT7)의 모든 회전축이 서로 한 점에서 교차하지 않는 기구일 수도 있다.
상기 설명에서 당업자에게는, 본 발명의 많은 개량이나 다른 실시예가 명백하다. 따라서 상기 설명은, 예시로서만 해석되어야 하고, 본 발명을 실행하는 최선의 상태를 당업자에게 교시할 목적으로 제공된 것이다. 본 발명의 정신을 벗어나지 않고 그 구조 및/또는 기능의 상세를 실질적으로 변경할 수가 있다.
본 발명은, 7개 관절 중 기단측에 있는 3개 관절의 각 회전축이 한 점에서 교차하지 않는 기구를 가진 7축 다관절 로봇을 인간의 팔처럼 원활하게 동작시키는 제어에 있어서 유용하다.
2: 기대(base)
3: 선회대
4~8: 암(arm) 부재
9: 어태치먼트(attachment)
10: 손목 장치
11: 툴(tool) 부재
JT1~JT7: 관절
A1~A7: 회전축
M1~M7: 서보 모터(servo motor)
E1~E7: 위치검출기
L0~L5: 링크(link) 길이
100: 7축 다관절 로봇
200: 로봇 제어장치
210: 서보 앰프
230: 구동부
240: 제어부
3: 선회대
4~8: 암(arm) 부재
9: 어태치먼트(attachment)
10: 손목 장치
11: 툴(tool) 부재
JT1~JT7: 관절
A1~A7: 회전축
M1~M7: 서보 모터(servo motor)
E1~E7: 위치검출기
L0~L5: 링크(link) 길이
100: 7축 다관절 로봇
200: 로봇 제어장치
210: 서보 앰프
230: 구동부
240: 제어부
Claims (5)
- 기단에서 선단을 향하여 차례로 설치된 7개 관절을 구비하고, 해당 7개 관절이 다음의 관절을 선회시키는 회전축과 다음의 관절을 회동시키는 회전축을 교호로 갖고 있고, 또한 해당 기단측에 있는 3개 관절의 각 회전축 중 적어도 1축이 다른 축과 한 점에서 교차하지 않도록 구성된 7축 다관절 로봇의 제어방법으로,
상기 3개 관절 중 중간 관절의 회전축을 어깨로 간주한 경우 의사적인 팔꿈치 각도가 일정해지는 상기 중간 관절의 관절각을 구속조건으로 이용하여 역변환을 실행하는 것을 특징으로 하는 7축 다관절 로봇의 제어방법.
- 제1항에 있어서,
상기 3개 관절 중 선단측 관절의 관절각을 0°(기준위치) 또는 180°(상기 기준위치로부터의 최대 변위위치)로 하여 역변환을 실행함에 따라, 로봇 동작 시작시의 초기형태로부터 상기 중간 관절의 관절각이 취할 수 있는 제1 최대값 및 제1 최소값을 산출하는 공정과,
상기 의사적인 팔꿈치 각도를 나타내는 지표로서, 상기 제1 최대값에서부터 상기 제1 최소값까지의 범위내 상기 초기형태의 상기 중간 관절의 관절각의 비율을 산출하는 공정을 구비하고,
상기 구속조건은, 산출한 상기 비율이 일정해지는 상기 중간 관절의 관절각을 사용하는 조건인 것을 특징으로 하는 7축 다관절 로봇의 제어방법.
- 제2항에 있어서,
상기 구속조건의 공정은,
상기 선단측 관절의 관절각을 0°(기준위치) 또는 180°(상기 기준위치로부터의 최대 변위위치)로 하고 역변환을 실행함에 따라, 로봇 동작 중에 있어서 현재의 상기 중간 관절의 관절각이 취할 수 있는 제2 최대값 및 제2 최소값을 산출하는 공정과,
산출한 상기 제2 최대값 및 제2 최소값과 산출한 상기 비율에 기초하여 로봇 동작 중에 있어서 현재 있어야 할 상기 중간 관절의 관절각의 목표값을 산출하는 공정과,
산출한 상기 목표값을 역변환시의 구속조건으로 사용하는 상기 중간 관절의 관절각에 적용하는 공정을 구비하는 것을 특징으로 하는 7축 다관절 로봇의 제어방법.
- 기단에서 선단을 향하여 차례로 설치된 7개 관절을 구비하고, 상기 7개 관절이 다음의 관절을 선회시키는 회전축과 다음의 관절을 회동시키는 회전축을 교호로 갖고 있고, 또한 상기 기단측에 있는 3개 관절의 각 회전축 중 적어도 1축이 다른 축과 한 점에서 교차하지 않도록 구성된 7축 다관절 로봇의 제어 프로그램이 기록된 기록매체로,
컴퓨터에,
상기 3개 관절 중 선단측 관절의 관절각을 0°(기준위치) 또는 180°(기준위치로부터의 최대 변위위치)로 하여 역변환을 실행함에 따라, 로봇 동작 시작시의 초기형태로부터 상기 3개 관절 중 중간 관절의 관절각이 취할 수 있는 최대값 및 최소값을 산출하는 공정과,
상기 중간 관절의 회전축을 어깨로 간주한 경우 의사적인 팔꿈치 각도를 나타내는 지표로서, 상기 최대값에서부터 상기 최소값까지의 범위 내에 있어서 상기 초기형태의 상기 중간 관절의 관절각의 비율을 산출하는 공정과,
산출한 상기 비율이 일정해지는 상기 중간 관절의 관절각을 구속조건으로 이용하여 역변환을 실행하는 공정을 실행시키기 위한 것을 특징으로 하는 7축 다관절 로봇의 제어 프로그램이 기록된 기록매체.
- 기단에서 선단을 향하여 차례로 설치된 7개 관절을 구비하고, 상기 7개 관절이 다음의 관절을 선회시키는 회전축과 다음의 관절을 회동시키는 회전축을 교호로 갖고 있고, 또한 상기 기단측에 있는 3개 관절의 각 회전축 중 적어도 1축이 다른 축과 한 점에서 교차하지 않도록 구성된 7축 다관절 로봇의 로봇 제어장치로서,
상기 3개 관절 중 선단측 관절의 관절각을 0°(기준위치) 또는 180°(기준위치로부터의 최대 변위위치)로 하여 역변환을 실행함에 따라, 로봇 동작 시작시의 초기형태로부터 상기 3개의 관절 중 중간 관절의 관절각이 취할 수 있는 최대값 및 최소값을 산출하는 수단과,
상기 중간 관절의 회전축을 어깨라고 간주하였을 경우 의사적인 팔꿈치 각도를 나타내는 지표로서, 상기 최대값에서부터 상기 최소값까지의 범위 내에 있어서 상기 초기형태의 상기 중간 관절의 관절각의 비율을 산출하는 수단과,
산출한 상기 비율이 일정해지는 상기 중간 관절의 관절각을 구속조건으로 이용하여 역변환을 실행하는 수단을 구비하도록 구성된 것을 특징으로 하는 로봇 제어장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2010-293341 | 2010-12-28 | ||
JP2010293341A JP5701055B2 (ja) | 2010-12-28 | 2010-12-28 | 7軸多関節ロボットの制御方法、制御プログラム及びロボット制御装置 |
PCT/JP2011/007158 WO2012090441A1 (ja) | 2010-12-28 | 2011-12-21 | 7軸多関節ロボットの制御方法、制御プログラム及びロボット制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130056344A KR20130056344A (ko) | 2013-05-29 |
KR101498835B1 true KR101498835B1 (ko) | 2015-03-04 |
Family
ID=46382582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137009731A KR101498835B1 (ko) | 2010-12-28 | 2011-12-21 | 7축 다관절 로봇의 제어방법, 제어 프로그램 및 로봇 제어장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9120223B2 (ko) |
EP (1) | EP2660013B1 (ko) |
JP (1) | JP5701055B2 (ko) |
KR (1) | KR101498835B1 (ko) |
WO (1) | WO2012090441A1 (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5948932B2 (ja) * | 2012-02-16 | 2016-07-06 | セイコーエプソン株式会社 | ロボット制御装置、ロボット制御方法およびロボット制御プログラムならびにロボットシステム |
CN104669244A (zh) | 2013-12-02 | 2015-06-03 | 精工爱普生株式会社 | 机器人 |
JP6443875B2 (ja) * | 2014-10-24 | 2018-12-26 | ライフロボティクス株式会社 | ロボットアーム機構 |
JP2017177290A (ja) * | 2016-03-30 | 2017-10-05 | ソニー株式会社 | アーム制御方法及びアーム制御装置 |
JP6686644B2 (ja) * | 2016-04-06 | 2020-04-22 | セイコーエプソン株式会社 | ロボットおよびロボットシステム |
JP6371959B2 (ja) | 2016-09-02 | 2018-08-15 | 株式会社プロドローン | ロボットアームおよびこれを備える無人航空機 |
KR102474838B1 (ko) * | 2017-08-21 | 2022-12-07 | 주식회사 한화 | 로봇의 교시 장치, 방법 및 시스템 |
JP6841802B2 (ja) | 2018-08-31 | 2021-03-10 | ファナック株式会社 | ロボットおよびロボットシステム |
JP7124880B2 (ja) * | 2018-10-16 | 2022-08-24 | 株式会社安川電機 | ロボットシステム |
CN109676606B (zh) * | 2018-12-29 | 2021-07-23 | 达闼机器人有限公司 | 一种计算机械臂臂角范围的方法、机械臂及机器人 |
JP7294856B2 (ja) * | 2019-04-08 | 2023-06-20 | 川崎重工業株式会社 | ロボット装置 |
CN114700962B (zh) * | 2022-03-22 | 2023-09-29 | 南京航空航天大学 | 一种用于长臂展高空作业复合机器人的末端位姿精度补偿方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06332510A (ja) * | 1993-03-24 | 1994-12-02 | Toyoda Mach Works Ltd | 数値制御装置 |
JP2009066738A (ja) * | 2007-09-18 | 2009-04-02 | Yaskawa Electric Corp | ロボットの教示装置 |
JP2009226552A (ja) * | 2008-03-24 | 2009-10-08 | Nissan Motor Co Ltd | 冗長ロボットの教示方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2585425B2 (ja) * | 1989-05-10 | 1997-02-26 | 株式会社日立製作所 | 垂直多関節形ロボット |
US4999553A (en) * | 1989-12-28 | 1991-03-12 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Method and apparatus for configuration control of redundant robots |
JPH0550386A (ja) * | 1991-08-16 | 1993-03-02 | Fanuc Ltd | 7自由度マニプレータの位置教示方式 |
US5737500A (en) * | 1992-03-11 | 1998-04-07 | California Institute Of Technology | Mobile dexterous siren degree of freedom robot arm with real-time control system |
WO2009059323A1 (en) * | 2007-11-01 | 2009-05-07 | Rimrock Automation, Inc. Dba Wolf Robotics | A method and system for finding a tool center point for a robot using an external camera |
JP5190983B2 (ja) | 2007-11-27 | 2013-04-24 | 株式会社安川電機 | ロボットシステム |
WO2010060475A1 (en) * | 2008-11-26 | 2010-06-03 | Abb Research Ltd. | Industrial robot |
-
2010
- 2010-12-28 JP JP2010293341A patent/JP5701055B2/ja active Active
-
2011
- 2011-12-21 WO PCT/JP2011/007158 patent/WO2012090441A1/ja active Application Filing
- 2011-12-21 US US13/977,272 patent/US9120223B2/en active Active
- 2011-12-21 KR KR1020137009731A patent/KR101498835B1/ko active IP Right Grant
- 2011-12-21 EP EP11854509.4A patent/EP2660013B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06332510A (ja) * | 1993-03-24 | 1994-12-02 | Toyoda Mach Works Ltd | 数値制御装置 |
JP2009066738A (ja) * | 2007-09-18 | 2009-04-02 | Yaskawa Electric Corp | ロボットの教示装置 |
JP2009226552A (ja) * | 2008-03-24 | 2009-10-08 | Nissan Motor Co Ltd | 冗長ロボットの教示方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2660013B1 (en) | 2018-01-31 |
JP2012139762A (ja) | 2012-07-26 |
WO2012090441A1 (ja) | 2012-07-05 |
EP2660013A1 (en) | 2013-11-06 |
JP5701055B2 (ja) | 2015-04-15 |
EP2660013A4 (en) | 2016-10-05 |
KR20130056344A (ko) | 2013-05-29 |
US20130310973A1 (en) | 2013-11-21 |
US9120223B2 (en) | 2015-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101498835B1 (ko) | 7축 다관절 로봇의 제어방법, 제어 프로그램 및 로봇 제어장치 | |
JP5547626B2 (ja) | 7軸多関節ロボットの制御装置および教示方法 | |
JP3207728B2 (ja) | 冗長マニピュレータの制御方法 | |
JP5346217B2 (ja) | 多軸ロボット及びその速度制御装置 | |
CN110774280A (zh) | 机器人*** | |
JP2007136590A (ja) | 冗長関節部を有する冗長ロボットの制御装置および制御方法 | |
JP4396553B2 (ja) | ロボット制御装置,コンピュータプログラム | |
JP2012192518A (ja) | 冗長関節部を有する冗長ロボットの制御装置および制御方法 | |
JP2016221653A (ja) | ロボット制御装置およびロボットシステム | |
JP5803179B2 (ja) | ロボットの制御方法およびロボットの制御装置 | |
JP2019093487A (ja) | ロボットの制御装置及びロボットの逆変換処理方法 | |
JP2021186929A (ja) | 多軸ロボットの制御方法 | |
JP4745921B2 (ja) | 溶接ロボットの制御方法 | |
JP3671694B2 (ja) | ロボットのティーチング方法およびその装置 | |
KR102474838B1 (ko) | 로봇의 교시 장치, 방법 및 시스템 | |
CN113442131B (zh) | 示教方法 | |
JP2019141983A (ja) | ロボット制御装置 | |
WO2024070568A1 (ja) | 多関節ロボットの制御方法、ロボットシステム、プログラム、及び、物品の製造方法 | |
WO2024048286A1 (ja) | 多関節ロボットの制御方法、ロボットシステム、プログラム、及び、物品の製造方法 | |
JP7396829B2 (ja) | ロボット座標系を設定する装置、ロボット制御装置、ロボットシステム、及び方法 | |
JP2005230952A (ja) | 制御方法および制御装置 | |
JP2021130146A (ja) | マニピュレータの制御装置 | |
JP2024035061A (ja) | 多関節ロボットの制御方法、ロボットシステム、プログラム、及び、物品の製造方法 | |
JP2015178157A (ja) | ロボットの制御方法、ロボットの制御装置 | |
CN116887953A (zh) | 弹簧常数校正装置及弹簧常数校正方法以及记录介质 |
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: 20180201 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190129 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20200129 Year of fee payment: 6 |