KR20220110546A - 로봇을 프로그래밍하기 위한 방법 및 시스템 - Google Patents

로봇을 프로그래밍하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20220110546A
KR20220110546A KR1020227022913A KR20227022913A KR20220110546A KR 20220110546 A KR20220110546 A KR 20220110546A KR 1020227022913 A KR1020227022913 A KR 1020227022913A KR 20227022913 A KR20227022913 A KR 20227022913A KR 20220110546 A KR20220110546 A KR 20220110546A
Authority
KR
South Korea
Prior art keywords
trajectory
image
robotic device
display interface
pose
Prior art date
Application number
KR1020227022913A
Other languages
English (en)
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 KR20220110546A publication Critical patent/KR20220110546A/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/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme 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/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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/39001Robot, manipulator control
    • 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/39024Calibration of manipulator
    • 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/39438Direct programming at the console
    • 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/39443Portable, adapted to handpalm, with joystick, function keys, display
    • 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/39449Pendant, pda displaying camera images overlayed with graphics, augmented reality
    • 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/39451Augmented reality for robot programming
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40607Fixed camera to observe workspace, object, workpiece, global
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20096Interactive definition of curve of interest
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30232Surveillance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • Processing Or Creating Images (AREA)

Abstract

방법은 로봇 디바이스 및 로봇 디바이스 근처의 교정 고정구를 식별하는 단계; 로봇 디바이스의 제1 포즈를 결정하기 위해 교정 고정구를 로봇 디바이스의 베이스에 대해 참조하는 단계; 환경의 3D 이미지를 수신하는 단계- 3D 이미지는 교정 고정구를 포함함 -; 센서에 대한 교정 고정구의 제2 포즈를 결정하는 단계; 제1 포즈 및 제2 포즈에 기초하여 센서에 대한 로봇 디바이스의 제3 포즈를 결정하는 단계; 복수의 궤적 포인트를 수신하는 단계; 3D 이미지 및 제3 포즈에 기초하여 복수의 궤적 포인트에 대응하는 복수의 가상 궤적 포인트를 결정하는 단계; 복수의 가상 궤적 포인트의 디스플레이를 제공하는 단계; 및 가상 궤적 포인트들을 조작하기 위한 인터페이스를 제공하는 단계를 포함한다.

Description

로봇을 프로그래밍하기 위한 방법 및 시스템
본 발명은 궤적 포인트들의 시퀀스를 수행하도록 로봇을 프로그래밍하기 위한 시스템 및 방법에 관한 것이다. 더 구체적으로, 본 발명은 로봇이 동작 환경에서 시각적으로 프로그래밍되는 방식들에 관한 것이다.
로봇들은 물체의 표면을 처리하기 위해 종종 사용된다. 로봇을 프로그래밍하기 위한 기존의 관행은 궤적 포인트들의 시퀀스를 로봇에 교시하는 것을 수반한다. 로봇은 프로그래밍 동안 원하는 동작 경로를 따라 다양한 궤적 포인트들을 통해 안내됨으로써 작업을 수행하는 방법을 교시받는다. 대안적으로, 물체의 3차원(3D) CAD 모델이 존재하는 경우, 로보틱스 배경을 가진 사람이 로봇 시뮬레이션 시스템, 소위 오프라인 프로그래밍에서 궤적 포인트들을 교시한다.
본 발명은 환경 내에서 로봇 디바이스 및 로봇 디바이스 근처의 교정 고정구를 식별하는 단계, 교정 고정구에 대한 로봇 디바이스의 제1 포즈를 결정하기 위해 교정 고정구를 로봇 디바이스의 미리 결정된 부분에 대해 참조하는 단계, 센서로부터 환경의 3D 이미지를 수신하는 단계- 3D 이미지는 교정 고정구를 포함함 -, 3D 이미지에 기초하여, 센서에 대한 교정 고정구의 제2 포즈를 결정하는 단계, 제1 포즈 및 제2 포즈에 기초하여 센서에 대한 로봇 디바이스의 제3 포즈를 결정하는 단계, 디스플레이 인터페이스 또는 디바이스 인터페이스로부터 복수의 궤적 포인트를 수신하는 단계, 3D 이미지 및 제3 포즈에 기초하여 복수의 궤적 포인트에 대응하는 복수의 가상 궤적 포인트를 결정하는 단계를 포함하는 컴퓨터 구현 방법에 관한 것이다.
본 발명은 또한 로봇 디바이스를 프로그래밍하기 위한 시스템에 관한 것이다. 시스템은 센서 및 그에 통신 가능하게 결합되고 본 명세서에 개시된 실시예들 중 어느 하나에 따른 방법을 수행하도록 구성된 컴퓨팅 시스템을 포함한다.
본 발명은 또한 컴퓨팅 시스템에 의해 실행될 때 컴퓨팅 시스템으로 하여금 본 명세서에 개시된 실시예들 중 어느 하나에 따른 방법을 수행하게 하는 명령어들을 저장한 비일시적 컴퓨터 판독가능 매체에 관한 것이다.
본 명세서에 설명된 예시적인 실시예들은 제한하려는 것이 아니다. 개시된 방법 및 시스템의 특정 양태들은 매우 다양한 상이한 구성들로 배열되고 조합될 수 있으며, 이들 모두가 본 명세서에서 고려된다는 것이 쉽게 이해될 것이다.
또한, 도면들에 도시된 특정 배열들은 제한적인 것으로 간주되어서는 안 된다. 다른 실시예들은 주어진 도면에 도시된 각각의 요소를 더 많이 또는 더 적게 포함할 수 있다는 것을 이해해야 한다. 또한, 예시된 요소들 중 일부는 결합되거나 생략될 수 있다. 또한, 예시적인 실시예는 도면에 예시된 요소들을 포함할 수 있다.
환경의 3D 이미지를 획득하기 위해, 디스플레이 인터페이스에 결합될 수 있는 센서를 사용하는 예시적인 시스템 및 방법이 제공되고, 3D 이미지는 로봇, 물체 및 교정 고정구를 포함한다. 3D 이미지는 로봇의 궤적 포인트들을 생성, 조작 및/또는 관리하는 데 사용된다. 환경의 이미지는 디스플레이 인터페이스 상의 2D 이미지를 지칭한다. 센서와 결합된 디스플레이 인터페이스는 로봇의 환경의 실제 이미지 내에서 로봇에 대한 궤적 포인트들을 시각화 및 관리하는 데 사용된다.
일 실시예에 따르면, 방법이 제공되고, 이 방법은 환경 내에서 로봇 디바이스 및 로봇 디바이스 근처의 교정 고정구를 식별하는 단계를 포함한다. 로봇 디바이스는 로봇이라고도 불린다. 예를 들어, 로봇 디바이스가 산업 로봇인 경우, 로봇 디바이스는 처리를 수행하기 위한 도구, 예를 들어, 용접 도구 또는 페인팅 도구를 포함하는 엔드 이펙터(end-effector)를 지닌다. 로봇 디바이스를 식별하는 단계는 로봇 디바이스의 존재를 식별하는 단계를 지칭한다. 식별하는 단계는 로봇 디바이스를 지칭하는 추가 정보, 예를 들어, 로봇 디바이스의 식별 번호, 제조사, 모델, 위치, 배향, 및/또는 상태를 식별하는 단계를 더 포함할 수 있다. 식별하는 단계는 로봇 디바이스를 제공하는 단계를 포함할 수 있다. 대안적으로 또는 추가적으로, 식별하는 단계는 센서 데이터, 예를 들어, 이미지 데이터, 자기장 데이터, 전기장 데이터, 케이블을 통해 전송된 신호, 무선으로 전송된 신호, 또는 로봇 디바이스를 식별하는 데 사용될 수 있는 임의의 다른 데이터에서 로봇 디바이스의 위치를 식별하는 단계를 지칭할 수 있다. 교정 고정구는 시각적으로 구별되도록, 예를 들어, 컬러 마킹, 바코드, 2차원 코드, 또는 구별 코팅으로 마킹될 수 있다.
또한, 방법은 교정 고정구에 대한 로봇 디바이스의 제1 포즈를 결정하기 위해 교정 고정구를 로봇 디바이스의 미리 결정된 부분(예를 들어, 베이스)에 대해 참조하는 단계를 포함한다. 참조하는 단계는 참조 신호에 기초할 수 있다. 예를 들어, 참조하는 단계는 참조 레일, 거리 측정 디바이스(예를 들어, 레이저 기반 거리 측정 디바이스), 이미지 센서, 또는 교정 고정구를 로봇 디바이스의 베이스에 대해 참조하는 데 사용될 수 있는 다른 신호를 사용하는 단계를 포함할 수 있다.
또한, 방법은 센서로부터 환경의 3D 이미지를 수신하는 단계를 포함하고, 3D 이미지는 교정 고정구를 포함할 수 있다. 3D 이미지는 로봇, 물체 및 교정 고정구를 보여줄 수 있다. 3D 이미지는 궤적 포인트들을 생성, 조작 및/또는 관리하는 데 사용된다. 3D 이미지는 일련의 적외선 이미지들, 일련의 구조화된 광 이미지들, 일련의 정지 이미지들, 동적 범위 이미지들, 샷 노이즈 이미지들, 레드 노이즈 이미지들, 다크 노이즈 이미지들 및/또는 비디오 스트림을 포함할 수 있다. 3D 이미지를 캡처하는 센서는 깊이 센서 및/또는 3D 센서일 수 있다. 센서는 3D 이미지를 보여주기 위해 디스플레이 인터페이스에 결합될 수 있다. 교정 고정구는 센서를 사용하여 그의 환경에서 로봇의 포즈 및 일반적으로 움직임(병진 및 회전)을 산출하고 검출하는 데 사용되는 3차원(3D) 물체일 수 있다.
방법은 완전 가상 3D 모델(예를 들어, 컴퓨터 보조 설계 또는 "CAD" 모델)을 사용하는 것에 의존하지 않기 때문에, 부정확한 3D 모델은 예기치 않게 로봇이 물체 또는 환경과 충돌하게 하는 궤적이 명령되게 할 수 있다. 따라서, 방법은 더 안전하다.
또한, 방법은 3D 이미지에 기초하여 센서에 대한 교정 고정구의 제2 포즈를 결정하는 단계를 포함한다. 여기서, 결정하는 단계는 교정 고정구의 위치 및/또는 배향, 및/또는 로봇 디바이스의 위치 및/또는 배향을 추정할 때 하나 이상의 기준 마커를 식별하는 단계를 포함할 수 있다. 기준이라고도 불릴 수 있는 기준 마커는 기준 또는 척도의 포인트로서 사용하기 위해, 생성된 이미지에 나타나는 센서의 시야에 배치된 물체이다. 예를 들어, 기준 마커는 컬러 도트, 바코드 또는 인식 가능한 물체일 수 있다. 예를 들어, 기준 마커는 교정 고정구 및/또는 로봇 디바이스 상에 페인팅되거나, 그것에 부착되거나, 그것 상에 배치될 수 있다. 추가적으로 또는 대안적으로, 결정하는 단계는 교정 마커의 3D 형상 인식에 기초할 수 있다. 여기서, 교정 마커는 교정 고정구의 일부에 부착되거나 일부를 형성하는 3D 구조 또는 물체일 수 있다. 대안적으로, 교정 고정구 전체가 교정 마커일 수 있다. 또한, 교정 마커는 로봇 디바이스의 일부에 부착되거나 일부를 형성하는 3D 구조일 수 있다. 대안적으로, 로봇 디바이스 전체가 교정 마커일 수 있다. 여기서, 3D 형상 인식은 패턴 인식, 패턴 매칭, 머신 학습, 또는 임의의 다른 적합한 형상 인식 기술을 포함할 수 있다.
방법은 3D 이미지에 기초하여 센서에 대한 교정 고정구의 제2 포즈를 결정하는 단계를 포함하므로, 제2 포즈는 추가 장비를 필요로 하지 않고 빠르게 결정될 수 있다. 제2 포즈가 3D 형상 인식에 기초하여 결정될 때, 결정의 정확도가 훨씬 더 개선된다.
또한, 방법은 제1 포즈에 기초하여 센서에 대한 로봇 디바이스의 제3 포즈를 결정하는 단계를 포함한다. 대안적으로, 제3 포즈의 결정은 제1 포즈 및 제2 포즈에 기초할 수 있다.
또한, 방법은 복수의 궤적 포인트를 수신하는 단계를 포함한다. 웨이포인트(waypoint)들이라고도 불릴 수 있는 궤적 포인트들은 로봇이 물체의 처리 동안 따라야 하는 경로를 정의한다. 궤적 포인트는 3차원 위치 및 3차원 배향 정보를 포함한다. 이러한 궤적 포인트들은 로봇 제어 유닛 또는 로봇의 컴퓨팅 시스템 내의 또는 그에 결합된 메모리 내에 명령어들로서 저장된다. 로봇의 동작 동안, 프로그램 명령어들이 실행되어, 로봇이 원하는 대로 동작하게 한다. 궤적 포인트들은 디스플레이 인터페이스를 통해 사용자 입력의 형태로 또는 디바이스 인터페이스를 통해 로봇 스크립트들의 형태로 제공될 수 있다.
또한, 방법은 3D 이미지 및 제3 포즈에 기초하여 복수의 궤적 포인트에 대응하는 복수의 가상 궤적 포인트를 결정하는 단계를 포함한다. 궤적 포인트들은 로봇의 현재 환경에 대한 지식 없이 로봇의 미리 결정된 부분(예를 들어, 베이스)에 대한 3차원 포인트들로서 사용자에 의해 이전에 프로그래밍되었을 수 있다.
방법은 3D 이미지 및 제3 포즈에 기초하여 복수의 궤적 포인트에 대응하는 복수의 가상 궤적 포인트를 결정하는 단계를 포함하기 때문에, 방법은 로봇을 프로그래밍하고 있는 사용자 또는 오퍼레이터가 컴퓨터 과학에 관한 지식을 가질 것을 요구하지 않는다. 따라서, 로봇을 프로그래밍하고 있는 오퍼레이터는 로봇에 의해 수행되는 움직임들 및 프로세스에 대한 양호한 암시적 지식을 갖는 사람일 수 있다. 따라서, 방법은 비용이 덜 들고, 물체의 3D CAD 모델을 요구하지 않으며, 사용하기에 직관적이다.
또한, 선택적으로, 방법은 환경의 2D 이미지를 수신하는 단계를 포함한다. 여기서, 환경의 2D 이미지는 디스플레이 디바이스에 포함되거나 디스플레이 디바이스에 결합된 카메라로부터 수신될 수 있다. 대안적으로, 환경의 2D 이미지는 센서에 포함되거나 센서에 결합된 카메라로부터 수신될 수 있다.
또한, 선택적으로, 방법은 복수의 가상 궤적 포인트와 오버레이된 환경의 2D 이미지의 디스플레이를 제공하는 단계를 포함한다.
방법은 복수의 가상 궤적 포인트와 오버레이된 환경의 2D 이미지의 디스플레이를 제공하는 단계를 포함하기 때문에, 환경의 3D 모델이 정확하지 않거나 환경이 변경된 경우, 예기치 않게 로봇이 환경 내의 물체와 충돌하게 하거나 다른 예상치 못한 결과들을 생성하는 궤적이 쉽게 결정될 수 있다. 따라서, 방법은 더 안전하고 예측 가능하다. 또한, 방법은 복수의 가상 궤적 포인트와 오버레이된 환경의 2D 이미지의 디스플레이를 제공하는 단계를 포함하기 때문에, 오퍼레이터는 그가 테스트를 위해 프로그램을 실행하지 않고, 프로세스의 소정 부분, 예를 들어 페인팅 동작에서의 표면의 소정 부분을 누락했는지를 결정할 수 있다. 따라서, 단일 반복이 만족스러운 품질의 프로그래밍을 달성하기에 충분할 수 있다.
또한, 선택적으로, 방법은 디스플레이 인터페이스를 통해 가상 궤적 포인트들을 조작하기 위한 인터페이스를 제공하는 단계를 포함한다.
방법은 디스플레이 인터페이스를 통해 가상 궤적 포인트들을 조작하기 위한 인터페이스를 제공하는 단계를 포함하기 때문에, 방법은 로봇의 물리적 움직임을 요구하지 않는다. 따라서, 방법은 덜 시간 소모적이고, 덜 문제가 되고, 에러가 덜 발생하기 쉽다. 또한, 수용 가능한 프로그램이 하나의 단일 또는 단지 소수의 반복으로 달성될 수 있다.
따라서, 이 방법은 로봇 궤적 포인트들의 직관적인 시각화를 제공하고 로봇 프로그래밍을 단순화한다.
방법은 또한 환경의 2D 이미지 상에 중첩될 수 있거나 중첩되지 않을 수 있는 3D 이미지의 디스플레이를 제공하는 단계를 포함할 수 있다.
로봇의 궤적 포인트들을 디스플레이 인터페이스 상의 이미지에 투영할 곳을 결정하기 위해, 센서에 대한 로봇의 포즈(위치 및 배향)가 결정될 수 있다. 로봇의 포즈는 교정 고정구의 3D 이미지를 처리함으로써 결정될 수 있다. 센서에 대한 로봇의 포즈가 결정되면, 하나 이상의 궤적 포인트의 포즈가 디스플레이 인터페이스 상에 투영되거나, 선택적으로 디스플레이 인터페이스 상의 증강 현실 프레젠테이션에 투영되어, 사용자로 하여금 로봇의 궤적을 그것의 주어진 환경 내에서 시각화하는 것을 허용할 수 있다.
교정 고정구는 센서에 대한 로봇의 포즈를 결정하는 데 사용되는 3D 피처들을 갖는 물체이다. 교정 고정구는 로봇과 교정 고정구 사이의 결정된 상대적 포즈로 로봇의 환경 내에 배치될 수 있다. 센서가 환경의 3D 이미지를 획득할 때- 3D 이미지는 교정 고정구의 표현을 포함함 -, 센서에 대한 로봇의 포즈가 그에 따라 결정될 수 있다.
다른 실시예에서, 방법은 복수의 가상 궤적 포인트 중 하나 이상의 가상 궤적 포인트의 하나 이상의 특성에 대한 하나 이상의 조정을 나타내는 입력 데이터를 디바이스 인터페이스로부터 수신하는 단계를 더 포함할 수 있다. 여기서, 특성들은 궤적 위치, 궤적 배향, 엔드 이펙터 상태, 궤적 속도, 전자 신호 입력 및 전자 신호 출력으로 이루어진 그룹으로부터 선택된 하나 이상이다. 디바이스 인터페이스는 디스플레이 디바이스의 디스플레이 인터페이스, 또는 모바일, 랩탑, 노트북, 또는 데스크탑 컴퓨터의 입력 인터페이스일 수 있다. 입력 데이터는 조정들을 나타내고, 각각의 조정은 가상 궤적 포인트들 중 하나 이상의 가상 궤적 포인트의 하나 이상의 특성에 관한 것이다. 예를 들어, 입력 데이터는 하나의 궤적 포인트의 하나의 특성, 예컨대 하나의 궤적 포인트의 궤적 배향에 대한 조정을 나타내는 데이터를 포함할 수 있다. 다른 예로서, 입력 데이터는 하나의 궤적 포인트의 궤적 배향에 대한 조정을 나타내는 데이터, 및 다른 궤적 포인트의 궤적 속도에 대한 조정을 나타내는 데이터를 포함할 수 있다. 또한, 이 실시예에 따른 방법은 가상 궤적 포인트들 중 하나 이상을 생성, 복제 또는 삭제하기 위한 입력 데이터를 디바이스 인터페이스로부터 수신하는 단계를 포함할 수 있다. 또한, 방법은 디스플레이 인터페이스 상의 수신된 입력 데이터에 기초하여, 복수의 가상 궤적 포인트 중 하나 이상의 가상 궤적 포인트에 대응하는 궤적 포인트들 중 하나 이상의 궤적 포인트의 하나 이상의 조정된 특성을 결정하는 단계를 포함할 수 있다.
다른 실시예에서, 방법은 센서를 포함하는 디바이스의 인터페이스로부터, 궤적 포인트들 또는 가상 궤적 포인트들 중 하나 이상 및 그들 각자의 특성들에 따라 로봇 디바이스를 이동시키기 위한 명령어들을 제공하는 입력 데이터를 수신하는 단계, 및 전술한 명령어들을 로봇 디바이스에 전송하는 단계를 더 포함할 수 있다.
전술한 수신된 궤적 포인트들은 다양한 좌표들 중 하나에 대한 참조를 포함할 수 있거나 다양한 좌표들 중 하나에 기초한다. 예를 들어, 디스플레이 인터페이스를 통해 사용자 입력으로부터 수신될 수 있는 궤적 포인트들은 가상 좌표들에 기초할 수 있고, 따라서 가상 궤적 포인트들이라고 지칭될 수 있다. 다른 예에서, 로봇 스크립트들로서 수신된 궤적 포인트들은 물리적 또는 로봇 좌표들에 기초할 수 있고, 따라서 물리적 궤적 포인트들이라고 지칭될 수 있다. 가상 좌표들이 로봇 디바이스에 의해 사용되는 물리적 또는 로봇 좌표들과 상이할 가능성이 있기 때문에, 수신된 궤적 포인트들이 가상 궤적 포인트들인 경우, 이들은 실행을 위해 나중에 로봇 디바이스에 전송되는 물리적 궤적 포인트들로의 변형 또는 변환을 필요로 할 것이다. 따라서, 전술한 명령어들을 로봇 디바이스에 전송하는 단계는 가상 궤적 포인트들을 물리적 궤적 포인트들로 변환하고 물리적 궤적 포인트들을 로봇 디바이스에 전송하는 단계를 포함할 수 있다.
다른 실시예에서, 방법은 가상 궤적 포인트들을 조작하기 위한 디스플레이 인터페이스를 제공하는 단계, 디스플레이 인터페이스로부터, 지정된 패턴으로 배열된 복수의 가상 궤적 포인트를 포함하는 궤적 패턴의 생성 및/또는 그에 대한 조정을 나타내는 입력 데이터를 수신하는 단계를 더 포함할 수 있다. 또한, 방법은, 생성되거나 조정된 궤적 패턴에 기초하여, 2차원 궤적 패턴을 디스플레이 인터페이스상의 3차원 궤적 패턴으로 변환하는 단계를 포함할 수 있다. 또한, 방법은, 디스플레이 인터페이스로부터, 디스플레이 인터페이스 상의 3차원 궤적 패턴을 병진 및/또는 회전시키기 위한 입력 데이터를 수신하는 단계를 포함할 수 있다. 또한, 방법은, 디스플레이 인터페이스로부터, 3차원 궤적 패턴을 3D 이미지의 일부 상에 투영하기 위한 입력 데이터를 수신하는 단계를 포함할 수 있다. 여기서, 일 실시예에서, 3D 이미지는 디스플레이 인터페이스 상의 2D 이미지 상에 중첩될 수 있다. 대안적으로, 3D 이미지는 2D 이미지 없이 디스플레이될 수 있다.
다른 실시예에 따르면, 로봇 디바이스를 프로그래밍하기 위한 시스템이 제공된다. 시스템은 센서 및 그에 통신 가능하게 결합되고 일 실시예에 따른 방법을 수행하도록 구성된 컴퓨팅 시스템을 포함한다.
또한, 시스템은 궤적 포인트들을 메모리에 저장하기 위해 로봇 디바이스의 메모리에 결합되거나 접속될 수 있다. 대안적으로, 시스템은 로봇 디바이스의 제어에 결합되거나 접속될 수 있고, 따라서 시스템은 궤적 포인트들에 따라 로봇 디바이스를 동작시킬 수 있다.
다른 실시예에 따르면, 비일시적 컴퓨터 판독가능 매체가 제공된다. 컴퓨터 판독가능 매체는, 컴퓨팅 시스템에 의해 실행될 때 컴퓨팅 시스템으로 하여금 본 명세서에 설명되는 방법의 일 실시예에 따른 기능들을 수행하게 하는 명령어들을 저장하고 있다.
다른 실시예에 따르면, 방법이 제공된다. 방법은, 환경 내에서, 로봇 디바이스 및 로봇 디바이스 근처의 교정 고정구를 식별하는 단계, 교정 고정구에 대한 로봇 디바이스의 제1 포즈를 결정하기 위해 교정 고정구를 로봇 디바이스의 미리 결정된 부분(예컨대, 베이스)에 대해 참조하는 단계, 센서로부터 환경의 3D 이미지를 수신하는 단계- 3D 이미지는 교정 고정구를 포함함 -, 3D 이미지에 기초하여, 센서에 대한 교정 고정구의 제2 포즈를 결정하는 단계, 제1 포즈 및 제2 포즈에 기초하여 센서에 대한 로봇 디바이스의 제3 포즈를 결정하는 단계, 가상 궤적 포인트를 생성하기 위한 인터페이스를 제공하는 단계, 및 3D 이미지 및 제3 포즈에 기초하여 가상 궤적 포인트에 대응하는 궤적 포인트를 결정하는 단계를 포함한다.
본 명세서에 개시되는 실시예들 중 어느 하나에 따른 방법, 시스템, 및/또는 비일시적 컴퓨터 판독가능 매체를 포함하는 실시예들에서, 복수의 궤적 포인트는 단지 하나의 궤적 포인트이고, 복수의 가상 궤적 포인트는 단지 하나의 가상 궤적 포인트이다.
실시예들의 더 나은 이해를 위해, 실시예들의 다른 및 추가의 특징들 및 이점들과 함께, 첨부 도면들과 함께 취해지는 다음의 설명이 참조된다. 본 발명의 범위는 첨부된 청구항들에서 지적될 것이다.
도 1은 일 실시예에 따른 방법을 예시하는 흐름도를 도시한다.
도 2는 일 실시예에 따른 시스템을 예시한다.
도 3은 디스플레이 인터페이스의 2D 이미지를 예시한다.
도 4는 일 실시예에 따른 방법을 사용하여 물체의 3D 이미지 상에 투영되는 궤적 패턴의 이미지를 예시한다.
도면들을 참조하면, 도 1은 제3 포즈(로봇과 센서 사이의 상대적 포즈)의 결정, 및/또는 센서에 의해 획득된 3D 이미지를 사용하는 로봇 궤적 포인트들의 생성 또는 관리를 허용할 수 있는 방법(100)을 도시하는 흐름도를 예시한다. 방법(100)은 태블릿 디바이스, 스마트폰, 헤드 장착 디스플레이(HMD)와 같은, 카메라를 포함하는 디스플레이 디바이스를 사용하여, 또는 모바일, 랩탑, 노트북, 또는 데스크탑 컴퓨터를 사용하여 수행될 수 있다. 디스플레이 디바이스와 별개인 센서가 사용될 수 있지만, 센서는 물리적 고정구 또는 접착 매체를 통해 디스플레이 디바이스에 결합될 수 있다. 센서는 또한 또는 대안적으로 케이블(유선) 또는 무선 접속을 통해 디스플레이 디바이스에 통신 가능하게 결합될 수 있다.
도 1의 블록(102)에 의해 도시된 바와 같이, 방법(100)은 센서로부터 환경의 3D 이미지를 수신하는 단계를 포함한다. 센서는 깊이 센서 및/또는 3D 센서일 수 있다. 3D 이미지는 일련의 적외선 이미지들, 일련의 구조화된 광 이미지들, 일련의 정지 이미지들, 및/또는 비디오 스트림의 합성일 수 있다. 3D 이미지는 단일 정지 적외선 및/또는 구조화된 광 이미지들일 수 있다. 환경은 적어도 하나의 로봇 디바이스 및 교정 고정구를 포함할 수 있다.
도 1을 참조하면, 방법(100)은 블록(104)에 의해 예시된 바와 같이 센서에 대한 로봇 디바이스의 포즈를 결정하는 단계를 더 포함한다. 환경의 3D 이미지는 로봇 디바이스가 센서에 대해 환경 내의 어디에 위치하는지를 결정하기 위해 처리될 수 있다. 로봇 디바이스의 포즈를 결정하는 단계는 센서에 대한 로봇 디바이스의 위치(X, Y, Z) 및 배향(롤, 피치, 요)을 결정하는 단계를 포함한다. 센서에 대한 로봇 디바이스의 포즈는 교정 고정구를 포함하는 3D 이미지를 처리함으로써 결정될 수 있다. 3D 이미지에서 교정 고정구 상의 3차원 피처들을 인식함으로써, 센서로부터 로봇 디바이스의 병진 및 회전이 결정될 수 있다. 시스템은 로봇 디바이스와 교정 고정구 사이의 상대 포즈의 사전 지식을 가질 수 있고, 그에 의해 센서에 대한 로봇 디바이스의 포즈가 결정되는 것을 가능하게 한다.
방법(100)은 선택적으로, 블록(106)에 도시된 바와 같이, 증강 현실 프레젠테이션이 요구되는 경우, 센서에 대한 로봇 디바이스의 궤적 포인트들의 포즈들을 결정하는 단계를 더 포함한다. 센서에 대한 로봇 디바이스의 포즈가 결정될 때, 로봇은 궤적 포인트들을 선택적인 증강 현실 프레젠테이션의 일부로서 어디에 가상적으로 오버레이할지를 결정하기 위한 기준 포인트로서 사용될 수 있다. 센서가 알려진 상대 변위로 디스플레이 디바이스에 결합될 때, 로봇과 시각 카메라 사이의 상대 포즈는 센서와 디스플레이 디바이스 상의 시각 카메라 사이의 알려진 상대 변위에 기초하는 포즈 보상을 통해 시각 카메라와 센서 사이의 상대 포즈로부터 도출될 수 있다. 여기서, 디스플레이 디바이스의 시각 카메라에 대한 궤적 포인트들의 포즈는 로봇 디바이스와 센서 사이의 상대 포즈에 기초하여 결정될 수 있다. 이 위치들, 예컨대 센서와 디스플레이 디바이스 상의 시각 카메라 사이의 상대 변위는 궤적 포인트들을 디스플레이 디바이스의 시각 카메라에 의해 캡처된 2D 이미지에 가상적으로 오버레이하는 데 사용될 수 있다.
단순화를 위해 도 1에 도시되지 않은 단계에서, 방법(100)은 선택적으로, 환경의 2D 이미지를 수신하는 단계를 포함한다. 여기서, 2D 이미지는 센서로부터 수신된다. 대안적인 실시예에서, 2D 이미지는, 바람직하게는 센서에 가까운 위치에 위치되고 센서의 배향과 동일한 배향을 갖는 추가의 카메라에 의해 수신될 수 있다.
블록(108)에 도시된 바와 같이, 방법(100)은 블록(102)에서 수신된 3D 이미지의 디스플레이를 제공하는 단계를 포함한다. 선택적으로, 3D 이미지는 환경의 2D 이미지 상에 중첩될 수 있다.
단순화를 위해 도 1에 도시되지 않은 단계에서, 방법(100)은 복수의 궤적 포인트를 수신하는 단계를 포함한다. 게다가, 방법(100)은 3D 이미지 및 블록(106)에서 결정된 센서에 대한 로봇 디바이스의 위치에 기초하여 복수의 궤적 포인트에 대응하는 복수의 가상 궤적 포인트를 결정하는 단계를 포함한다. 여기서, 각각의 가상 궤적 포인트는 대응하는 3D 이미지 내의 그의 대응하는 궤적 포인트의 정확한 위치와 중첩되는 방식으로 3D 이미지에 위치된다. 즉, 예를 들어, 궤적 포인트가 로봇 디바이스의 하부 접합부에 위치되는 경우, 그의 대응하는 가상 궤적 포인트는 3D 이미지에서의 로봇 디바이스의 하부 접합부의 3D 표현에 위치된다. 선택적으로, 각각의 가상 궤적 포인트는 대응하는 3D 이미지 내의 그의 대응하는 궤적 포인트의 정확한 위치와 중첩되는 방식으로 2D 이미지에 위치된다.
블록(110)에 도시된 바와 같이, 방법(100)은 결정된 복수의 가상 궤적 포인트와 오버레이된 3D 이미지의 디스플레이를 제공하는 단계를 더 포함한다. 선택적으로, 방법(100)은 결정된 복수의 가상 궤적 포인트와 오버레이된 환경의 2D 이미지의 디스플레이를 제공하는 단계를 더 포함한다.
도 1의 블록(112)에 의해 도시된 바와 같이, 방법(100)은 디스플레이 인터페이스 상에 제시되는 3D 이미지 상의 가상 궤적 포인트들의 오버레이를 포함할 수 있다. 선택적으로, 방법(100)의 블록(112)은 디스플레이 인터페이스 상에 제시되는 환경의 2D 이미지 상의 가상 궤적 포인트들의 오버레이를 포함할 수 있다. 환경의 이미지는 디스플레이 디바이스 상의 시각적 카메라에 의해 획득된 2D 이미지일 수 있다. 환경의 이미지는 전체 로봇 디바이스 또는 로봇 디바이스의 일부를 포함하거나, 로봇 디바이스 중 어느 것도 포함하지 않을 수 있다. 추가적으로, 환경의 이미지는 전체 교정 고정구 또는 교정 고정구의 일부를 포함하거나, 교정 고정구 중 어느 것도 포함하지 않을 수 있다. 추가적으로, 환경의 이미지는 단일의 정지 2D 이미지, 일련의 정지 2D 이미지들, 및/또는 비디오 스트림일 수 있다.
도 1의 블록(112)에 의해 도시된 바와 같이, 방법(100)은 디스플레이 인터페이스를 통해 가상 궤적 포인트들을 생성 및/또는 관리하는 단계를 더 포함할 수 있다. 즉, 로봇 디바이스에 의해 실행 또는 수행될 궤적 또는 궤적 패턴이 생성될 수 있다. 디스플레이 인터페이스와 연관된 사용자 인터페이스는 로봇 디바이스의 가상 궤적에 대한 하나 이상의 변경을 나타내는 입력 데이터를 수신할 수 있다. 예를 들어, 디스플레이 인터페이스는 3D 이미지들 및/또는 선택적으로 2D 이미지들과 정렬된 터치 기반 인터페이스를 포함할 수 있다. 가상 궤적 포인트들은 디스플레이 인터페이스 상의 입력 데이터를 통해 생성, 삭제 및/또는 복제될 수 있다. 위치, 배향, 엔드 이펙터 상태, 궤적 속도, 전자 신호 입력 및 전자 신호 출력과 같은 각각의 가상 궤적 포인트의 속성들은 디스플레이 인터페이스 상의 입력 데이터를 통해 조정될 수 있다. 로봇 디바이스의 궤적 포인트들은 디스플레이 인터페이스 상의 가상 궤적 포인트들에 대응한다. 로봇 디바이스는 궤적을 실행하도록 명령받을 수 있고, 궤적은 복수의 궤적 포인트 중 적어도 일부의 시퀀스를 포함한다. 로봇 디바이스는 궤적을 따라 각각의 궤적 포인트의 속성들을 실행하도록 명령받을 수 있다. 예를 들어, 엔드 이펙터는 디스플레이 인터페이스 상의 입력 데이터를 통해 지시되는 바와 같이 궤적을 통해 중간에 활성화되도록 명령받을 수 있다.
본 명세서에 설명된 흐름도들과 관련하여 설명된 기능은 특수 기능 및/또는 구성된 일반 기능 하드웨어 모듈들, 도 1에 도시된 흐름도와 관련하여 설명된 특정의 논리 기능들, 결정들 및/또는 단계들을 달성하기 위한 프로그램 코드의 부분들로서 구현될 수 있다. 사용되는 경우, 프로그램 코드는, 예를 들어, 디스크 또는 하드 드라이브를 포함하는 저장 디바이스와 같은 임의의 유형의 컴퓨터-판독가능 매체 상에 저장될 수 있다.
도 1에 도시된 흐름도에서의 기능들은, 설명된 방법의 전체적인 기능이 유지되는 한, 개별적으로 설명된 기능들의 병렬 실행을 포함하는, 도시되거나 논의된 것과 다른 순서로 또는 심지어 역순으로 실행될 수 있다. 도 1에 도시된 흐름도에서의 기능들은 선택적으로 실행될 수 있다. 예를 들어, 일 실시예는 로봇 상대 센서의 교정을 수행할 수 있고; 다른 실시예는, 교정에 부가하여, 증강 현실 프레젠테이션을 통해 로봇에 대한 가상 궤적 포인트들의 시각화를 수행할 수 있고; 다른 실시예는, 교정에 부가하여, 3D 이미지를 사용하여 로봇에 대한 가상 궤적 포인트들의 시각화를 수행할 수 있고; 다른 실시예는, 교정 및 상기 시각화에 부가하여, 증강 현실에서 그리고/또는 3D 이미지를 사용하여, 센서에 의해 획득된 3D 이미지를 사용하여 로봇 궤적 포인트들의 생성 또는 관리를 수행할 수 있다. 따른 조합들도 가능할 수 있다.
도 2는 로봇 디바이스(202), 교정 고정구(228), 디스플레이 디바이스(222) 및 센서(224)를 포함하는 시스템을 예시한다.
로봇 디바이스(202)는 미리 결정된 부분, 예를 들어 고정 베이스 또는 이동 베이스일 수 있는 베이스(204)를 포함한다. 로봇 디바이스는 궤적 포인트들(210-218)을 포함하는 궤적(220)을 따라 동작하고 이동하도록 제어될 수 있다. 또한, 로봇 디바이스는 핑거 그리퍼와 같은 그리퍼 또는 흡입 그리퍼와 같은 상이한 유형의 그리퍼의 형태를 취할 수 있는 엔드 이펙터(226)를 포함할 수 있다. 엔드 이펙터는 드릴, 브러시 또는 페인트 건과 같은 도구의 형태를 취할 수 있다. 엔드 이펙터는 힘 센서들, 근접 센서들 또는 카메라와 같은 센서들을 포함할 수 있다. 다른 예들도 가능할 수 있다.
디스플레이 디바이스(222)는 인터페이스 및 선택적으로 환경의 2D 이미지를 캡처하는 시각 카메라를 포함하는 디바이스일 수 있다. 예를 들어, 디스플레이 디바이스는 태블릿 컴퓨터, 핸드헬드 스마트폰, 또는 모바일, 랩탑, 노트북, 또는 데스크탑 컴퓨터의 일부일 수 있다.
센서(224)는 환경의 3D 이미지를 획득하는 깊이 센서 및/또는 3D 센서일 수 있다. 3D 이미지는 일련의 적외선 이미지들, 일련의 구조화된 광 이미지들, 일련의 정지 이미지들, 및/또는 비디오 스트림의 합성일 수 있다. 3D 이미지는 단일 정지 적외선 및/또는 구조화된 광 이미지들일 수 있다. 센서(224)는 고정구 또는 접착 매체를 통해 디스플레이 디바이스(222)에 물리적으로 고정될 수 있다. 센서를 디스플레이 디바이스에 결합하는 고정구는 분리가능한 메커니즘 또는 분리 가능하지 않은 메커니즘을 가질 수 있다. 디스플레이 디바이스(222)가 센서(224)로부터 3D 이미지를 수신하기 위해, 센서(224)는 케이블(유선) 또는 무선 접속을 통해 디스플레이 디바이스(222)에 접속될 수 있다.
교정 고정구(228)는 로봇 디바이스의 환경에 배치되는 3차원 피처들을 갖는 물체이다. 도 2의 예시적인 실시예에 따르면, 교정 고정구(228)는 베이스(206) 및 베이스에 부착된 비대칭 기하학적 피처들(208)을 가질 수 있다. 베이스(206)는 테이블, 벽 또는 물체와 같은 환경 내의 표면 상에 교정 고정구(228)를 위치시키거나 부착하기 위해 사용될 수 있다. 예시적인 실시예에서, 비대칭 기하학적 피처들(208)은 상이한 크기들 및/또는 상이한 위치들을 갖는 2개의 구형 물체를 포함할 수 있다. 그러나, 본 명세서에 설명된 예시적인 실시예들은 제한하려는 것이 아니다. 비대칭 기하학적 피처들은 예시적인 실시예에 도시되지 않은 구성들에 의해 달성될 수 있다. 예를 들어, 교정 고정구 상의 비대칭 기하학적 피처들은 반구형, 원통형, 원뿔형, 직사각형, 삼각형, 사다리꼴, 타원형, 사인곡선, 오목형 또는 이들의 조합들 또는 변형들일 수 있는 추가적인 형상들 또는 피처들을 포함할 수 있다.
센서(224)에 의해 획득된 3D 이미지에서 교정 고정구(228) 상의 비대칭 기하학적 피처들(208)을 인식함으로써, 센서(224)에 대한 교정 고정구(228)의 포즈가 결정될 수 있다. 교정 고정구(228)에 대한 로봇 디바이스(202)의 포즈가 알려질 수 있으므로, 그에 따라 센서(224)에 대한 로봇 디바이스(202)의 포즈는 3D 이미지에서 교정 고정구(228)를 인식함으로써 결정될 수 있다.
대안적인 실시예에서, 교정 고정구는 베이스 및 베이스에 부착된 3D 대칭 기하학적 피처들을 가질 수 있다. 대칭 기하학적 피처들의 예들은 비대칭 기하학적 피처들에 적용가능한 전술한 형상들 또는 피처들을 포함할 수 있다. 대안적인 실시예에서, 교정 고정구는 베이스 및 베이스에 부착된 3D 비기하학적 또는 불규칙한 형상의 피처들을 가질 수 있다. 그러한 비기하학적 피처들은 대칭적이거나 비대칭적일 수 있다. 대안적인 실시예에서, 3D 피처들의 카운트는 하나 또는 하나 초과일 수 있다.
도 3은 디스플레이 인터페이스(330)의 2D 이미지를 예시하며, 여기서는 가상 궤적 포인트들(310-328)이 물체(332) 상에 배치된다. 디스플레이 인터페이스(330)는 디스플레이 디바이스(222)의 인터페이스일 수 있다. 디스플레이 인터페이스(330)의 2D 이미지는 단일 정지 이미지, 또는 디스플레이 디바이스(222)의 시각 카메라로부터 연속적으로 수신되는 비디오 스트림일 수 있다. 디스플레이 디바이스(222)의 배향이 변함에 따라, 디스플레이 인터페이스(330) 상의 2D 이미지는 대응하는 시점으로부터 환경의 부분들을 디스플레이하도록 업데이트될 수 있다.
도 3을 참조하면, 가상 궤적 포인트들(310-328)은 디스플레이 인터페이스(330) 상에 또는 선택적으로 디스플레이 인터페이스(330) 상의 증강 현실 프레젠테이션에 투영될 수 있다. 가상 궤적 포인트들은 로봇 디바이스(302)의 궤적 포인트들에 대응한다. 센서에 대한 로봇 디바이스(302)의 궤적 포인트들(310-328)의 포즈들은 도 1의 블록(106)에 기초하여 결정된다. 가상 궤적 포인트들은 도 1의 블록(112)에 기초하여 디스플레이 인터페이스(330) 상에 오버레이된다. 가상 궤적 포인트들(310-328)에 의해 반영된 궤적 포인트들의 서브세트만이 디스플레이 디바이스(222)의 배향에 따라 디스플레이 인터페이스(330) 상에 투영될 수 있다. 로봇 디바이스는 디스플레이 인터페이스(330) 상에 도시된 가상 궤적 포인트들(310-328)에 의해 반영된 바와 같은 궤적 포인트들의 시퀀스를 통해 이동하도록 명령받을 수 있다.
도 1의 블록(108)을 참조하면, 센서(224)에 의해 획득된 3D 이미지는 디스플레이 인터페이스(330) 상에 또는 선택적으로 디스플레이 인터페이스(330) 상의 환경의 2D 이미지와 중첩될 수 있다. 3D 이미지는 디스플레이 인터페이스(330) 상의 환경의 2D 이미지 상에 중첩되는 동안 가시적이거나 비가시적일 수 있다. 도 1의 블록(112)은 디스플레이 인터페이스 상의 가상 궤적 포인트들을 생성 및/또는 관리하는 것을 포함한다. 가상 궤적 포인트들의 생성 및/또는 관리는 디스플레이 인터페이스(330) 상의 환경의 2D 이미지 상에 중첩될 수 있거나 중첩되지 않을 수 있는 3D 이미지 상에서 수행될 수 있다. 예를 들어, 디스플레이 인터페이스(330) 상의 입력의 위치는 3D 이미지 상에 투영되고, 후속하여 디스플레이 인터페이스(330) 상의 입력 위치로부터의 광선 투사가 3D 이미지와 교차하는 위치에 대응하는 가상 궤적 포인트를 생성한다. 이러한 방식으로, 가상 궤적 포인트들, 따라서 궤적 포인트들은 환경 및 로봇 디바이스(302)에 대해 정확하게 생성 및/또는 관리될 수 있다. 도 3에 도시된 바와 같이, 가상 궤적 포인트들(312-328)은 디바이스 인터페이스(330) 상의 물체(332)의 2D 이미지 상에 중첩될 수 있거나 중첩되지 않을 수 있는 물체(332)의 3D 이미지 위에 배치되고, 가상 궤적 포인트들(312-328)은 디바이스 인터페이스(330) 상의 물체(332)의 표면 상에 위치되는 것으로 보일 수 있다.
도 3을 참조하면, 교정 고정구(334)는 센서(224)에 대한 로봇 디바이스(302)의 포즈를 결정하기 위해 사용될 수 있다. 교정 고정구(334)는 디스플레이 인터페이스(330) 상의 가상 궤적 포인트들의 적절한 오버레이를 위해 센서(224) 및 디스플레이 디바이스(222)의 시각 카메라에 의해 지속적으로 캡처될 필요가 없을 수 있다. 교정 고정구는 비대칭 기하학적 피처들(308) 및 베이스(306)를 포함할 수 있다.
도 4는 물체(412)의 3D 이미지 상에 투영되는 궤적 패턴의 이미지를 예시한다. 디스플레이 인터페이스(430)는 사용자로 하여금 궤적 패턴(404)을 정의하게 할 수 있는 사용자 인터페이스(402)의 서브세트를 포함할 수 있다. 예를 들어, 사용자 인터페이스(402)는 사용자로 하여금 궤적 패턴의 속성들을 정의하게 할 수 있다. 전술한 속성들은 궤적 패턴(404)의 치수들(수직 및 수평 길이), 궤적 패턴(404)을 따른 궤적 포인트들의 수 및/또는 밀도, 및 스텝오버의 빈도를 포함할 수 있다. 사용자 인터페이스(402)는 사용자에 의해 정의된 궤적 패턴(404)의 미리보기를 제공할 수 있다. 궤적 패턴은 예시적인 실시예에 예시된 래스터 패턴으로 제한되지 않을 수 있고, 궤적 패턴은 지그재그, 나선형, 윤곽 및 피쉬테일을 포함하는 다른 패턴들일 수 있다.
궤적 패턴(404)은 사용자 인터페이스(402) 상의 2차원 궤적 패턴(404)을 3차원 궤적 패턴(408)으로 변환하는 프로세스(406)를 거칠 수 있다. 3차원 궤적 패턴(408)은 입력 데이터가 디스플레이 인터페이스(430) 상에서 수신될 때 그의 3차원 좌표 프레임을 따라 병진 및 회전될 수 있다. 3차원 궤적 패턴(408)은 물체(412)의 3D 이미지 상에 투영될 수 있어, 물체(412)의 표면에 맞는 투영된 궤적 패턴(414)을 야기한다. 3차원 패턴(408) 상의 각각의 가상 궤적 포인트는 각각의 투영 경로(410)를 통해 물체(412)의 표면 상에 투영될 수 있고, 투영 경로(410)는 3차원 궤적 패턴(408) 상의 그들 각각의 위치에서의 원점 및 3차원 궤적 패턴(408)의 평면에 직교할 수 있는 투영 배향을 포함한다. 3차원 궤적 패턴(408)의 투영은 예시적인 실시예에 도시된 물체(412)로 제한되지 않을 수 있다. 예를 들어, 3차원 궤적 패턴(408)은 터빈 블레이드, 에어로포일, 금속 시트 또는 다른 제조 컴포넌트와 같은, 예시적인 실시예에 도시되지 않은 다른 물체들 상에 투영될 수 있다. 3차원 궤적 패턴(408)은 환경 상에 투영될 수 있고, 환경은 물체(412) 또는 로봇 디바이스, 예를 들어 테이블, 바닥, 벽, 고정구 또는 컨베이어 시스템을 포함하지 않는다.
본 개시는 다양한 양태들의 예시들로서 의도되는, 본 출원에 설명된 특정 실시예들에 관하여 제한되지 않아야 한다. 많은 수정들 및 변형들이 이 분야의 기술자들에게 분명한 바와 같이 그의 사상 및 범위에서 벗어나지 않고서 이루어질 수 있다. 본 명세서에 열거된 것들 외에도, 본 개시의 범위 내의 기능적으로 동등한 방법들 및 장치들은 전술한 설명들로부터 이 분야의 기술자들에게 분명할 것이다. 그러한 수정들 및 변형들은 첨부된 청구항들의 범위 내에 있는 것으로 의도된다.
위의 상세한 설명은 첨부 도면들을 참조하여 개시된 시스템 및 방법의 다양한 특징들 및 기능들을 설명한다. 도면들에서, 유사한 심볼들은 통상적으로, 문맥이 달리 지시하지 않는 한, 유사한 컴포넌트들을 식별한다. 본 명세서 및 도면들에 설명된 예시적인 실시예들은 제한하려는 것이 아니다. 본 명세서에 제시된 주제의 사상 또는 범위를 벗어나지 않고, 다른 실시예들이 이용될 수 있고, 다른 변경들이 이루어질 수 있다. 본 명세서에 일반적으로 설명되고 도면들에 예시된 바와 같은 본 개시의 양태들은 다양한 상이한 구성들로 배열, 대체, 조합, 분리, 및 설계될 수 있다는 것을 쉽게 이해할 것이고, 이들 모두는 본 명세서에서 명시적으로 고려된다.
위에 설명된 방법의 블록과 같은, 정보의 처리를 나타내는 블록은 본 명세서에 설명된 방법 또는 기술의 특정 논리 기능들을 수행하도록 구성될 수 있는 회로에 대응할 수 있다. 대안적으로 또는 추가적으로, 정보의 처리를 나타내는 블록은 모듈, 세그먼트, 또는 프로그램 코드의 일부(관련 데이터를 포함함)에 대응할 수 있다. 프로그램 코드는 방법 또는 기술에서 특정 논리 기능들 또는 액션들을 구현하기 위해 프로세서에 의해 실행 가능한 하나 이상의 명령어를 포함할 수 있다. 프로그램 코드 및/또는 관련 데이터는 디스크 또는 하드 드라이브 또는 다른 저장 매체를 포함하는 저장 디바이스와 같은 임의의 유형의 컴퓨터 판독가능 매체 상에 저장될 수 있다.
하나 이상의 정보 전송을 나타내는 블록은 동일한 물리적 디바이스 내의 소프트웨어 및/또는 하드웨어 모듈들 사이의 정보 전송에 대응할 수 있다. 그러나, 다른 정보 전송들이 상이한 물리적 디바이스들 내의 소프트웨어 모듈들 및/또는 하드웨어 모듈들 사이에 있을 수 있다.
컴퓨터 판독가능 매체는 또한 레지스터 메모리, 프로세서 캐시, 및 랜덤 액세스 메모리(RAM)와 같이 단기간 동안 데이터를 저장하는 컴퓨터 판독가능 매체와 같은 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 컴퓨터 판독가능 매체는 또한 판독 전용 메모리(ROM), 광학 또는 자기 디스크들, 컴팩트 디스크 판독 전용 메모리(CD-ROM)와 같은 보조 또는 영구적 장기 저장소와 같이 장기간 동안 프로그램 코드 및/또는 데이터를 저장하는 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 또는 유형의 저장 디바이스로서 간주될 수 있다.
도면들에 도시된 특정 배열들은 제한적인 것으로 간주되어서는 안 된다. 다른 실시예들은 주어진 도면에 도시된 각각의 요소를 더 많이 또는 더 적게 포함할 수 있다는 것을 이해해야 한다. 예시된 요소들 중 일부는 결합되거나 생략될 수 있다.
피처 또는 요소와 관련하여 사용되는 바와 같은 관사들("a", "an" 및 "the")은 피처들 또는 요소들 중 하나 이상에 대한 참조를 포함한다는 것을 이해해야 한다. 용어 "및/또는"은 연관된 피처 또는 요소 중 하나 이상의 임의의 및 모든 조합들을 포함한다. 용어들 "포함하는(comprising)", "포함하는(including)", "수반하는(involving)", 및 "갖는(having)"은 개방형(open-ended)인 것으로 의도되고, 열거된 것들 이외의 추가적인 피처들 또는 요소들이 있을 수 있다는 것을 의미한다. "제1", "제2" 및 "제3"과 같은 식별자들은 단지 라벨들로서 사용되고, 그들의 객체들에 수치적 요건들을 부과하는 것으로 의도되지도 않고, 제한들 사이의 임의의 상대적 위치 또는 시간 시퀀스를 부과하는 방식으로 해석되지도 않는다. 용어 "결합"은 물리적 결합, 전기적 결합, 및/또는 통신 가능한 결합을 지칭할 수 있다. 2개의 객체에 적용될 때의 용어 "결합"은 2개의 객체가 직접 또는 제3 객체를 통해 간접적으로 결합되는 것을 지칭할 수 있다.
다양한 양태들 및 실시예들이 본 명세서에 개시되었지만, 다른 양태들 및 실시예들이 이 분야의 기술자들에게 명백할 것이다. 본 명세서에 개시된 다양한 양태들 및 실시예들은 예시의 목적을 위한 것이고, 제한적인 것으로 의도되지 않으며, 진정한 범위는 다음의 청구항들에 의해 표시된다.
100 방법
102 블록
104 블록
106 블록
108 블록
110 블록
112 블록
202 로봇 디바이스
204 베이스
206 베이스
208 비대칭 기하학적 피처들
210-218 궤적 포인트들
220 궤적
222 디스플레이 디바이스
224 센서
226 엔드 이펙터
228 고정구
302 로봇 디바이스
306 베이스
308 비대칭 기하학적 피처들
310-328 가상 궤적 포인트들
330 디스플레이 인터페이스
332 물체
334 교정 고정구
402 사용자 인터페이스
404 궤적 패턴
406 프로세스
408 궤적 패턴
410 투영 경로
412 물체
414 궤적 패턴
430 디스플레이 인터페이스

Claims (21)

  1. 컴퓨터에 의해 구현되는 방법으로서,
    환경 내에서, 로봇 디바이스 및 상기 로봇 디바이스 근처의 교정 고정구를 식별하는 단계;
    상기 교정 고정구에 대한 상기 로봇 디바이스의 제1 포즈를 결정하기 위해 상기 교정 고정구를 상기 로봇 디바이스의 미리 결정된 부분에 대해 참조하는 단계;
    센서로부터, 상기 환경의 3D 이미지를 수신하는 단계- 상기 3D 이미지는 상기 교정 고정구를 포함함 -;
    상기 3D 이미지에 기초하여, 상기 센서에 대한 상기 교정 고정구의 제2 포즈를 결정하는 단계;
    상기 제1 포즈 및 상기 제2 포즈에 기초하여 상기 센서에 대한 상기 로봇 디바이스의 제3 포즈를 결정하는 단계;
    디스플레이 인터페이스 또는 디바이스 인터페이스로부터 복수의 궤적 포인트를 수신하는 단계;
    상기 3D 이미지 및 상기 제3 포즈에 기초하여 상기 복수의 궤적 포인트에 대응하는 복수의 가상 궤적 포인트를 결정하는 단계
    를 포함하는, 컴퓨터에 의해 구현되는 방법.
  2. 제1항에 있어서,
    상기 센서에 대한 교정 고정구의 제2 포즈의 상기 결정은 상기 3D 이미지에서 상기 교정 고정구의 3차원 피처를 인식하는 것에 기초하는, 컴퓨터에 의해 구현되는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 로봇 디바이스에 대한 궤적의 오버레이된 가상 표현의 디스플레이를 제공하는 단계
    를 더 포함하고,
    상기 궤적은 상기 복수의 궤적 포인트 중 적어도 일부의 시퀀스를 포함하는 것인, 컴퓨터에 의해 구현되는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    하나 또는 복수의 상기 가상 궤적 포인트에서의 궤적 배향의 그래픽 표현을 생성하고 디스플레이하는 단계;
    상기 궤적을 따라 프로세스를 수행하는 도구의 그래픽 표현을 생성하고 디스플레이하는 단계
    를 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 디스플레이 인터페이스로부터, 상기 복수의 가상 궤적 포인트 중 하나 이상의 가상 궤적 포인트의 하나 이상의 속성에 대한 하나 이상의 조정을 나타내는 입력 데이터를 수신하는 단계- 상기 속성들은 궤적 위치, 궤적 배향, 엔드 이펙터 상태, 궤적 속도, 전자 신호 입력 및 전자 신호 출력으로 이루어진 그룹으로부터 선택된 하나 이상임 -;
    상기 디스플레이 인터페이스로부터, 상기 가상 궤적 포인트들 중 하나 이상을 생성, 복제 또는 삭제하기 위한 입력 데이터를 수신하는 단계;
    상기 디스플레이 인터페이스 상의 상기 수신된 입력 데이터에 기초하여, 상기 복수의 가상 궤적 포인트 중 상기 하나 이상의 가상 궤적 포인트에 대응하는 상기 궤적 포인트들 중 하나 이상의 궤적 포인트의 하나 이상의 조정된 속성을 결정하는 단계
    를 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 궤적 포인트들 또는 가상 궤적 포인트들 중 하나 이상 및 그들 각각의 속성들에 따라 상기 로봇 디바이스를 이동시키기 위한 명령어들을 제공하는 입력 데이터를 상기 디스플레이 인터페이스 또는 상기 디바이스 인터페이스로부터 수신하는 단계;
    상기 명령어들을 상기 로봇 디바이스에 전송하는 단계
    를 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  7. 제6항에 있어서,
    상기 명령어들을 상기 로봇 디바이스에 전송하는 단계는:
    상기 가상 궤적 포인트들을 물리적 궤적 포인트들로 변환하고, 상기 물리적 궤적 포인트들을 상기 로봇 디바이스에 전송하는 단계
    를 포함하는 것인, 컴퓨터에 의해 구현되는 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 가상 궤적 포인트들을 조작하기 위한 상기 디스플레이 인터페이스를 제공하는 단계;
    상기 디스플레이 인터페이스로부터, 지정된 패턴으로 배열된 상기 복수의 가상 궤적 포인트를 포함하는 궤적 패턴의 생성 및/또는 상기 궤적 패턴에 대한 조정을 나타내는 입력 데이터를 수신하는 단계;
    생성되거나 조정된 상기 궤적 패턴에 기초하여, 2차원 궤적 패턴을 상기 디스플레이 인터페이스 상의 3차원 궤적 패턴으로 변환하는 단계;
    상기 디스플레이 인터페이스로부터, 상기 디스플레이 인터페이스 상의 상기 3차원 궤적 패턴을 병진 및/또는 회전시키기 위한 입력 데이터를 수신하는 단계;
    상기 디스플레이 인터페이스로부터, 상기 3차원 궤적 패턴을 상기 디스플레이 인터페이스 상에 도시된 상기 3D 이미지의 일부 상에 투영하기 위한 입력 데이터를 수신하는 단계
    를 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 궤적 포인트들은 상기 디스플레이 인터페이스를 통한 사용자 입력의 형태이거나 상기 디바이스 인터페이스를 통한 로봇 스크립트들의 형태인 것인, 컴퓨터에 의해 구현되는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 3D 이미지에 기초하여, 물체 및 환경의 표면을 따라 하나 또는 복수의 궤적 포인트를 보간 또는 외삽하는 단계
    를 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    로봇 조인트 각도들, 로봇 상태 및 엔드 이펙터 상태와 같은 로봇 정보를 상기 로봇 디바이스로부터 이동 디바이스, 랩탑 또는 데스크탑 컴퓨터로 전송하는 단계;
    수신된 상기 로봇 정보를 생성하여, 상기 디스플레이 인터페이스 상의 실제 로봇 디바이스의 표현 상에 오버레이되는 가상 로봇 상에 디스플레이하는 단계
    를 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 환경의 2D 이미지를 수신하는 단계;
    상기 가상 궤적 포인트들과 오버레이된 상기 환경의 상기 2D 이미지의 디스플레이를 제공하는 단계
    를 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  13. 제12항에 있어서,
    상기 센서로부터 수신된 상기 3D 이미지와 중첩되는 상기 환경의 상기 2D 이미지의 디스플레이를 제공하는 단계- 상기 환경의 상기 2D 이미지 상에 중첩되는 상기 3D 이미지는 상기 디스플레이 인터페이스 상에서 가시적으로 또는 비가시적으로 나타날 수 있음 -;
    상기 디스플레이 디바이스의 배향의 변화들에 응답하여, 대응하는 시점으로부터의 3D 이미지와 중첩된 상기 2D 이미지의 적어도 일부분을 나타내도록 상기 디스플레이를 업데이트하는 단계
    를 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  14. 로봇 디바이스를 프로그래밍하기 위한 시스템으로서,
    센서; 및
    상기 센서에 통신 가능하게 결합된 컴퓨팅 시스템
    을 포함하고, 상기 컴퓨팅 시스템은:
    환경 내에서, 로봇 디바이스 및 상기 로봇 디바이스 근처의 교정 고정구를 식별하고;
    상기 교정 고정구에 대한 상기 로봇 디바이스의 제1 포즈를 결정하기 위해 상기 교정 고정구를 상기 로봇 디바이스의 미리 결정된 부분에 대해 참조하고;
    상기 센서로부터, 상기 환경의 3D 이미지를 수신하고- 상기 3D 이미지는 상기 교정 고정구를 포함함 -;
    상기 3D 이미지에 기초하여, 상기 센서에 대한 상기 교정 고정구의 제2 포즈를 결정하고;
    상기 제1 포즈 및 상기 제2 포즈에 기초하여 상기 센서에 대한 상기 로봇 디바이스의 제3 포즈를 결정하고;
    디스플레이 인터페이스 또는 디바이스 인터페이스로부터 복수의 궤적 포인트를 수신하고;
    상기 3D 이미지 및 상기 제3 포즈에 기초하여 상기 복수의 궤적 포인트에 대응하는 복수의 가상 궤적 포인트를 결정하도록 구성되는 것인, 로봇 디바이스를 프로그래밍하기 위한 시스템.
  15. 제14항에 있어서, 상기 컴퓨팅 시스템은 또한:
    상기 3D 이미지 내의 상기 교정 고정구의 3D 피처들의 인식에 기초하여, 상기 센서에 대한 상기 교정 고정구의 상기 제2 포즈를 결정하도록 구성되는 것인, 로봇 디바이스를 프로그래밍하기 위한 시스템.
  16. 제14항 또는 제15항에 있어서, 상기 컴퓨팅 시스템은 또한:
    상기 복수의 가상 궤적 포인트 중 하나 이상의 가상 궤적 포인트의 하나 이상의 속성을 조정하기 위해 상기 디스플레이 인터페이스를 제공하고- 상기 속성들은 궤적 위치, 궤적 배향, 엔드 이펙터 상태, 궤적 속도, 전자 신호 입력 및 전자 신호 출력으로 이루어진 그룹으로부터 선택된 하나 이상임 -;
    상기 가상 궤적 포인트들을 생성, 복제 또는 삭제하기 위해 상기 디스플레이 인터페이스를 제공하고;
    상기 복수의 가상 궤적 포인트 중 상기 하나 이상의 가상 궤적 포인트에 대응하는 상기 궤적 포인트들 중 하나 이상의 궤적 포인트의 하나 이상의 조정된 속성을 결정하도록 구성되는 것인, 로봇 디바이스를 프로그래밍하기 위한 시스템.
  17. 제14항 내지 제16항 중 어느 한 항에 있어서, 상기 컴퓨팅 시스템은 또한:
    하나 또는 복수의 상기 가상 궤적 포인트에서의 궤적 배향의 그래픽 표현을 생성하여 디스플레이하고;
    상기 궤적을 따라 프로세스를 수행하는 도구의 그래픽 표현을 생성하고 디스플레이하도록 구성되는 것인, 로봇 디바이스를 프로그래밍하기 위한 시스템.
  18. 제14항 내지 제17항 중 어느 한 항에 있어서, 상기 컴퓨팅 시스템은 또한:
    상기 가상 궤적 포인트들을 조작하기 위해 상기 디스플레이 인터페이스를 제공하고;
    상기 디스플레이 인터페이스로부터, 지정된 패턴으로 배열된 상기 복수의 가상 궤적 포인트를 포함하는 궤적 패턴의 생성 및/또는 상기 궤적 패턴에 대한 조정을 나타내는 입력 데이터를 수신하고;
    생성되거나 조정된 상기 궤적 패턴에 기초하여, 2차원 궤적 패턴을 상기 디스플레이 인터페이스 상의 3차원 궤적 패턴으로 변환하고;
    상기 디스플레이 인터페이스 상의 상기 3차원 궤적 패턴을 병진 및/또는 회전시키기 위한 입력 데이터를 상기 디스플레이 인터페이스로부터 수신하고;
    상기 3차원 궤적 패턴을 상기 디스플레이 인터페이스 상에 도시된 상기 3D 이미지의 일부 상에 투영하기 위한 입력 데이터를 상기 디스플레이 인터페이스로부터 수신하도록 구성되는 것인, 로봇 디바이스를 프로그래밍하기 위한 시스템.
  19. 제14항 내지 제18항 중 어느 한 항에 있어서,
    상기 궤적 포인트들 또는 가상 궤적 포인트들 중 하나 이상 및 그들 각각의 속성들에 따라 상기 로봇 디바이스를 이동시키기 위한 명령어들을 제공하는 입력 데이터를 상기 디스플레이 인터페이스 또는 상기 디바이스 인터페이스로부터 수신하는 것;
    상기 가상 궤적 포인트들을 물리적 궤적 포인트들로 변환하고, 상기 물리적 궤적 포인트들을 상기 로봇 디바이스에 전송하는 것을 포함하여, 상기 명령어들을 상기 로봇 디바이스에 전송하는 것
    을 더 포함하는, 로봇 디바이스를 프로그래밍하기 위한 시스템.
  20. 컴퓨팅 시스템에 의해 실행될 때 상기 컴퓨팅 시스템으로 하여금 제1항 내지 제13항 중 어느 한 항의 방법을 수행하게 하는 명령어들을 저장한 비일시적인 컴퓨터 판독가능 매체.
  21. 방법으로서,
    환경 내에서, 로봇 디바이스 및 상기 로봇 디바이스 근처의 교정 고정구를 식별하는 단계;
    상기 교정 고정구에 대한 상기 로봇 디바이스의 제1 포즈를 결정하기 위해 상기 교정 고정구를 상기 로봇 디바이스의 미리 결정된 부분에 대해 참조하는 단계;
    센서로부터, 상기 환경의 3D 이미지를 수신하는 단계- 상기 3D 이미지는 상기 교정 고정구를 포함함 -;
    상기 3D 이미지에 기초하여, 상기 센서에 대한 상기 교정 고정구의 제2 포즈를 결정하는 단계;
    상기 제1 포즈 및 상기 제2 포즈에 기초하여 상기 센서에 대한 상기 로봇 디바이스의 제3 포즈를 결정하는 단계;
    가상 궤적 포인트를 생성하기 위한 디스플레이 인터페이스를 제공하는 단계; 및
    상기 3D 이미지 및 상기 제3 포즈에 기초하여 상기 가상 궤적 포인트에 대응하는 궤적 포인트를 결정하는 단계
    를 포함하는, 방법.
KR1020227022913A 2019-12-09 2020-12-01 로봇을 프로그래밍하기 위한 방법 및 시스템 KR20220110546A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SG2019050606 2019-12-09
SGPCT/SG2019/050606 2019-12-09
PCT/SG2020/050709 WO2021118458A1 (en) 2019-12-09 2020-12-01 Method and system for programming a robot

Publications (1)

Publication Number Publication Date
KR20220110546A true KR20220110546A (ko) 2022-08-08

Family

ID=76330623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227022913A KR20220110546A (ko) 2019-12-09 2020-12-01 로봇을 프로그래밍하기 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US20220410394A1 (ko)
EP (1) EP4072795A4 (ko)
JP (1) JP2023505322A (ko)
KR (1) KR20220110546A (ko)
WO (1) WO2021118458A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113554712B (zh) * 2021-06-29 2024-06-18 北京百度网讯科技有限公司 自动驾驶车辆的配准方法、装置、电子设备和车辆

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6836700B2 (en) * 2002-07-29 2004-12-28 Advanced Robotic Technologies, Inc. System and method generating a trajectory for an end effector
KR101471852B1 (ko) * 2013-12-02 2014-12-12 경상대학교산학협력단 스마트장치, 로봇정보 제공장치, 로봇 궤적 생성 방법 및 로봇 작업교시 방법
US9919427B1 (en) * 2015-07-25 2018-03-20 X Development Llc Visualizing robot trajectory points in augmented reality
US9916506B1 (en) * 2015-07-25 2018-03-13 X Development Llc Invisible fiducial markers on a robot to visualize the robot in augmented reality
US10956739B2 (en) * 2016-06-27 2021-03-23 Autodesk, Inc. Augmented reality robotic system visualization
WO2018053430A1 (en) * 2016-09-16 2018-03-22 Carbon Robotics, Inc. System and calibration, registration, and training methods
JP6693981B2 (ja) * 2018-02-19 2020-05-13 ファナック株式会社 ロボットの動作をシミュレーションするシミュレーション装置
JP6787966B2 (ja) * 2018-10-02 2020-11-18 ファナック株式会社 拡張現実と複合現実を用いたロボット制御装置及び表示装置
JP7376268B2 (ja) * 2019-07-22 2023-11-08 ファナック株式会社 三次元データ生成装置及びロボット制御システム

Also Published As

Publication number Publication date
JP2023505322A (ja) 2023-02-08
US20220410394A1 (en) 2022-12-29
WO2021118458A1 (en) 2021-06-17
EP4072795A4 (en) 2024-01-03
EP4072795A1 (en) 2022-10-19

Similar Documents

Publication Publication Date Title
US7236854B2 (en) Method and a system for programming an industrial robot
EP1435280B1 (en) A method and a system for programming an industrial robot
US10751877B2 (en) Industrial robot training using mixed reality
CN106163771B (zh) 用于机器人3d打印的方法及系统
US7353081B2 (en) Method and a system for programming an industrial robot
CN110238831A (zh) 基于rgb-d图像及示教器的机器人示教系统及方法
EP3166084B1 (en) Method and system for determining a configuration of a virtual robot in a virtual environment
US11130236B2 (en) Robot movement teaching apparatus, robot system, and robot controller
JP6092530B2 (ja) 画像処理装置、画像処理方法
JP2016099257A (ja) 情報処理装置及び情報処理方法
JP7376268B2 (ja) 三次元データ生成装置及びロボット制御システム
CN110553600B (zh) 一种用于工件检测的结构光传感器仿真激光线的生成方法
KR20190070875A (ko) 비전-기반 조작 시스템들의 교정 및 동작
JP2004508954A (ja) 位置決め装置およびシステム
CN113172659B (zh) 基于等效中心点识别的柔性机器人臂形测量方法及系统
CN210361314U (zh) 一种基于增强现实技术的机器人示教装置
KR20220110546A (ko) 로봇을 프로그래밍하기 위한 방법 및 시스템
Costa et al. Modeling of video projectors in OpenGL for implementing a spatial augmented reality teaching system for assembly operations
CN113597362B (zh) 用于确定机器人坐标系与可移动装置坐标系之间的关系的方法和控制装置
KR20230081963A (ko) 딥러닝을 이용한 용접 자동화 시스템 및 이의 용접 자동화 방법
Niu et al. Eye-in-hand manipulation for remote handling: Experimental setup
JP7249221B2 (ja) センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法
CN117794704A (zh) 机器人控制设备、机器人控制系统以及机器人控制方法
CN113297952B (zh) 一种复杂环境下绳驱柔性机器人的测量方法和系统
US20160378893A1 (en) Finger model verification method and information processing apparatus