KR20190070875A - 비전-기반 조작 시스템들의 교정 및 동작 - Google Patents
비전-기반 조작 시스템들의 교정 및 동작 Download PDFInfo
- Publication number
- KR20190070875A KR20190070875A KR1020180159298A KR20180159298A KR20190070875A KR 20190070875 A KR20190070875 A KR 20190070875A KR 1020180159298 A KR1020180159298 A KR 1020180159298A KR 20180159298 A KR20180159298 A KR 20180159298A KR 20190070875 A KR20190070875 A KR 20190070875A
- Authority
- KR
- South Korea
- Prior art keywords
- workstation
- calibration
- vbm
- camera
- work object
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- 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/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39008—Fixed camera detects reference pattern held by end effector
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Manipulator (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Image Processing (AREA)
Abstract
비전-기반 조작 시스템들은, 시스템의 다수의 워크스테이션들에서 손-눈 교정들을 수행하고, 시스템에 대한 교차-스테이션 교정을 수행하고, 손-눈 교정들과 교차-스테이션 교정 간의 관계들을 결정하도록 구성될 수 있거나, 이들을 포함하는 방법들로 동작될 수 있다. 일부 실시예들에서, 시스템은 교차-스테이션 교정에 기초하여 워크스테이션들 사이에서 작업 객체를 이동시키는 데 사용될 수있다.
Description
[0003]
본 발명은 연관된 머신 비전 시스템에 기초하여 적어도 부분적으로 제어될 수 있는, 객체들의 제어된 조작을 위한 시스템들, 이를테면, 제조용 로봇 시스템들의 교정 및 동작에 관한 것이다.
[0004]
조립 동작들 동안 조립 부분들의 포지셔닝과 같은 제조(또는 다른) 태스크들의 정확한 실행을 지원하기 위해, 제어 가능한 로봇(또는 다른 제어 가능한 모션 시스템)에 대한 하나 또는 그 초과의 좌표계들은 물론, 그들 사이의 관계들(예컨대, 하나의 좌표계로부터 다른 좌표계로의 수학적 변환)을 비교적 정밀하게 정의하는 것이 유용할 수 있다. 다수의 세팅들에서, 머신 비전 시스템들은 이러한 노력을 도울 수 있다. 예컨대, 하나 또는 그 초과의 카메라들(예컨대, 고정식 또는 이동식 카메라들)이 특정 로봇(또는 로봇들), 특정 제조 워크스테이션(또는 워크스테이션들) 등과 연관될 수 있다. 머신 비전 알고리즘들을 사용하여, 조립 및 다른 제조 동작들을 포함하여 로봇의 동작들을 안내하는 것을 돕는 데 카메라가 사용될 수 있다. 집합적으로, 하나 또는 그 초과의 카메라들 및 하나 또는 그 초과의 연관된 로봇들(또는 다른 제어 가능한 모션 시스템)의 어레인지먼트(arrangement)는 본원에서 "VBM"(vision-based manipulation) 시스템으로서 지칭될 것이다.
[0005]
특정 동작들에 대한 포지션들 및/또는 움직임들을 계산할 때, VBM 시스템의 상이한 컴포넌트들은 일반적으로, 때때로 "모션" 좌표계로서 지칭되는 공통의 통합된 기준 좌표계와 종종 관련되는 몇몇 상이한 좌표계들 중 하나 또는 그 초과에 의존(또는 이를 참조)할 수 있다. 예컨대, VBM 시스템에 대한 로봇은 내부(가상) 좌표계에 기초하여 움직임들을 실행할 수 있는 반면, VBM 시스템의 카메라는 2차원("2D") 픽셀 좌표계 상에서 이미지들을 캡처할 수 있다. 일부 구현들에서, 특정 로봇의 내부 좌표계는, 하나 또는 그 초과의 수학적 변환들에 의해 픽셀 좌표계가 관련될 수 있는 모션 좌표계로서 사용될 수 있다.
[0006]
로봇(또는 다른 모션 시스템)이 완벽하게 제조되고 유지되는 경우, 관련된 모션 좌표계에 대한 지시된 움직임들은 실제 물리적인 공간에서 로봇의 조작기(또는 다른 컴포넌트)에 의한 실제 움직임들을 완벽하게 복제하게 할 수 있다. 그러나 실세계 로봇들은, 모션 좌표계 내의 지시된(그리고 예상되는) 움직임과 실제 공간에서 로봇의 실제 움직임 간의 에러를 초래할 수 있는 내부 부정확성들 또는 다른 결함들을 나타낼 수 있다. 이에 따라, 이는 로봇의 부분들이 모션 좌표계의 가상 공간에 있는 것과는 상이하게 실제 공간에 로케이팅되게 할 수 있다. 이는 결국 제조(또는 다른) 동작들 동안 부정확성들 또는 다른 에러들로 이어질 수 있다.
[0007]
본 발명의 일부 실시예들은 VBM 시스템을 교정하는 방법을 포함하며, 이 VBM 시스템은, 제1 워크스테이션, 제1 워크스테이션과 적어도 부분적으로 분리된 제2 워크스테이션, 제1 워크스테이션 및 제2 워크스테이션의 하나 또는 그 초과의 작업 객체들의 이미지들을 캡처하도록 구성된 카메라 시스템 및 제어 가능한 모션 시스템을 포함한다. 방법은, 제1 워크스테이션 및 제2 워크스테이션에서, 제어 가능한 모션 시스템 및 카메라 시스템으로 HEC(hand-eye calibration)를 수행하는 단계를 포함할 수 있다. CSC(cross-station calibration)는 제어 가능한 모션 시스템 및 제1 및 제2 워크스테이션들에 대해 수행될 수 있다. 제1 워크스테이션의 HEC(hand-eye calibration)와 교차-스테이션 교정 사이의 관계가 결정될 수 있고, 마찬가지로, 제2 워크스테이션의 HEC(hand-eye calibration)와 교차-스테이션 교정 사이의 관계가 결정될 수 있다.
[0008]
본 발명의 일부 실시예들은 VBM 시스템을 사용하는 방법을 포함하며, 제1 워크스테이션에서, 그리고 제1 워크스테이션과 적어도 부분적으로 분리된 제2 워크스테이션에서 작업 객체와의 동작을 실행하기 위한 것이고, VBM 시스템은 제1 및 제2 워크스테이션들의 하나 또는 그 초과의 객체들의 이미지들을 캡처하도록 구성된 카메라 시스템 및 모션 좌표계 내의 움직임들을 지시하도록 구성된 제어 가능한 모션 시스템을 포함하고, 카메라 시스템 및 제어 가능한 모션 시스템은 제1 워크스테이션에 대한 제1 HEC(hand-eye calibration) 및 제2 워크스테이션에 대한 제2 HEC(hand-eye calibration)를 정의한다. 방법은, 교정-객체 좌표계와 제1 HEC(hand-eye calibration) 사이의 제1 교차-교정 관계를 결정하고 교정-객체 좌표계와 제2 HEC 사이의 제2 교차-교정 관계를 결정하도록 교차-스테이션 교정을 수행하는 단계를 포함할 수 있고, 교정 관계는 제어 가능한 모션 시스템에 의해 파지되고 제1 워크스테이션 및 제2 워크스테이션에서 이미징되는 교정 객체에 기초하여 결정된다. 작업 객체의 하나 또는 그 초과의 특징들은 카메라 시스템을 사용하여 제1 워크스테이션에서 로케이팅될 수 있다. 작업 객체를 제2 워크스테이션의 타겟 위치로 이동시키기 위해 교차-스테이션 변환이 교차-스테이션 교정에 적어도 부분적으로 기초하여, 계산될 수 있다. 작업 객체는, 계산된 교차-스테이션 변환에 기초하여, 제어 가능한 모션 시스템을 사용하여 타겟 위치로 이동될 수 있다.
[0009]
본 발명의 일부 실시예들은 VBM 시스템의 제어 가능한 모션 시스템의 자동 제어를 위해 컴퓨터 시스템을 교정하는 컴퓨터-기반 방법을 포함하며, 이 VBM 시스템은, 제어 가능한 모션 시스템, 제1 워크스테이션, 제1 워크스테이션과 적어도 부분적으로 분리된 제2 워크스테이션 및 제1 워크스테이션 및 제2 워크스테이션의 하나 또는 그 초과의 작업 객체들의 이미지들을 캡처하도록 구성된 카메라 시스템을 포함한다. 따라서, 본 방법에 포함된 동작들은 하나 또는 그 초과의 프로세서 디바이스들을 활용하는 하나 또는 그 초과의 컴퓨터 시스템들에 의해 다양한 정도의 자동화로 구현될 수 있다.
[0010]
본 발명의 일부 실시예들은 VBM 시스템을 포함하며, 이 VBM 시스템은, 제1 워크스테이션, 제1 워크스테이션과 적어도 부분적으로 분리된 제2 워크스테이션, 제1 워크스테이션 및 제2 워크스테이션의 하나 또는 그 초과의 작업 객체들의 이미지들을 캡처하도록 구성된 카메라 시스템, 모션 좌표계 내의 움직임들을 지시하도록 구성된 제어 가능한 모션 시스템 및 하나 또는 그 초과의 프로세서 디바이스들을 포함한다. 하나 또는 그 초과의 프로세서 디바이스들은, 제1 워크스테이션에서 카메라 시스템 및 제어 가능한 모션 시스템에 대해 제1 HEC(and-eye calibration)를 수행하도록, 제2 워크스테이션에서 카메라 시스템 및 제어 가능한 모션 시스템에 대해 제2 HEC(hand-eye calibration)를 수행하도록, 그리고 교정-객체 좌표계와 제1 HEC(hand-eye calibration) 사이의 제1 교차-교정 관계 및 교정-객체 좌표계와 제2 HEC(hand-eye calibration) 사이의 제2 교차-교정 관계를 결정하기 위해 교차-스테이션 교정을 수행하도록 구성될 수 있다. 교정 관계는 카메라 시스템으로 하여금, 제1 워크스테이션 및 제2 워크스테이션에서 제어 가능한 모션 시스템에 의해 파지되는 교정 객체의 하나 또는 그 초과의 이미지들을 취득하게 하는 것에 기초하여 결정될 수 있다.
[0011]
도 1은 본 발명의 일부 실시예들에 따라, 다수의 워크스테이션들에 걸친 교정 및 동작을 위해 구성된 VBM 시스템을 예시하는 개략도이다.
[0012] 도 2는 본 발명의 일부 실시예들에 따라, 도 1의 VBM 시스템과 같은 VBM 시스템에 대한 교정 방법을 예시하는 흐름도이다.
[0013] 도 3은 본 발명의 일부 실시예들에 따라, 도 1의 VBM 시스템과 같은 VBM 시스템에 대한 동작 방법을 예시하는 흐름도이다.
[0012] 도 2는 본 발명의 일부 실시예들에 따라, 도 1의 VBM 시스템과 같은 VBM 시스템에 대한 교정 방법을 예시하는 흐름도이다.
[0013] 도 3은 본 발명의 일부 실시예들에 따라, 도 1의 VBM 시스템과 같은 VBM 시스템에 대한 동작 방법을 예시하는 흐름도이다.
[0014]
다음의 상세한 설명에서, 본 명세서의 일부를 형성하는 첨부 도면들에 대한 참조가 이루어진다. 도면들에서, 유사한 심볼들은 통상적으로 맥락이 달리 지시하지 않는 한, 유사한 컴포넌트들을 식별한다. 상세한 설명, 도면들 및 청구항들에서 설명된 예시적인 실시예들은 제한하려는 것이 아니다. 본원에서 제시된 청구 대상의 사상 또는 범위를 벗어나지 않으면서, 다른 실시예들이 활용될 수 있고 다른 변경들이 이루어질 수 있다. 일반적으로, 본원에서 설명되고 도면들에서 예시된 바와 같이, 본 개시내용의 양상들은 매우 다양한 상이한 구성들로 배열되고, 대체되고, 결합되고, 분리되고 그리고 설계될 수 있으며, 이들 모두는 명시적으로 본원에서 고려된다는 것이 쉽게 이해될 것이다.
[0015]
일부 구현들에서, 본 발명에 따른 방법들의 컴퓨터화된 구현들을 포함하는 본 발명의 양상들은, 본원에서 상세히 설명된 양상들을 구현하도록 컴퓨터 또는 프로세서 기반 디바이스를 제어하기 위한 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합을 생성하기 위해, 표준 프로그래밍 및/또는 엔지니어링 기술들을 사용하여 시스템, 방법, 장치 또는 제조 물품으로서 구현될 수 있다. 본원에서 사용된 바와 같이, 용어 제조 물품은 임의의 컴퓨터-판독 가능 디바이스, 캐리어(예컨대, 비-일시적인 신호들), 또는 매체들(예컨대, 비-일시적인 매체들)로부터 액세스 가능한 컴퓨터 프로그램을 포함하도록 의도된다. 예컨대, 컴퓨터-판독 가능 매체들은 자기 저장 디바이스들(예컨대, 하드 디스크, 플로피 디스크, 자기 스트립들 등), 광학 디스크들(예컨대, CD(compact disk), DVD(digital versatile disk) 등), 스마트 카드들 및 플래시 메모리 디바이스들(예컨대, 카드, 스틱)을 포함(그러나 이에 제한되지 않음)할 수 있다. 부가적으로, 반송파는 전자 메일을 송신 및 수신하거나 또는 인터넷 또는 LAN(local area network)과 같은 네트워크에 액세스하는 데 사용되는 것들과 같은 컴퓨터-판독 가능 전자 데이터를 반송하는 데 사용될 수 있다는 것이 인지되어야 한다. 물론, 당업자들은 청구된 청구 대상의 범위 또는 사상을 벗어나지 않으면서, 이러한 구성들에 대해 다수의 수정들이 가해질 수 있다는 것을 인지할 것이다.
[0016]
본 발명의 실시예들은 컴퓨터-구현 방법들을 포함해서, 시스템들 및/또는 방법들로서 구현될 수 있다. 본 발명의 일부 실시예들은 아래의 논의와 일치하는 디바이스, 이를테면, 자동화 디바이스, 다양한 컴퓨터 하드웨어, 소프트웨어, 펌웨어 등을 포함하는 특수 목적 또는 범용 컴퓨터를 포함(또는 활용)할 수 있다.
[0017]
본원에서 사용된 바와 같이, 달리 특정되거나 제한되지 않는 한, "A, B 및 C 중 적어도 하나" 및 유사한 다른 구문들은 A 또는 B 또는 C, 또는 A, B 및/또는 C의 임의의 조합을 나타내려는 것이다. 따라서, 이 구문 및 유사한 구문들은, A, B 및/또는 C의 단일 또는 다수의 인스턴스들을 포함할 수 있으며, 이 경우에, A, B 및/또는 C 중 임의의 것은, 엘리먼트들의 카테고리, 카테고리(또는 카테고리들)의 엘리먼트들 중 임의의 엘리먼트의 단일 또는 다수의 인스턴스들을 나타낸다.
[0018]
또한, 본 설명에서 사용되는 바와 같이, 달리 특정되거나 제한되지 않는 한, 용어들 "컴포넌트", "시스템", "모듈" 등은, 컴퓨터 관련 엔티티, 즉 하드웨어, 하드웨어 및 소프트웨어의 결합, 소프트웨어 또는 실행 중인 소프트웨어 중 어느 하나를 지칭하도록 의도된다. 예컨대, 컴포넌트는 프로세서 상에서 구동되는 프로세스, 프로세서, 객체, 실행 가능한 것, 실행 스레드, 프로그램, 및/또는 컴퓨터(그러나 이에 제한되지 않음)일 수 있다. 예시로서, 컴퓨팅 상에서 구동되는 애플리케이션 및 컴퓨터 둘 모두는 컴포넌트일 수 있다. 하나 또는 그 초과의 컴포넌트들(또는 시스템, 모듈 등)이 프로세스 및/또는 실행 스레드 내에 상주할 수 있고, 하나의 컴퓨터 상에서 로컬화되고, 둘 또는 그 초과의 컴퓨터들 또는 프로세서들 사이에서 분산되고, 그리고/또는 다른 컴포넌트(또는 시스템, 모듈 등)에 포함될 수 있다.
[0019]
또한, 본원에서 사용된 바와 같이, 달리 특정되거나 제한되지 않는 한, "카메라"는 가시광 및/또는 비-가시광으로부터 이미지들을 캡처하도록 구성되는 디바이스들 뿐만 아니라, 2D 평면 이미징 디바이스들, 라인 스캔 이미징 디바이스들, 3D 이미징 디바이스들, 비디오 이미징 디바이스들 등을 포함하는 임의 유형의 이미징 디바이스를 포함할 수 있다. 이와 관련하여, "카메라 시스템"은 하나 또는 그 초과의 카메라들을 갖는 시스템을 포함할 수 있다. 마찬가지로, 달리 특정되거나 제한되지 않는 한, "파지(grip)"한다는 것은 기계식, 흡입식, 자기식 또는 다른 결합(engagement)을 통해 이루어지는 것을 포함해서, 조작기 또는 다른 디바이스에 의한 작업 객체의 고정 또는 유지를 초래하는 액션을 나타낼 수 있다.
[0020]
정밀 제조에서 조립 또는 다른 태스크들과 같은 소정의 프로세스들의 실행은 자동화된 컴퓨터-제어 모션 시스템의 사용을 요구할 수 있다. 예컨대, 전자 시스템들의 소정의 컴포넌트들을 정밀하게 조립하기 위해, 제어 컴퓨터 시스템은 파지 암(arm)을 갖는 로봇의 일련의 독립적 및/또는 상호-관련 움직임들의 비교적 정밀한 자동화된 제어를 구현할 필요가 있을 수 있다. 본질적으로, 적절한 정확성으로 이러한 제어를 실행하기 위해, 컴퓨터 시스템은, 로봇의 내부 제어기들에 의해 사용되는 기준 좌표계(또는 좌표계들)에 대하여, 높은 신뢰도(기준 좌표계(들)에 대한 커맨드들이 관련 제조 영역의 물리적 공간에서 원하는 로봇의 움직임들에 적절히 대응할 것임)로, 로봇의 움직임들을 지시할 수 있어야 한다. 따라서, 정밀 태스크들의 효과적인 자동화된 실행을 위해, 컴퓨터 시스템은 로봇(또는 다른 모션 시스템)에 관련된 하나 또는 그 초과의 기준 좌표계들과, 관련 물리적 환경의 하나 또는 그 초과의 좌표계들 사이의 적절히 정확한 관계를 결정하도록 구성되어야 한다.
[0021]
이와 관련하여 그리고 위에서 또한 논의된 바와 같이, 로봇들 또는 다른 제어 가능한 모션 시스템들에 의한 움직임들의 부정확성들(즉, 실제 움직임들 대 관련된 좌표계에서의 지시된 움직임의 부정확성)은 제조 및 다른 동작들에 악영향을 미칠 수 있다. 예컨대, 소정의 유형의 부정확성들이 제어 가능한 모션 시스템에 존재하는 경우, 컴퓨터 시스템이 기준 좌표계와 물리적 좌표계 사이의 관계들을 결정하기 위한 종래의 접근법들은 이러한 관계들에서 상당한 부정확성들을 초래할 수 있다. 결과적으로, 컴퓨터 시스템으로부터의 커맨드들에 대해 응답한 모션 시스템들의 실제 물리적 움직임들은 커맨드들에 의해 의도된 물리적 움직임들에 정확하게 대응하지 않을 수 있다.
[0022]
이러한 시스템들의 자동화된 컴퓨터 제어에 악영향을 미칠 수 있는, 제어 가능한 모션 시스템들의 부정확성들은 다양한 형태를 취할 수 있다. 일부 경우들에서, 이러한 부정확성들은 (예컨대, 소규모 움직임보다는) 대규모 움직임들과 관련하여 비교적 만연할 수 있다. 예컨대, 특정 VBM 시스템에 대한 로봇은 제1 워크스테이션 및 제2 워크스테이션에서 소규모(예컨대, 밀리미터) 움직임들에 대해 비교적 정확할 수 있지만, 두 워크스테이션들 사이의 보다 대규모(예컨대, 미터) 움직임들에 대해 비교적 부정확할 수 있다. 이와 관련하여, 예컨대, 로봇은 약간의 회전 에러를 갖는 비교적 대규모의 지시된 병진운동 모션을 실행할 수 있거나, 또는 다른 에러들(예컨대, 스케일, 종횡비, 스큐, 전단 또는 다른 선형 에러들)을 나타낼 수 있다.
[0023]
일부 경우들에서, 위에서 언급된 대규모 에러들은 워크스테이션들 사이의 움직임을 필요로 하는 태스크들(예컨대, 제2 워크스테이션의 다른 부분으로의 제1 워크스테이션의 부분의 부착)의 성능을 비교적 열등하게 할 수 있다. 그러나, 실질적으로, 이러한 에러들의 근원의 성질(예컨대, 관련된 로봇의 비교적 변하지 않는 물리적 양상들)로 인해, 이들은 일반적으로 반복 가능할 수 있다. 아래에서 추가로 논의되는 바와 같이, 본 발명의 상이한 실시예들에 따라, 에러들은, 제어 가능한 모션 시스템의 자동화된 컴퓨터 제어를 구현하는 데 필요한 바와 같이, 기준 좌표계와 물리적 좌표계 사이의 관계들에 관한 위에서 언급된 필요한 결정에 대한 특정 접근법들을 통해 효과적으로 제거되게 할 수 있다.
[0024]
특히, 예컨대, 로봇(또는 다른) 동작들의 정확성을 개선하기 위해, 일련의 교정들이 다중-스테이션 VBM 시스템에 대해 실행될 수 있다. 일부 구현들에서, 예컨대, 로봇은 일부 비교적 먼 거리(예컨대, 1m 또는 그 초과)만큼 서로 분리되어 있는 2개(또는 그 초과)의 워크스테이션들에서 동작들을 실행하도록 구성될 수 있다. 제1 및 제2 워크스테이션들에서 로봇 동작들을 조정하기 위해, 예컨대, 워크스테이션들 각각에서 로봇에 대해 별개의 "HEC"(hand-eye calibration)가 실행될 수 있다. 이러한 방식으로, 예컨대, 모션 좌표계 내의 로봇의 로컬 움직임들은 각각의 관련된 카메라의 좌표계(예컨대, 2D 픽셀 좌표계)와 상관될 수 있다. HEC 동작들의 소정의 알려진 양상들은 미국 특허 제5,960,125호 및 제9,230,326호 및 미국 특허 공보들 제2017/0132807호, 제2014/0267681호 및 제2014/0240520호에 논의되며, 이들 모두는 본원에 인용에 의해 포함된다.
[0025]
언급된 HEC 교정들 외에도, 2개의 상이한 워크스테이션들에서 교정-객체 좌표계와 카메라들(또는 카메라 시야들) 사이의 관계들을 결정하기 위해, "교차-스테이션 교정"(cross-station calibration; CSC)이 또한 수행될 수 있다. 이는 예컨대, 2개의 워크스테이션들 간을 비교하여 실제 로봇 움직임들 대 로봇 커맨드들의 불일치들을 고려하는데 유용할 수 있다. 예컨대, 로봇에 의해 파지된 교정 플레이트(또는 다른 객체)는 각각의 워크스테이션 내의 미리 결정된 지점에서 이미징될 수 있고 그에 따라 CSC가 계산된다. 그 후, CSC와 HEC 사이의 관계들이 또한 결정될 수 있어서, 교정-객체 좌표계 내의 좌표들 또는 움직임들이 관련된 모션 좌표계(예컨대, 관련된 로봇의 좌표계) 내의 대응하는 좌표들 또는 움직임들로 쉽게 변환될 수 있다.
[0026]
(예컨대, 위에서 약술된 바와 같이) CSC 및 HEC 좌표계들은 물론 이들 사이의 관계들이 설정되면, 그 후에, 둘 모두의 워크스테이션들에 걸친 동작들에 대해서도 관련된 로봇의 비교적 정밀한 제어를 구현하는 것이 가능할 수 있다. 예컨대, 제1 워크스테이션에서의 제1 부분에 대한 픽(pick) 동작 및 제2 워크스테이션에서의 제2 부분에 대한 대응하는 배치(place) 동작을 실행하기 위해, 제1 및 제2 부분들의 특징들이 CSC 좌표계에서 식별될 수 있다. (예컨대, CSC로부터 그리고 제1 HEC로부터 결정된 변환들에 기초하여) 교정-객체 좌표계로부터 모션 좌표계로의 변환뿐만 아니라, 교정-객체 좌표계 내에서 부분들을 조립하기 위한 변환이 그 후, 상응하게 계산되고, 제1 부분이 상응하게 픽될 수 있다. 이러한 방식으로, 로봇 모션에 대한 커맨드들의 적절한 세트가 예컨대, 제1 워크스테이션에서 제1 부분을 픽하고 제2 워크스테이션에서 제1 부분을 원하는 위치로 이동시키기 위해 결정될 수 있다.
[0027]
일부 실시예들에서, 잠재적으로 "배치" 동작의 정확성을 개선하기 위해, 일단 제1 부분이 제1 워크스테이션에서 픽되면, 그것은 제1 워크스테이션에서 미리 결정된 지점(예컨대, CSC를 실행하는 데 사용된 것과 동일한 미리 결정된 지점)으로 이동될 수 있고, 제1 부분의 특징들이 재차 로케이팅된다(예컨대, 하나 또는 그 초과의 카메라들을 통한 이미징에 기초하여 교정-객체 좌표계에 로케이팅됨). 이는 예컨대, 로봇에 의한 제1 부분의 적절한 파지를 확인하는 데 유용할 수 있다. 그 후, 적절하게, 제1 워크스테이션의 미리 결정된 지점으로부터 제2 좌표계의 (예컨대, 제2 부분 상의) 타겟 위치로 제1 부분을 이동시키기 위해, CSC 및 제2 HEC의 결과들을 사용하여, 업데이트된 변환이 계산될 수 있다.
[0028]
일반적으로, 본 개시내용의 양상들은, 단일 로봇과 함께, 2개의 워크스테이션 VBM 시스템들 및 각각의 스테이션에서 단일의 고유한 고정 위치 2D 카메라를 포함하는 예들과 관련하여 본원에서 논의된다. 이러한 양상들의 토대를 이루는 원리들은 다른 유형들의 VBM 시스템들(예컨대, 이동식 카메라 또는 3D 카메라들을 갖는 시스템들, 다수의 로봇들을 갖는 시스템들, 3개 또는 그 초과의 워크스테이션들을 갖는 시스템들 등)로 쉽게 확장될 수 있다는 것이 당업자들에 의해 인지될 것이다.
[0029]
유사하게, 본원에서 논의되는 특정 좌표계들 및 그 사이의 변환들은 일반적으로 단지 예로서만 제시된다. 다른 구현들에서, 본 개시내용의 동일한 일반 원리들 하에서, 다른 좌표계들 및 변환들의 사용이 가능할 수 있다. 예컨대, 본원에서의 일부 논의는 교정-객체 좌표계에서 부분 특징들(또는 다른 관련된 지점들)의 로케이팅 및 그 좌표계로부터 다른 좌표계로의 대응하는 변환들의 계산을 지칭할 수 있다. 다른 구현들에서, 예컨대, 부분 특징들(또는 다른 관련된 지점들)은 상이한 좌표계에서 로케이팅되고 대응하는 변환들이 상응하게 구현될 수 있다.
[0030]
또한, 본원에서의 일부 예들에서, 특정 제어 가능한 모션 시스템들의 내부 좌표계가 관련된 VBM 시스템들에 대한 모션 좌표계로서 채택될 수 있다. 그러나, 통합된 기준 좌표계가 반드시 특정 제어 가능한 모션 시스템과 결속될 필요가 없다는 것이 이해될 것이다. 예컨대, 일부 VBM 시스템들에 대해, 통합된 기준 좌표계는 VBM 시스템들의 하나 또는 그 초과의 제어 가능한 모션 시스템들에 대한 하나 또는 그 초과의 내부 좌표계들로부터 변동될 수 있으며, 그에 따라 적절한 변환들이 통합된 기준 좌표계와 하나 또는 그 초과의 내부 좌표계들 사이의 관계들을 정의한다.
[0031]
이러한 관점에서, 그리고 본 발명의 원리들의 구현의 일 예로서, 도 1은, 6-축 로봇으로서 구성되는 제어 가능한 모션 시스템(22), 제1 워크스테이션(24), 알려진 거리(예컨대, 175cm)만큼 제1 워크스테이션으로부터 분리되는 제2 워크스테이션(26), 제1 워크스테이션(24)의 이미지들(예컨대, 워크스테이션(24)의 작업 객체들의 이미지들)을 캡처하도록 구성된 고정 위치의 2D 제1 카메라(28), 및 제2 워크스테이션(26)의 이미지들(예컨대, 워크스테이션(26)의 작업 객체들의 이미지들)을 캡처하도록 구성된 고정 위치의 2D 제2 카메라(30)를 포함하는 VBM 시스템(20)을 예시한다.
[0032]
시스템(20)은 또한 제어기(32)를 포함하며, 이 제어기(32)는 프로세싱 디바이스(32a)를 포함할 수 있고, 일반적으로 제1 카메라(28), 제2 카메라(30), 로봇(22) 또는, 범용(특수 목적) 컴퓨터(34), 및 다양한 다른 컴포넌트들(다른 VBM 시스템들의 컴포넌트들을 포함함)로부터 신호들을 수신하고 이들 중 하나 또는 그 초과에 신호들을 송신하도록 구성될 수 있다. 따라서, 자립형 디바이스 또는 위에 언급된 컴포넌트들 중 하나 또는 그 초과의 컴포넌트의 부분일 수 있는 제어기(32)는 VBM 시스템(20)의 동작의 다양한 양상들을 제어하고 그리고/또는 VBM 시스템(20)의 하나 또는 그 초과의 컴포넌트들로부터 유용한 데이터를 수신하는 데 사용될 수 있다.
[0033]
일반적으로, 로봇(22)은 제1 워크스테이션(24) 및 제2 워크스테이션(26) 둘 모두에서 동작들을 수행하도록 구성된다. 예컨대, 로봇(22)은 어느 하나의 워크스테이션(24, 26)에서 작업 객체(예컨대, 일반적으로 평평한 객체(36, 38) 이를테면, 터치-스크린 디스플레이의 컴포넌트들)(즉, 태스크들을 수행하는 데 사용되거나 또는 태스크들이 수행되는 객체)를 파지하여 워크스테이션들(24, 26) 내에서 (예컨대, 미리 결정된 지점들(24a 및 26a)로) 객체들을 이동시키고, 워크스테이션들(24, 26) 사이에서 객체들을 이동시키도록 구성될 수 있다. 따라서, 예컨대, 로봇(22)은 일반적으로, 다양한 다른 동작들 중에서도, 제1 워크스테이션(24)으로부터 객체(36)(또는 다른 객체)를 픽하고 제2 워크스테이션(26)의 객체(38) 상에(또는 다른 위치에) 객체(36)를 배치하는 데 유용할 수 있다.
[0034]
위에서 일반적으로 약술되고 도 1에 일반적으로 예시된 구성들에서, VBM 시스템(20)은 다수의 상이한 좌표계들을 정의한다. 예컨대, 로봇(22)은 일반적으로 (예컨대, 제어기(32)에 의해) 모션 좌표계(50)에 대해 제어되고, 제1 카메라(28)는 픽셀 좌표계(52) 내에서 이미지들을 캡처하고, 제2 카메라(30)는 픽셀 좌표계(54) 내에서 이미지들을 캡처하고, 워크스테이션들(24, 26) 중 어느 하나 또는 둘 모두는 실세계 좌표계(도시되지 않음)에 있고 기타 등등이 가능하다. 또한, 아래에서 논의되는 바와 같이, 교정 플레이트(58)(또는 다른 교정 객체 또는 객체들)에 기초하여 교정-객체 좌표계(또는 좌표계들)(56)를 설정하는 것이 가능할 수 있다.
[0035]
또한, 위에서 언급된 바와 같이, 도 1에 예시된 상이한 좌표계들은 단지 예로서만 제시된다. 예컨대, 본 발명의 일부 구현들은 3D 픽셀 좌표계가 정의될 수 있도록 3D 카메라들(예컨대, 레이저 프로파일러들, 비행 시간(time-of-flight) 센서들 등)을 활용할 수 있다. 유사하게, 일부 실시예들에서, 교정-객체 좌표계는 평면이기보다는, 3D일 수 있다. 부가적으로, 일부 구현들에서, 좌표계(50) 이외의 좌표계가 통합된 좌표계로서 선택될 수 있다.
[0036]
예시된 실시예에서, 교정 플레이트(58)는 그의 표면 상에 가시적인 뚜렷한 도트 격자들을 갖는 일반적으로 평평한 객체로서 구성된다. 다른 예시적인 패턴들은 선 그리드들(예컨대, 바둑판들 또는 축들), 벌집 패턴들, 삼각형들의 바둑판 등을 포함한다. 일반적으로, 플레이트(58)에서와 같이, 설계 내에서 암시적으로 정의된 기준 포지션 및/또는 좌표계에 대한 포지션 및/또는 배향과 같은 각각의 가시적인 특징의 특성들은 특정 플레이트의 설계로부터 알려진다.
[0037]
도 2는 임의의 수의 다른 VBM 시스템들과 관련하여 또는 위에서 설명된 바와 같은 VBM 시스템(20)과 관련하여 일반적으로 구현될 수 있는 교정 방법(70)을 예시한다. 위에서 또한 일반적으로 언급된 바와 같이, 사용된 특정 좌표계들 및 방법(70)의 다른 파라미터들은 단지 예들로서만 제시된다는 것이 이해될 것이다. 마찬가지로, 아래에 논의된 동작들의 특정 순서는 또한 단지 예로서만 제시된다.
[0038]
일반적으로, 워크스테이션들(24, 26) 둘 모두에 걸친 동작들에 대해 VBM 시스템(20)을 교정하기 위해, 로봇(22) 및 카메라들(28, 30)의 하나 또는 그 초과의 (예컨대, 각각의) 카메라들에 대해 각각, "HEC"(hand-eye calibration)가 수행(즉, 실행)될 수 있다(72, 74). 일반적으로, VBM 시스템(20)의 맥락에서, 각각의 HEC의 실행(72, 74)은 모션 좌표계(50)에 대해 카메라들(28, 30)의 좌표계들(52, 54)을 각각 교정할 수 있다.
[0039]
일반적으로, 수행되는 HEC(72, 74)의 목표는 카메라(들)와 모션 좌표계의 관계를 결정(예컨대, 모션 좌표계에서 카메라들 또는 교정 객체들의 강체 포즈, 카메라의 내재 파라미터들, 이를테면, 렌즈 또는 원근 왜곡, 모션 스테이지의 비-강성 파라미터들, 이를테면, 모션 축들 사이의 스큐 및 모션 스테이지의 각각의 자유도의 스케일링 등을 결정)하기 위한 것이다. 위에서 언급된 바와 같이, VBM 시스템(20)의 현재의 예시적인 교정에서, 로봇(22)의 좌표계(50)가 모션 좌표계로서 활용되어서, HEC는 포즈들 및 모션이 모션 좌표계(50)에서 설명/해석되게 한다. 다른 구현들에서, 다른 선택들이 가능하다.
[0040]
HEC는 다수의 다양한 방식들로 실행될 수 있다. 일부 경우들에서, 예컨대, 교정 플레이트(58)는 카메라들(28, 30) 각각에 대해 다수의 상이한 포즈들로 제시될 수 있고, 카메라들(28, 30) 각각은 각각의 그러한 포즈에서 교정 플레이트(58)의 이미지를 취득할 수 있다. 그 후, 결과적인 등식 시스템이 좌표계(52, 54) 각각과 좌표계(50) 사이의 변환을 결정하기 위해 풀어질 수 있다(또는 대략적으로 풀어짐).
[0041]
본원에서 제시된 예에서, 카메라들(28, 30)은 제 위치에 고정되고, 교정 플레이트(58)가 이동된다. 다른 실시예들에서, 카메라들(28, 30) 중 하나 또는 둘 모두가 플레이트(58)에 대해 이동될 수 있다.
[0042]
도 2를 계속 참조하면, 방법(70)은 또한 로봇(22) 및 워크스테이션들(24, 26)에 대해 CSC(cross-station calibration)을 수행하는 것(76)을 포함할 수 있다. 일반적으로, CSC는 교정 플레이트(58)에 의해 정의된 교정-객체 좌표계(56)와 같은 공통 좌표계의 인스턴스들을 분리하도록 카메라들(28, 30) 각각을 교정할 수 있다.
[0043]
CSC는 다양한 방식들로 수행될 수 있다(76). 일부 구현들에서, CSC는 "단일-뷰(single-view)" 교정으로부터 변동되지만, 이와 다소 관련되는 방식으로 수행될 수 있다(76). 예컨대, 종래의 단일-뷰 접근법들 하에서, 각각의 시스템 카메라는 고정된 교정 플레이트의 좌표계 대하여 교정될 수 있다. 대조적으로, 방법(70) 하에서, 교정 플레이트는 미리 결정된 지점들에서, 2개의 카메라들(28, 30) 각각에 의한 이미징을 위해 2개의 워크스테이션들(24, 26) 사이에서 이동될 수 있다.
[0044]
예컨대, CSC를 수행하는 것(76)은 교정 플레이트(58)를 로봇(22)으로 파지하고(78), 그 후 로봇(22)을 사용하여 교정 플레이트(58)를 워크스테이션(24)의 지점(24a)(또는 다른 미리 결정된 지점)으로 이동시키는 것(80)을 포함할 수 있다. 그 후, 카메라(28)는 지점(24a)에서 교정 플레이트(58)의 하나 또는 그 초과의 이미지들을 취득(82)하는 데 사용될 수 있다.
[0045]
또한, CSC를 수행하는 것(76)은 여전히, 교정 플레이트(58)를 로봇(22)으로 파지하고(78), 그 후 로봇(22)을 사용하여 교정 플레이트(58)를 워크스테이션(26)의 지점(26a)(또는 다른 미리 결정된 지점)으로 이동시키는 것(80)을 포함할 수 있다. 그 후, 카메라(30)는 지점(26a)에서 교정 플레이트(58)의 하나 또는 그 초과의 이미지들을 취득(82)하는 데 사용될 수 있다.
[0046]
지점들(24a, 26a) 각각에서 교정 플레이트(58)에 관해 취득된 적어도 하나의 이미지에 대해, 방법(70)은 그 후, 카메라(28, 30)의 각각의 좌표계(52, 54)와 교정-객체 좌표계(56) 사이의 관계를 결정하는 것(84)을 포함할 수 있다. 예컨대, 교정-객체 좌표계(56)와 카메라 좌표계(52) 사이의 변환이 제1 워크스테이션(24)에서 결정될 수 있고, 교정-객체 좌표계(56)와 카메라 좌표계(54) 사이의 잠재적으로 상이한 변환이 제2 워크스테이션(26)에서 결정될 수 있다.
[0047]
적절하게, 방법(70)은, 그 후, (예컨대, 이전에 논의된 바와 같이) 이전에 수행된 CSC 및 HEC 동작들에 기초하여 각각의 워크스테이션(24, 26)에서 교정-객체 좌표계(56)와 모션 좌표계(50) 사이의 관계(예컨대, 변환)를 결정하는 것(86)을 더 포함할 수 있다. 예컨대, 위에서 논의된 CSC 동작들의 결과들은,교정-객체 좌표계(56)로부터 어느 하나의 워크스테이션(24, 26)의 픽셀 좌표계(52, 54)로의 변환을 위해 사용될 수 있고, 그 후, 위에서 논의된 HEC 동작들의 결과들은 어느 하나의 워크스테이션(24, 26)의 픽셀 좌표계들(52, 54)로부터 그 워크스테이션들(24, 26)의 모션 좌표계(50)로의 변환을 위해 사용될 수 있다.
[0048]
일반적으로, 위에서 설명된 관계들(또는 다른 적절한 좌표계 관계들)이 설정되면, (예컨대, 요구될 수 있는, 제어 가능한 모션 시스템의 비교적 대규모 움직임으로 인해) 워크스테이션들 사이의 움직임 동안 발생할 수 있는 에러들을 고려하면서, 관련된 워크스테이션들(예컨대, 24, 26)에 걸친 동작들을 실행하는 것이 가능할 수 있다.
[0049]
이와 관련하여, 도 3은 2개의 워크스테이션들에 걸쳐 2개의 부분들을 함께 조립하기 위한 예시적인 방법(100)을 예시한다. 유사한 원리들 및 위에서 일반적으로 논의된 개념들에 기초하여 다른 동작들이 가능하다.
[0050]
예시된 예에서, 방법(100)은 일반적으로, 교정-객체 좌표계, 관련된 카메라들의 다양한 좌표계들 및 관련된 모션 좌표계(예컨대, 관련된 제어 가능한 모션 시스템의 좌표계) 사이의 관계들을 설정하기 위해, 교정 동작의 이전 구현에 기초할 수 있다. 예컨대, 방법(100)의 동작들에 대한 토대로서, 교정-객체 좌표계와 다른 좌표계 사이의 적절한 관계들의 결정(86)을 포함한, 방법(70)(도 2 참조)의 하나 또는 그 초과의 동작들을 구현하는 것이 유용할 수 있다.
[0051]
(예컨대, 방법(70) 또는 그의 변동들을 통해) 적절하게 교정된 관련된 VBM 시스템으로, 방법(100)의 조립이 진행될 수 있다. 예컨대, 카메라(28)를 사용하여, 객체(36) 상의 하나 또는 그 초과의 특징들(예컨대, 하나 또는 그 초과의 코너들 또는 에지들)이 로케이팅될 수 있다(102). 마찬가지로, 카메라(30)를 사용하여, 객체(38)의 하나 또는 그 초과의 특징들이 로케이팅될 수 있다(104).
[0052]
일반적으로, 특징들(또는 다른 위치들)은 임의의 적절한 좌표계에서 로케이팅될 수 있다(102, 104). 일부 경우들에서, 각각의 워크스테이션(24, 26)에서 교정-객체 좌표계(56)의 소정의 특징들(102, 104)을 로케이팅하는 것이 유용할 수 있다. 다른 경우들에서, 다른 좌표계들이 사용될 수 있다.
[0053]
관련된 특징들이 로케이팅되면(102, 104), 제1 워크스테이션(24)으로부터 제2 워크스테이션(26)의 적절한 포지션으로 객체(36)를 이동시키기 위한 교차-스테이션 변환(cross-station transform)이 그 후 계산될 수 있다(106). 예컨대, 제2 워크스테이션(26)의 제2 객체(38)와 정밀하게 정렬되도록 제1 워크스테이션(26)의 위치로부터 제1 객체(36)를 이동시키기 위해 교차-스테이션 변환이 계산될 수 있다(106).
[0054]
위에서 유사하게 언급된 바와 같이, 적절한 교차-스테이션 변환은 임의의 수의 적절한 좌표계들에 대하여 계산될 수 있다(106). 위의 예와 일치하는 일부 구현들에서, 관련된 특징들이 교정-객체 좌표계(56)에서 로케이팅될 때(102, 104), 교정-객체 좌표계(56)에 대해 변환을 또한 계산(106)하는 것이 유용할 수 있다.
[0055]
그 후, 객체(36)에 대한 교차-스테이션 움직임이 계산된(106) 변환에 기초하여 수행될 수 있다(108). 예컨대, 로봇(22)은 로케이팅된(102) 특징들에 기초하여 제1 워크스테이션 내의 객체(36)를 픽하고 계산된(106) 변환에 기초하여 제2 워크스테이션 내의 위치로 객체(36)를 이동시키도록 지시될 수 있다. 이와 관련하여, 좌표계들 사이의 적절한 변환들이 일반적으로 요구된다는 것이 인지될 것이다. 예컨대, 객체(36)의 특징들이 교정-객체 좌표계(56)에서 로케이팅되는 경우, (예컨대, 위에서 약술된 바와 같이, CSC 및 HEC 동작들의 결과들에 기초하여) 특징들의 관련된 좌표들을 모션 좌표계(50)로 변환하고, 그 후 로봇(22)의 움직임을 상응하게 지시하는 것이 필요할 수 있다.
[0056]
일부 경우에서, 교차-스테이션 움직임을 수행하는 것(108)은 동작 에러들을 추가로 정정하도록 설계된 동작들을 포함하는 다수의 움직임 동작들을 포함할 수 있다. 예컨대, 객체(36)에 대한 로봇(22)에 의한 픽 에러들을 참작하기 위해, 객체(36)를 픽하고(110), 객체(36)를 제1 기준 지점(예컨대, CSC(도 1 및 도 2 참조)를 수행(76)할 때 사용된 바와 같은 미리 결정된 지점(24a))으로 이동시키고(112), 그 후, 제1 객체(36) 상에 특징들을 재차 로케이팅하는 것(114)(예컨대, 이전에 로케이팅(102)된 것과 동일한 특징들을 재로케이팅함)이 유용할 수 있다.
[0057]
제1 객체(36)가 픽된 후 그의 특징들을 로케이팅하는 것(114)에 기초하여, (예컨대, 미끄러짐(slippage)에 기인한) 임의의 픽 에러들이 식별될 수 있고, 업데이트된 교차-스테이션 변환이 제1 기준 지점으로부터 제2 워크스테이션(26)의 원하는 위치(예컨대, 객체(38)의 상부의 객체(36)에 대한 배치 위치)로의 객체(36)의 움직임에 대해 계산될 수 있다(116). 그 후, 객체(36)는 원하는 위치로 이동될 수 있다(118).
[0058]
이 최종 움직임(또는 일련의 선행 움직임)에서, 위치들 또는 변환들이 교정-객체 좌표계에서 반드시 식별되거나 계산될 필요는 없다는 것이 재차 인지되어야 한다(그러나, 이것은 일부 구현들에서 유용할 수 있음). 오히려, (예컨대, 72, 74, 76의 HEC 및 CSC 동작들을 수행함으로써 결정된 바와 같은) 좌표계들 사이의 미리 설정된 관계들을 사용하여, 상이한 관련된 좌표계들을 사용하고 이 좌표계들 사이에서 적절히 이동시키는 실질적인 유연성이 제공될 수 있다.
[0059]
또한, 본원에서의 논의와 관련하여, 객체를 위치로 이동시키는 것은 객체가 물리적으로 위치를 점유하도록 객체를 이동시키는 것 또는 객체를 파지하고 있는 조작기를 이동시켜서 조작기가 위치를 물리적으로 점유하게 하는 것을 포함할 수 있다는 것이 이해될 것이다. 예컨대, 위의 논의에서, 객체(36)를 기준 위치(예컨대, 미리 결정된 지점(24a))로 이동시키는 동작(112)은, 반드시 기준 위치를 점유하도록 객체(36) 그 자체를 이동시키기 보다는, 기준 위치를 점유하도록 로봇(22)의 엔드-이펙터(end-effector)를 이동시키는 것을 포함할 수 있다.
[0060]
상이한 구현들에서, 위에서 논의된 접근법들에 관한 변동들이 가능하다. 예컨대, 위에서 설명된 동작들의 일부 양상들은 일부 구현들에서 명시적으로(예컨대, 이산적으로) 수행될 수 있지만, 다른 구현들에서, 연속적인 움직임의 부분으로서 수행될 수 있다. 예컨대, 도 3을 계속 참조하면, 일부 구현들은, 근본적인 반복 가능한 교차-스테이션 움직임의 시작 지점으로서 객체를 제1 기준 지점(예컨대, 미리 결정된 지점(26a))으로 이동시키고(112); 근본적인 반복 가능한 교차-스테이션 움직임을 실행하기 위해 제1 기준 지점으로부터 제2 지점(예컨대, 미리 결정된 지점(24a))으로 객체를 이동시키고(118); 그리고 객체가 최종적으로 원하는 포지션에 배치될 수 있도록 픽 미끄러짐 및 배치 오프셋과 같은 팩터들을 보상하기 위한 조정 모션을 수행하는 이산 동작을을 포함할 수 있다.
[0061]
대조적으로, 일부 구현들은 잠재적 이산 동작들 중 소정의 동작을 연속적인(예컨대, 결합된) 동작(예컨대, 연속적인 움직임들)으로 결합할 수 있다. 예컨대, 제1 및 제2 워크스테이션들 내의 제1 및 제2 기준 지점들(예컨대, 미리 결정된 지점들(24a, 26a)) 사이의 그리고, 미끄러짐 또는 다른 에러들을 보상하는 조정에 따라 제2 기준 지점으로부터 최종 위치로의 잠재적 이산 움직임들은 때때로, 제2 기준 지점(예컨대, 미리 결정된 지점(26a))으로의 실제 움직임을 전혀 포함하지 않을 수 있는 단일의 연속적인 움직임으로 결합될 수 있다. 이러한 연속 접근법은 때때로, (예컨대, 위에서 언급된 이산 접근법과 비교하면) 정확성을 어느 정도 감소시킬 수 있지만, 이는 유용하게, 수락 가능한 정확성으로, 사이클 시간들을 더 빠르게 할 수 있다.
[0062]
일부 구현들에서, 방법(100)(및 본 발명에 따른 다른 방법들)은 비-조립 동작들에 대한 것을 포함하여, 다양한 동작들에 적용되도록 일반화될 수 있다. 예컨대, 특징들을 로케이팅하는 대신에, 방법(100)은 제1 워크스테이션(또는 다른 곳)에서의 하나 또는 그 초과의 동작들에 대한 위치들(예컨대, 특정 부분에 있지 않은 위치들)을 식별하도록 구현될 수 있다.
[0063]
따라서, 개시된 발명의 실시예들은 VBM 시스템들의 동작들에 대한 개선된 시스템 또는 방법을 제공할 수 있다. 일부 실시예들에서, 예컨대, 개시된 시스템 또는 방법의 구현은, 관련된 모션 시스템들에 대한 절대 정확성이 달성 가능하지 않은 경우조차도(그러나, 예컨대, 모션 시스템 에러가 실질적으로 반복 가능할 때), 교차-스테이션 모션들(예컨대, 작업 객체의 기계적 이송)에 대해 비교적 높은 정확성을 발생시킬 수 있다.
[0064]
예컨대, 일부 구현들에서, 비교적 정확한 교차-스테이션 움직임들을 제공하기 위해 상이한 워크스테이션들에서의 HEC들 사이의 관계들이 결정될 수 있다. 예컨대, 일부 어레인지먼트에서, 교정-객체 좌표계의 포지션(X, Y)은 (예컨대, 제1 워크스테이션에서) 제1 HEC 하에서 모션 좌표계의 포지션(U1, V1)으로서, 그리고 (예컨대, 제2 워크스테이션에서) 제2 HEC 하에서 모션 좌표계의 포지션(U2, V2)으로서 결정될 수 있다. 위에서 설명된 예들과 같은 시스템 또는 방법을 사용하는 것은 관련된 모션 시스템이 (U1, V1)과 (U2, V2) 사이의 교차-스테이션 움직임을 적절히 실행할 수 있는 세팅 동작을 실행하게 할 수 있다.
[0065]
이와 관련하여, 본 발명의 실시예들 하에서, 관련된 동작 시스템이 반드시 절대적인 의미에서 정확하지 않을 때조차도 적절한 동작 움직임이 획득될 수 있다. 예컨대, 바로 위의 예에서, 설명된 교차-스테이션 움직임이 비교적 반복 가능한 미끄러짐(또는 모션 시스템에서 다른 비교적 반복 가능한 에러들)을 겪더라도, (U1, V1)과 (U2, V2) 사이의 대응성(correspondence)은 유지될 수 있다. 따라서, 예컨대, 2개의 언급된 HEC들 사이의 절대적이고 독립적인 관계의 결정이 반드시 필요한 것은 아니라는 것을 알 수 있다. 오히려, 적절히 정확한 실행-시간 동작(run-time operation)은 일반적으로, 연관된 "부수적인" 교차-스테이션 움직임에 의해 관련되는 바와 같은, 2개의 HEC들 사이의 특정 "부수적인" 관계에만 의존할 수 있다. HEC들 사이의 상이한 매핑들이 상이한 교차-스테이션 움직임에 대해 발생할 수 있지만, 특정 매핑이 각각의 특정 교차-스테이션 움직임에 대해 쉽게 결정되고, 이후 반복 가능한 동작을 위해 사용될 수 있다. 이와 관련하여, 예컨대, 교차-스테이션 교정의 수학적 특성화는 일반적으로 관련된 HEC들 및 특정 교차-스테이션 움직임들의 함수로서 간주될 수 있다.
[0066]
위에서 유사하게 논의된 바와 같이, 본원에서 개시된 동작들은 디지털 전자 회로로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로 또는 이들의 조합들로 구현될 수 있다. 구현은, 데이터 프로세싱 장치, 예컨대, 프로그래밍 가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들에 의한 실행을 위한 또는 이들의 동작을 제어하기 위한 컴퓨터 프로그램 제품, 즉, 정보 캐리어에서, 예컨대, 머신-판독 가능 저장 디바이스에서, 또는 전파된 신호에서 유형으로(tangibly) 구체화되는 컴퓨터 프로그램으로서 이루어질 수 있다. 컴퓨터 프로그램은 컴파일되거나 인터프리팅된 언어들을 포함한 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 그것은 자립형 프로그램 또는 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛을 포함한 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 있거나 다수의 사이트들에 걸쳐 분산되어 통신 네트워크에 의해 상호연결되는 다수의 컴퓨터들 상에서 실행되거나 또는 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다. 도시된 프로세서, 컴포넌트 또는 모듈은 임의의 다른 프로세서, 컴포넌트 또는 모듈과 결합되거나, 또는 다양한 서브-프로세서들, 서브컴포넌트들 또는 서브모듈들로 분할될 수 있다. 이러한 것은 본원에서의 실시예들에 따라 다양하게 결합될 수 있다.
[0067]
본원에서 개시된 방법 단계들의 동작들은, 입력 데이터로 동작하고 출력을 생성함으로써 본 기술의 기능들을 수행하도록 컴퓨터 프로그램을 실행하는 하나 또는 그 초과의 프로그래밍 가능 프로세서들에 의해 수행될 수 있다. 방법들의 동작들은 또한, 특수 목적 로직 회로, 예컨대, FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)에 의해 수행될 수 있거나, 장치들이 또한 그들로서 구현될 수 있다. 모듈들은 기능성을 구현하는 컴퓨터 프로그램 및/또는 그 프로세서/특수 회로의 부분들을 지칭할 수 있다.
[0068]
컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예로써, 범용 및 특수 목적 마이크로프로세서들 둘 모두 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 또는 그 초과의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령들 및/또는 데이터를 수신한다. 컴퓨터의 필수 엘리먼트들은 명령들을 실행하기 위한 프로세서 및 명령들 및 데이터를 저장하기 위한 하나 또는 그 초과의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 또는 그 초과의 대용량 저장 디바이스들, 예컨대, 자기, 광-자기 또는 광학 디스크들로부터 데이터를 수신하거나 또는 이들에 데이터를 전달하거나, 또는 둘 모두를 수행하도록 동작 가능하게 커플링되거나, 또는 이들을 포함한다. 데이터 송신 및 명령들은 또한 통신 네트워크 상에서 발생할 수 있다. 컴퓨터 프로그램 명령들 및/또는 데이터를 구체화하기에 적합한 정보 캐리어들은, 예로써, 반도체 메모리 디바이스들, 예컨대, EPROM, EEPROM 및 플래시 메모리 디바이스들, 자기 디스크들, 예컨대, 내부 하드 디스크들 또는 제거 가능 디스크들, 광-자기 디스크들 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비-휘발성 메모리를 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 또는 거기에 통합될 수 있다.
[0069]
사용자와의 상호작용을 제공하기 위해, 위에서 설명된 동작들은, 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예컨대, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터, 및 사용자가 컴퓨터에 입력을 제공할 수 있게 하는(예컨대, 사용자 인터페이스 엘리먼트와 상호작용함) 키보드 및 포인팅 디바이스, 예컨대, 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들이 또한, 사용자와의 상호작용을 제공하기 위해 사용될 수 있으며, 예컨대, 사용자에게 제공된 피드백은 임의의 형태의 감지 피드백, 예컨대, 시각적인 피드백, 청각적인 피드백, 또는 촉각적인 피드백일 수 있고; 사용자로부터의 입력은 음향, 스피치, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
[0070]
위에서 설명된 동작들은, 예컨대, 데이터 서버로서 후단(back-end) 컴포넌트를 포함하고, 그리고/또는 미들웨어 컴포넌트, 예컨대, 애플리케이션 서버 및/또는 전단 컴포넌트, 예컨대, 사용자가 예시적인 구현과 상호작용할 수 있게 하는 그래픽 사용자 인터페이스 및/또는 웹 브라우저를 갖는 클라이언트 컴퓨터를 포함하거나, 또는 그러한 후단, 미들웨어, 또는 전단 컴포넌트들의 임의의 조합을 포함하는 분산된 컴퓨팅 시스템으로 구현될 수 있다. 시스템의 컴포넌트들은, 임의의 형태 또는 매체의 디지털 데이터 통신, 예컨대, 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예들은 "LAN(local area network)" 및 "WAN(wide area network)", 예컨대, 인터넷을 포함하고, 유선 및 무선 네트워크들 둘 모두를 포함한다.
[0071]
본 발명이 예시적인 실시예들을 참조하여 설명되었지만, 본 발명의 범위로부터 벗어나지 않으면서 다양한 변경들이 가해질 수 있고 등가물들이 그의 엘리먼트들을 대체할 수 있다는 것이 당업자에 의해 이해될 것이다. 또한, 본 발명의 본질적인 범위를 벗어나지 않으면서, 본 발명의 교시들에 특정의 기구, 상황 또는 재료를 적응시키기 위한 다수의 수정들이 당업자들에 의해 인지될 것이다. 따라서, 본 발명은, 본 발명을 수행하기 위해 고려된 최상의 모드로서 개시된 특정 실시예로 제한되는 것이 아니라, 본 발명은 첨부된 청구항들의 범위 내에 있는 모든 실시예들을 포함하는 것으로 의도된다.
Claims (20)
- "VBM"(vision-based manipulation) 시스템을 교정하는 방법으로서,
상기 VBM 시스템은, 제1 워크스테이션, 상기 제1 워크스테이션과 적어도 부분적으로 분리된 제2 워크스테이션, 상기 제1 워크스테이션 및 상기 제2 워크스테이션의 하나 또는 그 초과의 작업 객체들의 이미지들을 캡처하도록 구성된 카메라 시스템 및 제어 가능한 모션 시스템을 포함하고, 상기 방법은,
상기 제1 워크스테이션에서, 상기 제어 가능한 모션 시스템 및 상기 카메라 시스템으로 "HEC"(hand-eye calibration)를 수행하는 단계;
상기 제2 워크스테이션에서, 상기 제어 가능한 모션 시스템 및 상기 카메라 시스템으로 "HEC"를 수행하는 단계;
상기 제어 가능한 모션 시스템 및 상기 제1 및 제2 워크스테이션들에 대해 "CSC"(cross-station calibration)를 수행하는 단계;
상기 제1 워크스테이션의 CSC와 HEC 사이의 관계를 결정하는 단계; 및
상기 제2 워크스테이션의 CSC와 HEC 사이의 관계를 결정하는 단계를 포함하는,
VBM 시스템을 교정하는 방법. - 제1항에 있어서,
상기 CSC를 수행하는 단계는,
상기 제어 가능한 모션 시스템으로 교정 객체를 파지(gripping)하는 단계 ― 상기 교정 객체는 교정-객체 좌표계의 인스턴스들을 정의함 ― ;
상기 교정-객체 좌표계의 제1 인스턴스를 정의하기 위해, 상기 제어 가능한 모션 시스템을 통해, 상기 교정 객체를 상기 제1 워크스테이션의 제1 지점으로 이동시키는 단계;
상기 카메라 시스템을 이용하여 상기 제1 지점에서 상기 교정 객체를 이미징하는 단계;
상기 교정-객체 좌표계의 제2 인스턴스를 정의하기 위해, 상기 제어 가능한 모션 시스템을 통해, 상기 교정 객체를 상기 제2 워크스테이션의 제2 지점으로 이동시키는 단계;
상기 카메라 시스템을 이용하여 상기 제2 지점에서 상기 교정 객체를 이미징하는 단계; 및
상기 카메라 시스템의 적어도 하나의 카메라에 대해, 상기 카메라의 각각의 픽셀 공간 좌표계와 상기 교정-객체 좌표계의 상기 제1 및 제2 인스턴스들 사이의 변환을 결정하는 단계를 포함하는,
VBM 시스템을 교정하는 방법. - 제1항에 있어서,
상기 카메라 시스템은 상기 제1 워크스테이션의 제1 카메라 및 상기 제2 워크스테이션의 제2 카메라를 포함하는,
VBM 시스템을 교정하는 방법. - 제3항에 있어서,
상기 제1 및 제2 카메라들 중 적어도 하나는 고정-위치 카메라인,
VBM 시스템을 교정하는 방법. - 제1항에 있어서,
상기 카메라 시스템은 적어도 하나의 이동식 카메라를 포함하는,
VBM 시스템을 교정하는 방법. - 제5항에 있어서,
상기 적어도 하나의 이동식 카메라는 이미지들을 캡처하기 위해 상이한 위치들 사이를 이동하도록 구성되는,
VBM 시스템을 교정하는 방법. - "VBM"(vision-based manipulation) 시스템을 사용하는 방법으로서,
상기 VBM 시스템은 제1 워크스테이션에서, 그리고 상기 제1 워크스테이션과 적어도 부분적으로 분리된 제2 워크스테이션에서 작업 객체와의 동작을 실행하기 위한 것이고, 상기 VBM 시스템은 상기 제1 및 제2 워크스테이션들의 이미지들을 캡처하도록 구성된 카메라 시스템 및 모션 좌표계 내의 움직임들을 지시하도록 구성된 제어 가능한 모션 시스템을 포함하고, 상기 카메라 시스템 및 상기 제어 가능한 모션 시스템은 상기 제1 워크스테이션에 대한 제1 "HEC"(hand-eye calibration) 및 상기 제2 워크스테이션에 대한 제2 HEC를 정의하고, 상기 방법은,
교정-객체 좌표계의 제1 인스턴스와 상기 제1 HEC 사이의 제1 교차-교정 관계를 결정하고 상기 교정-객체 좌표계의 제2 인스턴스와 상기 제2 HEC 사이의 제2 교차-교정 관계를 결정하도록 교차-스테이션 교정을 수행하는 단계 ― 상기 교정 관계는 상기 제어 가능한 모션 시스템에 의해 파지되고 상기 제1 워크스테이션 및 상기 제2 워크스테이션에서 이미징되는 교정 객체에 기초하여 결정됨 ― ;
상기 카메라 시스템을 사용하여 상기 제1 워크스테이션에서 상기 작업 객체의 하나 또는 그 초과의 특징들을 로케이팅하는 단계;
상기 교차-스테이션 교정에 적어도 부분적으로 기초하여, 상기 작업 객체를 상기 제2 워크스테이션의 타겟 위치로 이동시키기 위해 교차-스테이션 변환을 계산하는 단계; 및
계산된 교차-스테이션 변환에 기초하여, 상기 제어 가능한 모션 시스템을 사용하여 상기 작업 객체를 상기 타겟 위치로 이동시키는 단계를 포함하는,
VBM 시스템을 사용하는 방법. - 제7항에 있어서,
상기 작업 객체를 이동시키는 단계는 상기 제1 교차-교정 관계에 적어도 부분적으로 기초하여 상기 제1 워크스테이션에서 상기 작업 객체를 로케이팅하는 단계를 포함하는,
VBM 시스템을 사용하는 방법. - 제8항에 있어서,
상기 작업 객체를 이동시키는 단계는, 상기 제1 HEC를 사용한, 상기 교정-객체 좌표계의 제1 인스턴스로부터 상기 모션 좌표계로의 변환에 기초하여, 상기 제어 가능한 모션 시스템을 사용하여 상기 제1 워크스테이션에서 상기 작업 객체를 픽(pick)하는 단계를 포함하는,
VBM 시스템을 사용하는 방법. - 제7항에 있어서,
상기 작업 객체를 상기 타겟 위치로 이동시키는 단계는,
상기 제어 가능한 모션 시스템을 사용하여 상기 제1 워크스테이션의 작업 객체를 픽하는 단계;
상기 제어 가능한 모션 시스템을 사용하여, 상기 제1 워크스테이션의 제1 기준 지점으로 상기 작업 객체를 이동시키는 단계;
상기 제1 기준 지점의 작업 객체에 대해, 상기 카메라 시스템을 사용하여 상기 작업 객체의 하나 또는 그 초과의 특징들을 재로케이팅하는(relocating) 단계; 및
상기 기준 지점으로부터 상기 타겟 위치로 상기 작업 객체를 이동시키기 위해 업데이트된 교차-스테이션 변환을 계산하는 단계를 포함하는,
VBM 시스템을 사용하는 방법. - 제10항에 있어서,
상기 제1 기준 지점은, 상기 교차-스테이션 교정을 위해 상기 교정 객체가 상기 제1 워크스테이션에서 이미징된 지점인,
VBM 시스템을 사용하는 방법. - 제10항에 있어서,
상기 제1 기준 지점의 작업 객체에 대해, 상기 작업 객체의 하나 또는 그 초과의 특징들은 상기 교정-객체 좌표계의 제1 인스턴스에서 재로케이팅되는,
VBM 시스템을 사용하는 방법. - 제7항에 있어서,
상기 교정 객체는 2D 교정 플레이트인,
VBM 시스템을 사용하는 방법. - 제7항에 있어서,
상기 타겟 위치는 상기 제2 워크스테이션에서의 제2 작업 객체의 하나 또는 그 초과의 특징들의 로케이팅에 기초하여 결정되는,
VBM 시스템을 사용하는 방법. - 제14항에 있어서,
상기 제2 작업 객체의 하나 또는 그 초과의 특징들은 상기 제2 교차-교정 관계에 적어도 부분적으로 기초하여 상기 제2 워크스테이션에서 로케이팅는,
VBM 시스템을 사용하는 방법. - 제15항에 있어서,
상기 제2 작업 객체의 하나 또는 그 초과의 특징들은 상기 제2 워크스테이션에서, 상기 교정-객체 좌표계의 제2 인스턴스에서 로케이팅되는,
VBM 시스템을 사용하는 방법. - "VBM"(vision-based manipulation) 시스템으로서,
제1 워크스테이션;
상기 제1 워크스테이션과 적어도 부분적으로 분리된 제2 워크스테이션;
상기 제1 및 제2 워크스테이션들의 하나 또는 그 초과의 작업 객체들의 이미지들을 캡처하도록 구성된 카메라 시스템;
모션 좌표계 내의 움직임들을 지시하도록 구성된 제어 가능한 모션 시스템; 및
하나 또는 그 초과의 프로세서 디바이스들을 포함하고,
상기 하나 또는 그 초과의 프로세서 디바이스들은,
상기 제1 워크스테이션에서 상기 카메라 시스템 및 상기 제어 가능한 모션 시스템에 대해 제1 "HEC"(hand-eye calibration)를 수행하도록;
상기 제2 워크스테이션에서 상기 카메라 시스템 및 상기 제어 가능한 모션 시스템에 대해 제2 "HEC"를 수행하도록;
교정-객체 좌표계의 제1 인스턴스와 상기 제1 HEC 사이의 제1 교차-교정 관계 및 상기 교정-객체 좌표계의 제2 인스턴스와 상기 제2 HEC 사이의 제2 교차-교정 관계를 결정하기 위해 교차-스테이션 교정을 수행하도록 구성되고,
상기 제1 및 제2 교차-교정 관계들은 상기 카메라 시스템으로 하여금, 상기 제1 워크스테이션 및 상기 제2 워크스테이션에서, 상기 제어 가능한 모션 시스템에 의해 파지되는 교정 객체의 하나 또는 그 초과의 이미지들을 취득하게 하는 것에 기초하여 결정되는,
VBM 시스템. - 제17항에 있어서,
상기 하나 또는 그 초과의 프로세서 디바이스들은, 추가로,
상기 카메라 시스템에 의해 취득된 하나 또는 그 초과의 이미지들에 기초하여 상기 제1 워크스테이션에서 작업 객체의 하나 또는 그 초과의 특징들을 로케이팅하도록;
상기 교차-스테이션 교정에 적어도 부분적으로 기초하여, 상기 제어 가능한 모션 시스템을 사용하여 상기 작업 객체를 상기 제2 워크스테이션의 타겟 위치로 이동시키기 위해 교차-스테이션 변환을 계산하도록; 그리고
상기 제어 가능한 모션 시스템으로 하여금, 계산된 교차-스테이션 변환에 기초하여 상기 작업 객체를 상기 타겟 위치로 이동시키게 하도록 구성되는,
VBM 시스템. - 제18항에 있어서,
상기 제어 가능한 모션 시스템으로 하여금, 상기 작업 객체를 상기 타겟 위치로 이동시키게 하는 것은,
상기 제어 가능한 모션 시스템으로 하여금, 상기 제1 워크스테이션의 작업 객체를 픽하고 상기 제1 워크스테이션의 제1 기준 지점으로 상기 작업 객체를 이동시키게 하는 것;
상기 카메라 시스템으로 하여금, 상기 제1 기준 지점의 작업 객체에 대해, 상기 작업 객체의 하나 또는 그 초과의 특징들을 재로케이팅하는 하기 위해 상기 작업 개체를 이미징하게 하는 것; 그리고
상기 기준 지점으로부터 상기 타겟 위치로 상기 작업 객체를 이동시키기 위해 업데이트된 교차-스테이션 변환을 계산하는 것을 포함하는,
VBM 시스템. - 제19항에 있어서,
상기 카메라 시스템은 상기 제1 워크스테이션의 이미지들을 취득하도록 배치된 제1 고정 2D 카메라 및 상기 제2 워크스테이션의 이미지들을 취득하도록 배치된 제2 고정 2D 카메라를 포함하고,
상기 제1 교차-교정 관계는 상기 제1 카메라에 대해 결정되며, 상기 제2 교차-교정 관계는 상기 제2 카메라에 대해 결정되는,
VBM 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/840,495 | 2017-12-13 | ||
US15/840,495 US11072074B2 (en) | 2017-12-13 | 2017-12-13 | Calibration and operation of vision-based manipulation systems |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190070875A true KR20190070875A (ko) | 2019-06-21 |
KR102276259B1 KR102276259B1 (ko) | 2021-07-12 |
Family
ID=66734996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180159298A KR102276259B1 (ko) | 2017-12-13 | 2018-12-11 | 비전-기반 조작 시스템들의 교정 및 동작 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11072074B2 (ko) |
JP (1) | JP7027299B2 (ko) |
KR (1) | KR102276259B1 (ko) |
CN (1) | CN109910000B (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10860622B1 (en) * | 2015-04-06 | 2020-12-08 | EMC IP Holding Company LLC | Scalable recursive computation for pattern identification across distributed data processing nodes |
US10706970B1 (en) | 2015-04-06 | 2020-07-07 | EMC IP Holding Company LLC | Distributed data analytics |
US10791063B1 (en) | 2015-04-06 | 2020-09-29 | EMC IP Holding Company LLC | Scalable edge computing using devices with limited resources |
US10277668B1 (en) | 2015-04-06 | 2019-04-30 | EMC IP Holding Company LLC | Beacon-based distributed data processing platform |
US10776404B2 (en) | 2015-04-06 | 2020-09-15 | EMC IP Holding Company LLC | Scalable distributed computations utilizing multiple distinct computational frameworks |
US10425350B1 (en) | 2015-04-06 | 2019-09-24 | EMC IP Holding Company LLC | Distributed catalog service for data processing platform |
US10290118B2 (en) * | 2015-08-06 | 2019-05-14 | Cognex Corporation | System and method for tying together machine vision coordinate spaces in a guided assembly environment |
US10656861B1 (en) | 2015-12-29 | 2020-05-19 | EMC IP Holding Company LLC | Scalable distributed in-memory computation |
US11072074B2 (en) * | 2017-12-13 | 2021-07-27 | Cognex Corporation | Calibration and operation of vision-based manipulation systems |
US10906184B2 (en) * | 2019-03-29 | 2021-02-02 | Mujin, Inc. | Method and control system for verifying and updating camera calibration for robot control |
TWI782709B (zh) * | 2021-09-16 | 2022-11-01 | 財團法人金屬工業研究發展中心 | 手術機械臂控制系統以及手術機械臂控制方法 |
CN115682926B (zh) * | 2022-09-07 | 2023-08-29 | 广东爱吉尔机器人科技有限公司 | 一种一对多快速手眼标定的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013526423A (ja) * | 2010-05-14 | 2013-06-24 | コグネックス・テクノロジー・アンド・インベストメント・コーポレーション | マシンビジョンシステムおよびロボットの間のロバストな較正の装置および方法 |
KR20160107128A (ko) * | 2015-03-03 | 2016-09-13 | 코그넥스코오포레이션 | 작업재의 가상조립을 통해 어셈블리 시스템을 트레이닝 하기 위한 비전시스템 |
KR20170017786A (ko) * | 2015-08-06 | 2017-02-15 | 코그넥스코오포레이션 | 가이드된 어셈블리 환경에서 머신비전 좌표공간과 함께 묶기 위한 시스템 및 방법 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4639878A (en) * | 1985-06-04 | 1987-01-27 | Gmf Robotics Corporation | Method and system for automatically determining the position and attitude of an object |
SE464855B (sv) * | 1986-09-29 | 1991-06-24 | Asea Ab | Foerfarande vid en industrirobot foer kalibrering av en sensor |
JP2690603B2 (ja) * | 1990-05-30 | 1997-12-10 | ファナック株式会社 | 視覚センサのキャリブレーション方法 |
US5960125A (en) | 1996-11-21 | 1999-09-28 | Cognex Corporation | Nonfeedback-based machine vision method for determining a calibration relationship between a camera and a moveable object |
JP2003117860A (ja) | 2001-10-05 | 2003-04-23 | Seiko Epson Corp | ワークの給材装置及びキャリブレーション方法 |
CA2369845A1 (en) * | 2002-01-31 | 2003-07-31 | Braintech, Inc. | Method and apparatus for single camera 3d vision guided robotics |
US6901673B1 (en) | 2004-05-20 | 2005-06-07 | The Boeing Company | Tie-in device for the correlation of coordinate systems |
CA2573728A1 (en) * | 2004-07-14 | 2006-02-23 | Braintech Canada, Inc. | Method and apparatus for machine-vision |
AU2007202147B9 (en) * | 2006-05-16 | 2009-06-25 | Aristocrat Technologies Australia Pty Ltd | Gaming machine with suspense feature |
JP4967858B2 (ja) | 2007-06-29 | 2012-07-04 | 日産自動車株式会社 | カメラとロボット間のキャリブレーション方法及びその装置 |
JP4878385B2 (ja) | 2009-12-07 | 2012-02-15 | コグネックス・コーポレイション | オブジェクト制御システム、オブジェクト制御方法、プログラム、及び回転中心位置特定装置 |
US11699247B2 (en) * | 2009-12-24 | 2023-07-11 | Cognex Corporation | System and method for runtime determination of camera miscalibration |
JP5634764B2 (ja) | 2010-06-23 | 2014-12-03 | コグネックス・コーポレイション | 移動体制御システム、プログラム、及び移動体制御方法 |
EP2608938B1 (en) * | 2010-08-27 | 2014-07-02 | ABB Research LTD | Vision-guided alignment system and method |
JP2012206219A (ja) * | 2011-03-30 | 2012-10-25 | Seiko Epson Corp | ロボット制御装置及びロボットシステム |
CN103687702B (zh) * | 2011-06-29 | 2016-08-24 | 三菱电机株式会社 | 部件供给装置 |
JP5928922B2 (ja) * | 2012-04-02 | 2016-06-01 | 株式会社安川電機 | ロボットシステム及びロボット制御装置 |
JP5642759B2 (ja) | 2012-10-31 | 2014-12-17 | ファナック株式会社 | 物品取出装置及び物品取出方法 |
US9230326B1 (en) | 2012-12-31 | 2016-01-05 | Cognex Corporation | System, method and calibration plate employing embedded 2D data codes as self-positioning fiducials |
US10664994B2 (en) | 2013-02-25 | 2020-05-26 | Cognex Corporation | System and method for calibration of machine vision cameras along at least three discrete planes |
JP5768827B2 (ja) * | 2013-03-14 | 2015-08-26 | 株式会社安川電機 | ロボットシステムおよびワークの搬送方法 |
US10032273B2 (en) | 2013-03-15 | 2018-07-24 | Cognex Corporation | Machine vision system calibration using inaccurate calibration targets |
CN105073348B (zh) * | 2013-04-05 | 2016-11-09 | Abb技术有限公司 | 用于校准的机器人系统和方法 |
JP2018094654A (ja) * | 2016-12-09 | 2018-06-21 | セイコーエプソン株式会社 | 制御装置、ロボットおよびロボットシステム |
JP6922204B2 (ja) * | 2016-12-09 | 2021-08-18 | セイコーエプソン株式会社 | 制御装置、ロボットおよびロボットシステム |
US11072074B2 (en) * | 2017-12-13 | 2021-07-27 | Cognex Corporation | Calibration and operation of vision-based manipulation systems |
US11065768B2 (en) * | 2018-11-01 | 2021-07-20 | TE Connectivity Services Gmbh | Automatic calibration for camera-robot system with tool offsets |
US10565737B1 (en) * | 2019-07-09 | 2020-02-18 | Mujin, Inc. | Method and system for performing automatic camera calibration for a scanning system |
-
2017
- 2017-12-13 US US15/840,495 patent/US11072074B2/en active Active
-
2018
- 2018-12-11 KR KR1020180159298A patent/KR102276259B1/ko active IP Right Grant
- 2018-12-12 JP JP2018232272A patent/JP7027299B2/ja active Active
- 2018-12-12 CN CN201811517921.XA patent/CN109910000B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013526423A (ja) * | 2010-05-14 | 2013-06-24 | コグネックス・テクノロジー・アンド・インベストメント・コーポレーション | マシンビジョンシステムおよびロボットの間のロバストな較正の装置および方法 |
KR20160107128A (ko) * | 2015-03-03 | 2016-09-13 | 코그넥스코오포레이션 | 작업재의 가상조립을 통해 어셈블리 시스템을 트레이닝 하기 위한 비전시스템 |
JP2016166872A (ja) * | 2015-03-03 | 2016-09-15 | コグネックス・コーポレイション | 対象物の仮想組立により組立システムをトレーニングするためのビジョンシステム |
KR20170017786A (ko) * | 2015-08-06 | 2017-02-15 | 코그넥스코오포레이션 | 가이드된 어셈블리 환경에서 머신비전 좌표공간과 함께 묶기 위한 시스템 및 방법 |
CN106426161A (zh) * | 2015-08-06 | 2017-02-22 | 康耐视公司 | 在引导装配环境中将机器视觉坐标空间关联在一起的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109910000B (zh) | 2022-06-14 |
JP7027299B2 (ja) | 2022-03-01 |
US20190176335A1 (en) | 2019-06-13 |
CN109910000A (zh) | 2019-06-21 |
KR102276259B1 (ko) | 2021-07-12 |
US11072074B2 (en) | 2021-07-27 |
JP2019115974A (ja) | 2019-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20190070875A (ko) | 비전-기반 조작 시스템들의 교정 및 동작 | |
KR102532072B1 (ko) | 로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법 | |
JP7292829B2 (ja) | 案内された組立環境におけるマシンビジョン座標空間を結合するためのシステム及び方法 | |
CN111331592B (zh) | 机械手臂工具中心点校正装置及其方法以及机械手臂系统 | |
JP5850962B2 (ja) | ビジュアルフィードバックを利用したロボットシステム | |
CN107428009B (zh) | 用于工业机器人调试的方法、使用该方法的工业机器人系统和控制系统 | |
KR102062423B1 (ko) | 작업재의 가상조립을 통해 어셈블리 시스템을 트레이닝 하기 위한 비전시스템 | |
JP6271953B2 (ja) | 画像処理装置、画像処理方法 | |
US9519736B2 (en) | Data generation device for vision sensor and detection simulation system | |
US9352467B2 (en) | Robot programming apparatus for creating robot program for capturing image of workpiece | |
WO2016079967A1 (en) | Robot and robot system | |
JP2015199155A (ja) | 情報処理装置および情報処理方法、プログラム | |
US12128571B2 (en) | 3D computer-vision system with variable spatial resolution | |
JP2019077026A (ja) | 制御装置、ロボットシステム、制御装置の動作方法及びプログラム | |
US20230130816A1 (en) | Calibration system, calibration method, and calibration apparatus | |
US20220410394A1 (en) | Method and system for programming a robot | |
WO2021210540A1 (ja) | 座標系設定システム及び位置姿勢計測システム | |
CN114800520A (zh) | 高精度的手眼标定方法 | |
JP2022052112A (ja) | 画像認識方法およびロボットシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |