KR20150103257A - 간섭 체크 장치 - Google Patents

간섭 체크 장치 Download PDF

Info

Publication number
KR20150103257A
KR20150103257A KR1020157020983A KR20157020983A KR20150103257A KR 20150103257 A KR20150103257 A KR 20150103257A KR 1020157020983 A KR1020157020983 A KR 1020157020983A KR 20157020983 A KR20157020983 A KR 20157020983A KR 20150103257 A KR20150103257 A KR 20150103257A
Authority
KR
South Korea
Prior art keywords
model
interference check
modeling
upper limit
unit
Prior art date
Application number
KR1020157020983A
Other languages
English (en)
Other versions
KR101781709B1 (ko
Inventor
고지 시라츠치
Original Assignee
미쓰비시덴키 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 미쓰비시덴키 가부시키가이샤 filed Critical 미쓰비시덴키 가부시키가이샤
Publication of KR20150103257A publication Critical patent/KR20150103257A/ko
Application granted granted Critical
Publication of KR101781709B1 publication Critical patent/KR101781709B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39094Interference checking between robot and fixture
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/49Protective device

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

간섭 체크 장치(1A)에 있어서, 간섭 체크 대상인 모델화 대상으로 설정하는 기하학적 모델의 모델 상한수가 입력되는 모델수 상한 입력부(12)와, 모델 상한수 이하의 기하학적 모델을 이용하여, 모델화 대상으로부터 모델 후보를 생성하는 모델화 처리부(14)와, 모델화 대상을 제어하는 콘트롤러의 각 처리에 요하는 연산 처리량에 근거하여, 간섭 체크의 연산 상한량을 설정하는 처리 연산량 상한 설정부(16)와, 연산 상한량 이하로 간섭 체크의 계산 처리를 행할 수 있는 모델 후보 중에서 모델의 포함 체적이 최소의 모델 후보를 모델화 대상의 모델로 결정하는 최소 포함 체적 모델 결정부(18A)와, 결정된 모델을 이용해서 모델끼리의 간섭 체크를 행하는 간섭 체크부(20)를 구비한다.

Description

간섭 체크 장치{INTERFERENCE CHECK DEVICE}
본 발명은 로봇끼리 혹은 로봇과 주변 기기간의 간섭을 체크하는 간섭 체크 장치에 관한 것이다.
간섭 체크 장치는, 산업용 로봇이나 그 주변 기기가 충돌하는 것을 미리 막을 목적으로, 충돌할 가능성을 체크하는 장치이다. 간섭 체크 장치는, 충돌의 가능성을 체크해 두는 것에 의해서, 충돌할 가능성이 있는 경우에는, 로봇 등에게 적절한 지령값(정지 혹은 동작 궤도를 수정하는 지령값)을 출력하여, 이것에 의해 충돌을 미리 막고 있다. 특히, 로봇이 가동 중인 경우도 온라인으로 실행하는 간섭 체크 장치에서는, 산업용 로봇이나 그 주변 기기를 그대로의 상세한 형상이 아니라, 일단 간섭 체크를 고속으로 계산 처리하기 쉬운 모델(예를 들면, 구체(球體)나 원통체 등)로 치환하고, 그 모델끼리의 간섭 체크를 실시하고 있다.
간섭 체크 장치는, 로봇 본체 등의 모델화 대상(물체)을 모델로 치환할 때에는, 관절의 가동축 수 등(기구의 자유도)을 고려하여 모델화 대상을 복수개의 영역으로 미리 분할한다. 그리고, 간섭 체크 장치는 각각의 영역이 프리미티브(primitive)라고 불리는 간단한 기하 모델(구체·원통체·직육면체·다면체 등)에 의해서 포함되도록 모델을 배치한다. 또, 간섭 체크 장치는, 각각의 프리미티브간의 최단 거리를 계산하고, 최단 거리가 0 혹은 미리 설정한 소정 거리보다 작아지는 경우에, 「간섭이 발생한다」고 판정하여, 정지 지령을 출력해서 정지 동작을 개시하고 있었다.
여기서, 모델화 대상의 구체적인 모델의 생성 방법에 대해 설명한다. 모델화에는, 「모델화하는 대상보다 모델이 큰 상태에서, 대상을 포함하고 있는 것」이 필요하게 된다. 대상의 포함에 대해서, 가령 과잉으로 여유를 갖고 포함하게 되어, 모델 설정이 너무 큰 경우에는, 대상끼리는 간섭의 가능성이 없는데도 불구하고 「간섭을 하고 있다」고 오판정을 발생시키는 요인으로 된다. 이 때문에, 모델화하는 경우에는, 대상 전체를 어떻게 효율 좋게, 잉여 영역이 작은 모델을 사용하여 포함할지가 중요해진다.
간섭 체크용의 모델로서, 단위 판정 계산 코스트가 유리한 구체를 이용하는 방식이 종래부터 이용되고 있다. 이러한 구체끼리의 판정을 이용하는 경우에도, 존재하는 모든 모델끼리를 판정하면, 모델수의 조합분만큼 계산 처리 코스트가 증대해 버린다. 계산 처리의 효율을 높이기 위해서, 항상 모든 모델끼리를 판정하는 것이 아니라, 간섭할 가능성이 있는 부위만 상세하게 판정하는 방법이 제안되어 있다.
이 방법에서는, 예를 들면 로봇에 대해 반경을 크게 하여 소수의 모델로 대충 모델화한 모델과, 반경을 작게 하여 다수의 모델로 상세하게 모델화한 모델이 계층적으로 준비된다. 그리고, 우선 대충한 모델끼리를 판정하고, 간섭하고 있을 가능성이 있으면, 상세한 모델에서도 판정을 행한다고 하는 방법을 취함으로써, 정밀도 좋게 계산 처리 코스트를 줄이고 있다(예를 들면, 특허문헌 1 참조).
로봇 등의 오프라인 혹은 온라인에서의 간섭 체크를 필요로 하는 현장에서는, 이와 같이 정밀도 좋게 모델화된 모델을 사용하여 간섭 체크하는 것이 바람직하다.
특허문헌 1: 일본 특허 제3612781호 공보
그러나, 상기 종래의 기술에서는, 모든 모델끼리를 판정하는 것은 피할 수 있는 한편, 모델끼리가 접근 상태에 있는 경우에는, 판정이 필요한 모델수는 결국 많아지게 된다. 이 결과, 단위당의 계산 코스트가 작은 구체를 이용하여 상세한 모델화를 행하는 경우에는, 큰 계산 코스트가 발생할 수 있다고 하는 문제점이 있었다.
또한, 단일의 종류의 프리미티브를 모델에 적용하는 경우에도, 모델수를 N개로부터 1개 늘림으로써, 포함하는 체적의 잉여분이 증가하는 경우가 있다. 또 이 경우, 모델의 포함 잉여분에 거의 변화가 없음에도 불구하고, 판정을 위한 계산 처리 코스트가 증가해 버리기도 한다.
이 때문에, 항상 안정된 계산 처리 코스트를 실현하면서, 포함 체적도 작게 하기 위해서는, 단일의 모델이 아니라, 형상에 유효한 포함 모델을 선택할 필요가 있다. 또한, 계산 처리 코스트에 상한이 있는 경우에는, 토탈 계산 처리 코스트가 상한보다 커지는지 여부를 고려하지 않으면 안된다.
예를 들면, 포함하는 모델로서 구체 이외의 원통체를 이용함으로써, 1모델 단위당의 간섭 체크 처리 시간은 증가하지만, 구체보다 적은 모델수로 모델화 대상을 포함할 수 있다. 이 때문에, 토탈적으로 효율적인 모델 선정·배치를 검토하는 것이 바람직하다. 그런데 , 현실에서는, 모델을 추가하는 작업은, 간섭 체크 장치를 탑재한 로봇의 유저가 행하게 되어, 유저의 조정으로 상기 요건을 고려한 모델 배치를 실시하는 것은 곤란하였다.
본 발명은, 상기를 감안하여 이루어진 것으로, 제한된 계산 코스트 내에서 모델의 포함 체적을 최소로 한 모델을 용이하게 생성할 수 있는 간섭 체크 장치를 얻는 것을 목적으로 한다.
상술한 과제를 해결하고, 목적을 달성하기 위해서, 본 발명은, 간섭 체크 장치가, 간섭 체크의 대상인 모델화 대상으로 설정하는 기하학적 모델의 상한수가 입력되는 모델수 상한 입력부와, 상기 모델화 대상을 포함할 수 있는 직육면체가 간섭 체크용의 모델로서 상기 모델화 대상으로 설정되면, 단위 거리 계산당의 계산 코스트가 상기 직육면체보다 작은 새로운 기하학적 모델을 상기 모델 상한수 이하의 수만큼 이용하여, 상기 직육면체를 상기 새로운 기하학적 모델로 치환하는 것에 의해서, 상기 모델화 대상을 모델화하는 모델화 처리부와, 상기 새로운 기하학적 모델을 이용한 모델을, 모델 후보로서 기억해 두는 모델 후보 기억부와, 상기 모델화 대상을 제어하는 콘트롤러가 행하는 각 처리에 요하는 연산 처리량에 관한 정보에 근거하여, 간섭 체크를 행할 때의 계산 처리 연산량의 상한인 연산 상한량을 설정하는 연산량 상한 설정부와, 상기 모델 후보 중에서, 상기 연산 상한량 이하에서 상기 간섭 체크의 계산 처리를 실행할 수 있는 모델 후보를 추출함과 아울러, 추출한 모델 후보 중에서 모델의 포함 체적이 가장 작은 모델 후보를 상기 모델화 대상의 모델로 결정하는 체적 모델 결정부와, 상기 체적 모델 결정부에 의해서 결정된 모델을 이용하여 모델끼리의 간섭 체크를 행함과 아울러, 간섭할 가능성이 있으면 동작 정지 지령을 출력하고, 간섭할 가능성이 없으면 동작 계속 지령을 출력하는 간섭 체크부를 구비하는 것을 특징으로 한다.
본 발명에 의하면, 제한된 계산 코스트 내에서 모델의 포함 체적을 최소로 한 모델을 용이하게 생성하는 것이 가능하게 된다고 하는 효과를 얻을 수 있다.
도 1은 실시 형태 1에 따른 간섭 체크 장치를 구비한 간섭 체크 시스템의 구성을 나타내는 도면이다.
도 2는 실시 형태 1에 따른 간섭 체크 장치의 구성을 나타내는 블럭도이다.
도 3은 구체 모델 판정을 행할 때의 단위 거리 계산당의 계산 코스트를 설명하기 위한 도면이다.
도 4는 단위 거리 계산의 다른 대상예를 나타내는 도면이다.
도 5는 모델화 처리를 설명하기 위한 도면이다.
도 6은 모델 상한수를 1개로 한 경우의 모델예를 나타내는 도면이다.
도 7은 모델 상한수를 2개로 한 경우의 모델예를 나타내는 도면이다.
도 8은 모델수와 잉여 포함 체적비의 관계를 나타내는 도면이다.
도 9는 간섭 체크 시스템의 다른 구성예를 나타내는 도면이다.
도 10은 실시 형태 2에 따른 간섭 체크 장치의 구성을 나타내는 블럭도이다.
도 11은 CAD/CAM 시스템을 이용한, 어셈블리마다의 분할 처리를 설명하기 위한 도면이다.
도 12는 실시 형태 3에 따른 간섭 체크 장치의 구성을 나타내는 블럭도이다.
도 13은 간섭 체크 장치의 하드웨어 구성을 나타내는 도면이다.
도 14는 실시 형태 4에 따른 간섭 체크 장치의 구성을 나타내는 블럭도이다.
이하에, 본 발명의 실시 형태에 따른 간섭 체크 장치를 도면에 근거하여 상세하게 설명한다. 또, 이러한 실시 형태에 의해 본 발명이 한정되는 것은 아니다.
실시 형태 1
도 1은 실시 형태 1에 따른 간섭 체크 장치를 구비한 간섭 체크 시스템의 구성을 나타내는 도면이다. 간섭 체크 시스템(100A)은 로봇 생산 시스템과, 로봇 생산 시스템의 기기간을 접속하는 통신 기기(3)와, 로봇 생산 시스템이 구비하는 각 콘트롤러의 설정을 변경하는 컴퓨터(9)를 포함하여 구성되는 시스템이다. 또, 간섭 체크 시스템(100A)은, 통신 기기(3) 대신에, 통신 기능과, 각 기기에 지령값이나 신호를 보내는 기능을 구비한 PLC(프로그래머블·로직·콘트롤러) 등의 제어 장치를 구비하고 있어도 좋다.
통신 기기(3)는 Ethernet(등록 상표) 등을 이용하여, 간섭 체크 시스템(100A) 내의 통신을 행한다. 구체적으로는, 통신 기기(3)는 로봇 콘트롤러(2), 주변 기기 콘트롤러(4) 및 컴퓨터(9)와 통신을 행한다.
컴퓨터(9)는 PC(Personal computer) 등의 정보 처리를 행하는 기기이다. 컴퓨터(9)는 각 콘트롤러(로봇 콘트롤러(2)나 주변 기기 콘트롤러(4) 등)의 설정을, 통신 기기(3)를 거쳐서 변경한다. 또, 컴퓨터(9) 이외에도, 각 콘트롤러에 대해 직접 설정을 변경하는 디바이스가 있는 경우, 이들 디바이스를 간섭 체크 시스템(100A)의 구성에 포함해도 좋다.
로봇 생산 시스템은 로봇(10)과, 핸드 장치(hand device)(6)와, 비전 센서(vision sensor)(7)와, 주변 기기(5)와, 주변 기기 콘트롤러(4)와, 로봇 콘트롤러(로봇 제어 장치)(2)를 포함하여 구성되어 있다.
로봇(10)은 로봇 콘트롤러(2)에 접속되어 있고, 로봇 콘트롤러(2)로부터의 지시에 따라 동작한다. 또한, 로봇(10)은 로봇 콘트롤러(2)로부터의 지시에 따라 핸드 장치(6) 등을 동작시킨다.
핸드 장치(6)는 로봇(10)에 의해서 동작되는 장치이다. 핸드 장치(6)는 주변 기기(5) 등에 충돌하지 않도록 이동한다. 비전 센서(7)는 핸드 장치(6)나 주변 기기(5) 등의 근방을 촬상하는 화상 센서이다. 비전 센서(7)는, 예를 들면 핸드 장치(6)의 근방에 배치되어 있고, 핸드 장치(6)와 함께 이동한다. 비전 센서(7)는 주변 기기(5) 등에 충돌하지 않도록 이동한다.
주변 기기 콘트롤러(4)는 주변 기기(5)에 접속되어 있고, 컴퓨터(9)로부터의 지시에 따라 주변 기기(5)를 제어한다. 주변 기기(5)는 로봇(10)의 주변에 배치되는 기기이다. 주변 기기(5)는, 주변 기기 콘트롤러(4)에 접속되어 있고, 주변 기기 콘트롤러(4)로부터의 지시에 따라 동작한다.
로봇 콘트롤러(2)는 로봇(10), 핸드 장치(6), 비전 센서(7)에 접속되어 있고, 컴퓨터(9)로부터의 지시에 따라 로봇(10), 핸드 장치(6), 비전 센서(7)를 제어한다.
또한, 로봇 콘트롤러(2)는 간섭 체크 장치(1X)를 가지고 있다. 간섭 체크 장치(1X)는 간섭 체크 처리(충돌 예상)를 행하는 장치이고, 핸드 장치(6)와 주변 기기(5)의 충돌의 가능성이나, 비전 센서(7)와 주변 기기(5)의 충돌의 가능성을 실제로 충돌이 발생하기 전에 체크한다. 간섭 체크 장치(1X)는, 충돌할 가능성이 있는 경우에는 로봇(10) 또는 핸드 장치(6)에 충돌을 회피시키기 위한 지령값(정지 또는 동작 궤도를 수정하는 지령값)를 출력한다. 또, 간섭 체크 장치(1X)는 주변 기기(5)에 충돌을 회피시키기 위한 지령값을 출력해도 좋다.
또, 간섭 체크 시스템(100A)은 1개의 로봇 콘트롤러(2)를 구비하고 있어도 좋고, 복수의 로봇 콘트롤러(2)를 구비하고 있어도 좋다. 또한, 간섭 체크 시스템(100A)은 1개의 주변 기기 콘트롤러(4)를 구비하고 있어도 좋고, 복수의 주변 기기 콘트롤러(4)를 구비하고 있어도 좋다. 또한, 로봇 생산 시스템은 비전 센서(7)를 구비하지 않아도 좋다.
본 실시 형태의 간섭 체크 장치(1X)는, 간섭 체크 대상(로봇(10), 핸드 장치(6), 비전 센서(7), 주변 기기(5))을 각각 모델화하고, 간섭의 가능성이 있으면 정지 신호를 출력하여, 간섭을 일으키는 일없이 안전하게 간섭 체크 대상을 정지시킨다. 또, 간섭 체크 장치(1X)는 알고리즘 자체를 로봇 콘트롤러(2) 이외에 적용하는 것도 가능하기 때문에, 로봇 콘트롤러(2) 이외의 연산 처리 장치를 이용하여 간섭 체크 장치를 구성해도 좋다. 예를 들면, 간섭 체크 장치(1X)는 주변 기기 콘트롤러(4) 내에 배치해 두어도 좋다.
여기서, 본 실시 형태에서 행해지는 간섭 체크 처리에 대해 설명한다. 본 실시 형태에서는, 로봇(10)의 가동 범위에 의해서 형성되는, 로봇(10)이 통과할 수 있는 공간을 동작 영역이라고 표현한다. 2대 이상의 로봇(10)끼리에서 동작 영역이 교차하는 경우는 로봇(10)끼리의 충돌 가능성이 있을 수 있다. 이러한 로봇(10)끼리의 충돌을 나타내는 표현으로서, 임의의 시각에 로봇(10)이 차지하고 있는 공간끼리가 교차하고 있는 상태에 대해서 간섭이라고 하는 표현을 이용한다.
또한, 로봇(10)을 복수의 모델로 표현했을 때, 각 모델이 차지하는 영역을 간섭 판정 영역이라고 부르고, 간섭 판정 영역끼리가 교차하는 상태에도 간섭이라고 하는 표현을 이용한다. 또한, 이러한 간섭이 생기는지 여부를 확인하는 것을 간섭 체크라고 부른다. 간섭 체크를 행하기 위해서는, 각 로봇(10)을 복수의 구체, 원통체, 직육면체 등을 이용하여 모델화해 두는 것이 필요하다.
예를 들면, 로봇 핸드를 유저가 설계하여 생산 시스템에 적용하는 경우에는, 간섭 체크를 행하기 전에, 로봇 핸드를 구체 등의 모델로 모델화하고, 모델의 타입(구체·원통체·직육면체), 모델의 치수, 모델의 배치(어떤 물체에 구속되는지) 등을 미리 모두 설정해 둔다.
로봇(10) 본체에 대해서는, 출하시에 이미 로봇 메이커측에서 설정되어 있는 모델의 값을 적용하는 것이 가능하지만, 유저측에서 설계·선정되는 핸드 장치(6), 비전 센서(7) 및 주변 기기(5)에 대해서는, 유저측에서 신규로 설정하게 된다.
이 때문에, 유저는 실제로 연산에 적용하는 모델을 하나하나 시행 착오하면서, 모델 사이즈나 모델 위치를 결정할 필요가 있다. 이러한 모델 조건의 설정에는, 2개의 제약을 고려하면서 설정할 필요가 있다.
첫번째의 제약은, 로봇 콘트롤러(2)간의 통신 속도상 혹은 기억 영역의 기억 허용량의 제약으로부터 자신의 모델로서 관리 가능한 모델수에 상한이 있는 것이다. 두번째의 제약은 처리 가능한 모델수에 상한이 있는 것이다. 이 두번째의 제약은 로봇 콘트롤러(2)의 연산 처리 장치가 통상 복수의 태스크를 처리하고 있으므로, 계산 리소스를, 간섭 체크 처리를 위해서만 크게 취할 수 없는 것에 기인하고 있다.
이들을 고려하면서 포함하는 모델의 타입의 체적을 가능한 한 작게 하면서 계산 처리량이 상이한 연산 처리(예를 들면, 궤도 계산이나 가감속도 지령 생성 등)에 영향이 없을 정도로 모델을 설정하는 것은 종래 곤란하였다.
본 실시 형태에 따른 간섭 체크 장치(1X)는, 모델화하고자 하는 영역의 외형이 직육면체로 지정되면, 계산 처리량으로서 상이한 연산 처리에 영향을 미치지 않는 모델 후보 중에서 포함 체적이 최소인 것을 자동 추출한다.
다음에, 간섭 체크 장치(1X)의 구성에 대해 설명한다. 도 2는 실시 형태 1에 따른 간섭 체크 장치의 구성을 나타내는 블럭도이다. 여기에서는, 간섭 체크 장치(1X)의 일례인 간섭 체크 장치(1A)의 구성에 대해 설명한다.
간섭 체크 장치(1A)는 직육면체 설정 입력부(11)와, 모델수 상한 입력부(12)와, 포함 체적 비교부(13)와, 모델화 처리부(14)와, 모델 후보 기억부(17)와, 처리 연산량 상한 설정부(16)와, 최소 포함 체적 모델 결정부(18A)와, 설정후 모델 기억부(19)와, 로봇 제어 장치 설정 기억부(15)와, 간섭 체크부(20)와, 구동 제어부(21)를 구비하고 있다.
직육면체 설정 입력부(11)는 핸드 장치(6)나 비전 센서(7) 등의 모델화 대상을 직육면체로 치환하기 위한 지시(모델화 지시(101))를 입력하는 인터페이스이다. 모델화 지시(101)는 유저가 마우스나 키보드 등을 이용하는 것에 의해서 직육면체 설정 입력부(11)에 입력된다.
직육면체 설정 입력부(11)에 입력되는 모델화 지시(101)에는, 예를 들면 직육면체 치수나 구속 조건 등이 포함되어 있다. 직육면체 치수는, 예를 들면 직육면체의 3변의 길이인 L[㎜], a[㎜], b[㎜](L≥a≥b)이다. 또한, 구속 조건은 모델이 구속되는 위치 및 자세이다.
구속 조건은, 예를 들면 로봇(10)에 있어서의, 플랜지 위치 등의 부착의 기준이 되는 위치, 부착의 기준이 되는 위치로부터 모델의 부착 위치까지의 오프셋량(X, Y, Z, A, B, C) 등이 지정된 정보이다. 여기서의 A는 X축 주위의 회전량, B는 Y축 주위의 회전량, C는 Z축 주위의 회전량을 나타내고 있다.
또, 각각의 회전량이나 오프셋량에 대해서는, 지정한 좌표계에 근거하여 정의하게 된다. 또한, 상기 좌표계에 대해서는, 미리 로봇축마다 정의되어 있고, 예를 들면 베이스 좌표계, 1축째 좌표계(first-axis coordinate system), 2축째 좌표계, 3축째 좌표계, 4축째 좌표계, 5축째 좌표계, 6축째 좌표계, 플랜지 위치 좌표계라고 하는 형태로 정의되어 있는 것으로 한다. 직육면체 설정 입력부(11)는 모델화 지시(101)를 포함 체적 비교부(13) 및 모델화 처리부(14)에 보낸다.
모델수 상한 입력부(12)는 모델수의 상한값인 모델 상한수(102)를 입력하는 인터페이스이다. 모델 상한수(102)는 유저가 마우스나 키보드 등을 이용하는 것에 의해서 모델수 상한 입력부(12)에 입력된다. 모델 상한수(102)는 모델화 대상으로 설정하는 모델의 상한 허용수이다. 모델 상한수(102)는 1 이상의 정수이며, 상한은 없다. 모델수 상한 입력부(12)는 모델 상한수(102)를 모델화 처리부(14)에 보낸다.
모델화 대상을 직육면체로 지정하는 것은 FA(Factory Automation)에 있어서의 각종의 형상은 사각형으로 간단하게 포함할 수 있는 것이 많아, 설정이 용이하기 때문이다. 사각형을 이용한 모델간 거리 및 충돌 판정의 계산 코스트는 정보 처리량이 많기 때문에, 실시간 계산에 이용하는 것은 곤란하다. 이 때문에, 간섭 체크 장치(1A)의 모델화 처리부(14)는 직육면체 모델을 구체나 원통체(원주) 등의 단위 계산 코스트가 낮고, 실시간 계산으로 정보 처리가 가능한 모델로 치환한다.
모델화 처리부(14)는 유저로부터의 지시인 모델화 지시(101)에 근거하여, 모델화 대상을 구체나 원통체 등의 모델로 치환하는 것에 의해, 모델화 처리를 실행한다. 모델화 처리부(14)는 모델화 대상을, 단위 거리 계산당의 계산 코스트가 직육면체보다 작은 새로운 기하학적 모델(구체 모델, 원통체 모델 등)로 치환하여 모델화한다. 모델화 처리부(14)는 복수 종류의 기하학적 모델 품종의 각 품종에 대해, 유저에 의해 지정된 기하학적 모델수의 상한(모델수 N)(모델 상한수(102)) 이하의 모델을 사용하여 모델을 생성한다.
여기서, 「단위 거리 계산당의 계산 코스트」에 대해 구체적인 사례를 이용하여 나타낸다. 이 처리는 「거리 계산」의 1회분에 관한 계산 코스트를 나타내고 있다. 도 3은 구체 모델 판정을 행할 때의 단위 거리 계산당의 계산 코스트를 설명하기 위한 도면이다. 예를 들면, 도 3에 나타내는 바와 같이, 구와 구의 판정(구체 모델 판정)이면 「점과 점의 거리 계산」이 1회분의 계산 코스트로 된다. 임의의 모델 i의 중심점을 P1, 다른 모델 j의 중심점을 P2라고 하고, P1=(X1, Y1, Z1), P2=(X2, Y2, Z2)라고 하면, P1, P2간의 거리 Lij는 하기의 수식으로 구할 수 있다.
Figure pct00001
도 4는 단위 거리 계산의 다른 대상예를 나타내는 도면이다. 단위 거리 계산의 대상으로서는, 도 4의 (a)에 나타내는 원통(301)(선분으로부터 일정 거리로 정의되는 함체(enclosure body), 양단은 반구 형상), 도 4의 (b)에 나타내는 원주(302), 도 4의 (c), (d)에 나타내는 유한 평면(삼각형(303B), 사각형(303A) 등의 다각형)을 생각할 수 있다. 또한, 단위 거리 계산의 대상으로서는, 뿔체(원추, 도 4의 (d)에 나타내는 삼각뿔(305) 등), 다면체(사면체, 도 4의 (c)에 나타내는 육면체(304), 팔면체, …), 도 4의 (e), (f)에 나타내는 함체(306A, 306B)(곡선으로부터 일정 거리의 곡면으로 포함된 폐 영역)를 생각할 수 있다.
도 5는 모델화 처리를 설명하기 위한 도면이다. 도 5에서는, 핸드 장치(6)의 일부인 로봇 핸드(30)를, 유저가 설계하여 생산 시스템에 적용하는 경우의 모델화 처리를 나타내고 있다. 모델화 처리부(14)는, 모델화 지시(101)에 근거하여, 로봇 핸드(30)를 소정의 모델로 모델화함과 아울러, 로봇(10)의 손끝측에 구속되어 있는 구속 조건을 모델로 설정한다. 도 5에서는, 구체 모델(31), 원통체 모델(32), 직육면체 모델(33)로 모델화한 경우의 각 모델도를 나타내고 있다.
모델화 처리부(14)는, 간섭 체크를 행하기 전에, 모델화 지시(101)에 근거하여, 모델의 타입(구체·원통체·직육면체 등), 모델의 치수, 모델의 배치(어떤 물체에 구속되는지)를 설정해 둔다. 모델화 처리부(14)는, 모델화 지시(101)에 의해 지정되어 있는 모델의 타입, 모델의 치수 및 모델의 배치에 근거하여, 모델화 대상을 구체나 원통체 등의 모델로 치환한다. 모델화 처리부(14)는 구체나 원통체 등의 모델로 치환한 모델화 대상(모델 후보)을 모델 정보(103)로서 모델 후보 기억부(17)에 기억시킨다. 모델 정보(103)는 모델 후보에 관한 정보이고, 모델 후보 자체, 각 모델의 개수, 각 모델의 타입, 각 모델의 치수, 각 모델의 배치 등을 포함하고 있다. 모델화 처리부(14)는, 복수의 모델 후보를 생성하고, 각 모델 후보를 모델 후보 기억부(17)에 기억시킨다.
포함 체적 비교부(13)는, 모델화 지시(101) 내의 직육면체 치수와, 모델 정보(103)에 근거하여, 모델화 대상에 대한 모델의 잉여 포함 체적비를 산출한다. 잉여 포함 체적비는 모델이 모델화 대상에 대해 여분으로 포함하고 있는 체적을 모델화 대상의 체적으로 나눈 값이다. 포함 체적 비교부(13)는 모델화 대상의 체적을, 모델화 지시(101) 내의 직육면체 치수에 근거하여 산출하고, 모델의 체적을 모델 정보(103)로부터 산출한다. 포함 체적 비교부(13)는 산출한 잉여 포함 체적비를, 모델화 잉여량(104)으로서 모델 후보 기억부(17)에 기억시킨다. 또, 포함 체적 비교부(13)는 잉여 포함 체적비 대신에, 모델의 체적의 제한값(허용값)을 모델화 잉여량(104)으로서 모델 후보 기억부(17)에 기억시켜도 좋다. 모델의 체적의 제한값은 모델화 대상의 체적에 대한 비(比)이어도 좋고 차(差)이어도 좋다.
모델 후보 기억부(17)는 모델 정보(103), 모델화 잉여량(104)을 기억해 두는 메모리 등이다. 모델 후보 기억부(17)는 모델 정보(103)와 모델화 잉여량(104)을 대응지어 기억해 둔다.
로봇 제어 장치 설정 기억부(15)는 각 콘트롤러가 실행하는 각 처리에 요하는 연산 처리량에 관한 정보를 처리 정보(105)로서 기억해 두는 메모리 등이다. 처리 정보(105)는, 예를 들면 각 콘트롤러에서 유효로 되어 있는 옵션 처리 기능 정보, 각 처리 기능의 연산 처리 시간, 1 제어 주기의 연산 처리 시간 등이다.
또한, 로봇 제어 장치 설정 기억부(15)는 각 로봇 콘트롤러(2)에서 처리하는 단위 모델마다의 간섭 체크 판정 시간(각 모델 단위에 요하는 연산량)을, 모델 단위 연산량(108)으로서 기억해 둔다.
처리 연산량 상한 설정부(16)는, 로봇 제어 장치 설정 기억부(15)로부터 처리 정보(105)를 읽어냄과 아울러, 처리 정보(105)에 근거하여, 로봇 콘트롤러(2)가 간섭 체크에 사용할 수 있는 연산 처리 시간(106)(연산 상한량)을 산출한다. 처리 연산량 상한 설정부(16)는 산출한 연산 처리 시간(106)을 최소 포함 체적 모델 결정부(18A)에 출력한다.
설정후 모델 기억부(19)는 로봇 암(로봇(10), 핸드 장치(6)), 비전 센서(7), 주변 기기(5)에 설정되어 있는 각 모델의 타입, 각 모델의 개수, 각 모델의 치수 및 각 모델의 배치 정보 등 모델 정보(103)에 포함되는 간섭 체크용의 모델 배치에 필요한 정보를 기억하고 있다.
새로운 모델을 설정할 때에는, 설정후 모델 기억부(19)의 최소 포함 체적 모델(109)이 설정후 모델 정보(110)로서 판독된다. 설정후 모델 정보(110)는 로봇 암(로봇(10), 핸드 장치(6))에 설정되어 있는 모델의 모델 타입 및 그 모델 개수의 정보 등이다. 또한, 간섭 체크가 행해질 때에는, 설정후 모델 기억부(19)의 최소 포함 체적 모델(109)이 그대로 판독된다.
최소 포함 체적 모델 결정부(18A)는 모델 정보(103)와 모델화 잉여량(104)을 모델 후보 정보(107)로서 모델 후보 기억부(17)로부터 판독된다. 또한, 최소 포함 체적 모델 결정부(18A)는 로봇 제어 장치 설정 기억부(15)로부터 모델 단위 연산량(108)을 읽어내고, 설정후 모델 기억부(19)로부터 설정후 모델 정보(110)를 읽어낸다.
최소 포함 체적 모델 결정부(18A)는 모델 후보 중에서 처리 연산량의 임계값 제한을 만족하는 모델 후보를 추출한다. 구체적으로는, 최소 포함 체적 모델 결정부(18A)는 설정후 모델 정보(110) 및 모델 후보 정보(107)에 근거하여, 각 모델 후보에 대해, 1회의 간섭 체크에 필요한 계산 처리 횟수를 산출한다. 또, 최소 포함 체적 모델 결정부(18A)는 산출한 계산 처리 횟수와 모델 단위 연산량(108)에 근거하여, 원통체와 구체의 조합마다, 1회의 간섭 체크에 요하는 계산 처리 시간을 산출한다. 최소 포함 체적 모델 결정부(18A)는 이 산출 처리를, 모델 타입수×모델수의 수만큼 반복한다.
최소 포함 체적 모델 결정부(18A)는 각 간섭 체크의 계산 처리 시간과, 간섭 체크에 사용할 수 있는 연산 처리 시간(106)을 비교한다. 최소 포함 체적 모델 결정부(18A)는 모델 후보 중에서, 간섭 체크에 사용할 수 있는 연산 처리 시간(106)보다 작은 계산 처리 시간에 간섭 체크를 행할 수 있는 모델 후보만을 추출한다. 최소 포함 체적 모델 결정부(18A)는 추출한 모델 후보 중에서, 모델화 잉여량(104)이 가장 작은 모델 후보를 선택하고, 선택한 모델 후보를 최소 포함 체적 모델(109)로서 설정후 모델 기억부(19)에 기억시킨다. 이 때, 최소 포함 체적 모델 결정부(18A)는 1개의 모델화 대상에 대해 오래된 최소 포함 체적 모델(109)이 설정후 모델 기억부(19) 내에 존재하는 경우에는 새로운 최소 포함 체적 모델(109)로 오버라이트한다.
간섭 체크부(20)는 설정후 모델 기억부(19)가 기억하고 있는 최소 포함 체적 모델(109)을 이용하여 간섭 체크를 실행한다. 이 때, 간섭 체크부(20)는 최소 포함 체적 모델(109)에 설정되어 있는 모델 치수 및 모델 위치 구속 조건(111)을 이용하여 간섭 체크를 실행한다. 모델 위치 구속 조건(111)은 모델이 구속되는 위치 및 자세에 관한 조건이고, 모델화 지시(101)에 포함되어 있는 것이다.
간섭 체크부(20)는, 간섭할 가능성이 있다고 판단한 경우에는 동작 정지 지령을 구동 제어부(21)에 출력한다. 간섭 체크부(20)는, 간섭할 가능성이 없다고 판단한 경우에는 동작 계속 지령을 구동 제어부(21)에 출력한다. 간섭 체크부(20)는 동작 정지 지령이나 동작 계속 지령을, 동작 변경 지령값(112)으로서 구동 제어부(21)에 출력한다. 구동 제어부(21)는 로봇(10)이나 핸드 장치(6)에 대해, 동작 변경 지령값(112)에 따른 구동 제어를 행한다.
다음에, 간섭 체크 장치(1A)에 의한 간섭 체크 처리의 처리 순서에 대해 설명한다. 직육면체 설정 입력부(11)에는, 미리 유저에 의해서 모델화 지시(101)가 입력된다. 직육면체 설정 입력부(11)는 모델화 지시(101)를 포함 체적 비교부(13) 및 모델화 처리부(14)에 보낸다. 또한, 모델수 상한 입력부(12)로는, 미리 유저에 의해서 모델 상한수(102)가 입력된다. 모델수 상한 입력부(12)는 모델 상한수(102)를 모델화 처리부(14)에 보낸다.
모델화 처리부(14)는, 모델화 지시(101)에 따라, 모델화 처리를 실행할 때에 이용하는 모델 정보(103)(각 모델의 개수, 각 모델의 타입, 각 모델의 치수, 각 모델의 배치)를 모델 후보 기억부(17)에 기억시켜 둔다. 모델화 처리부(14)는 모델 정보(103)를 포함 체적 비교부(13)에 보낸다.
또한, 모델화 처리부(14)는 모델화 지시(101) 및 모델 상한수(102)에 근거하여, 모델화 대상을 직육면체로부터 구체나 원통체 등의 모델로 치환한다. 이것에 의해, 모델화 처리부(14)는 모델화 대상에 모델화 처리를 실행하고, 복수의 모델 후보를 생성한다. 모델화 처리부(14)는 모델 후보를, 모델 정보(103) 내에 넣고, 모델 후보 기억부(17)에 기억시킨다.
여기서, 모델수와 잉여 포함 체적비에 대해 설명한다. 일반적으로는, 모델의 수를 늘리는 만큼 모델이 포함하는 오차량(모델과 모델화 대상간의 오차량)이 저감한다. 또, 오차량은 단순히 저감하는 것은 아니다. 도 6은 모델 상한수를 1개로 한 경우의 모델예를 나타내는 도면이고, 도 7은 모델 상한수를 2개로 한 경우의 모델예를 나타내는 도면이다.
도 6에서는, 1개의 모델을 사용 가능하다고 하는 제한이고, 직육면체 형상(가늘고 긴 얇은 물체)(50)을 구체로 모델화한 경우의 모델(51)과, 직육면체 형상(50)을 원통체로 모델화한 경우의 모델(60, 61)을 나타내고 있다. 여기서의 원통체는 구체를 스크레치한 형상이고, 포함 방향은 길이 방향이 긴 순서로 2패턴이 있다. 도 6에서는, 직육면체 형상(50)의 길이 방향과 길이 방향이 동일한 원통체로 모델화한 경우의 모델을 모델(61)로 나타내고, 직육면체 형상(50)의 길이 방향과 길이 방향이 수직인 원통체로 모델화한 경우의 모델을 모델(60)로 나타내고 있다.
모델 상한수를 1개로 한 경우에, 직육면체 형상(50)을 구체로 모델화할 때에는, 구체를 이용한 모델이 최소 체적으로 되도록 모델화되기 때문에, 모델(51)이 설정된다. 또한, 모델 상한수를 1개로 한 경우에, 직육면체 형상(50)을 원통체로 모델화할 때에는, 원통체를 이용한 모델이 최소 체적으로 되도록 모델화되기 때문에, 모델(61)이 설정된다.
도 7에서는, 2개까지의 모델을 사용 가능하다고 하는 제한으로, 직육면체 형상(50)을 구체로 모델화한 경우의 모델(52A, 52B)과, 직육면체 형상(50)을 원통체로 모델화한 경우의 모델(62A, 62B) 및 모델(63A, 63B)을 나타내고 있다. 또, 모델 상한수를 2개로 한 경우, 1개의 구체 또는 1개의 원통체로 직육면체 형상(50)을 모델화해도 좋지만, 도 6과 동일한 모델로 되기 때문에, 도 7에서는 도시 생략하고 있다.
도 7에서는, 직육면체 형상(50)의 길이 방향과 길이 방향이 동일한 원통체로 모델화한 경우의 모델을 모델(63A, 63B)로 나타내고, 직육면체 형상(50)의 길이 방향과 길이 방향이 수직인 원통체로 모델화한 경우의 모델을 모델(62A, 62B)로 나타내고 있다.
모델 상한수를 2개로 한 경우에, 직육면체 형상(50)을 구체로 모델화할 때에는, 구체를 이용한 모델이 최소 체적으로 되도록 모델화되므로, 모델(52A, 52B)이 설정된다. 또한, 모델 상한수를 2개로 한 경우에, 직육면체 형상(50)을 원통체로 모델화할 때에는, 원통체를 이용한 모델이 최소 체적으로 되도록 모델화되므로, 모델(63A, 63B)이 설정된다.
도 6이나 도 7에 나타내는 바와 같이, 원통체 모델을 이용하여 모델화하면, 모델화(포함 체적)의 낭비가 적은 것을 알 수 있다. 이것은, 인간의 시행 착오에 의해서 추측할 수 있지만, 구체와 구체간의 간섭 체크, 원통체와 원통체간의 간섭 체크에 필요한 계산량은 구체의 경우보다 수배 커진다. 이 때문에, 모델 구성에 따라서는 계산량이 너무 커지기 때문에, 로봇 콘트롤러(2)의 처리 전체에 차지하는 간섭 체크 처리의 처리량이 너무 커지는 일이 있다.
도 8은 모델수와 잉여 포함 체적비의 관계를 나타내는 도면이다. 도 8에서는, 구체 모델(sphere)을 이용한 경우의 모델수와 잉여 포함 체적비의 관계를 관계(71)로 나타내고 있다. 또한, 원통체 모델(cylinder)을 이용한 경우의 모델수와 잉여 포함 체적비의 관계를 관계(72, 73)로 나타내고 있다. 관계(72)는 원통체 모델에 있어서의 길이 방향을 L로 한 경우의 관계이고, 관계(73)는 길이 방향을 a로 한 경우의 관계이다.
도 8에 있어서의 가로축이 모델 개수이고, 세로축이 잉여 포함 체적비이다. 여기서의 잉여 포함 체적비는 직육면체(모델화 대상)의 모델을 정확히 감싼 경우를 0으로 하고, 직육면체의 모델을 여분으로 포함하고 있는 체적을 직육면체의 모델의 체적으로 나눈 양을 나타낸 것이다. 환언하면, 잉여 포함 체적비는 잉여로 포함하고 있는 양을 나타내는 비율이다.
도 8에 나타내는 바와 같이, 사용 가능한 모델수가 어느 정도 큰 경우에 모델수를 단순히 늘린 배치를 하면, 모델수를 늘림으로써 포함의 잉여량이 증가하는 것을 알 수 있다.
이러한 상황에 대해, 모델화 처리부(14)는, 미리 유저가 지정한 2개의 정보(모델화 지시(101) 및 모델 상한수(102))를 이용하여, 모델 타입수 M×모델수 N만 모델화 처리를 실행한다. 또, 여기서의 N, M은 자연수이다. 또한, 모델수 N은 모델 상한수(102)로 결정되는 것이다. 또한, 모델 타입이 「구체」, 「원통체」 및 「구체와 원통체」인 경우, 모델 타입수 M=3이다. 즉, 모델 타입수란, 사용하는 모델수와 모델 타입으로부터 계산할 수 있는 모든 조합의 수이다. 이 경우, 모델화 처리부(14)는, 구체 모델을 적용한 경우에 대해, N회의 모델화 처리를 실행하고, 원통체 모델을 적용한 경우에 N회의 모델화 처리를 실행하고, 구체 및 원통체를 적용한 경우에 N회의 모델화 처리를 실행한다. 이것에 의해, 모델화 처리부(14)는 M×N회의 모델화 처리를 실행한다.
모델화 처리부(14)는, 모델 타입마다의 모델화 처리에 있어서, 모델수 상한 입력부(12)로부터 얻어지는 상한수를 N으로 하고, 우선 모델 자체를 k개(k=1~N)의 직육면체로 분할하는 처리를 실시한다. k 분할의 방법에 대해서는, 모델 타입마다 상이하다. 이것에 대해서는, 각각의 모델 타이프별의 모델화 룰에 대해 일례를 이하에 설명한다.
모델 타입에 구체를 이용하는 경우는, 주어진 모델화 지시(101)에 대해, 가능한 한 입방체에 가까운 직육면체로 분할함으로써, 효율이 좋은 포함이 실행될 수 있다. 이 때문에, 분할의 목표는 가능한 한 입방체에 가까운 것을 많이 만든다고 하는 룰로 된다. 구체 모델의 경우, 분할 후의 제 ki 번째(i=1, …, N)의 직육면체의 끝점(end point) P1ki, P2ki, P3ki, P4ki, P5ki, P6ki, P7ki, P8ki를 이용하여, 중심 위치 Pcnt_ki를 이하의 식 (1)로 구할 수 있고, 반경 R을 이하의 식 (2)로 구할 수 있다. 또, norm(*)는 *의 벡터의 법칙을 계산하는 함수이다.
Figure pct00002
구체의 경우에 대해서는, 사용 가능한 모델수 k(k=1~N)의 조건 하에서, 지정된 모델 타입의 모델(구체 혹은 원통체)로 최소 포함 체적을 실현하는 배치가 자동적으로 계산된다. 배치의 방법으로서는, 모델화 지시(101)로 주어지는 직육면체를 이하에 나타내는 지정한 방향으로 지정한 분할 횟수만큼 분할하고, 분할된 직육면체에 대해 최소 포함 가능한 구체가 정의된다.
이하, 전술한 직육면체의 3변의 길이인 L[㎜], a[㎜], b[㎜](L≥a≥b)를 이용하여 설명한다. 분할 방향 및 분할수에 대해서는, L[㎜]의 정의(定義) 방향의 분할수가 k_L[회], a[㎜]의 정의 방향의 분할수가 k_a[회], b[㎜]의 정의 방향의 분할수가 k_b[회]로 정의되고, 각각 k_L=0, k_a=0, k_b=0으로부터 개시한다. 우선, k_L를 증가시켜 가고, 후술하는 순서에 따라 k_L이 소정의 조건을 만족하는 경우에는 k_a를 증가시키고, 마찬가지로 k_a가 소정의 조건을 만족하는 경우에는 k_b를 증가시키는 순서로 분할을 실시한다. k_L, k_a, k_b는 각각의 방향의 분할수가 증가할 때마다 1 증가한다. 그리고, 모델화 지시(101)로 주어지는 직육면체 분할수를 k_tot=k_L+k_a+k_b로 정의하고, 분할 후의 직육면체의 수(k_tot+1)가, 사용 가능한 모델수 k에 이를 때까지, 모델화 지시(101)로 주어지는 직육면체를 분할한다.
또, 각 방향의 분할에 있어서는, 1회의 분할에서는, 1개의 직육면체를 2개의 직육면체로 분할한다고 하는 순서로 실시한다. 또한, 후술하는 바와 같이 사용 가능한 모델수 k가 결정되면, 모델화 처리부(14)는, 모델화 처리에 있어서, k_tot가 k에 이를 때까지 소정의 분할 처리를 행한다. 이것에 의해, k_tot가 k에 이르고, 분할된 직육면체가 일의적으로 결정되게 된다.
이 경우의 최소 포함 구체는 식 (2)로 나타내어지는 바와 같이 분할된 직육면체의 대각선을 직경으로 하는 구체로 된다. 이하, 모델화 처리부(14)에 있어서의 모델화 처리의 소정의 분할 처리에 대해 설명한다. 우선, k_L 분할한 경우에, 이하의 조건(식 (3))이 성립하고 있는지 여부가 확인된다. 성립하고 있으면, 계속 k_L가 1개 증가하고 분할 처리가 실시된다.
Figure pct00003
식 (3)이 성립하고 있지 않는 경우, 분할하는 길이 방향이 a[㎜]의 정의 방향으로 변경되어 분할된다. 또, 분할 방향을 변경하는 경우는, L/(k_L+1)<a가 성립하는 처음의 k_L을 k_L0으로 하고, 금회의 k와의 차를 차 Δk=k-(k_L0+1)로 한다. 그리고, Δk>0인 경우에, 이하의 조건(식 (4))이 성립하고 있는지 여부가 확인된다.
Figure pct00004
식 (4)의 조건이 성립하고 있는 경우, 길이 방향을 a[㎜]의 정의 방향으로 한 2분할이 실시된다. 또, 분할 방법에 대해서는, (k_L0+1)≥Δk인 경우는, (k_L0+1)개의 직육면체 중 Δk개만큼, 길이 방향 a의 방향으로 2분할을 실시하고 분할 완료로 된다. 분할 대상으로 하는 것은 예를 들면 손끝에 가까운 쪽으로부터 모델화된다. (k_L0+1)<Δk인 경우는, k0회분만큼 길이 방향 a의 방향으로 직육면체를 2분할하는 처리가 실시된 후에, 다음의 조건(식 (5))이 성립하고 있는지 여부가 확인된다.
Figure pct00005
식 (5)가 성립하는 경우는, 분할 방향이 변경되고, 길이 방향 L[㎜]의 정의 방향이 k_L0+1 분할된다. 식 (5)가 성립하지 않는 경우는, 길이 방향 a[㎜]의 정의 방향의 분할이 계속된다. 식 (5)까지의 처리를 b 방향의 분할도 아울러 일반화하기 위해서, 각각의 조건으로서 각 변 L, a, b를 현재의 각 축 방향에 대해 분할하는 횟수를 k_Ln[회], k_an[회], k_bn[회](단, n=0, 1, 2, …)로 할 때, k_L0의 정의와 같이, 각 단계에서 상이한 길이 방향이 생겼을 때의 각 축 방향(L 방향, a 방향, b 방향)에서 본 경우의 최대의 분할수를 k_Ln, k_an, k_bn으로서 정의한다. 이들은, 각각 각 단계에서 정의되고, 길이 L/k_Ln, a/k_an, b/k_bn이 각 방향의 분할수 k_L, k_a, k_b가 증가할 때마다 비교된다. 이 경우에서, 우선 L이 분할되고, 이하의 식 (6)이 성립한 시점에서 분할 방향이 a로 전환된다. 그리고, 이하에 나타내는 식 (7)이 성립한 시점에서, 이하의 식 (8)이 성립하고 있는지 여부가 확인된다.
Figure pct00006
식 (8)이 성립하고 있는 경우는 b 방향의 분할수가 1 증가된다. 한편, 식 (8)이 성립하지 않는 경우는 다시 L의 분할수가 1 증가된다. 또, 분할수가 증가되는 경우에는, k_tot=k_L+k_a+k_b가 k-1에 도달했을 때에는 이에 따라 분할이 종료되고, 구체 모델이 식 (1), 식 (2)에 따라서 정의된다. 이 처리를 통해 k=1~N의 각각의 경우에 대해, 분할한 것에 의해서 정의되는 직육면체와 그것에 대응하는 구체 모델의 위치 및 치수를 얻는다.
모델 타입에 원통체가 이용되는 경우는, 정사각형을 단면(end face)에 가지는 긴 형상의 물체가 생성됨으로써, 효율적인 포함을 실현할 수 있다. 이 때문에, L 방향의 분할은 실행되지 않고, a 방향 혹은 b 방향의 분할이 실행되고, 가능한 한 분할 후의 L 방향에 수직인 단면이 정사각형에 가까워지도록 분할이 계속된다. 분할 완료시의 원통체를 구하는 방법은, 분할 후의 제 ki 번째 (i=1, …, N)의 직육면체의 끝점 P1ki, P2ki, P3ki, P4ki, P5ki, P6ki, P7ki, P8ki를 이용하여 구할 수 있다. 구체적으로는, 중심 위치(기준점) Pcnt_ki는 이하의 식 (9)로 구해지고, 모델 길이 L, 반경 R은 이하의 식 (10)으로 구해진다.
L 방향에 수직인 면에 따른 점으로 구속하는 좌표계의 중심 위치 Pcnt_ki에 가까운 쪽을 P1ki, P2ki, P3ki, P4ki로 하고, 먼 쪽을 P5ki, P6ki, P7ki, P8ki로 하면, 이하의 식 (9) 및 식 (10)이 성립한다.
Figure pct00007
또, 실제의 k회의 분할의 룰에 대해서는, a, b 방향으로밖에 분할되지 않는다고 하는 조건 이외는 구체 방향과 동일한 룰로 분할이 계속된다. 그리고, 분할이 완료된 시점에서 분할 완료로 되고, 식 (9) 및 식 (10)에 근거하여, 각 직육면체를 모델화하는 원통체가 구해진다.
다음에, 모델 타입에 구체와 원통체를 혼합한 경우의 모델화에 대해 설명한다. 분할 방법에 대해서는, 구체와 동일한 분할 방법으로 분할이 실행된다. 분할의 결과로서, 모델 타입을 분할 후의 k개(k=1~N)의 모델에 할당하는 룰만이 구체 모델의 경우와 상이하다. 기본적인 방법으로서, 각 직육면체에 대해, 구체와 원통체를 각각 할당한 후에, 잉여 체적비가 가장 작은 모델을 채용하는 방법이 실행된다. 이상의 처리를 거침으로써, 최종적으로 M×N개의 모델 후보가 산출된다.
다음에, 이 M×N개의 모델 후보에 대해, 포함 체적 비교부(13)는 각각의 모델 후보의 k개의 모델 위치 및 모델 치수와, 각 유저가 설정한 직육면체의 치수에 근거하여, 모델화 잉여량(104)을 산출한다.
구체적으로는, 포함 체적 비교부(13)는, 모델 정보(103) 중에서 모델 후보의 모델 위치 및 모델 치수를 추출함과 아울러, 모델화 지시(101) 중에서 직육면체(모델화 대상)의 치수를 추출한다. 그리고, 포함 체적 비교부(13)는, 모델 위치 및 모델 치수로부터 모델 후보의 체적을 산출하고, 모델화 대상의 치수로부터 모델화 대상의 체적을 산출한다. 또, 포함 체적 비교부(13)는, 모델화 대상의 체적을 기준으로 하여, 모델 후보의 체적에 관한 모델화 잉여량(104)(잉여 포함 체적비)을 산출한다. 또, 모델화 잉여량으로서는, 잉여 포함 체적비 이외의 값을 정의해도 좋다.
여기서, 잉여 포함 체적비의 산출 방법에 대해 설명한다. 잉여 포함 체적비를 Wst, 유저가 정의한 직육면체의 체적을 Vblock[mm^3], 분할 후의 모델의 체적의 총합을 Vmdl[mm^3], Vmdl 중에서 유저가 정의한 직육면체와 중복되지 않는 공간분의 체적을 Vwst[mm^3], 분할 후의 모델끼리가 중복되고 있는 영역의 체적을 Vovrp[mm^3]으로 하면, Wst와 Vwst는 각각 이하의 식 (11)과 식 (12)로 정의될 수 있다.
Figure pct00008
환언하면, 모델화에 의한 잉여 체적은, (잉여 체적)=(유저가 정의한 직육면체를 기본으로 하여, 구·원통으로 모델화된 총 체적)-(구·원통으로 모델화된 체적 중 중복 부분의 체적)-(유저가 정의한 직육면체의 체적)에 의해서 산출할 수 있다.
포함 체적 비교부(13)는, 식(11) 및 식(12)에 근거해 잉여 포함 체적비를 산출해, 모델화 잉여량(104)으로서 모델 후보 기억부(17)에 기억시킨다. 또, 모델화 잉여량으로서는, 잉여 포함 체적비 이외에도, 유저가 정의한 직육면체의 면 상의 점으로부터 연직 방향을 향해 연장되는 직선과, 생성한 모델의 영역에 근거하여 산출되는 값을 적용해도 좋다. 이 경우, 직육면체의 면 위의 점으로부터 연직 방향을 향해 연장되는 직선과, 생성한 모델의 표면의 교점(2점)이 도출되고, 교점간의 거리가 잉여 반경 Rwst로서 정의되고, 잉여 반경 Rwst가 모델화 잉여량(104)으로서 평가된다.
모델 후보 기억부(17)는 M×N개의 모델 후보의 모델 정보(103)와, 각 모델 후보의 모델화 잉여량(104)을 대응지어 축적해 둔다. M×N개의 모든 모델 후보에 관한 정보가 모델 후보 기억부(17)에 축적된 후, 최소 포함 체적 모델 결정부(18A)는 모델 정보(103)(M×N개의 모델 후보의 각 모델 타입, 각 모델 위치, 각 모델 치수 및 각각의 모델 개수)와, 각 모델 후보의 모델화 잉여량(104)을 모델 후보 정보(107)로서 모델 후보 기억부(17)로부터 읽어낸다.
또한, 처리 연산량 상한 설정부(16)는 로봇 제어 장치 설정 기억부(15)로부터, 각 콘트롤러에서 유효로 되어 있는 옵션 처리 기능 정보, 각 처리 기능의 연산 처리 시간 및 1 제어 주기의 연산 처리 시간을 처리 정보(105)로서 읽어낸다.
그리고, 처리 연산량 상한 설정부(16)는, 처리 정보(105)에 근거하여, 로봇 콘트롤러(2)가 간섭 체크에 사용할 수 있는 연산 처리 시간(106)을 산출하고, 산출 결과를 최소 포함 체적 모델 결정부(18A)에 출력한다.
최소 포함 체적 모델 결정부(18A)는 로봇 제어 장치 설정 기억부(15)로부터, 각 로봇 콘트롤러(2)에서 처리하는 단위 모델마다의 간섭 체크 판정 시간(구체와 구체, 원통체와 구체, 원통체와 원통체)을 모델 단위 연산량(108)으로서 읽어낸다. 모델 단위 연산량(108)은 각 모델 단위의 간섭 체크에 요하는 연산량이고, 모델 단위마다 설정되어 있다. 모델 단위 연산량(108)은, 예를 들면 원통체와 구체의 조합마다(구체와 구체, 원통체와 구체, 원통체와 원통체) 설정되어 있다.
또한, 최소 포함 체적 모델 결정부(18A)는 설정후 모델 기억부(19)로부터, 이미 설정되어 있는 로봇 암에 대한 모델 타입 및 그 모델 개수의 정보를 설정후 모델 정보(110)로서 읽어낸다.
최소 포함 체적 모델 결정부(18A)는 설정후 모델 정보(110)와, 모델 후보 정보(107) 중의 모델 타입 및 모델 개수로부터 1회의 간섭 체크에 필요한 계산 처리 횟수를 산출한다. 최소 포함 체적 모델 결정부(18A)는 구체와 구체, 원통체와 구체, 원통체와 원통체에 대해, 각 계산 처리 횟수를 각각 산출한다.
또, 최소 포함 체적 모델 결정부(18A)는, 산출한 계산 처리 횟수와 모델 단위 연산량(108)에 근거하여, 원통체와 구체의 조합마다, 1회의 간섭 체크에 요하는 계산 처리 시간을 산출한다. 최소 포함 체적 모델 결정부(18A)는 이 산출 처리를 모델 타입수×모델수(M×N)회 반복한다.
최소 포함 체적 모델 결정부(18A)는 M×N개의 간섭 체크의 계산 처리 시간과, 간섭 체크에 사용할 수 있는 연산 처리 시간(106)을 비교한다. 그리고, 최소 포함 체적 모델 결정부(18A)는 모델 후보 중에서, 연산 처리 시간(106)보다 작은 계산 처리 시간에서 간섭 체크를 행할 수 있는 모델 후보만을 추출한다.
그리고, 최소 포함 체적 모델 결정부(18A)는, 추출한 모델 후보 중에서, 모델화 잉여량(104)이 가장 작은 모델 후보를 선택하고, 선택한 모델 후보를 최소 포함 체적 모델(109)로서 설정후 모델 기억부(19)에 기억시킨다. 또, 최소 포함 체적 모델 결정부(18A)는, 모델 후보를 추출할 수 없었던 경우에는 표시 장치(도시하지 않음) 등에 에러 등을 표시시킨다.
간섭 체크부(20)는 설정후 모델 기억부(19)가 기억하고 있는 최소 포함 체적 모델(109)을 이용하여, 간섭 체크를 실행한다. 구체적으로는, 간섭 체크부(20)는 최소 포함 체적 모델(109)에 설정되어 있는 모델 치수 및 모델 위치 구속 조건(111)을 이용하여, 간섭 체크를 실행한다.
간섭 체크부(20)는, 예를 들면 로봇(10)의 관절 각도에 관한 정보(로봇 관절 각도 정보)를 이용하여 모델의 현재 위치를 갱신한다. 그리고, 간섭 체크부(20)는, 모델간의 거리가 0 또는 소정 거리 이하로 된 경우에, 로봇(10) 등을 정지시키기 위한 동작 정지 지령을 구동 제어부(21)에 출력한다. 또한, 간섭 체크부(20)는, 간섭할 가능성이 없는 경우는 동작 계속 지령을 구동 제어부(21)에 출력한다. 이것에 의해, 구동 제어부(21)는 로봇(10)이나 핸드 장치(6)에 대해서, 동작 변경 지령값(112)에 따른 구동 제어를 행한다.
또, 간섭 체크 시스템(100A)의 구성은, 도 1과 같은 구성에 한정되지 않고, 다른 구성이어도 좋다. 도 9는 간섭 체크 시스템의 다른 구성예를 나타내는 도면이다. 간섭 체크 시스템(100B)은 로봇 생산 시스템과 컴퓨터(9)를 포함하여 구성되어 있다. 그리고, 간섭 체크 시스템(100B)의 로봇 생산 시스템은 로봇(10)과, 핸드 장치(6)와, 로봇 콘트롤러(2)를 포함하여 구성되어 있다.
이러한 간섭 체크 시스템(100B)에 나타내는 구성이더라도, 유저는 로봇 콘트롤러(2)에 액세스하여 모델 설정을 변경할 수 있다. 또한, 간섭 체크 시스템(100A)에 있어서, 간섭 체크 장치(1A)의 처리 연산량 상한 설정부(16), 간섭 체크부(20), 구동 제어부(21) 등을 별도의 장치로 배치해도 좋다.
이와 같이, 유저가 모델화 대상을 포함하는 직육면체 형상(직육면체 치수) 및 모델 상한수(102)를 지정하면, 모델 상한수(102)의 범위 내에서, 계산 코스트를 고려한 뒤에 가장 포함 체적이 작은 모델의 품종 선택을 자동적으로 취득할 수 있다. 따라서, 모델화에 대한 지식이 없는 작업자라도, 유저 인터페이스를 이용하여 용이하게 효율이 좋은 간섭 체크를 행하는 것이 가능해진다.
이와 같이 실시 형태 1에 의하면, 모델화 지시(101) 및 모델 상한수(102)에 근거하여, 모델을 설정하므로, 제한된 계산 코스트 내에서 모델의 포함 체적을 최소로 한 모델을 용이하게 생성하는 것이 가능하게 된다. 또한, 복수개의 핸드 장치(6) 등을 모델화하는 경우에는, 허용하는 모델 상한수(102)를 설정해 둠으로써, 각 핸드 장치(6)에 어느 정도 상세한 모델화를 행할지를 유저가 용이하게 할당하는 것이 가능해진다.
실시 형태 2
다음에, 도 10을 이용하여 본 발명의 실시 형태 2에 대해 설명한다. 실시 형태 2에서는, 간섭 체크 장치에 있어서, 모델수 상한 입력부(12)로부터 모델 상한수(102)를 입력하는 대신에, 모델화 잉여량(104)에 대한 제한값(허용 모델화 잉여량(113))에 근거하여, 모델 상한수(102)를 도출한다.
도 10은 실시 형태 2에 따른 간섭 체크 장치의 구성을 나타내는 블럭도이다. 여기서는, 간섭 체크 장치(1X)의 일례인 간섭 체크 장치(1B)의 구성에 대해 설명한다. 도 10의 각 구성요소 중 도 2에 나타내는 실시 형태 1의 간섭 체크 장치(1A)와 동일 기능을 달성하는 구성요소에 대해서는 동일 부호를 부여하고 있고, 중복하는 설명은 생략한다.
간섭 체크 장치(1B)는 직육면체 설정 입력부(11)와, 포함 체적 비교부(13)와, 모델화 처리부(14)와, 모델 후보 기억부(17)와, 처리 연산량 상한 설정부(16)와, 최소 포함 체적 모델 결정부(18B)와, 설정후 모델 기억부(19)와, 로봇 제어 장치 설정 기억부(15)와, 간섭 체크부(20)와, 구동 제어부(21)와, 허용 모델화 잉여량 입력부(23)를 구비하고 있다.
허용 모델화 잉여량 입력부(제한값 입력부)(23)는 모델화 잉여량(104)에 대한 제한값(허용 모델화 잉여량(113))을 입력하는 인터페이스이다. 허용 모델화 잉여량(113)은 유저가 마우스나 키보드 등을 이용하는 것에 의해서 허용 모델화 잉여량 입력부(23)에 입력된다. 허용 모델화 잉여량 입력부(23)는 허용 모델화 잉여량(113)을 최소 포함 체적 모델 결정부(18B)에 보낸다.
또, 본 실시 형태에서는, 허용 모델화 잉여량(113)을 설정하고 있으므로, 모델수의 상한값(모델 상한수(102))는 마련하지 않아도 좋다. 도 10에서는, 간섭 체크 장치(1B)가 모델수 상한 입력부(12)를 구비하지 않은 경우의 구성을 나타내고 있다.
모델 상한수(102)를 마련하지 않는 경우, 최소 포함 체적 모델 결정부(18B)는 연산 처리 시간(106), 모델 단위 연산량(108), 설정후 정보 모델(110)을 이용하여, 모델 상한수(102)를 도출한다. 구체적으로는, 최소 포함 체적 모델 결정부(18B)는, 로봇 암간의 간섭 체크에 필요한 판정 처리 시간 Tarm[s]를, 이미 설정되어 있는 설정후 모델 정보(110) 및 모델 단위 연산량(108)으로부터 구한다. 그리고, 최소 포함 체적 모델 결정부(18B)는 연산 처리 시간(106)으로부터 Tarm를 뺀다.
또, 최소 포함 체적 모델 결정부(18B)는, 뺄셈 결과(시간)를 만족하는 상한까지, 설정후 모델 정보(110)에 부가하여 증가할 수 있는 구체의 모델의 개수를 모델 단위 연산량(108)을 이용해서 구하고, 그 개수를 상한의 모델수 Nmax(모델 상한수(102))로서 정의한다. 환언하면, 최소 포함 체적 모델 결정부(18B)는, 뺄셈 결과의 상한 시간으로 될 때까지, 설정후 정보 모델(110)에 구체 모델의 개수를 추가해 가고, 뺄셈 결과의 상한 시간으로 되는 구체 모델의 추가수를 구한다. 이것에 의해, 간섭 체크 장치(1B)는 로봇 콘트롤러(2)에서 처리 가능한 최대의 모델수 Nmax를 산출하는 것이 가능해진다.
최소 포함 체적 모델 결정부(18B)는 도출한 모델 상한수(102)를 모델화 처리부(14)에 보낸다. 모델화 처리부(14)는, 실시 형태 1과 동일한 처리에 의해서 모델 후보를 생성하고, 모델 정보(103)로서 모델 후보 기억부(17)에 기억시킨다. 또한, 포함 체적 비교부(13)는, 실시 형태 1과 동일한 처리에 의해서, 모델화 잉여량(104)을 모델 후보 기억부(17)에 기억시킨다.
그리고, 최소 포함 체적 모델 결정부(18B)는 허용 모델화 잉여량(113)과 모델화 잉여량(104)을 비교한다. 그리고, 최소 포함 체적 모델 결정부(18B)는, M×Nmax개의 모델 후보 중, 허용 모델화 잉여량(113)보다 큰 모델 후보를 옵션으로부터 제거한다. 최소 포함 체적 모델 결정부(18B)는 모든 모델 후보를 제거해 버린 경우에는, 표시 장치(도시하지 않음) 등에 에러 등을 표시시킨다.
이 후, 최소 포함 체적 모델 결정부(18B)는, 실시 형태 1과 동일한 처리에 의해서, 모델 후보 중에서, 모델화 잉여량(104)이 가장 작은 모델 후보를 선택하고, 선택한 모델 후보를 최소 포함 체적 모델(109)로서 설정후 모델 기억부(19)에 기억시킨다.
실시 형태 1에서는, 핸드 장치(6) 등을 모델화하는 경우에, 허용하는 모델화 개수(모델 상한수(102))를 설정해 둠으로써, 각 핸드 장치(6)에 어느 정도 상세한 모델화를 행할지를 결정하였다. 본 실시 형태에서는, 모델화 잉여량(104)에 대한 제한값으로서 허용 모델화 잉여량(113)을 설정해 둠으로써, 각 핸드 장치(6)에 어느 정도 상세한 모델화를 행할지를 결정하고 있다.
이와 같이 실시 형태 2에 의하면, 연산 처리 시간(106), 모델 단위 연산량(108)을 이용하여, 최대의 모델 상한수(102)를 설정하고, 허용 모델화 잉여량(113)에 근거해서, 모델 후보를 선택하고 있다. 그리고, 모든 모델을 모델화 대상에 적용하는 전제로 모델 후보를 설정하고, 모델화 잉여량(104)이 가장 작은 모델 후보를 선택하고 있다. 이 때문에, 로봇 콘트롤러(2)에 남아 있는 리소스를, 모델에 대해 최대한으로 활용할 수 있음과 아울러, 가장 작은 포함 체적에서의 모델화를 실현할 수 있다.
실시 형태 3
다음에, 도 11~도 13을 이용하여 본 발명의 실시 형태 3에 대해 설명한다. 실시 형태 3에서는, 유저가 모델화 처리를 실행할 때에 이용한 직육면체의 생성부(모델화 처리부(14)의 일부)를, 3차원 CAD(Computer Aided Design) 정보를 이용함으로써 자동화한다.
도 11은 CAD/CAM 시스템을 이용한, 어셈블리(블록)마다의 분할 처리를 설명하기 위한 도면이다. 본 실시 형태의 모델화 처리부(14)는 CAD/CAM(CAD/CAE) 시스템을 구비하고 있다. 모델화 처리부(14)는, 미리 작성된 3차원 모델을 복수의 어셈블리로 분할하고, 어셈블리마다 직육면체 모델로 자동적으로 변환한다. 도 11에서는, 변환 전의 3차원 모델(모델화 대상)을 3차원 모델(81)로 나타내고, 어셈블리마다 직육면체 모델로 변환한 후의 3차원 모델을 3차원 모델(82)로 나타내고 있다.
도 12는 실시 형태 3에 따른 간섭 체크 장치의 구성을 나타내는 블럭도이다. 여기서는, 간섭 체크 장치(1X)의 일례인 간섭 체크 장치(1C)의 구성에 대해 설명한다. 도 12의 각 구성요소 중 도 2에 나타내는 실시 형태 1의 간섭 체크 장치(1A)와 동일 기능을 달성하는 구성요소에 대해서는 동일 부호를 부여하고 있고, 중복하는 설명은 생략한다.
간섭 체크 장치(1C)는, 간섭 체크 장치(1A)의 각 구성요소에 부가하여, 어셈블리 외형 추출부(변환부)(82)와, 직육면체 기억부(83)를 구비하고 있다. 또, 간섭 체크 장치(1C)는, 간섭 체크 장치(1B)의 각 구성요소에 부가하여, 어셈블리 외형 추출부(82)와, 직육면체 기억부(83)를 구비하는 구성으로 하여도 좋다.
3차원 형상 데이터 입력부(22)는 모델화 대상의 3차원 형상 데이터(201)를 입력하는 인터페이스이다. 3차원 형상 데이터 입력부(22)는 모델화 대상으로서의 3차원 형상 데이터(201)를 어셈블리 외형 추출부(82)에 보낸다. 어셈블리 외형 추출부(82)는 여러 가지의 치수의 직육면체에 의해서 모델화 대상을 복수의 어셈블리로 분할하고, 분할 후의 각 어셈블리 외형을 추출한다. 어셈블리 외형 추출부(82)는 각 어셈블리 외형(직육면체)을 직육면체 기억부(83)에 기억시킨다. 직육면체 기억부(83)는 각 어셈블리 외형(직육면체)을 기억하는 메모리 등이다. 본 실시 형태의 모델화 처리부(14)는 직육면체 기억부(83)가 기억하고 있는 각 어셈블리 외형을 이용하여, 모델화 대상으로의 모델화 처리를 실행한다.
또, 모델화 대상의 체적 Vcad를 취득 가능한 경우는, 간섭 체크 장치(1C)가, 체적 Vcad를 이용하여 잉여 포함 체적비 Wst를 산출해도 좋다. 예를 들면, 3차원 형상 데이터 입력부(22)에 3차원 형상 데이터(201)가 입력되면, 3차원 형상 데이터 입력부(22)는 3차원 형상 데이터(201)를 포함 체적 비교부(13)에 입력한다. 포함 체적 비교부(13)는, 잉여 포함 체적비를 계산할 때에, 유저가 정의한 직육면체의 체적 Vblock 대신에, 3차원 형상 데이터(201)가 보유하고 있거나 또는 3차원 형상 데이터(201)로부터 계산이 가능한 체적 Vcad를 이용하여, 잉여 포함 체적비 Wst를 산출한다. 잉여 포함 체적비 Wst는 이하의 식 (13)과 같이 나타내어지므로, 포함 체적 비교부(13)는 식 (13)을 이용하여 잉여 포함 체적비 Wst를 산출한다.
Figure pct00009
환언하면, 3차원 형상 데이터(201)의 체적 Vcad를 얻을 수 있는 경우에는, 포함 체적 비교부(13)가, (잉여 체적)=(유저가 정의한 직육면체를 바탕으로 하여, 구·원통으로 모델화된 총 체적)-(구·원통으로 모델화된 체적 중 중복 부분의 체적)-(3차원 CAD로 산출되는 체적)에 의해서, 잉여 포함 체적비 Wst를 산출할 수 있다.
이와 같이, 3차원 형상 데이터 입력부(22)로부터 3차원 형상 데이터(201)의 체적 Vcad가 입력되는 경우에는, 간섭 체크 장치(1C)가 어셈블리 외형 추출부(82), 직육면체 기억부(83)를 가지지 않아도 좋다. 또, 식 (13)에서 나타내어지는 정의는, 3차원 형상 데이터 입력부(22)로부터 3차원 형상 데이터(201)를 이용할 수 있는 경우에, 식 (13)으로 나타내어지는 정의로 전환해도 좋다. 또한, 간섭 체크 장치(1A, 1B)가 3차원 형상 데이터 입력부(22)를 구비하는 구성으로 하여도 좋다.
다음에, 간섭 체크 장치(1A~1C)의 하드웨어 구성에 대해 설명한다. 또, 간섭 체크 장치(1A~1C)는 동일한 구성을 가지고 있으므로, 여기서는 간섭 체크 장치(1A)의 구성에 대해 설명한다.
도 13은 간섭 체크 장치의 하드웨어 구성을 나타내는 도면이다. 간섭 체크 장치(1A)는 CPU(Central Processing Unit)(91), ROM(Read Only Memory)(92), RAM(Random Access Memory)(93), 표시부(94), 입력부(95)를 가지고 있다. 간섭 체크 장치(1A)에서는, 이들 CPU(91), ROM(92), RAM(93), 표시부(94), 입력부(95)가 버스 라인 B를 거쳐서 접속되어 있다.
CPU(91)는 컴퓨터 프로그램인 간섭 체크 프로그램(90)을 이용하여 간섭 체크를 행한다. 표시부(94)는, 액정 모니터 등의 표시 장치이고, CPU(91)로부터의 지시에 근거하여, 모델화 대상, 모델 후보, 모델 등을 표시한다. 입력부(95)는, 마우스나 키보드를 구비하여 구성되고, 사용자로부터 외부 입력되는 지시 정보(간섭 체크에 필요한 파라미터 등)를 입력한다. 입력부(95)에 입력된 지시 정보는 CPU(91)에 보내진다.
간섭 체크 프로그램(90)은 ROM(92) 내에 저장되어 있고, 버스 라인 B를 거쳐서 RAM(93)으로 로드된다. CPU(91)는 RAM(93) 내로 로드된 간섭 체크 프로그램(90)을 실행한다. 구체적으로는, 간섭 체크 장치(1A)에서는, 사용자에 의한 입력부(95)로부터의 지시 입력에 따라, CPU(91)가 ROM(92) 내로부터 간섭 체크 프로그램(90)을 읽어내어 RAM(93) 내의 프로그램 저장 영역으로 전개해서 각종 처리를 실행한다. CPU(91)는 이 각종 처리에 있어 생기는 각종 데이터를 RAM(93) 내에 형성되는 데이터 저장 영역에 일시적으로 기억시켜 둔다.
간섭 체크 장치(1A)에서 실행되는 간섭 체크 프로그램(90)은 포함 체적 비교부(13), 모델화 처리부(14), 처리 연산량 상한 설정부(16), 최소 포함 체적 모델 결정부(18A), 간섭 체크부(20), 구동 제어부(21)를 포함하는 모듈 구성으로 되어 있고, 이들이 주기억 장치 상에 로드되고, 이들이 주기억 장치 상에 생성된다.
이와 같이 실시 형태 3에 의하면, 유저가 모델의 치수를 조사하는 일없이, 모델 체적의 크기를 억제하면서, 로봇 콘트롤러(2)가 허용 가능한 모델수 이하의 모델을 이용해서 용이하게 간섭 체크를 행하는 것이 가능해진다.
실시 형태 4
다음에, 도 14를 이용하여 본 발명의 실시 형태 4에 대해 설명한다. 실시 형태 4에서는, 미리 간섭 체크 장치의 외부 장치에 의해서 모델 상한수(102)가 연산된 뒤에, 모델 상한수(102)가 간섭 체크 장치 내에 입력된다. 즉, 유저가 도 2에 나타낸 모델수 상한 입력부(12)로부터 모델 상한수(102)를 입력하는 것이 아니라, 외부 장치에서 연산된 모델 상한수(102)가 간섭 체크 장치 내에 입력된다.
모델 상한수(102)를 연산하는 외부 장치는, 예를 들면 로봇 콘트롤러(2) 내의 간섭 체크 장치 이외의 장치, 로봇 콘트롤러(2)와 통신 가능한 PLC 내의 제어 장치, 또는 컴퓨터(9)이다. 컴퓨터(9)는, 예를 들면 로봇 설정용 소프트웨어를 이용하여 모델 상한수(102)를 연산한다. 또, 이하에서는, 모델 상한수(102)를 연산하는 외부 장치가 컴퓨터(9)인 경우에 대해 설명한다.
도 14는 실시 형태 4에 따른 간섭 체크 장치의 구성을 나타내는 블럭도이다. 여기서는, 간섭 체크 장치(1X)의 일례인 간섭 체크 장치(1D)의 구성에 대해 설명한다. 도 14의 각 구성요소 중 도 2에 나타내는 실시 형태 1의 간섭 체크 장치(1A)와 동일 기능을 달성하는 구성요소에 대해서는 동일 부호를 부여하고 있고, 중복하는 설명은 생략한다.
본 실시 형태의 간섭 체크 시스템(100A)은 모델수 상한 산출 장치(24)를 구비하고 있다. 또, 모델수 상한 산출 장치(24)는 간섭 체크 시스템(100B) 내에 배치되어도 좋다.
모델수 상한 산출 장치(24)로는, 간섭 체크 대상으로서 배치하는 핸드나 주변 기기 등의 1개의 장치 단위를 오브젝트로 한 경우의 오브젝트수(202)가 유저에 의해서 입력된다. 모델수 상한 산출 장치(24)는 도 14에 나타내는 바와 같이 모델수 상한 입력부(12)의 전단에 배치되어 있다. 모델수 상한 산출 장치(24)는 오브젝트수(202)에 근거하여, 모델 상한수(102)를 연산한다.
본 실시 형태에서는, 오브젝트는 직육면체 1개로 정의되고, 정의된 직육면체를 오브젝트 1개로 카운팅하는 것으로 한다. 예를 들면, 1개의 핸드에 대해 1개의 직육면체를 정의하는 경우, 1개의 핸드의 오브젝트는 1개이다. 또한, 2개의 핸드와 1개의 비전 센서의 총 3개의 부위의 각각 직육면체를 적용시키는 경우, 오브젝트는 3개이다.
유저는, 배치 예정의 장치 모두의 오브젝트수(202)와, 각 오브젝트의 명칭을 오브젝트 정보로서 미리 모델수 상한 산출 장치(24)에 입력해 둔다. 즉, 각 오브젝트 정보는 오브젝트의 전체 수량과, 오브젝트의 부수 정보로서 오브젝트에 할당되어 있는 모델수를 포함하고 있다.
모델수 상한 산출 장치(24)는, 직육면체 설정 입력부(11)에 입력된 설정으로 정의되는, 직육면체를 포함하기 위해 사용하는 모델 상한수(102)를, 자동적으로 연산한다. 모델수 상한 산출 장치(24)는, 전체 모델수로부터 각 오브젝트에 할당하는 모델수를 뺀 모델수(모델 상한수(102))를 산출하는 처리를 실행한다. 이 처리는 로봇 콘트롤러(2), 상술한 PLC 등의 제어 장치 또는 컴퓨터(9) 등이 자동적으로 연산한다.
이 모델 상한수(102)는 금회 직육면체 설정 입력부(11)에 입력된 직육면체를 포함하는 모델의 상한값이다. 모델 상한수(102)는, 예를 들면 이하와 같이 결정한다. 모델수 상한 산출 장치(24)는, 최저 1개 이상은 각 오브젝트에 모델이 할당되는 연산을 실시한다. 따라서, 초기값은 1개의 오브젝트에 대해 1개의 모델이 할당되어 있는 상태이다. 모든 오브젝트 중, 이미 복수의 오브젝트에 대해 1개 이상의 모델이 할당되어 있는 경우는 그 정보를 설정후 모델 기억부(19)로부터 취득해 둔다.
모델수 상한 산출 장치(24)는, 미리 처리 연산량 상한 설정부(16)로부터 처리 연산량 상한(106)을 취득해 두고, 처리 연산량 상한(106)으로부터 허용되는 모델수 상한을 연산해 둔다. 그리고, 모델수 상한 산출 장치(24)는 허용되는 모델수 상한으로부터 오브젝트에 할당되어 있는 모델수의 총 합을 감산하고, 감산한 값으로부터 금회 적용 가능한 모델 상한수(102)를 결정한다.
단, 모델수 상한(102)은, 처리 연산량의 상한과 관련되어 있기 때문에, 유저에 의해서 한번 설정된 오브젝트수 상한이, 오브젝트수의 설정 후에 변경(증감)되는 경우, 각 오브젝트에 할당 가능한 모델수가 변동한다. 이 때문에, 처리 연산량의 상한을 만족하는 최소 포함 체적의 모델 할당으로 되지 않는 일도 있다. 그래서, 이미 모델화하고 있는 물체에 대해, 모델수 상한(102)을 변화시키는 처리가 필요하게 된다.
이 때문에, 오브젝트수를 변화시킨 경우는, 컴퓨터(9) 상의 로봇 설정용 소프트웨어 등이 재차 모델 설정 계산을 행한다. 이것에 의해, 모델수 상한 산출 장치(24)는 각 오브젝트의 모델수 상한(102)을, 전체의 포함 체적이 최소로 되도록 재설정한다.
또한, 모델 상한수(102)는, 상기와 같은 틀(framework)로 모델수 상한 산출 장치(24)에 의해서 결정되고 있지만, 로봇 콘트롤러(2) 내의 다른 외부 장치 등이 미리 초기값으로서 지정해도 좋다. 환언하면, 유저가 오브젝트수를 지정하고 있지 않아도, 사전 설정값(초기값)으로서 메이커측이 상정한 오브젝트수를 설정해도 좋다. 예를 들면, 오브젝트수는 1개로 미리 설정해 둔다. 또, 모델 상한수(102) 자체를 로봇 콘트롤러(2) 내의 다른 외부 장치 등이 미리 지정해도 좋다. 이 경우, 예를 들면, 모델수는 20개로 미리 설정해 둔다.
또한, 도 14에 나타내는 오브젝트수(202)는 3D-CAD의 취입시에 자동적으로 판단해도 좋다. 이 경우, 예를 들면 오브젝트를 어셈블리 단위로 1개의 직육면체로 간주한 뒤에, 오브젝트수가 자동적으로 카운트된다.
이와 같이 실시 형태 4에 의하면, 모델수 상한 산출 장치(24)를 이용하여, 최대의 모델 상한수(102)를 설정하고, 이 모델 상한수(102)에 근거해서, 모델 후보를 선택하고 있다. 그리고, 모델 상한수에서 사용 가능한 모든 모델을 모델화 대상에 적용하는 전제에서 모델 후보를 설정하고, 모델화 잉여량(104)이 가장 작은 모델 후보를 선택하고 있다. 이 때문에, 로봇 콘트롤러(2)에 남아 있는 리소스를, 모델에 대해 최대한으로 활용할 수 있음과 아울러, 가장 작은 포함 체적으로의 모델화를 실현할 수 있다. 특히, 실시 형태 1과 비교하면, 개별의 모델 상한수(102)의 설정이 아니라, 전체의 오브젝트수를 미리 입력하고 있다. 이 때문에, 모든 오브젝트를 고려한 뒤에, 현재의 모델화 대상 전체에 대해 모델화 잉여량(104)의 합계가 가장 작은 구성을 설정할 수 있다.
(산업상의 이용 가능성)
이상과 같이, 본 발명에 따른 간섭 체크 장치는 로봇끼리 혹은 로봇과 주변 기기간의 간섭 체크에 적합하다.
1X, 1A~1D: 간섭 체크 장치
2: 로봇 콘트롤러
5: 주변 기기
6: 핸드 장치
7: 비전 센서
9: 컴퓨터
10: 로봇
11: 직육면체 설정 입력부
12: 모델수 상한 입력부
13: 포함 체적 비교부
14: 모델화 처리부
15: 로봇 제어 장치 설정 기억부
16: 처리 연산량 상한 설정부
17: 모델 후보 기억부
18A, 18B: 최소 포함 체적 모델 결정부
19: 설정후 모델 기억부
20: 간섭 체크부
21: 구동 제어부
22: 3차원 형상 데이터 입력부
23: 허용 모델화 잉여량 입력부
24: 모델수 상한 산출 장치
82: 어셈블리 외형 추출부
83: 직육면체 기억부
100A, 100B: 간섭 체크 시스템

Claims (6)

  1. 간섭 체크의 대상인 모델화 대상으로 설정하는 기하학적 모델의 상한수가 입력되는 모델수 상한 입력부와,
    상기 모델화 대상을 포함할 수 있는 직육면체가, 간섭 체크용의 모델로서 상기 모델화 대상으로 설정되면, 단위 거리 계산당의 계산 코스트가 상기 직육면체보다 작은 새로운 기하학적 모델을 상기 모델 상한수 이하의 수만큼 이용하여, 상기 직육면체를 상기 새로운 기하학적 모델로 치환하는 것에 의해, 상기 모델화 대상을 모델화하는 모델화 처리부와,
    상기 새로운 기하학적 모델을 이용한 모델을, 모델 후보로서 기억해 두는 모델 후보 기억부와,
    상기 모델화 대상을 제어하는 콘트롤러가 행하는 각 처리에 요하는 연산 처리량에 관한 정보에 근거하여, 간섭 체크를 행할 때의 계산 처리 연산량의 상한인 연산 상한량을 설정하는 연산량 상한 설정부와,
    상기 모델 후보 중에서, 상기 연산 상한량 이하에서 상기 간섭 체크의 계산 처리를 실행할 수 있는 모델 후보를 추출함과 아울러, 추출한 모델 후보 중에서 모델의 포함 체적이 가장 작은 모델 후보를 상기 모델화 대상의 모델로 결정하는 체적 모델 결정부와,
    상기 체적 모델 결정부에 의해서 결정된 모델을 이용하여 모델끼리의 간섭 체크를 행함과 아울러, 간섭할 가능성이 있으면 동작 정지 지령을 출력하고, 간섭할 가능성이 없으면 동작 계속 지령을 출력하는 간섭 체크부를 구비하는 것
    을 특징으로 하는 간섭 체크 장치.
  2. 간섭 체크의 대상인 모델화 대상의 체적에 대해 상기 모델화 대상으로 설정하는 모델에 허용하는 체적의 체적 상한값이 입력되는 제한값 입력부와,
    상기 모델화 대상을 제어하는 콘트롤러가 행하는 각 처리에 요하는 연산 처리량에 관한 정보에 근거하여, 간섭 체크를 행할 때의 계산 처리 연산량의 상한인 연산 상한량을 설정하는 연산량 상한 설정부와,
    상기 콘트롤러에서 처리 가능한 기하학적 모델의 상한수인 모델 상한수를, 상기 연산 상한량에 근거하여 산출하는 모델수 산출부와,
    상기 모델화 대상을 포함할 수 있는 직육면체가, 간섭 체크용의 모델로서 상기 모델화 대상으로 설정되면, 단위 거리 계산당의 계산 코스트가 상기 직육면체보다 작은 새로운 기하학적 모델을 상기 모델 상한수 이하의 수만큼 이용해서, 상기 직육면체를 상기 새로운 기하학적 모델로 치환하는 것에 의해서, 상기 모델화 대상을 모델화하는 모델화 처리부와,
    상기 새로운 기하학적 모델을 이용한 모델을, 모델 후보로서 기억해 두는 모델 후보 기억부와,
    상기 모델 후보 중에서, 상기 연산 상한량 이하로 상기 간섭 체크의 계산 처리를 실행할 수 있는 모델 후보를 추출함과 아울러, 추출한 모델 후보중에서 상기 체적 상한값 이하의 모델이 존재하는 경우에는, 상기 모델 후보 중에서 모델의 포함 체적이 가장 작은 모델 후보를 상기 모델화 대상의 모델로 결정하는 체적 모델 결정부와,
    상기 체적 모델 결정부에 의해서 결정된 모델을 이용해서 모델끼리의 간섭 체크를 행함과 아울러, 간섭할 가능성이 있으면 동작 정지 지령을 출력하고, 간섭할 가능성이 없으면 동작 계속 지령을 출력하는 간섭 체크부
    를 구비하는 것을 특징으로 하는 간섭 체크 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 모델화 대상을 포함할 수 있는 직육면체의 치수에 관한 정보가 입력되는 직육면체 설정 입력부를 더 구비하고,
    상기 모델화 처리부는, 상기 직육면체의 치수에 관한 정보에 근거하여, 상기 직육면체를 상기 새로운 기하학적 모델로 치환하는 것을 특징으로 하는 간섭 체크 장치.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 체적 모델 결정부는, 상기 콘트롤러가 간섭 체크에 요하는 단위 모델마다의 계산 처리 연산량에 관한 정보에 근거하여, 상기 연산 상한량 이하에서 상기 간섭 체크의 계산 처리를 실행할 수 있는 모델 후보를 추출하고, 추출한 모델 후보 중에서 모델의 포함 체적이 가장 작은 모델 후보를 상기 모델화 대상의 모델로 결정하는 것을 특징으로 하는 간섭 체크 장치.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    미리 CAD/CAM 시스템을 이용하여 작성된 모델화 대상으로서의 3차원 모델이 입력되면, CAD/CAM 시스템을 이용해서 상기 3차원 모델을 복수의 어셈블리로 분할하고, 상기 3차원 모델을 어셈블리마다 직육면체 모델로 변환하는 변환부를 더 구비하고,
    상기 모델화 처리부는, 어셈블리마다 직육면체 모델로 변환된 3차원 모델을 이용하여, 상기 모델화 대상을 모델화하는 것을 특징으로 하는 간섭 체크 장치.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 새로운 기하학적 모델은 구체(球體) 모델의 조합, 원통체 모델의 조합, 및 구체 모델과 원통체 모델의 조합의 어느 하나인 것을 특징으로 하는 간섭 체크 장치.
KR1020157020983A 2013-02-06 2014-01-22 간섭 체크 장치 KR101781709B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013021515 2013-02-06
JPJP-P-2013-021515 2013-02-06
PCT/JP2014/051283 WO2014122995A1 (ja) 2013-02-06 2014-01-22 干渉チェック装置

Publications (2)

Publication Number Publication Date
KR20150103257A true KR20150103257A (ko) 2015-09-09
KR101781709B1 KR101781709B1 (ko) 2017-10-23

Family

ID=51299592

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157020983A KR101781709B1 (ko) 2013-02-06 2014-01-22 간섭 체크 장치

Country Status (6)

Country Link
US (1) US9550295B2 (ko)
JP (1) JP5872077B2 (ko)
KR (1) KR101781709B1 (ko)
CN (1) CN104969134B (ko)
DE (1) DE112014000700B4 (ko)
WO (1) WO2014122995A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190042495A (ko) * 2016-04-24 2019-04-24 프랜카 에미카 게엠바하 로봇 시스템의 제어

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102379623B1 (ko) * 2014-02-05 2022-03-29 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 동적 가상 충돌 객체를 위한 시스템 및 방법
DE102015009048B3 (de) * 2015-07-13 2016-08-18 Kuka Roboter Gmbh Steuern eines nachgiebig geregelten Roboters
WO2017051485A1 (ja) * 2015-09-25 2017-03-30 株式会社牧野フライス製作所 3dモデル生成方法および3dモデルを生成する工作機械
JP6328599B2 (ja) * 2015-11-20 2018-05-23 ファナック株式会社 ロボットの動作可能範囲を算出するロボットの手動送り装置
JP6654926B2 (ja) * 2016-02-24 2020-02-26 本田技研工業株式会社 処理時間の予測方法
EP3323565B1 (de) * 2016-11-21 2021-06-30 Siemens Aktiengesellschaft Verfahren und vorrichtung zur inbetriebnahme eines mehrachssystems
US11452248B2 (en) 2017-02-08 2022-09-20 Fuji Corporation Work machine
JP6998660B2 (ja) 2017-02-21 2022-01-18 株式会社安川電機 ロボットシミュレータ、ロボットシステム及びシミュレーション方法
EP3518059B1 (de) * 2018-01-24 2020-04-01 Siemens Aktiengesellschaft Verfahren zur rechnergestützten benutzerassistenz bei der in-betriebnahme eines bewegungsplaners für eine maschine
JP6836543B2 (ja) * 2018-04-27 2021-03-03 ファナック株式会社 干渉監視装置
CN108858162B (zh) * 2018-06-28 2020-10-30 广州视源电子科技股份有限公司 四轴机械臂的位置确定方法和装置
JP7172399B2 (ja) 2018-10-03 2022-11-16 カシオ計算機株式会社 制御装置、ロボット、制御方法及びプログラム
DE102019103349B3 (de) * 2019-02-11 2020-06-18 Beckhoff Automation Gmbh Industrierobotersystem und Verfahren zur Steuerung eines Industrieroboters
JP2021065940A (ja) * 2019-10-17 2021-04-30 オムロン株式会社 干渉評価装置、方法、及びプログラム
DE102020104359B4 (de) 2020-02-19 2022-04-14 Franka Emika Gmbh Arbeitsraumbegrenzung für einen Robotermanipulator
CN112245014B (zh) * 2020-10-30 2023-06-02 上海微创医疗机器人(集团)股份有限公司 一种医疗机器人、检测机械臂碰撞的方法及存储介质
US11878424B2 (en) 2021-12-06 2024-01-23 Fanuc Corporation Point set interference check
WO2024004042A1 (ja) * 2022-06-28 2024-01-04 ファナック株式会社 ロボット制御装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6426981A (en) 1987-07-23 1989-01-30 Toshiba Corp Recognizing method for collision of objects
JPH04236676A (ja) * 1991-01-21 1992-08-25 Hitachi Ltd 多関節構造体の干渉チェック方法
JP2895672B2 (ja) * 1992-01-28 1999-05-24 ファナック株式会社 複数ロボット制御方法
JPH06238581A (ja) * 1993-02-10 1994-08-30 Daikin Ind Ltd 対象物のモデル化方法、対象物間の干渉判別方法およびこれらの装置
US5347459A (en) * 1993-03-17 1994-09-13 National Research Council Of Canada Real time collision detection
JP3612781B2 (ja) 1995-04-17 2005-01-19 ダイキン工業株式会社 階層球体モデル生成方法、干渉チェック方法およびこれらの装置
JP3065579B2 (ja) * 1998-03-11 2000-07-17 川崎重工業株式会社 ロボットの干渉チェック方法
JP2001315087A (ja) 2000-05-09 2001-11-13 Toshiba Mach Co Ltd ロボットアームのリアルタイム干渉チェック方法
JP2003271687A (ja) 2002-01-11 2003-09-26 Ricoh Co Ltd 干渉モデル検出装置、方法及び記憶媒体
US6678582B2 (en) * 2002-05-30 2004-01-13 Kuka Roboter Gmbh Method and control device for avoiding collisions between cooperating robots
JP2004295255A (ja) * 2003-03-25 2004-10-21 Hokkaido Univ 干渉判定システム及び干渉判定プログラム
JP4159577B2 (ja) * 2005-12-13 2008-10-01 ファナック株式会社 複数のロボット間のインターロック自動設定装置及び自動設定方法
US8315738B2 (en) * 2008-05-21 2012-11-20 Fanuc Robotics America, Inc. Multi-arm robot system interference check via three dimensional automatic zones
US9144904B2 (en) * 2008-05-21 2015-09-29 Fanuc Robotics America Corporation Method and system for automatically preventing deadlock in multi-robot systems
JP5025598B2 (ja) * 2008-08-29 2012-09-12 三菱電機株式会社 干渉チェック制御装置および干渉チェック制御方法
JP5275967B2 (ja) 2009-12-22 2013-08-28 本田技研工業株式会社 干渉チェック装置
JP2012216151A (ja) * 2011-04-01 2012-11-08 Mitsubishi Electric Corp 干渉回避制御装置
DE102012103830B4 (de) * 2011-05-05 2022-05-25 Fanuc Robotics America Corp. Verfahren und computerlesbare Medien zur automatischen Verbindung von gegenseitiger Blockierung in Mehrfachrobotersytemen
JP5878750B2 (ja) 2011-12-21 2016-03-08 川崎重工業株式会社 ロボットの動作規制方法及び装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190042495A (ko) * 2016-04-24 2019-04-24 프랜카 에미카 게엠바하 로봇 시스템의 제어
US11396098B2 (en) 2016-04-24 2022-07-26 Franka Emika Gmbh Control of a robot system

Also Published As

Publication number Publication date
CN104969134B (zh) 2017-06-09
US20150328776A1 (en) 2015-11-19
CN104969134A (zh) 2015-10-07
US9550295B2 (en) 2017-01-24
JP5872077B2 (ja) 2016-03-01
JPWO2014122995A1 (ja) 2017-02-02
DE112014000700T5 (de) 2015-10-22
KR101781709B1 (ko) 2017-10-23
DE112014000700B4 (de) 2023-03-02
WO2014122995A1 (ja) 2014-08-14

Similar Documents

Publication Publication Date Title
KR101781709B1 (ko) 간섭 체크 장치
CN109382820B (zh) 干扰判定方法、干扰判定系统以及存储介质
US11498214B2 (en) Teaching device, teaching method, and robot system
EP3031585A2 (en) Collision avoidance method, control device, and program
US5943056A (en) Interference checking method
US20140025203A1 (en) Collision detection system, collision detection data generator, and robot
US9569568B2 (en) Robot simulation system which simulates takeout process of workpiece
US10112304B2 (en) Robot programming apparatus for teaching machining operation to robot
CN110480624B (zh) 多关节机器人的干扰判定装置、干扰判定方法、记录介质
EP2498192A2 (en) Method for creating finite element model of rubber composite
Aras et al. Extracting cutter/workpiece engagements in five-axis milling using solid modeler
JP4942924B2 (ja) 仮想多関節物体を仮想環境で動きの連続により動かす方法
US20180015615A1 (en) Method and apparatus for controlling a robot movement of a robot on the basis of a second trajectory
US5471569A (en) Retrieval space determination system for three-dimensionally shaped parts in a CAD system
CN114065466A (zh) 用于制造资源仿真的虚拟化缆线建模
CN115735167A (zh) 后处理器、加工程序生成方法、cnc加工系统以及加工程序生成用程序
JP6515828B2 (ja) 干渉回避方法
CN113196193A (zh) 用于管理机器人程序的方法和装置
JP2013136109A (ja) 干渉判定装置及び干渉判定方法
CN116214497A (zh) 点集干涉检查
Foit et al. Automatic programming and generation of collision-free paths for the Mitsubishi Movemaster RV-M1 robot
JPH01292474A (ja) 立体干渉演算装置
WO2022201362A1 (ja) ロボット制御装置、ロボット制御プログラムおよびロボット制御方法
Baizid et al. Virtual reality based tool for optimal robot placement in robotized site based on CAD’s application programming interface
JP3040878B2 (ja) 立体の干渉チェック方法及びその装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant