KR101617750B1 - 로봇 - Google Patents
로봇 Download PDFInfo
- Publication number
- KR101617750B1 KR101617750B1 KR1020140163191A KR20140163191A KR101617750B1 KR 101617750 B1 KR101617750 B1 KR 101617750B1 KR 1020140163191 A KR1020140163191 A KR 1020140163191A KR 20140163191 A KR20140163191 A KR 20140163191A KR 101617750 B1 KR101617750 B1 KR 101617750B1
- Authority
- KR
- South Korea
- Prior art keywords
- point
- work
- tool
- slope
- work tool
- 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/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
- G05B19/425—Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
-
- 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/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- 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
-
- 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/45—Nc applications
- G05B2219/45083—Manipulators, robot
-
- 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/45—Nc applications
- G05B2219/45091—Screwing robot, tighten or loose bolt
-
- 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/02—Arm motion controller
-
- 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/02—Arm motion controller
- Y10S901/03—Teaching system
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
본 발명은, 사면으로부터 연직 방향으로 떨어진 제1 포인트로부터 당해 사면 상의 제2 포인트에 대한 처리를 개시시키는 티칭의 노력을 저감시키면서 높은 정밀도로 달성할 수 있는 로봇을 제공하는 것을 과제로 한다.
이러한 과제를 해결하기 위한 수단으로서, 로봇(1)은, 작업 포인트(Pa)에 대한 작업을 행하는 작업 툴(4)과, 작업 툴(4)을 이동 및 자세 변경시키는 이동 수단(2)을 구비한다. 조작 수단(35)에 의해, 사면 상의 임의의 2점 또는 3점의 좌표 지정의 조작을 접수한다. 이 조작을 접수하면, 연산 수단(553)에 의해, 임의의 2점 또는 3점의 좌표에 의거하여, 작업 툴(4)이 작업 개시 포인트(Pb)로부터 작업 포인트(Pa)에 지향할 방향을 연산한다. 그리고, 제어 수단(53)에 의해, 작업 개시 포인트(Pb)로 작업 툴(4)을 이동시키고, 연산 수단(553)의 연산에 따라서 작업 툴(4)의 자세를 작업 포인트(Pa)에 지향시켜, 작업 툴(4)에 작업 포인트(Pa)에의 처리를 개시시킨다.
이러한 과제를 해결하기 위한 수단으로서, 로봇(1)은, 작업 포인트(Pa)에 대한 작업을 행하는 작업 툴(4)과, 작업 툴(4)을 이동 및 자세 변경시키는 이동 수단(2)을 구비한다. 조작 수단(35)에 의해, 사면 상의 임의의 2점 또는 3점의 좌표 지정의 조작을 접수한다. 이 조작을 접수하면, 연산 수단(553)에 의해, 임의의 2점 또는 3점의 좌표에 의거하여, 작업 툴(4)이 작업 개시 포인트(Pb)로부터 작업 포인트(Pa)에 지향할 방향을 연산한다. 그리고, 제어 수단(53)에 의해, 작업 개시 포인트(Pb)로 작업 툴(4)을 이동시키고, 연산 수단(553)의 연산에 따라서 작업 툴(4)의 자세를 작업 포인트(Pa)에 지향시켜, 작업 툴(4)에 작업 포인트(Pa)에의 처리를 개시시킨다.
Description
본 발명은, 티칭에 의해 포인트 지정되어 동작 가능한 로봇에 관한 것이다.
워크에 대한 나사 조임, 용접, 도장, 워크의 반송, 워크에의 부품의 부착, 솔더링 등의 각종 산업용 로봇은, 예를 들면 수직 다관절형의 이동 수단을 가지며, 컴퓨터에 의한 프로그램 제어 하에서, 이동 수단에 장비된 작업 툴을 소정 포인트로 이동시키고, 소정 자세로 변위시켜 작업 툴을 구동시킨다.
로봇에 대한 제어 프로그램은, SLIM(Standard Language for Industrial Manipulators)이나 수퍼 SEL 언어 등의 각종 로봇 언어에 의해 기술(記述)된다. 프로그래밍은, 키보드나 GUI를 사용한 코드의 입력이나 함수의 호출 등의 컴퓨터 툴과의 대면 처리가 주이지만, 포인트나 자세의 기록에 대해서는 티칭에 의한 경우가 많다.
티칭의 과정에서는, 티칭 기술자가 시뮬레이터, 에뮬레이터 또는 실제상의 로봇을, 컴퓨터 툴 혹은 티칭 펜던트를 사용하여 조작한다. 티칭 기술자는, 작업 툴을 원하는 포인트로 JOG 이동시키고, 또한 작업 툴에 원하는 자세를 취하게 하여, 그 포인트 및 자세를 포인트 데이터로서 기록시킨다. 포인트 데이터는 프로그램의 실행 시에 호출된다. 이 과정에서, 로봇의 컨트롤러는, 예를 들면 로봇 언어가 SLIM 준거이면, 이동 수단의 움직임을 추적하여, 포인트의 XYZ 좌표나 작업 툴의 자세를 나타내는 2축 등의 각 회전 각도를 해석하여, Move 명령 등에 부대(付帶)시키는 변수에 관련지어서 해석 결과를 기록한다.
예를 들면, 나사 조임 작업의 로봇의 경우, 티칭 기술자는, 착좌점(着座点)에 대한 연직 방향에 적어도 나사 조임 길이만큼 떨어진 나사 조임 개시 포인트를 티칭한다. 티칭 기술자는, 착좌점을 기준으로 육안에 의해 작업 툴을 XYZ축 방향으로의 이동, 수평면에 평행인 회전 및 수직면에 평행인 회전을 시키면서 나사 조임 개시 포인트에 맞춘다.
착좌점이 워크의 수평면에 존재할 경우, 티칭 기술자는 작업 툴의 수평면 이동에 최대의 주의를 기울이면 된다. 높이 방향 및 작업 툴의 자세에 대해서는 수치에 합치한 단순 조작으로 충분하다. 예를 들면, +Z 방향 버튼의 누름을 1회하면 1㎜만큼만 작업 툴이 상승할 경우, 나사 조임 길이가 9㎜이면, 착좌점에 작업 툴을 위치시키고 나서 9회분의 +Z 방향 버튼을 누름으로써 높이 방향의 지정이 완료되고, 수직면에 평행인 회전 각도에 대해서는 작업 툴을 직하(直下) 등의 초기값으로 복귀시키면 충분하다.
따라서, 나사 조임 개시 포인트는, 그 자체를 나타내는 표식이 없는 공중에 존재하지만, 그 티칭은 비교적 용이하게 높은 정밀도로 지정할 수 있었다. 나사 조임에 한하지 않고, 작업 포인트와 작업 툴을 위치시키는 포인트가 다르며, 작업 툴을 위치시키는 포인트가 명확한 표식이 없는 공중에 존재하는 경우가 있지만, 그 경우이더라도, 작업 포인트가 수평면이나 수직면에 존재할 경우는, 그 티칭은 비교적 용이하고 높은 정밀도를 달성할 수 있었다.
최근, 각종 경사각의 사면(斜面)이 각종 방위각을 향한 다면적인 입체 워크에 대하여, 로봇에 의해 나사 조임 등의 작업을 행하는 요구가 높아지고 있다. 프로그래밍 시에는, 사면에 갖는 나사 조임 포인트 등의 작업 포인트로부터 연직인 방향으로 나사 조임 길이만큼 등의 적정 거리 떨어진 위치에서, 나사 조임 개시 포인트 등의 작업 툴을 작업 포인트에 지향시키는 티칭이 필요해진다.
이 티칭에서는, 작업 툴을 작업 포인트에 정밀하게 지향시키기 위하여, 육안에 의해 워크의 사면을 계측하고, 작업 툴과 작업 포인트를 결부시키며, 또한 사면과 연직인 가상선을 적확하게 이미징해야만 한다. 또한, 작업 툴과 작업 포인트의 거리를 적정화하기 위해, 삼각 함수 등의 수학적 방법을 구사하면서, XYZ 각 축의 이동량을 적확하게 파악해야만 한다.
또한, 작업 툴의 자세 결정 및 위치 결정의 티칭은 일체적이며 서로 영향을 미친다. 예를 들면, 거리가 적정화되어도, 자세 변경을 위하여 작업 툴을 모터 축 중심으로 회전시키면, 적정화되었어야 할 거리가 변화하게 된다.
이 티칭의 작업에 있어서 작업 툴의 적확한 위치는 교시(敎示)하되, 적확한 자세를 교시할 수 없으면, 나사의 각도가 착좌점과 미묘하게 어긋나거나 나사 조임량이 부족하거나 해서, 나사 조임의 정확도에 영향을 미치는 등, 로봇의 작업에 대한 품질에 영향을 미친다. 따라서, 작업 포인트가 사면에 존재하면, 티칭 기술자에게 있어서는 매우 끈기가 필요한 티칭 작업이 되어 버린다.
본 발명은, 상기와 같은 종래기술의 문제점을 해결하기 위하여 제안된 것이며, 사면으로부터 연직 방향으로 떨어진 제1 포인트로부터 당해 사면 상의 제2 포인트에 대한 처리를 개시시키는 티칭의 노력을 저감시키면서 높은 정밀도로 달성할 수 있는 로봇을 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른 로봇은, 사면으로부터 연직 방향으로 떨어진 제1 포인트로부터 당해 사면 상의 제2 포인트에 대한 처리를 개시하는 로봇으로서, 상기 제2 포인트에 대한 작업을 행하는 작업 툴과, 상기 작업 툴을 이동 및 자세 변경시키는 이동 수단과, 상기 사면 상의 임의의 2점 또는 3점의 좌표 지정의 조작을 접수하는 조작 수단과, 상기 임의의 2점 또는 3점의 좌표에 의거하여, 상기 작업 툴이 상기 제1 포인트로부터 상기 제2 포인트에 지향할 방향을 연산하는 연산 수단과, 적어도 상기 제1 포인트로 상기 작업 툴을 이동시키고, 상기 연산 수단의 연산에 따라서 상기 작업 툴의 자세를 상기 제2 포인트에 지향시켜, 상기 작업 툴에 상기 제1 포인트에의 처리를 개시시키는 제어 수단을 구비하는 것을 특징으로 한다.
상기 제1 포인트와 상기 제2 포인트의 이간 거리를 기억하는 데이터 기억 수단을 구비하고, 상기 조작 수단은, 상기 사면 상의 제2 포인트의 좌표 지정의 조작을 접수하고, 상기 제2 포인트의 좌표, 상기 임의의 2점 또는 3점의 좌표 및 상기 이간 거리에 의거하여, 상기 제1 포인트의 좌표를 연산하고, 상기 제어 수단은, 상기 연산 수단의 연산 결과에 따라서 상기 작업 툴을 상기 제1 포인트로 이동시키도록 해도 된다.
상기 작업 툴의 각 포인트에 대해서 명령을 관련짓는 기술 양식의 제어 프로그램을 기억하는 기억 수단을 구비하고, 상기 제어 수단은, 상기 기억 수단의 제어 프로그램이 나타내는 각 포인트에 관련하여, 상기 명령을 호출해서 상기 이동 수단과 상기 작업 툴을 제어하도록 해도 된다.
상기 기억 수단은, 상기 제2 포인트에 대해서, 상기 제1 포인트의 좌표를 연산하는 연산 명령과, 상기 연산 명령에 의해 얻어지는 상기 제1 포인트의 좌표로 상기 작업 툴을 이동시키는 이동 명령(634)과, 상기 작업 툴의 동작 명령을 관련지은 상기 제어 프로그램을 기억하도록 해도 된다.
상기 제어 수단은, 티칭 모드 시에, 상기 조작 수단이 접수한 조작에 따라서, 상기 연산 수단이 연산한 방향의 순방향 및 역방향으로 상기 작업 툴을 이동시키도록 해도 된다.
상기 제어 수단은, 티칭 모드 시에, 상기 조작 수단이 접수한 조작에 따라서, 상기 연산 수단이 연산한 방향과 직교하는 상기 사면을 따라 상기 작업 툴을 이동시키도록 해도 된다.
상기 조작 수단은, 티칭 모드 시에, 상기 연산 수단이 연산한 방향을 일축으로 하는 직교 좌표계로 전환하는 전환 수단을 포함하고, 상기 제어 수단은, 티칭 모드 시에, 상기 전환 수단의 상기 직교 좌표계에의 전환에 의하여, 상기 연산 수단이 연산한 방향을 일축으로 하는 직교 좌표계로 상기 조작 수단의 조작을 접수하도록 해도 된다.
상기 제어 수단은, 상기 티칭 모드 시에, 상기 전환 수단의 상기 직교 좌표계에의 전환에 의하여, 상기 조작 수단의 조작에 따라서, 상기 작업 툴의 선단을 중심으로 하여 상기 작업 툴을 회전시키도록 해도 된다.
상기 작업 툴은, 전동(電動)의 나사 조임 드라이버이고, 상기 제2 포인트는, 나사의 착좌점이고, 상기 제1 포인트는, 나사 조임 개시 시에 상기 나사 조임 드라이버를 존재시키는 위치이도록 해도 된다.
상기 제1 포인트는, 나사 조임 길이에 미리 세팅된 버퍼분과 가압량을 더한 거리만큼, 상기 제2 포인트로부터 사면 연직 방향으로 떨어진 위치이도록 해도 된다.
본 발명에 따르면, 작업 포인트가 사면에 위치해 있어도, 그 작업 포인트에 대해서 작업 툴을 위치시키는 작업 개시 포인트의 지정에 드는 노력을 저감할 수 있으며, 작업 포인트에 대한 작업의 정확도도 향상된다.
도 1은 본 발명의 제1 실시형태에 따른 로봇의 전체 구성도.
도 2는 본 발명의 제1 실시형태에 따른 작업 툴을 나타내는 확대도.
도 3은 본 발명의 제1 실시형태에 따른 컨트롤러의 구성도.
도 4는 본 발명의 제1 실시형태에 따른 컨트롤러의 운전 모드에 있어서의 기능 블록도.
도 5는 본 발명의 제1 실시형태에 따른 컨트롤러의 프로그래밍 모드에 있어서의 기능 블록도.
도 6은 본 발명의 제1 실시형태에 따른 티칭 펜던트를 나타내는 모식도.
도 7은 본 발명의 제1 실시형태에 따른 나사 조임에 필요한 파라미터를 나타내는 설명도.
도 8은 본 발명의 제1 실시형태에 따른 사면 및 그 주위에 설정되는 각 특징을 나타내는 모식도.
도 9는 본 발명의 제1 실시형태에 따른 로봇의 작업 개시 포인트(Pb)의 등록 동작을 나타내는 플로차트.
도 10은 본 발명의 제1 실시형태에 따른 로봇의 나사 조임 동작을 나타내는 플로차트.
도 11은 본 발명의 제2 실시형태에 따른 워크의 모식도.
도 12는 본 발명의 제3 실시형태에 따른 제어 프로그램을 나타내는 구조도.
도 13은 본 발명의 제3 실시형태에 따른 컨트롤러의 기능 블록도.
도 14는 본 발명의 제4 실시형태에 따른 제어 프로그램의 작업 명령을 나타내는 구조도.
도 15는 제어 프로그램의 구조에 관한 것이며, (a)는 제3 실시형태에 따른 제어 프로그램, (b)는 제4 실시형태에 따른 제어 프로그램을 나타내는 도면.
도 16은 본 발명의 제5 실시형태에 따른 작업 툴의 이동 방향을 나타내는 모식도.
도 17은 본 발명의 제6 실시형태에 따른 작업 툴의 회전 및 이동을 나타내는 모식도.
도 2는 본 발명의 제1 실시형태에 따른 작업 툴을 나타내는 확대도.
도 3은 본 발명의 제1 실시형태에 따른 컨트롤러의 구성도.
도 4는 본 발명의 제1 실시형태에 따른 컨트롤러의 운전 모드에 있어서의 기능 블록도.
도 5는 본 발명의 제1 실시형태에 따른 컨트롤러의 프로그래밍 모드에 있어서의 기능 블록도.
도 6은 본 발명의 제1 실시형태에 따른 티칭 펜던트를 나타내는 모식도.
도 7은 본 발명의 제1 실시형태에 따른 나사 조임에 필요한 파라미터를 나타내는 설명도.
도 8은 본 발명의 제1 실시형태에 따른 사면 및 그 주위에 설정되는 각 특징을 나타내는 모식도.
도 9는 본 발명의 제1 실시형태에 따른 로봇의 작업 개시 포인트(Pb)의 등록 동작을 나타내는 플로차트.
도 10은 본 발명의 제1 실시형태에 따른 로봇의 나사 조임 동작을 나타내는 플로차트.
도 11은 본 발명의 제2 실시형태에 따른 워크의 모식도.
도 12는 본 발명의 제3 실시형태에 따른 제어 프로그램을 나타내는 구조도.
도 13은 본 발명의 제3 실시형태에 따른 컨트롤러의 기능 블록도.
도 14는 본 발명의 제4 실시형태에 따른 제어 프로그램의 작업 명령을 나타내는 구조도.
도 15는 제어 프로그램의 구조에 관한 것이며, (a)는 제3 실시형태에 따른 제어 프로그램, (b)는 제4 실시형태에 따른 제어 프로그램을 나타내는 도면.
도 16은 본 발명의 제5 실시형태에 따른 작업 툴의 이동 방향을 나타내는 모식도.
도 17은 본 발명의 제6 실시형태에 따른 작업 툴의 회전 및 이동을 나타내는 모식도.
(제1 실시형태)
이하, 본 발명에 따른 로봇(1)의 제1 실시형태에 대하여 도면을 참조하면서 상세히 설명한다. 도 1은 본 실시형태의 로봇(1)의 전체 구성도이다. 도 2는 작업 툴(4)을 나타내는 확대도이며, (a)는 직상(直上)으로부터 XY 평면 방향의 평면도, (b)는 직횡(直橫)으로부터 XZ 평면 방향의 측면도이다. 도 1에 나타내는 바와 같이, 로봇(1)은, 크게 나눠서 이동 수단(2)과 컨트롤러(3)를 구비하며, 워크의 사면(Pc)에 존재하는 작업 포인트(Pa)에 대한 작업을 작업 개시 포인트(Pb)로부터 개시한다. 이동 수단(2)에는 작업 툴(4)이 장착된다. 이동 수단(2)은, 지정된 포인트에 작업 툴(4)이 위치하여, 지정된 자세를 작업 툴(4)이 취하도록, 작업 툴(4)을 X 방향, Y 방향 및 Z 방향으로 이동시키고, 작업 툴(4)을 방위각(φ)을 변화시키는 R 회전 및 받음각(θ)을 변화시키는 P 회전시킨다.
작업 포인트(Pa)는 작업 툴(4)에 의해 작업이 실시되는 개소이다. 작업 개시 포인트(Pb)는 작업 툴(4)을 위치시켜서 작업 포인트(Pa)에 대한 작업을 개시시키는 개소이다. 작업 툴(4)은, 예를 들면 전동의 나사 조임 드라이버, 용접기, 도장 건, 핸들러 등이며 로봇(1)의 작업 내용에 따른다. X축 방향은 수평면과 평행인 일축 방향, Y축 방향은 수평면과 평행이며 X축과 직교하는 타축 방향, Z축 방향은 높이 방향이다. R 회전은 수평을 유지한 방위각(φ)을 변동시키는 회전이고, P 회전은 수직을 유지한 받음각(θ)을 변동시키는 회전이다.
이 이동 수단(2)은, 작업 툴(4)을 X축 방향으로 이동시키는 X 리니어 슬라이더(21), 작업 툴(4)을 Y축 방향으로 이동시키는 Y 리니어 슬라이더(22), 작업 툴(4)을 Z축 방향으로 리니어로 이동시키며, 또한 작업 툴(4)을 R 회전시키는 ZR 기구(23), 및 작업 툴(4)을 P 회전시키는 P 회전 기구(24)를 구비한다.
X 리니어 슬라이더(21)는, X축 방향으로 연장 설치된 레일 상에 Y 리니어 슬라이더(22)를 슬라이딩 설치하고, X축 방향으로 주행하는 무단 벨트에 Y 리니어 슬라이더(22)를 직교시켜서 고정하여 이루어지며, 무단 벨트를 X축 모터에 의해 주행시켜, Y 리니어 슬라이더(22)를 X축을 따라서 이동시킨다.
Y 리니어 슬라이더(22)는, Y축 방향으로 연장 설치된 레일 상에 ZR 기구(23)를 슬라이딩 설치하고, Y축 방향으로 주행하는 무단 벨트에 ZR 기구(23)를 고정하여 이루어지며, 무단 벨트를 Y축 모터에 의해 주행시켜, ZR 기구(23)를 Y축을 따라서 이동시킨다. X 리니어 슬라이더(21) 및 Y 리니어 슬라이더(22)의 전동(傳動) 기구로서는, 무단 벨트 외에도 실린더, 리드 스크류 등의 각종 액추에이터를 들 수 있다.
ZR 기구(23)는, 예를 들면 래크 앤드 피니언 기구를 가지며, 래크를 Z축 방향으로 연장 설치하고, 당해 래크에 R 회전축(231)을 회전 가능하게 유지하는 베어링을 고정하여 이루어진다. Z축 모터에 의해 피니언을 회전시킴으로써, 베어링과 함께 R 회전축(231)을 Z축 방향으로 이동시키고, R 회전 모터를 회전시킴으로써, R 회전축(231)을 R 회전시킨다. 이 ZR 기구(23)에 의해 작업 툴(4)은 Z축 방향의 이동과 방위각(φ)을 변경하는 R 회전을 행한다.
P 회전 기구(24)는, R 회전축(231)의 끝에 브래킷을 개재하여 부착되어 있고, P 회전축(241)을 가지며, P 회전축(241)의 끝에 작업 툴(4)을 장착하고 있다. 브래킷은 R 회전축(231)에 고정되며 R 회전축(231)과 종동(從動)한다. P 회전축(241)은 브래킷을 베어링으로 하여 수평 방향으로 연장 설치되며 P 회전 모터에 접속되어 있다. 이 P 회전 기구(24)에 의해 작업 툴(4)은 받음각(θ)을 변경하는 P 회전을 행한다.
도 3은 컨트롤러(3)의 구성도이다. 컨트롤러(3)는, 소위 컴퓨터이며, 프로그램에 따라서 연산 처리 및 주변 기기에 지령 신호를 출력하는 CPU(31)와, HDD 등의 프로그램을 기억하는 스토리지(32)와, 프로그램이 전개되며 CPU(31)의 연산 결과가 일시 기억되는 메모리(33)와, 주변 기기로 구성된다. 주변 기기는, 지령 신호에 따라서 각 모터에 전력 펄스를 공급하는 모터 드라이버(34), 및 액정 디스플레이 등의 표시부(352), 및 마우스나 키보드나 티칭 펜던트(351) 등의 조작 수단(35)이다.
이 컨트롤러(3)는, 이동 수단(2) 및 작업 툴(4)의 제어 프로그램(321)에 따르는 운전 모드와, 이동 수단(2) 및 작업 툴(4)의 제어 프로그램(321) 및 작업 포인트(Pa)나 작업 개시 포인트(Pb)의 포인트 데이터(322)를 입력하는 프로그래밍 모드를 갖는다. 포인트 데이터(322)는, 작업 개시 포인트(Pb)나 작업 포인트(Pa)의 XYZ의 좌표 위치와 R 회전의 방위각(φ)과 P 회전의 받음각(θ)을 포함해서 이루어진다. 프로그래밍 모드에는 티칭 모드가 포함되어 있다.
도 4는 컨트롤러(3)의 기능을 나타내는 기능 블록도이다. 운전 모드의 경우, 스토리지(32) 또는 메모리(33)는 제어 프로그램(321)을 기억하는 프로그램 기억부(51), 및 포인트 데이터(322)를 기억하는 포인트 데이터 기억부(52)로 이루어지며, CPU(31)는, 제어 수단(53)으로서, 포인트 데이터 기억부(52)에 기억된 포인트 데이터(322)를 적절히 판독하여, 프로그램 기억부(51)에 기억된 제어 프로그램(321)에 따라서, 연산 처리 및 주변 기기에 지령 신호를 출력한다.
예를 들면 SLIM 언어의 제어 프로그램(321)은, MOVE 명령, 작업 툴(4)의 구동 명령, 제어문(制御文) 등의 명령을 주체로 하여 기술된다. 포인트 데이터 기억부(52)에는 포인트 데이터(322)가 포인트 식별 정보에 관련지어져 기억되어 있다. CPU(31)는, 제어 프로그램(321)에 따라, MOVE 명령에 대해서는, MOVE 명령에 부대(付帶)하는 포인트 식별 정보에 대응해서 포인트 데이터(322)를 판독하여, 포인트 데이터(322)가 나타내는 위치 및 자세로 작업 툴(4)을 움직인다. 즉, 제어 프로그램(321)에 따르는 CPU(31)는, 작업 툴(4)을 이동 및 자세 변위시켜, 작업 툴(4)을 작업시키는 제어 수단(53)이다.
프로그래밍 모드의 경우, CPU(31)는, 도 5에 나타내는 바와 같이, 제어 프로그램 생성 수단(54) 및 포인트 데이터 생성 수단(55)이다. 제어 프로그램 생성 수단(54)은, 티칭 펜던트(351)나 마우스나 키보드 등의 조작 수단(35)에의 입력에 따라서, 제어 프로그램(321)의 코드를 추가, 삭제, 또는 수정 등 하여 제어 프로그램(321)을 편집한다.
포인트 데이터 생성 수단(55)은, 티칭 모드에 있어서, 포인트 및 자세를 연산하여 포인트 데이터 기억부(52)에 기억시킨다. 이 포인트 데이터 생성 수단(55)은, JOG 제어 수단(551), 가이던스 수단(552) 및 연산 수단(553)을 구비한다. JOG 제어 수단(551)은, 티칭 펜던트(351)의 조작에 응답해서 이동 수단(2)을 제어하여 작업 툴(4)을 이동 및 자세 변위시킨다.
도 6은 티칭 펜던트(351)를 나타내는 모식도이다. 도 6에 나타내는 바와 같이, 티칭 펜던트(351)에는, +X 방향으로 1㎜ 등의 소정 거리 이동시키기 위한 버튼, -X 방향으로 1㎜ 등의 소정 거리 이동시키기 위한 버튼, +Y 방향으로 1㎜ 등의 소정 거리 이동시키기 위한 버튼, -Y 방향으로 1㎜ 등의 소정 거리 이동시키기 위한 버튼, +Z 방향으로 1㎜ 등의 소정 거리 이동시키기 위한 버튼, -Z 방향으로 1㎜ 등의 소정 거리 이동시키기 위한 버튼이 준비되어 있다.
또한 티칭 펜던트(351)에는, 수평에 순방향으로 방위각(φ)을 1도 등의 소정 각도만큼 R 회전시키기 위한 버튼, 수평에 역방향으로 방위각(φ)을 1도 등의 소정 각도만큼 R 회전시키기 위한 버튼, 수직에 순방향으로 받음각(θ)을 1도 등의 소정 각도만큼 P 회전시키기 위한 버튼, 수직에 역방향으로 받음각(θ)을 1도 등의 소정 각도만큼 P 회전시키기 위한 버튼이 준비되어 있다.
예를 들면, +X 방향으로 1㎜ 등의 소정 거리 이동시키기 위한 버튼이 한번 눌리면, 당해 버튼이 눌린 것을 나타내는 입력 신호가 티칭 펜던트(351)로부터 발생하여 CPU(31)에 입력된다. CPU(31)는, JOG 제어 수단(551)으로서, 이 입력 신호를 받아서, 1㎜ 등의 소정 거리에 합치한 모터의 회전각을 산출하여, 그 산출한 회전각을 나타내는 지령 신호를 모터 드라이버(34)에 출력한다. 모터 드라이버(34)는, 지령 신호를 받아서, 회전각을 펄스 신호로 변환하여, X 리니어 슬라이더(21)의 X축 모터에 공급한다.
가이던스 수단(552)은, 포인트 및 자세를 연산하기 위하여 필요한 정보가 입력되도록 티칭 기술자를 유도한다. CPU(31)는, 가이던스 수단(552)으로서, 티칭 펜던트(351)의 표시부(352)에, 작업 포인트(Pa)가 존재하는 사면(Pc) 상의 작업 포인트(Pa)와 임의의 3점을 지정하는 JOG 조작을 촉구하는 메시지와, 작업 툴(4)과 작업 포인트(Pa)를 떨어뜨리는 이간 거리를 결정하기 위한 입력 조작을 촉구하는 메시지를 표시시킨다. 또, 임의의 3점에는 작업 포인트(Pa)도 포함할 수 있다.
나사 조임 작업의 경우, 표시부(352)에 나사 조임 길이와 가압량을 입력하는 에어리어를 표시시킨다. 가압량은 나사를 회전시키지 않고 착좌점의 나사 구멍에 나사를 찔러넣는 길이이다. 나사 조임 길이는, 호칭 길이(nominal length)로부터 가압량을 뺀 길이이며, 나사를 회전시키면서 착좌점의 나사 구멍에 삽입하는 길이이다.
도 7은 그 밖에 나사 조임에 관하여 입력 가능한 정보를 나타내고 있다. 도 7에 나타내는 바와 같이, 나사 조임에 관해서는, 직선 이송량, 이송 속도, 나사 조임 완료 대기 시간, 나사 조임 후 복귀량, 복귀 속도가 입력된다. 직선 이송량은 나사 길이와 가압량에 버퍼분을 더한 거리이다. 나사 조임 완료 대기 시간은 나사 조임이 완료된 것을 나타내는 신호를 기다리는 타임아웃 시간이다. 나사 조임 후 복귀량은 나사를 작업 툴(4)의 드라이버로부터 이탈시키기 위하여, 작업 툴을 후퇴시키는 거리이다.
티칭 기술자는, 표시에 따라서 티칭 펜던트(351)를 조작하여, 도 8에 나타내는 바와 같이, 사면(Pc) 상의 작업 포인트(Pa)와 임의의 3점(Q1, Q2, Q3)에 작업 툴(4)의 선단을 접촉시키면 된다. 또한, 티칭 기술자는, 표시에 따라서 키보드나 티칭 포인트의 숫자키를 조작하여, 나사 조임 길이와 가압량을 입력하면 된다.
연산 수단(553)으로서의 CPU(31)는, 작업 포인트(Pa)가 존재하는 사면(Pc)과 연직인 방향을 임의의 3점(Q1, Q2, Q3)의 좌표로부터 연산한다. 도 8에 나타내는 바와 같이, 이 연직인 방향은 R 회전의 방위각(φ)과 P 회전의 받음각(θ)으로서 연산된다. 그리고, R 회전의 방위각(φ)과 P 회전의 받음각(θ)을, 작업 툴(4)의 자세로서 포인트 데이터(322)에 포함시켜 포인트 데이터 기억부(52)에 기억시킨다.
또한, 도 8에 나타내는 바와 같이, 연산 수단(553)으로서의 CPU(31)는, 작업 툴(4)과 작업 포인트(Pa)를 떨어뜨리는 이간 거리(L), 사면(Pc)과 연직인 방향, 및 작업 포인트(Pa)의 좌표로부터, 작업 개시 포인트(Pb)의 좌표를 연산한다. 그리고, 작업 개시 포인트(Pb)의 좌표를 포인트 데이터(322)에 포함시켜 포인트 데이터 기억부(52)에 기억시킨다.
연산 수단(553)의 연직 방향의 산출 및 작업 개시 포인트(Pb)의 위치 좌표의 산출 방법에 대하여 설명한다. 연직 방향의 산출에 대해서는, 사면(Pc)과 동일 평면의 방정식을 구하고, 그 방정식이 나타내는 평면과 직교하는 직선을 구하면 된다. 사면(Pc)의 방정식은, 벡터의 외적(外積)과 법선 벡터를 사용하는 방법, 연립 방정식을 푸는 방법, 벡터 방정식을 푸는 방법 등의 어느 것을 사용해도 된다. 본 실시형태에서는 연립 방정식을 푸는 방법에 대하여 설명한다.
직교하는 직선은, 사면(Pc)의 방정식이 나타내는 평면과 XY 평면의 교차선의 기울기, 당해 평면과 XY 평면이 이루는 각도를 도출하는 방법, 및 사면(Pc)의 방정식 중의 임의의 3점(Q1, Q2, Q3)이 만드는 2개의 벡터와 직교하는 벡터를 도출하는 방법 등의 어느 것을 사용해도 된다. 본 실시형태에서는 전자에 대하여 설명한다.
우선, 도 8에 나타내는 바와 같이, 사면(Pc) 상의 직선상에 없는 적당한 3점을 지시한다. 이 3점은 1개의 직선으로 늘어서지 않으면 임의여도 된다. 이 3점의 좌표를 Q1(X1, Y1, Z1), Q2(X2, Y2, Z2), Q3(X3, Y3, Z3)으로 한다. 사면(Pc)의 방정식은, 이 3점 Q1(X1, Y1, Z1), Q2(X2, Y2, Z2), Q3(X3, Y3, Z3)을 지나는 평면의 방정식을 구한다.
사면(Pc)과 동일 평면의 방정식을 이하 식(1)로 한다.
AX+BY+CZ+D=0 …(1)
3점(Q1, Q1, Q3)은, 이 사면(Pc) 상에 존재하므로, 위 식(1)의 XYZ에 Q1, Q2, Q3의 좌표를 입력하여, 이하 식(2) 내지 (4)의 연립 방정식을 도출한다.
AX1+BY1+CZ1+D=0 …(2)
AX2+BY2+CZ2+D=0 …(3)
AX3+BY3+CZ3+D=0 …(4)
여기에서, D를 상수로 한 뒤 식(1) 내지 (4)의 식을 연립시키고, A, B, C, D에 대하여 풀면, 이하 식(5) 내지 (8)로 된다.
A=+Y1*Z2-Y1*Z3-Y2*Z1+Y2*Z3+Y3*Z1-Y3*Z2 …(5)
B=-X1*Z2+X1*Z3+X2*Z1-X2*Z3-X3*Z1+X3*Z2 …(6)
C=+X1*Y2-X1*Y3-X2*Y1+X2*Y3+X3*Y1-X3*Y2 …(7)
D=-X1*Y2*Z3+X1*Y3*Z2+X2*Y1*Z3-X2*Y3*Z1-X3*Y1*Z2+X3*Y2*Z1 …(8)
사면(Pc)과 평행이며 원점을 통과하는 평면은 D=0이므로, 이 평면이 XY 평면과 공차하여 만들어지는 직선은 Z=0인 XY 평면과 연립시켜서, 이하 식(9)로 된다.
Y=-(A/B)X …(9)
이 직선과 X축이 이루는 각을 α로 하면, 이하의 식(10)이 도출된다.
tan(α)=-(A/B) …(10)
또한, 사면(Pc)과 평행인 평면과 XY 평면이 이루는 각을 β로 하면, 공식으로부터 이하의 식(11)이 도출된다.
cos(β)=±C/sqrt(A2+B2+C2) …(11)
이 각도(α)가, 사면(Pc)과 연직 방향으로 작업 툴(4)을 지향시키기 위한 R 회전축(231)의 방위각(φ)으로 된다. 또한, 이 각도(β)가, 사면(Pc)과 연직 방향으로 작업 툴(4)을 지향시키기 위한 P 회전축(241)의 받음각(θ)으로 된다. 연산 수단(553)은, 이 연산 결과인 각도(α)와 각도(θ)를 R 회전축(231)의 방위각(φ)과 P 회전축(241)의 받음각(θ)으로서, 작업 개시 포인트(Pb)의 포인트 데이터(322)에 포함시켜 포인트 데이터 기억부(52)에 기억시킨다.
또한, 작업 개시 포인트(Pb)의 좌표 XYZ는, 작업 포인트(Pa)를 기준으로, 이하 식(12) 내지 (14)를 연산하여 구한다. 식 중, L은, 작업 포인트(Pa)로부터 떨어뜨리는 이간 거리이다. 연산 수단(553)은, 예를 들면 나사가 사면(Pc)을 긁지 않도록, 입력된 나사 조임 길이(La)에 미리 세팅된 버퍼분(Lb)와 가압량(Lc)를 더한 값(La+Lb+Lc)을 이간 거리로서 연산해 둔다.
Xa=L*sin(θ)*sin(φ) …(12)
Ya=L*sin(θ)*cos(φ) …(13)
Za=L*cos(θ) …(14)
연산 수단(553)은, 이 Xa, Ya, Za의 값을 작업 개시 포인트(Pb)의 포인트 데이터(322)에 포함시켜 포인트 데이터 기억부(52)에 기억시킨다.
이 로봇(1)의 동작에 대하여, 사면(Pc) 상의 착좌점인 작업 포인트(Pa)에 대한 작업 개시 포인트(Pb)인 나사 조임 개시 포인트를 입력하는 동작을 예로 설명한다. 도 9는 작업 개시 포인트(Pb)의 입력 동작을 나타내는 플로차트이다.
우선, 티칭 기술자에 의해 티칭 펜던트(351)가 조작되어, 컨트롤러(3)의 기능이 프로그래밍 모드(스텝 S01) 및 티칭 모드로 전환된다(스텝 S02).
티칭 모드에 있어서, 제어 수단(53)은, 티칭 펜던트(351)가 조작되면, 조작에 따라서 이동 수단(2)을 이동시키고, 조작에 따라서 사면(Pc) 상의 임의의 3점에 작업 툴(4)을 순차 접촉시킨다(스텝 S03). 이때, 제어 수단(53)은, 작업 툴(4)의 XYZ축 방향의 움직임량을 인코더 등에 의해 해석하여, 임의의 3점의 좌표 정보를 메모리(33)에 기억시켜 둔다.
사면(Pc) 상의 3점의 좌표 정보가 해석되면, 연산 수단(553)은, 3점의 좌표 정보로부터 사면(Pc)과 연직인 방향을 나타내는 방위각(φ)과 받음각(θ)의 성분을 연산한다(스텝 S04). 연산 결과인 방위각(φ)과 받음각(θ)은, 나사 조임 개시 포인트로서 선언해 둔 변수명으로 표시되는 포인트 데이터(322) 내에 자세 정보로서 기록된다(스텝 S05).
또한, 연산 수단(553)은, 티칭 펜던트(351)가 조작되어 나사 조임 길이와 가압량이 입력되면(스텝 S06), 나사 조임 길이와 가압량의 정보를 메모리(33)에 기억시켜 둔다.
또한, 제어 수단(53)은, 티칭 펜던트(351)가 조작되면, 조작에 따라서 이동 수단(2)을 이동시키고, 조작에 따라서 사면(Pc) 상의 착좌점에 작업 툴(4)을 위치시킨다(스텝 S07). 이때, 제어 수단(53)은, 작업 툴(4)의 XYZ축 방향의 움직임량을 인코더에 의해 해석하여, 착좌점의 좌표 정보를 메모리(33)에 기억시켜 둔다(스텝 S08).
그리고, 연산 수단(553)은, 나사 조임 길이에 버퍼분을 더한 길이, 나사의 착좌점을 나타내는 좌표 정보, 사면(Pc)과 연직인 방향을 나타내는 방위각(φ)과 받음각(θ)에 의해, 나사 조임 개시 포인트의 좌표를 연산한다(스텝 S09). 연산 결과인 나사 조임 개시 포인트의 좌표는, 나사 조임 개시 포인트로서 선언된 변수명으로 표시되는 포인트 데이터(322)에 기록된다(스텝 S10).
이상에 의해, 사면(Pc) 상의 착좌점에 나사 조임할 때의 나사 조임 개시 포인트의 좌표와 작업 툴(4)의 자세가 포인트 데이터(322)로서 기록된다. 이렇게, 작업 툴(4)과 이동 수단(2)과 컨트롤러(3)를 구비하는 로봇(1)은, 티칭 모드 시에, 사면(Pc) 상의 임의의 3점의 좌표 지정의 조작을 접수하는 조작 수단(35)과, 임의의 3점의 좌표에 의거하여, 작업 개시 포인트(Pb)로부터 작업 포인트(Pa)에 지향하는 방향을 연산하는 연산 수단(553)을 구비하고, 적어도 작업 포인트(Pa)로 작업 툴(4)을 이동시키고, 연산 수단(553)의 연산에 따라서 작업 툴(4)의 자세를 작업 포인트(Pa)에 지향시켜, 작업 툴(4)에 작업 포인트(Pa)에의 처리를 개시시키도록 했다.
이에 따라, 작업 툴(4)을 작업 포인트(Pa)에 지향시키기 위하여, 사면(Pc)과 작업 툴(4)을 비교해 보면서 시행 착오하는 티칭이 필요없이, 사면(Pc) 상의 임의의 3점을 지정하는 것만으로, 작업 툴(4)을 작업 포인트(Pa)에 정밀하게 지향시킬 수 있다. 즉, 작업 툴(4)의 자세를 직접 지정하는 티칭을 배제할 수 있어, 티칭 기술자의 노력을 저감시킴과 함께, 작업 포인트(Pa)에 대한 작업의 정확도도 향상시킨다.
또한, 이 로봇(1)에서는, 작업 개시 포인트(Pb)와 작업 포인트(Pa)의 이간 거리를 기억해 두고, 사면(Pc) 상의 작업 포인트(Pa)의 좌표 교시의 조작을 조작 수단(35)에 의해 접수하면, 작업 포인트(Pa)의 좌표, 임의의 3점의 좌표 및 이간 거리에 의거하여, 작업 개시 포인트(Pb)의 좌표를 연산하도록 했다.
이에 따라, 작업 툴(4)이 작업 포인트(Pa)와 연직인 위치에 소정 거리만큼 떨어진 포인트를 탐색하기 때문에, 작업 포인트(Pa)와 작업 툴(4)을 비교해 보면서 시행 착오하는 티칭이 필요없이, 명쾌한 작업 포인트(Pa)를 지정하고, 이간 거리를 수치 입력하는 것만으로 된다. 즉, 작업 개시 포인트(Pb)를 직접 지정하는 티칭을 배제할 수 있으며, 또한 작업 포인트(Pa)에 대해서 작업 툴(4)을 정밀하게 연직 방향에 위치시켜, 적확한 거리만큼 떨어뜨릴 수 있기 때문에, 티칭 기술자의 노력을 저감시킴과 함께, 작업 포인트(Pa)에 대한 작업의 정확도도 향상시킨다.
다음으로, 이 로봇(1)의 제어 프로그램(321)에 따른 나사 조임 동작에 대하여 설명한다. 도 10은 이 로봇(1)의 제어 프로그램(321)에 따른 나사 조임 동작을 나타내는 플로차트이다. 우선, 티칭 기술자에 의해 티칭 펜던트(351)가 조작되어, 컨트롤러(3)의 기능이 운전 모드로 전환된다(스텝 S11).
운전 모드에서는, 컨트롤러(3)의 CPU(31)는, 제어 프로그램(321)에 따라서 작업 툴(4)을 나사 조임 개시 포인트에 위치시키고(스텝 S12), 착좌점에 지향시킨다(스텝 S13). 이때, 작업 툴(4)과 착좌점의 거리는 나사 조임 길이와 가압량과 버퍼분을 더한 이간 거리로 된다.
다음으로, CPU(31)는, 작업 툴(4)을 착좌점을 향하여 버퍼분만큼 이동시킨다(스텝 S14). 이때, 나사 선단은 착좌점의 나사 구멍에 도달한다. 또한, CPU(31)는, 작업 툴(4)을 착좌점을 향하여 가압량만큼 이동시킨다(스텝 S15). 이때, 나사는 착좌점에 나사 구멍에 압입된다.
그리고, CPU(31)는, 작업 툴(4)의 드라이버를 회전시키면서(스텝 S16), 작업 툴(4)을 착좌점을 향하여 나사 조임 길이만큼만 이동시킨다(스텝 S17). 이 전진 이동은 이송 속도로 한다. 그 후에는, 토크 업을 검지하면 나사 조임을 완료한 것으로 하여, 작업 툴(4)을 나사 조임 후 복귀량만큼만 후퇴시킨다. 이 후퇴 이동은 나사 조임 후 복귀량으로 한다. 나사 조임 완료 대기 시간 동안에 토크 업을 검지할 수 없으면 에러로 한다.
이에 따라, 나사는 사면(Pc)에 형성된 나사 구멍에 착좌한다. 착좌점이 복수 존재하는 경우는, 컨트롤러(3)는, 제어 프로그램(321)에 따라서 각 착좌점과 연직인 방향으로 작업 툴(4)을 위치시키고, 각 착좌점에 작업 툴(4)을 지향시켜, 버퍼분의 이동, 가압량만큼의 이동, 또한 드라이버 회전을 수반하면서 나사 조임 길이만큼의 이동을 각 착좌점에 대해서 행하게 된다.
이렇게, 이 로봇(1)에 있어서, 예를 들면 작업 툴(4)은 나사 조임 드라이버이고, 작업 포인트(Pa)는 나사의 착좌점이고, 작업 개시 포인트(Pb)는 나사 조임 개시 시에 나사 조임 드라이버를 존재시키는 위치로 하고, 작업 개시 포인트(Pb)는, 나사 조임 길이에 미리 세팅된 버퍼분과 가압량을 더한 거리만큼, 나사의 착좌점으로부터 떨이진 위치이다.
이 나사 조임 작업의 경우, 나사 조임 길이와 버퍼분과 가압량을 더한 이간 거리는, 나사의 호칭 길이와도 나사의 전체 길이와도 달리, 명확한 척도도 없다. 따라서, 이 로봇(1)에 따르면, 사면(Pc)에 대한 나사 조임 작업이 단연 높은 정밀도로 되며, 또한 작업 개시 포인트(Pb)의 입력도 비약적인 노력 저감을 가져오게 된다.
(제2 실시형태)
다음으로, 본 발명에 따른 로봇(1)의 제2 실시형태에 대하여 도면을 참조하면서 상세히 설명한다. 제1 실시형태와 동일 구성, 동일 기능에 관해서는 동일 부호를 부여하고 상세한 설명을 생략한다.
도 11은 본 실시형태의 로봇(1)이 작업하는 워크의 모식도이다. 도 1에 나타내는 바와 같이, 워크의 재치(載置) 태양이나 워크의 형상에 따라서는, 작업 포인트(Pa)가 Y축에 대해서 평행인 사면(Pc) 또는 X축에 대해서 평행인 사면(Pc)에 존재하는 경우도 있다. 이 Y축에 대해서 평행인 사면(Pc)과 연직인 방향, 및 X축에 대해서 평행인 사면(Pc)과 연직인 방향은, 방위각(φ)이 0도, 90도, 180도 또는 270도 중 어느 하나로 정해져 있으며, 티칭 작업자의 육안에 의해 정확한 방위각(φ)의 결정이 가능하다. 티칭 작업자에게 있어서는, 설정하기 어려운 나머지 항목은 받음각(θ)이다.
작업 포인트(Pa)가 Y축에 대해서 평행인 사면(Pc) 또는 X축에 대해서 평행인 사면(Pc)에 존재할 경우, 로봇(1)의 연산 수단(553)은, 사면(Pc) 상의 임의의 2점의 좌표로부터 사면(Pc)과 연직인 방향의 받음각(θ)을 산출한다. 조작 수단(35)은, 티칭 기술자에 의한 방위각(φ)의 입력, 및 이동 수단(2)의 JOG 조작을 접수한다. 가이던스 수단(552)은 임의의 2점을 사면(Pc) 상의 높이가 다른 위치로 하도록 메시지를 표시시킨다. 제어 수단(53)은, JOG 조작에 응답해서, 작업 툴(4)을 사면(Pc) 상의 임의의 2점으로 이동시키고, 임의의 2점의 좌표를 출력한다. 연산 수단(553)은, 사면(Pc) 상의 임의의 2점의 좌표로부터 받음각(θ)을 산출하여, 방위각(φ)과 함께 포인트 데이터(322)에 기록한다.
연산 수단(553)에 의한 연산은, 기하학적인 수학 방법, 벡터 방법 등의 어느 것을 사용해도 된다. 일례로서는, 사면(Pc)이 Y축과 평행하게 따르고 있는 것이면, 임의의 2점의 Z축 좌표의 차분(ΔZ)과, 임의의 2점의 X축 좌표의 차분(ΔX)을 산출하여 이하 식(15)를 연산한다.
θ=2/π-arctan(ΔZ/ΔX) …(15)
또한, 일례로서는, 사면(Pc)이 X축과 평행하게 따르고 있는 것이면, 임의의 2점의 Z축 좌표의 차분(ΔZ)과, 임의의 2점의 Y축 좌표의 차분(ΔY)을 산출하여, 이하 식(16)을 연산한다.
θ=2/π-arctan(ΔZ/ΔY) …(16)
이상과 같이, 방위각(φ)을 적확하게 가늠할 수 있는 사면(Pc)에 작업 포인트(Pa)를 가질 경우에는, 조작 수단(35)에 의해, 사면(Pc) 상의 임의의 2점의 좌표 지정의 조작을 접수하고, 연산 수단(553)에 의해, 임의의 2점의 좌표에 의거하여, 작업 개시 포인트(Pb)로부터 작업 포인트(Pa)에 지향하는 방향을 연산하도록 해도 된다. 이에 따라, 사면(Pc) 상에 지정하는 지점의 수도 줄일 수 있어, 티칭 기술자의 노력을 더 저감시킬 수 있다.
또, 사면(Pc)이 수직으로 세워 형성되어, X축과 Y축에 사교(斜交)하는 경우는, 받음각(θ)은 직횡으로 결정되어 있으므로, 사면(Pc) 상의 가로 방향으로 다른 위치에 임의의 2점을 지정하여, 방위각(φ)을 연산하도록 하면 된다.
(제3 실시형태)
다음으로, 본 발명에 따른 로봇(1)의 제3 실시형태에 대하여 도면을 참조하면서 상세히 설명한다. 제1 실시형태와 동일 구성, 동일 기능에 관해서는 동일 부호를 부여하고 상세한 설명을 생략한다.
SLIM 등의 프로그램 언어는, 일반적으로 로봇(1)에 대한 MOVE 명령 등의 명령을 주체로 하여 기술된다. 작업 개시 포인트(Pb)나 작업 포인트(Pa)는, MOVE 명령 등의 명령에 대한 단순한 상수나 변수로 취급되며, 포인트 식별 정보나 포인트 데이터(322)의 내용은 프로그램 중에 임베딩되어 있다.
그래서, 제3 실시형태의 로봇(1)에 있어서, CPU(31)는, 제어 프로그램 생성 수단(54)으로서, 위치를 주체로 한 기술 양식의 제어 프로그램(321)을 생성한다. 도 12는 이 제어 프로그램(321)을 나타내는 모식도이다. 도 12에 나타내는 바와 같이, 이 제어 프로그램(321)은 포인트 번호(61)에 대해서, 포인트 종별 정보(62)와 포인트 데이터(322)가 부가되도록 기술된다.
포인트 번호(61)는 작업 개시 포인트(Pb)나 작업 포인트(Pa)를 식별한다. 포인트 종별 정보(62)는 포인트 번호(61)로 표시되는 포인트에서 실행할 처리 프로그램의 함수명이다. 포인트 데이터(322)는, 포인트 번호(61)로 표시되는 포인트의 위치 및 작업 툴(4)의 자세를 나타내는 X 좌표, Y 좌표, Z 좌표, R 회전의 방위각(φ), P 회전의 받음각(θ)을 포함한다.
제어 프로그램 생성 수단(54)은, 조작 수단(35)의 조작에 따라서, 포인트 번호(61)를 등록시키고, 포인트 번호(61)에 부가할 포인트 데이터(322)의 식별 정보를 입력시키고, 티칭 모드나 수치 입력에 따라서 그 식별 정보의 포인트 데이터(322)를 기억하고, 포인트 번호(61)에 부가할 포인트 종별 정보(62)를 등록시킨다. 또한, 제어 프로그램 생성 수단(54)은, 키보드 등의 입력에 응답해서, 포인트 종별 정보(62)가 나타내는 작업 명령(63)을 편집한다.
즉, HDD 등의 프로그램 기억부(51)는, 도 13에 나타내는 바와 같이, 이 제어 프로그램(321)을 기억하는 포인트열 기억부(56), 포인트 데이터(322)를 기억하는 포인트 데이터 기억부(52), 포인트 종별 정보(62)가 나타내는 작업 명령(63)의 코드를 기억하는 작업 명령 기억부(57)로 크게 나뉜다.
CPU(31)는, 제어 수단(53)으로서, 포인트열 기억부(56)의 포인트 번호(61) 순으로 포인트 번호(61)에 부가된 포인트 데이터(322)와 작업 명령(63)을 호출하고, 처리 프로그램 내의 인수(引數)에 포인트 데이터(322)의 각 내용을 적절히 대입하면서, 이동 수단(2)이나 작업 툴(4)의 제어를 행한다.
이렇게, 이 제어 프로그램(321)은, 작업 개시 포인트(Pb)나 작업 포인트(Pa)를 대표하는 포인트 번호(61)를 등록하고, 그 포인트 번호(61)에 포인트 데이터(322)나 포인트 종별 정보(62)를 부가시킨다. 즉, SLIM 언어와 같이, 「할 일」을 기준으로 「어디에서」를 부대시키는 것이 아니며, 이 제어 프로그램(321)은, 「어디에서」를 기준으로 「할 일」을 부대시키는 기술 태양을 채택하고 있으며, 로봇(1)을 움직일 때의 기술자의 사고방식을 따르고 있어, 매우 프로그램하기 쉽다는 이점을 갖는다.
단, 이 제어 프로그램(321)은, 「어디에서」를 기준으로 하여 기술하기 때문에, 작업 개시 포인트(Pb)나 작업 포인트(Pa), 즉 나사 조임의 경우는 나사 조임 개시 포인트와 착좌점의 포인트를 입력해야만 한다. 따라서, 사면(Pc) 상에 작업 포인트(Pa)를 가지며, 작업 포인트(Pa)의 연직 방향의 공중에 작업 개시 포인트(Pb)가 존재할 경우, 이 제어 프로그램(321)은 프로그래밍시의 번잡함을 늘리게 되어 있었다.
그러나, 이 실시형태에 따른 로봇(1)은, 티칭 모드 시에, 사면(Pc) 상의 임의의 2점 또는 3점의 좌표 지정의 조작을 접수하고, 임의의 2점 또는 3점의 좌표에 의거하여, 작업 툴(4)이 작업 포인트(Pa)에 지향할 방향을 연산한다. 또한, 티칭 모드 시에, 사면(Pc) 상의 작업 포인트(Pa)의 좌표 교시의 조작을 접수하고, 작업 포인트(Pa)의 좌표, 임의의 2점 또는 3점의 좌표, 작업 개시 포인트(Pb)와 작업 포인트(Pa)의 이간 거리에 의거한, 작업 개시 포인트(Pb)의 좌표를 연산한다.
그 때문에, 이 제어 프로그램(321)을 채용할 경우에는, 티칭 기술자의 노력을 비약적으로 저감시킬 수 있다.
(제4 실시형태)
다음으로, 본 발명에 따른 로봇(1)의 제4 실시형태에 대하여 도면을 참조하면서 상세히 설명한다. 제1 실시형태 및 제3 실시형태와 동일 구성, 동일 기능에 관해서는 동일 부호를 부여하고 상세한 설명을 생략한다.
도 14는 제어 프로그램 생성 수단(54)이 생성하는 작업 명령(63)을 나타내고 있다. 위치를 주체로 한 기술 양식의 제어 프로그램(321)에 포함되어 있다. 이 작업 명령(63)은, 나사의 착좌점인 작업 포인트(Pa)를 나타내는 포인트 번호(61)에 부대하는 작업 명령(63)이며, 포인트 번호(61)에 부대하는 포인트 종별 정보(62)에 의해 식별된다. 이 작업 명령(63)은, 포인트 종별 정보(62)로서 나사 조임점, 환언하면 착좌점에 부대시키는 내용이 기술된다.
도 14에 나타내는 바와 같이, 착좌점에 부대시키는 내용에는, 이동 전 작업의 명령렬(631)과 이동 후 작업의 명령렬(632)이 기술된다. 이동 전 작업의 명령렬(631)은, 제어 수단(53)으로서 CPU(31)에 의해, 착좌점에의 이동 전에 처리된다. 이동 전 작업의 명령렬(631)에는, 우선 002행째에, 「callPoints Feeder」와 같이, 피더 나사 취하기 동작의 명령이 기술된다. 이 명령에 의해, 나사의 착좌점인 작업 포인트(Pa)에 대한 작업으로서, 제어 수단(53)은 이동 수단(2)을 제어하여 피더로부터 나사를 취한다.
다음으로, 003행째 이후, 작업 개시 포인트(Pb)의 좌표 연산과 작업 툴(4)의 방향 연산의 명령이 기술된다. 즉, 연산 수단(553)은, 운전 모드에 있어서, 이동 수단(2)과 작업 툴(4)을 제어하는 제어 프로그램(321)을 실행한 CPU(31)에 의해 실현된다.
일례를 나타내면, 003행째∼00X행째까지의 동안에 R 회전의 방위각(φ)과 P 회전의 받음각(θ)을 연산해 둔다. 그리고, (00X+1)행째 이후, 연산 수단(553)은, 방위각(φ)과 P 회전의 받음각(θ)을 되돌리는 시스템 변수인 #point_R과 #point_P를 degrad 함수에 의해 라디안으로 변환하여, let theta=degrad(#point_P)와 let phi=degrad(#point_R)에 의하여, theta와 phi라는 로컬 변수에 대입해 둔다.
그리고, 다음의 3행의 명령에 의해, 연산 수단(553)은, 작업 툴(4)의 위치를 나타내는 좌표 XYZ를 연산하고, #jobStartX, #jobStartY, #jobStartZ라는 특수한 시스템 변수에 대입한다. L은 작업 개시 포인트(Pb)와 작업 포인트(Pa)의 이간 거리이다.
#jobStartX=L*sin(θ)*sin(φ)
#jobStartY=L*sin(θ)*cos(φ)
#jobStartZ=L*cos(θ)
이 #jobStartX, #jobStartY, #jobStartZ라는 특수한 시스템 변수는, 작업 포인트(Pa)로 이동하기 전에 참조되고, 이 시스템 변수의 값만큼 오프셋한 좌표로 이동하기 위한 값이다. 즉, 제어 수단(53)은, 이동 수단(2)의 제어에 의해, 나사의 착좌점에 대한 작업으로서, 나사 조임 개시 포인트로 작업 툴(4)을 이동시킨다. 즉, 제어 수단(53)은 작업 포인트(Pa)에 대한 작업으로서 작업 개시 포인트(Pb)로 이동시킨다.
다음으로, 이동 후 작업의 명령렬(632), 즉, 나사 조임 개시 포인트로 작업 툴(4)이 이동한 후에 실행하는 명령렬에는, 우선 004행째에, 나사 길이에 버퍼분을 더한 dScrewLine에 가압량인 dScrewPress를 가산하여 이간 거리(dL)를 산출하는 연산 내용이 기술된다. 또한, 005행째∼007행째에, 작업 툴(4)이 위치하는 포인트로부터 작업 포인트(Pa)까지의 X축, Y축 및 Z축 방향의 각 이동량 dX, dY, dZ의 연산 내용이 기술된다. 연산 수단(553)은 이 명령들을 실행하여 작업 포인트(Pa)까지의 이동량을 연산한다.
또한, 008행째와 009행째를 실행하는 연산 수단(553)은 버퍼분과 가압량만큼의 이동 시간을 산출하고, 010행째를 실행하는 제어 수단(53)은 작업 툴(4)이 위치하는 포인트로부터 작업 포인트(Pa)를 향하여 버퍼분과 가압량만큼 이동시킨다.
그리고, 011행째의 「lineMove(dScrewSpeed, dX, dY, dZ,0,0)」의 명령을 실행하는 제어 수단(53)은, dScrewSpeed에 대입된 회전 속도로 나사 조임 드라이버를 회전시키면서, 작업 포인트(Pa)까지의 거리를 나타내는 dX, dY, dZ만큼만 XYZ축 방향으로 작업 툴(4)을 이동시킨다. 마지막으로, 012행째를 실행하는 제어 수단(53)은, 나사 조임의 완료를 나타내는 토크 업 신호를 받아, 작업 포인트(Pa)에의 작업 툴(4)의 이동과 구동을 정지시킨다.
여기에서, 이 기술 양식의 프로그래밍에 있어서는, 작업 포인트(Pa)에서 무엇을 할지가 의식된다. 그 때문에, 작업 포인트(Pa)에 부수하여 작업 개시 포인트(Pb)에 관한 기술이 있으면 그 코드의 의미를 이해 가능하지만, 작업 포인트(Pa)와 관계없이 작업 개시 포인트(Pb)의 코드가 등장하면, 그 내용을 이해하는 것에 매우 수고가 든다.
그러나, 제어 프로그램 생성 수단(54)은, 도 15의 (a)에 나타내는 제어 프로그램과 달리, 도 15의 (b)에 나타내는 바와 같이, 작업 포인트(Pa)에 대해서, 작업 개시 포인트(Pb)의 좌표를 연산하는 연산 명령(633)과, 연산 명령(633)의 처리에 의해 얻어지는 작업 포인트(Pa)의 좌표로 작업 툴(4)을 이동시키는 이동 명령(634)과, 작업 툴(4)의 구동 명령(635)를 부대시켜서, 제어 프로그램(321)을 생성하도록 했다.
이 제어 프로그램 생성 수단(54)에 의하여 생성된 제어 프로그램(321)에 따르면, 실제로 작업이 실시되는 착좌점에 관한 코드의 기술만이 보이며, 작업 개시 포인트(Pb)라는 작업에 직접적이지 않은 포인트를 의식할 필요가 없어진다. 따라서, 이 기술 양식의 제어 프로그램(321)의 작성이 더 용이해져, 프로그래밍 시의 노력이 더 저감된다.
구체적으로는, 나사 조임 작업을 위한 프로그램 작성 시, 작성자는 나사 구멍이 존재하는 착좌점의 수만큼 포인트 번호(61)를 지정하면 되며, 작업 툴(4)을 위치시킬 다른 포인트의 포인트 번호(61)를 지정할 필요가 없다. 그리고, 지정한 포인트 번호(61)에 대해서, 1개의 나사 조임의 프로그램 종별 정보를 부대시키면 되며, 나사 조임을 개시시키기 위하여 드라이버의 회전을 개시시키는 프로그램을 부대시키거나, 나사 조임을 종료시키기 위한 드라이버의 회전을 회전시키는 프로그램을 부대시키거나 할 필요가 없다.
(제5 실시형태)
다음으로, 본 발명에 따른 로봇(1)의 제5 실시형태에 대하여 도면을 참조하면서 상세히 설명한다. 제1 실시형태 내지 제4 실시형태와 동일 구성, 동일 기능에 관해서는 동일 부호를 부여하고 상세한 설명을 생략한다.
도 6은 티칭 펜던트(351)의 구성을 나타내는 도면이다. 도 6에 나타내는 바와 같이, 티칭 펜던트(351)는, 지향 방향 진행 버튼(353)과, 지향 반대 방향 후퇴 버튼(354)과, 좌표계 전환 버튼(355)을 구비하고 있다.
지향 방향 진행 버튼(353)과 지향 반대 방향 후퇴 버튼(354)의 누름에 대해서, JOG 제어 수단(551)은, 1피치의 이동량(L)과 방위각(φa)과 받음각(θa)의 정보로부터, 이하 식(17) 내지 (19)를 연산한다. φa는 현재의 작업 툴(4)의 방향을 나타내는 방위각이고, θa는 현재의 작업 툴(4)의 방향을 나타내는 받음각이다.
Xa=Lcosφa …(17)
Ya=Lsinφa …(18)
Za=Lsinθa …(19)
JOG 제어 수단(551)은, 이동량(Xa), 이동량(Ya) 및 이동량(Za)이 구해지면, X 리니어 슬라이더(21)에 대해서 이동량(Xa)만큼 이동을 시키는 지령 신호를 출력하고, Y 리니어 슬라이더(22)에 대해서 이동량(Ya)만큼 이동을 시키는 지령 신호를 출력하고, ZR 기구(23)에 대해서 이동량(Za)만큼 이동시키는 지령 신호를 출력한다.
즉, 지향 방향 진행 버튼(353)의 누름에 의하여, JOG 제어 수단(551)은, 도 16에 나타내는 바와 같이, 작업 툴(4)의 방향과 평행인 순방향으로 작업 툴(4)을 이동시킨다. 지향 반대 방향 후퇴 버튼(354)의 누름에 의하여, 작업 툴(4)의 방향과 평행인 역방향으로 작업 툴(4)을 이동시킨다. 순방향은 작업 툴(4)의 후단으로부터 선단으로의 방향이고, 역방향은 작업 툴(4)의 선단으로부터 후단으로의 방향이다.
사면(Pc) 상의 임의의 2점 또는 3점의 지정에 의하여, 작업 툴(4)이 작업 포인트(Pa)가 존재하는 사면(Pc)과 연직인 방향을 향해 있을 경우는, JOG 제어 수단(551)은 작업 툴(4)을 사면(Pc)과 연직인 방향으로 이동시키게 된다.
다음으로, 좌표계 전환 버튼(355)의 누름에 대해서, JOG 제어 수단(551)은, X축, Y축 및 Z축을, X 리니어 슬라이더(21), Y 리니어 슬라이더(22) 및 R 회전축(231)이 연장되는 방향에 따라서 규정되는 좌표계로부터, 작업 포인트(Pa)가 존재하는 사면(Pc)과 그 사면(Pc)과 연직인 방향에 따라서 규정되는 좌표계로 전환한다. 이 전환에 의해, 도 16에 나타내는 바와 같이, 사면(Pc)과 연직인 방향이 Z축이 되고, 서로가 직교하면서, Z축과도 직교하는 2축이 X축, Y축이 된다.
이 JOG 제어 수단(551)은, 사면(Pc) 상의 임의의 2점 또는 3점의 지정에 의해 구해진 방위각(φ)과 받음각(θ)에 의하여 좌표계를 변환해 둔다. 그리고, 좌표계 전환 버튼의 누름 후, JOG 제어 수단(551)은, 티칭 펜던트(351)의 X축 방향, Y축 방향의 이동을 조작하는 버튼의 누름에 대해서, 작업 툴(4)을 사면(Pc)과 평행하게 이동시킨다.
이상과 같이, 이 로봇(1)에서는, 티칭 모드 시에, 조작 수단(35)이 접수한 조작에 따라서, 연산 수단(553)이 연산한 방향의 순방향 및 역방향으로 작업 툴(4)을 이동시키도록 했다. 또한, 티칭 모드 시에, 연산 수단(553)이 연산한 방향을 일축으로 하는 직교 좌표계로 전환하고, 조작 수단(35)이 접수한 조작에 따라서, 연산 수단(553)이 연산한 방향과 직교하는 사면(Pc)을 따라 작업 툴(4)을 이동시키도록 했다.
이에 따라, 사면(Pc) 상의 임의의 2점 또는 3점의 지정에 의하여, 작업 툴(4)의 방향이 사면(Pc)과 연직인 방향으로 변경된 후, 작업 포인트(Pa)의 티칭이 용이해져, 티칭 기술자의 노력이 더 저감됨과 함께, 작업 포인트(Pa)의 티칭 정밀도가 올라가, 작업의 정확도가 향상된다.
(제6 실시형태)
다음으로, 본 발명에 따른 로봇(1)의 제6 실시형태에 대하여 도면을 참조하면서 상세히 설명한다. 제5 실시형태와 동일 구성, 동일 기능에 관해서는 동일 부호를 부여하고 상세한 설명을 생략한다.
이 로봇(1)에 있어서, JOG 제어 수단(551)은, R 회전 및 P 회전의 조작이 되었을 경우, 도 17에 나타내는 바와 같이, 작업 툴(4)의 선단의 위치는 고정한 채로, 이 선단을 중심으로 하여 작업 툴(4)을 회전시키도록, 이동 수단(2)을 제어한다. JOG 제어 수단(551)은, 스토리지(32)에는 작업 툴(4)의 툴 센터 포인트 설정값이 미리 기억되어 있다.
툴 센터 포인트 설정값은 작업 툴(4)의 장착 정보이다. 이 툴 센터 포인트 설정값은, 작업 툴(4)을 직하를 향한 방위각(φ)이 0 및 받음각(θ)이 0인 상태에 있어서의, R 회전축(231)과 P 회전축(241)의 교차점의 XYZ 좌표값, 당해 교차점으로부터 작업 툴(4)의 선단까지의 거리를 나타내는 X축 성분(Lx)과 Y축 성분(Ly), 또한 작업 툴(4)의 선단을 지나 P 회전축(241)의 연장선과 직교하는 가상선과 P 회전축(241)의 직교점으로부터 작업 툴(4)의 선단까지의 거리(Ld)이다.
이때, 작업 툴(4)의 선단의 좌표(Xt, Yt, Zt)는, 이하 식(20) 내지 (22)로 표시된다.
Xt=X0+Lx*cos(φ)+Ly*sin(φ)+Ld*sin(θ)*cos(φ) …(20)
Yt=Y0+Lx*sin(φ)+Ly*cos(φ)+Ld*sin(θ)*sin(φ) …(21)
Zt=Z0+Ld*cos(θ) …(22)
예를 들면 방위각(φ)을 φ1로부터 φ2로 움직이는 조작, 또는 받음각(θ)을 θ1로부터 θ2로 움직이는 조작이 이루어졌을 경우, 상기 식(20) 내지 (22)에 의해, 작업 툴(4) 선단은, T1(Xt1, Yt1, Zt1)로부터 T2(Xt2, Yt2, Zt2)로 이동하려고 한다. JOG 제어 수단(551)은, X 리니어 슬라이더(21), Y 리니어 슬라이더(22), 및 ZR 기구(23)를 제어하여, T2(Xt2, Yt2, Zt2)로부터 T1(Xt1, Yt1, Zt1)로 이동하도록, X축, Y축 및 Z축 방향으로 작업 툴(4)을 이동시킨다.
이렇게, 이 로봇(1)은, 회전에 의한 작업 툴(4)의 선단 위치의 변동을 상쇄하도록, 작업 툴(4)을 X축, Y축 및 Z축 방향으로 이동시킨다. 즉, 티칭 모드 시에, 조작 수단(35)의 조작에 따라서, 작업 툴(4)의 선단을 중심으로 하여 작업 툴(4)을 회전시키도록 했다.
작업 포인트(Pa)가 최대의 관심 사항인 한편, 그 작업 포인트(Pa)로부터 떨어진 위치에 예를 들면 레이저 마킹을 실시하고자 하는 등의 요청도 있다. 이 경우, 사면(Pc)과 연직인 방향으로부터 작업 포인트(Pa)를 향한 작업 툴(4)의 방향 각도를 변경하면, 작업 툴(4)의 선단의 위치도 변동하게 되어, 미세 조정이 번잡해질 우려가 있다. 그러나, 이 로봇(1)에 따르면, 작업 툴(4)의 방향 각도를 변경해도, 작업 툴(4)의 선단의 위치는 부동이므로, 티칭 기술자의 노력이 비약적으로 감소되며, 또한 티칭의 정밀도가 비약적으로 향상된다.
(다른 실시형태)
이상과 같이 본 발명의 실시형태를 설명했지만, 발명의 요지를 일탈하지 않는 범위에서 각종 생략, 치환, 변경을 행할 수 있다. 그리고, 이 실시형태나 그 변형은 발명의 범위나 요지에 포함됨과 함께, 특허청구범위에 기재된 발명과 그 균등한 범위에 포함된다.
예를 들면, 로봇(1)에 대한 포인트 데이터(322)의 등록을 포함하는 프로그래밍을 직접 로봇(1)에 대해서 행하는 예를 나타냈지만, 이에 한하지 않고, 로봇(1)과는 별개인 컴퓨터 등의 프로그래밍 툴에 의해 행하도록 하고, 제어 프로그램(321)과 포인트 데이터(322)를 로봇(1)에 로딩시키도록 해도 된다.
1 : 로봇 2 : 이동 수단
21 : X 리니어 슬라이더 22 : Y 리니어 슬라이더
23 : ZR 기구 231 : R 회전축
24 : P 회전 기구 241 : P 회전축
3 : 컨트롤러 31 : CPU
32 : 스토리지 321 : 제어 프로그램
322 : 포인트 데이터 33 : 메모리
34 : 모터 드라이버 35 : 조작 수단
351 : 티칭 펜던트 352 : 표시부
353 : 지향 방향 진행 버튼 354 : 지향 반대 방향 후퇴 버튼
355 : 좌표계 전환 버튼 4 : 작업 툴
51 : 프로그램 기억부 52 : 포인트 데이터 기억부
53 : 제어 수단 54 : 제어 프로그램 생성 수단
55 : 포인트 데이터 생성 수단 551 : JOG 제어 수단
552 : 가이던스 수단 553 : 연산 수단
56 : 포인트열 기억부 57 : 작업 명령 기억부
61 : 포인트 번호 62 : 포인트 종별 정보
63 : 작업 명령 631 : 이동 전 작업의 명령렬
632 : 이동 후 작업의 명령렬 633 : 연산 명령
634 : 이동 명령 635 : 구동 명령
Pa : 작업 포인트 Pb : 작업 개시 포인트
Pc : 사면
21 : X 리니어 슬라이더 22 : Y 리니어 슬라이더
23 : ZR 기구 231 : R 회전축
24 : P 회전 기구 241 : P 회전축
3 : 컨트롤러 31 : CPU
32 : 스토리지 321 : 제어 프로그램
322 : 포인트 데이터 33 : 메모리
34 : 모터 드라이버 35 : 조작 수단
351 : 티칭 펜던트 352 : 표시부
353 : 지향 방향 진행 버튼 354 : 지향 반대 방향 후퇴 버튼
355 : 좌표계 전환 버튼 4 : 작업 툴
51 : 프로그램 기억부 52 : 포인트 데이터 기억부
53 : 제어 수단 54 : 제어 프로그램 생성 수단
55 : 포인트 데이터 생성 수단 551 : JOG 제어 수단
552 : 가이던스 수단 553 : 연산 수단
56 : 포인트열 기억부 57 : 작업 명령 기억부
61 : 포인트 번호 62 : 포인트 종별 정보
63 : 작업 명령 631 : 이동 전 작업의 명령렬
632 : 이동 후 작업의 명령렬 633 : 연산 명령
634 : 이동 명령 635 : 구동 명령
Pa : 작업 포인트 Pb : 작업 개시 포인트
Pc : 사면
Claims (10)
- 사면(斜面)으로부터 연직 방향으로 떨어진 제1 포인트로부터 당해 사면 상의 제2 포인트에 대한 처리를 개시하는 로봇으로서,
상기 제2 포인트에 대한 작업을 행하는 작업 툴과,
상기 작업 툴을 이동 및 자세 변경시키는 이동 수단과,
상기 사면 상의 임의의 2점 또는 3점의 좌표 지정의 조작을 접수하는 조작 수단과,
상기 임의의 2점 또는 3점의 좌표에 의거하여, 상기 작업 툴이 상기 제1 포인트로부터 상기 제2 포인트에 지향할 방향을 연산하는 연산 수단과,
적어도 상기 제1 포인트로 상기 작업 툴을 이동시키고, 상기 연산 수단의 연산 결과에 따라서 상기 작업 툴의 자세를 상기 제2 포인트에 지향시켜, 상기 작업 툴에 상기 제1 포인트에의 처리를 개시시키는 제어 수단을 구비하는 것
을 특징으로 하는 로봇. - 제1항에 있어서,
상기 제1 포인트와 상기 제2 포인트의 이간 거리를 기억하는 데이터 기억 수단을 구비하고,
상기 조작 수단은,
상기 사면 상의 제2 포인트의 좌표 지정의 조작을 접수하고,
상기 제2 포인트의 좌표, 상기 임의의 2점 또는 3점의 좌표 및 상기 이간 거리에 의거하여, 상기 제1 포인트의 좌표를 연산하고,
상기 제어 수단은,
상기 연산 수단의 연산 결과에 따라서 상기 작업 툴을 상기 제1 포인트로 이동시키는 것
을 특징으로 하는 로봇. - 제1항 또는 제2항에 있어서,
상기 작업 툴의 각 포인트에 대해서 명령을 관련짓는 기술(記述) 양식의 제어 프로그램을 기억하는 기억 수단을 구비하고,
상기 제어 수단은, 상기 기억 수단의 제어 프로그램이 나타내는 각 포인트에 관련하여, 상기 명령을 호출해서 상기 이동 수단과 상기 작업 툴을 제어하는 것
을 특징으로 하는 로봇. - 제3항에 있어서,
상기 기억 수단은,
상기 제2 포인트에 대해서, 상기 제1 포인트의 좌표를 연산하는 연산 명령과, 상기 연산 명령에 의해 얻어지는 상기 제1 포인트의 좌표로 상기 작업 툴을 이동시키는 이동 명령과, 상기 작업 툴의 동작 명령을 관련지은 상기 제어 프로그램을 기억하는 것
을 특징으로 하는 로봇. - 제1항 또는 제2항에 있어서,
상기 제어 수단은,
티칭 모드 시에, 상기 조작 수단이 접수한 조작에 따라서, 상기 연산 수단이 연산한 방향의 순방향 및 역방향으로 상기 작업 툴을 이동시키는 것
을 특징으로 하는 로봇. - 제1항 또는 제2항에 있어서,
상기 제어 수단은,
티칭 모드 시에, 상기 조작 수단이 접수한 조작에 따라서, 상기 연산 수단이 연산한 방향과 직교하는 상기 사면을 따라 상기 작업 툴을 이동시키는 것
을 특징으로 하는 로봇. - 제1항 또는 제2항에 있어서,
상기 조작 수단은,
티칭 모드 시에, 상기 연산 수단이 연산한 방향을 일축(一軸)으로 하는 직교 좌표계로 전환하는 전환 수단을 포함하고,
상기 제어 수단은,
티칭 모드 시에, 상기 전환 수단의 상기 직교 좌표계에의 전환에 의하여, 상기 연산 수단이 연산한 방향을 일축으로 하는 직교 좌표계로 상기 조작 수단의 조작을 접수하는 것
을 특징으로 하는 로봇. - 제7항에 있어서,
상기 제어 수단은,
상기 티칭 모드 시에, 상기 전환 수단의 상기 직교 좌표계에의 전환에 의하여, 상기 조작 수단의 조작에 따라서, 상기 작업 툴의 선단을 중심으로 하여 상기 작업 툴을 회전시키는 것
을 특징으로 하는 로봇. - 제1항 또는 제2항에 있어서,
상기 작업 툴은, 전동(電動)의 나사 조임 드라이버이고,
상기 제2 포인트는, 나사의 착좌점(着座点)이고,
상기 제1 포인트는, 나사 조임 개시 시에 상기 나사 조임 드라이버를 존재시키는 위치인 것
을 특징으로 하는 로봇. - 제9항에 있어서,
상기 제1 포인트는, 나사 조임 길이에 미리 세팅된 버퍼분과 가압량을 더한 거리만큼, 상기 제2 포인트로부터 사면 연직 방향으로 떨어진 위치인 것
을 특징으로 하는 로봇.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014209690A JP6698268B2 (ja) | 2014-10-14 | 2014-10-14 | ロボット |
JPJP-P-2014-209690 | 2014-10-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160043883A KR20160043883A (ko) | 2016-04-22 |
KR101617750B1 true KR101617750B1 (ko) | 2016-05-03 |
Family
ID=55644246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140163191A KR101617750B1 (ko) | 2014-10-14 | 2014-11-21 | 로봇 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9718186B2 (ko) |
JP (1) | JP6698268B2 (ko) |
KR (1) | KR101617750B1 (ko) |
CN (1) | CN105983970B (ko) |
DE (1) | DE102015105687B4 (ko) |
TW (1) | TWI599459B (ko) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5642304B2 (ja) * | 2013-02-15 | 2014-12-17 | 株式会社神戸製鋼所 | ロボットペンダント |
CN106141648A (zh) * | 2016-07-28 | 2016-11-23 | 苏州高登威科技股份有限公司 | 一种多向螺钉枪及具有该多向螺钉枪的流水线 |
TWI616288B (zh) * | 2016-12-27 | 2018-03-01 | 台達電子工業股份有限公司 | 工具帶動模組及其適用之機器手臂 |
CN106735685A (zh) * | 2017-01-17 | 2017-05-31 | 惠州英特智能设备有限公司 | 一种三轴机械手臂 |
JP6862854B2 (ja) * | 2017-01-27 | 2021-04-21 | セイコーエプソン株式会社 | 制御装置、ロボットシステムおよびネジ締めトルク設定方法 |
CN107678743B (zh) * | 2017-09-27 | 2020-11-03 | 北京酷思倍科技有限公司 | 一种用于机器人智能编程的方法 |
KR102452751B1 (ko) * | 2017-12-18 | 2022-10-07 | 니토 코키 가부시키가이샤 | 공구 그리고 공구의 제어 회로 및 제어 방법 |
JP6734316B2 (ja) * | 2018-03-22 | 2020-08-05 | ファナック株式会社 | ロボットの動作プログラムの設定装置、ロボット、およびロボットの制御方法 |
JP6841805B2 (ja) * | 2018-10-03 | 2021-03-10 | ファナック株式会社 | ロボット教示装置、ロボット教示方法、及び動作命令を記憶する方法 |
CN110561400A (zh) * | 2019-09-20 | 2019-12-13 | 扬州哈工科创机器人研究院有限公司 | 圆周均匀分布零件的高效精准定位***及定位方法 |
JP7402703B2 (ja) * | 2020-02-03 | 2023-12-21 | Tmtマシナリー株式会社 | 糸処理設備、自動糸掛け装置、ティーチング方法及びティーチングシステム |
KR102291139B1 (ko) * | 2020-03-20 | 2021-08-20 | 한국원자력연구원 | 금속들의 용접부의 방위각을 결정하는 방위각 결정 장치 및 상기 방위각 결정 장치에 의해 수행되는 방위각 결정 방법 |
US11816112B1 (en) | 2020-04-03 | 2023-11-14 | Soroco India Private Limited | Systems and methods for automated process discovery |
CN111571190B (zh) * | 2020-05-22 | 2022-01-25 | 中国科学院自动化研究所 | 三维立体式可视化自动装配***及方法 |
US12020046B1 (en) * | 2021-04-02 | 2024-06-25 | Soroco India Private Limited | Systems and methods for automated process discovery |
CN115446584B (zh) * | 2022-09-28 | 2024-02-20 | 国网天津市电力公司建设分公司 | 一种基于机器人的螺栓连接一体化工具及连接方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4825394A (en) * | 1985-05-07 | 1989-04-25 | General Dynamics Corporation | Vision metrology system |
JPH03161792A (ja) * | 1989-11-20 | 1991-07-11 | Fanuc Ltd | 3次元カーソル及びそれを用いたオフラインプログラミング方式 |
JP3051968B2 (ja) * | 1992-03-10 | 2000-06-12 | 新明和工業株式会社 | 加工ロボットのオフライン教示方法 |
JPH06297369A (ja) * | 1993-04-07 | 1994-10-25 | Mitsubishi Heavy Ind Ltd | 知的ロボット |
JP2875941B2 (ja) * | 1993-08-30 | 1999-03-31 | 株式会社三協精機製作所 | ロボットプログラム作成支援システム |
US6167328A (en) | 1995-09-19 | 2000-12-26 | Kabushiki Kaisha Yaskawa Denki | Robot language processing apparatus |
JP3215086B2 (ja) * | 1998-07-09 | 2001-10-02 | ファナック株式会社 | ロボット制御装置 |
DE19843162C2 (de) * | 1998-09-21 | 2001-02-22 | Alfing Montagetechnik Gmbh | Bearbeitungsvorrichtung mit einem Bearbeitungswerkzeug zur Bearbeitung eines Werkstücks |
WO2002016091A1 (fr) * | 2000-08-25 | 2002-02-28 | Janome Sewing Machine Co., Ltd. | Robot |
WO2003011535A1 (fr) | 2001-08-01 | 2003-02-13 | Sony Corporation | Robot mobile dote de jambes et procede de commande de fonctionnement de ce robot |
DE10144508C9 (de) * | 2001-09-10 | 2018-06-28 | Open Mind Technologies Ag | Verfahren zur Steuerung von Relativbewegungen eines Werkzeuges gegen ein Werkstück |
JP4050982B2 (ja) * | 2002-12-27 | 2008-02-20 | 日東精工株式会社 | ねじ締めロボットの教示装置 |
EP1510893B1 (de) | 2003-09-01 | 2014-11-05 | TRUMPF Werkzeugmaschinen GmbH + Co. KG | Verfahren und Vorrichtung zum Festlegen der Bewegungsbahn eines Handling-systems |
JP5155693B2 (ja) * | 2008-02-26 | 2013-03-06 | 東芝プラントシステム株式会社 | 超音波検査装置 |
WO2009110057A1 (ja) * | 2008-03-04 | 2009-09-11 | 富士通株式会社 | ネジ締め装置 |
DE202011103223U1 (de) | 2011-07-08 | 2012-10-11 | Kuka Systems Gmbh | Arbeitsvorrichtung |
TWI453555B (zh) * | 2012-07-11 | 2014-09-21 | Univ Nan Kai Technology | 自動服務型機器人 |
US10383699B2 (en) * | 2013-03-15 | 2019-08-20 | Sri International | Hyperdexterous surgical system |
CN103192157A (zh) * | 2013-04-10 | 2013-07-10 | 无锡华联精工机械有限公司 | 数控球面切割机以及数控球面切割方法 |
TWM483290U (zh) | 2014-01-28 | 2014-08-01 | Pei-Chun Ke | 自走式清汙機器人 |
JP5850962B2 (ja) * | 2014-02-13 | 2016-02-03 | ファナック株式会社 | ビジュアルフィードバックを利用したロボットシステム |
-
2014
- 2014-10-14 JP JP2014209690A patent/JP6698268B2/ja active Active
- 2014-11-21 KR KR1020140163191A patent/KR101617750B1/ko active IP Right Grant
-
2015
- 2015-02-05 CN CN201510062354.3A patent/CN105983970B/zh active Active
- 2015-03-10 TW TW104107479A patent/TWI599459B/zh active
- 2015-04-10 US US14/683,536 patent/US9718186B2/en active Active
- 2015-04-14 DE DE102015105687.9A patent/DE102015105687B4/de active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016078140A (ja) | 2016-05-16 |
TW201613731A (en) | 2016-04-16 |
KR20160043883A (ko) | 2016-04-22 |
US20160101522A1 (en) | 2016-04-14 |
CN105983970B (zh) | 2018-07-27 |
CN105983970A (zh) | 2016-10-05 |
DE102015105687A1 (de) | 2016-04-14 |
JP6698268B2 (ja) | 2020-05-27 |
TWI599459B (zh) | 2017-09-21 |
US9718186B2 (en) | 2017-08-01 |
DE102015105687B4 (de) | 2016-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101617750B1 (ko) | 로봇 | |
JP4271232B2 (ja) | ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体 | |
US4568816A (en) | Method and apparatus for manipulator welding apparatus with improved weld path definition | |
EP2375298B1 (en) | Programming method for a robot, programming apparatus for a robot, and robot control system | |
US6243621B1 (en) | Method of determining workpiece positions including coordinated motion | |
EP2832503A1 (en) | Robot system and product manufacturing method | |
CN111278610A (zh) | 用于运行可移动机器人的方法和*** | |
Bolmsjö et al. | Robotic arc welding–trends and developments for higher autonomy | |
US10987742B2 (en) | Method of controlling positioning control apparatus and positioning control apparatus | |
CN102802883A (zh) | 工业机器人的基座坐标系的校准 | |
JP7438777B2 (ja) | 制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法 | |
JPH0453621B2 (ko) | ||
KR101879025B1 (ko) | 위치들을 기록하기 위한 장치 및 방법 | |
JP2019217593A (ja) | ロボットシステム、ロボットシステムの制御方法、ロボットシステムを用いた物品の組立方法、制御プログラム及び記録媒体 | |
JP4396553B2 (ja) | ロボット制御装置,コンピュータプログラム | |
JPS5916286B2 (ja) | 工業用ロボツトの動作制御方法 | |
US11654562B2 (en) | Apparatus, robot control device, robot system, and method of setting robot coordinate system | |
JPS5946758B2 (ja) | 自動作業機械の動作制御方法 | |
JPS5958503A (ja) | ロボツトのツ−ルオフセツト教示方法 | |
JPS60127986A (ja) | ならい制御方法および装置 | |
Maťuga | Control and positioning of robotic arm on CNC cutting machines and their applications in industry | |
JP7311971B2 (ja) | ロボット制御装置及びロボット制御方法 | |
US20210299869A1 (en) | Teaching Method | |
WO2022191148A1 (ja) | 教示工具または作業者の手を用いて教示点を設定する教示装置 | |
JP4530714B2 (ja) | 多関節作業ロボットの駆動制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190313 Year of fee payment: 4 |