KR20170012455A - 궤적 계획을 위한 물체 메트릭들의 실시간 결정 - Google Patents

궤적 계획을 위한 물체 메트릭들의 실시간 결정 Download PDF

Info

Publication number
KR20170012455A
KR20170012455A KR1020167036709A KR20167036709A KR20170012455A KR 20170012455 A KR20170012455 A KR 20170012455A KR 1020167036709 A KR1020167036709 A KR 1020167036709A KR 20167036709 A KR20167036709 A KR 20167036709A KR 20170012455 A KR20170012455 A KR 20170012455A
Authority
KR
South Korea
Prior art keywords
robot manipulator
sensor
depth
measurements
trajectories
Prior art date
Application number
KR1020167036709A
Other languages
English (en)
Other versions
KR101902678B1 (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 KR20170012455A publication Critical patent/KR20170012455A/ko
Application granted granted Critical
Publication of KR101902678B1 publication Critical patent/KR101902678B1/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
    • B25J15/00Gripping heads and other end effectors
    • B25J15/06Gripping heads and other end effectors with vacuum or magnetic holding means
    • B25J15/0616Gripping heads and other end effectors with vacuum or magnetic holding means with vacuum
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position 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/37Measurements
    • G05B2219/37345Dimension of workpiece, diameter
    • 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/40006Placing, palletize, un palletize, paper roll placing, box stacking
    • 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/40512Real time path planning, trajectory generation
    • 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/40513Planning of vehicle and of its manipulator arm
    • 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/45Nc applications
    • G05B2219/45056Handling cases, boxes
    • 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
    • Y10S901/09Closed loop, sensor feedback controls arm movement
    • 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/27Arm part
    • 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/30End effector
    • 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/46Sensing device

Abstract

로봇 디바이스를 이용하여 물체를 이동시키기 위한 궤적을 결정하기 위해 예시적인 시스템들 및 방법들이 이용될 수 있다. 하나의 예시적인 방법은, 복수의 가능한 물체 측정치에 기초하여, 로봇 조작기의 엔드 이펙터로 물체를 이동시키기 위한 복수의 가능한 궤적을 결정하는 단계를 포함한다. 이 방법은 로봇 조작기가 엔드 이펙터로 물체를 픽업하게 하는 단계를 더 포함할 수 있다. 로봇 조작기가 엔드 이펙터로 물체를 픽업하게 한 이후에, 이 방법은 물체의 하나 이상의 측정치를 나타내는 센서 데이터를 하나 이상의 센서로부터 수신하는 단계를 또한 포함할 수 있다. 수신된 센서 데이터에 기초하여, 이 방법은 복수의 가능한 궤적으로부터 물체를 이동시키기 위한 궤적을 선택하는 단계를 추가적으로 포함할 수 있다. 이 방법은 로봇 조작기가 선택된 궤적을 통해 물체를 이동시키게 하는 단계를 더 포함할 수 있다.

Description

궤적 계획을 위한 물체 메트릭들의 실시간 결정{REAL-TIME DETERMINATION OF OBJECT METRICS FOR TRAJECTORY PLANNING}
관련 출원에 대한 상호 참조
본 출원은 2014년 7월 16일자로 출원된 미국 특허 출원 제14/333,258호에 대해 우선권을 주장하며, 이 특허 출원은 이로써 완전히 참조로 포함되어 있다.
본 명세서에서 달리 표시되지 않는 한, 이 섹션에서 설명된 자료들은 본 출원에서의 청구항들에 대한 종래 기술은 아니며, 이 섹션에서의 포함에 의해 종래 기술인 것으로 인정되지도 않는다.
파지 컴포넌트(gripping component)를 포함하는 로봇 암과 같은 로봇 시스템들은 물체들을 픽업하는 것 또는 이동시키는 것을 수반하는 애플리케이션들을 위해 이용될 수 있다. 예를 들어, 로봇 디바이스는 물체들로 컨테이너를 채우거나, 물체들의 스택을 생성하거나 또는 트럭 베드로부터 물체들을 언로딩하기 위해 이용될 수 있다. 일부 경우에, 물체들 전부는 동일한 타입을 가질 수 있다. 다른 경우에, 컨테이너나 트럭은 박스형 물품들, 캔들, 타이어들 또는 다른 적층가능한 물체들과 같이 상이한 타입의 물체들의 혼합물을 포함할 수 있다. 이러한 로봇 시스템들은 환경에서 물체들이 있는 장소의 미리 결정된 지식에 기초하여 물체들을 픽업하도록 로봇 암에 지시할 수 있다.
본 개시내용은 로봇 디바이스를 이용하여 물체를 이동시키기 위한 궤적을 결정하는 것을 도울 수 있는 방법들 및 장치들을 제공한다. 상이한 가능한 물체 측정치들(possible object measurements)에 기초하여, 로봇 디바이스의 엔드 이펙터로 물체를 이동시키기 위한 복수의 가능한 궤적이 결정될 수 있다. 로봇 디바이스가 물체를 픽업한 이후에, 물체의 하나 이상의 측정치를 나타내는 센서 데이터가 하나 이상의 센서로부터 수신될 수 있다. 다음에, 수신된 센서 데이터에 기초하여, 복수의 가능한 궤적으로부터 궤적이 선택될 수 있다. 다음에, 로봇 디바이스는 선택된 궤적을 통해 물체를 이동시키도록 제어될 수 있다.
일례에서, 방법이 제공되는데, 이 방법은, 복수의 가능한 물체 측정치에 기초하여, 로봇 조작기의 엔드 이펙터로 물체를 이동시키기 위한 복수의 가능한 궤적을 결정하는 단계를 포함한다. 이 방법은 로봇 조작기가 엔드 이펙터로 물체를 픽업하게 하는 단계를 더 포함할 수 있다. 로봇 조작기가 엔드 이펙터로 물체를 픽업하게 한 이후에, 이 방법은 물체의 하나 이상의 측정치를 나타내는 센서 데이터를 하나 이상의 센서로부터 수신하는 단계를 또한 포함할 수 있다. 수신된 센서 데이터에 기초하여, 이 방법은 복수의 가능한 궤적으로부터 물체를 이동시키기 위한 궤적을 선택하는 단계를 추가적으로 포함할 수 있다. 이 방법은 로봇 조작기가 선택된 궤적을 통해 물체를 이동시키게 하는 단계를 더 포함할 수 있다.
추가 예에서, 로봇 조작기; 적어도 하나의 센서; 및 제어 시스템을 포함하는 시스템이 개시되어 있다. 제어 시스템은, 복수의 가능한 물체 측정치에 기초하여, 로봇 조작기의 엔드 이펙터로 물체를 이동시키기 위한 복수의 가능한 궤적을 결정하도록 구성될 수 있다. 제어 시스템은 로봇 조작기가 엔드 이펙터로 물체를 픽업하게 하도록 추가로 구성될 수 있다. 로봇 조작기가 엔드 이펙터로 물체를 픽업하게 한 이후에, 제어 시스템은 물체의 하나 이상의 측정치를 나타내는 센서 데이터를 적어도 하나의 센서로부터 수신하도록 또한 구성될 수 있다. 수신된 센서 데이터에 기초하여, 제어 시스템은 복수의 가능한 궤적으로부터 물체를 이동시키기 위한 궤적을 선택하도록 추가적으로 구성될 수 있다. 제어 시스템은 로봇 조작기가 선택된 궤적을 통해 물체를 이동시키게 하도록 추가로 구성될 수 있다.
다른 예에서, 명령어들이 저장되어 있는 비일시적인 컴퓨터 판독가능 매체가 개시되어 있으며, 이러한 명령어들은, 컴퓨팅 시스템에 의해 실행될 때, 컴퓨팅 시스템으로 하여금 기능들을 수행하게 한다. 이러한 기능들은, 복수의 가능한 물체 측정치에 기초하여, 로봇 조작기의 엔드 이펙터로 물체를 이동시키기 위한 복수의 가능한 궤적을 결정하는 것을 포함할 수 있다. 이러한 기능들은 로봇 조작기가 엔드 이펙터로 물체를 픽업하게 하는 것을 더 포함할 수 있다. 로봇 조작기가 엔드 이펙터로 물체를 픽업하게 한 이후에, 이러한 기능들은 물체의 하나 이상의 측정치를 나타내는 센서 데이터를 하나 이상의 센서로부터 수신하는 것을 또한 포함할 수 있다. 수신된 센서 데이터에 기초하여, 이러한 기능들은 복수의 가능한 궤적으로부터 물체를 이동시키기 위한 궤적을 선택하는 것을 추가적으로 포함할 수 있다. 이러한 기능들은 로봇 조작기가 선택된 궤적을 통해 물체를 이동시키게 하는 것을 더 포함할 수 있다.
또 다른 예에서, 시스템은, 복수의 가능한 물체 측정치에 기초하여, 로봇 조작기의 엔드 이펙터로 물체를 이동시키기 위한 복수의 가능한 궤적을 결정하는 수단을 포함할 수 있다. 이 시스템은 로봇 조작기가 엔드 이펙터로 물체를 픽업하게 하는 수단을 더 포함할 수 있다. 로봇 조작기가 엔드 이펙터로 물체를 픽업하게 한 이후에, 이 시스템은 물체의 하나 이상의 측정치를 나타내는 센서 데이터를 하나 이상의 센서로부터 수신하는 수단을 또한 포함할 수 있다. 수신된 센서 데이터에 기초하여, 이 시스템은 복수의 가능한 궤적으로부터 물체를 이동시키기 위한 궤적을 선택하는 수단을 추가적으로 포함할 수 있다. 이 시스템은 로봇 조작기가 선택된 궤적을 통해 물체를 이동시키게 하는 수단을 더 포함할 수 있다.
전술한 개요는 예시적일 뿐이며, 임의의 방식으로 제한하는 것으로 의도되지는 않는다. 위에서 설명된 예시적인 양태들, 실시예들 및 피처들에 추가하여, 도면들, 다음의 상세한 설명 및 첨부 도면들을 참조하여 추가 양태들, 실시예들 및 피처들이 명백해질 것이다.
도 1a는 예시적인 실시예에 따른 이동가능 카트 상에 장착된 로봇 암을 도시한다.
도 1b는 예시적인 실시예에 따른 로봇 디바이스를 예시하는 기능 블록도이다.
도 2a는 예시적인 실시예에 따른 로봇 암 및 박스들의 스택을 도시한다.
도 2b는 예시적인 실시예에 따른 로봇 암 상에 장착된 센서에 의한 도 2a의 박스들의 스택의 스캔을 도시한다.
도 2c는 예시적인 실시예에 따른 박스를 이동시키는 도 2a의 로봇 암을 도시한다.
도 3은 예시적인 실시예에 따른 방법의 블록도이다.
도 4a는 예시적인 실시예에 따른 로봇으로 물체를 이동시키기 위한 상이한 궤적들을 예시한다.
도 4b는 예시적인 실시예에 따른 도 4a의 로봇에 의해 물체를 픽업하는 것을 예시한다.
도 4c는 예시적인 실시예에 따른 도 4a의 물체를 측정하기 위한 센서들을 예시한다.
도 4d는 예시적인 실시예에 따른 도 4a의 물체를 이동시키기 위한 선택된 궤적을 예시한다.
도 4e는 예시적인 실시예에 따른 도 4d의 선택된 궤적을 통해 물체를 이동시키는 것을 예시한다.
도 5는 예시적인 실시예에 따른 삼각측량 깊이 센서(triangulation depth sensor)를 예시한다.
도 6a는 예시적인 실시예에 따른 힘-토크 센서를 갖는 로봇 조작기를 예시한다.
도 6b는 예시적인 실시예에 따른 물체 디멘젼(object dimension)을 결정하기 위해 도 6a의 힘-토크 센서를 이용하는 것을 예시한다.
예시적인 방법들 및 시스템들이 본 명세서에 설명된다. 본 명세서에 설명된 임의의 예시적인 실시예 또는 피처는 반드시 다른 실시예들 또는 피처들에 비해 바람직하거나 유리한 것으로 해석되지는 않는다. 본 명세서에 설명된 예시적인 실시예들은 제한하는 것은 아니다. 개시된 시스템들 및 방법들의 특정 양태들은 본 명세서에서 모두 고려되는 매우 다양한 상이한 구성들로 결합 및 배열될 수 있다는 점이 손쉽게 이해될 것이다.
또한, 도면들에 도시된 특정 배열들은 제한하는 것으로서 간주되어서는 안 된다. 다른 실시예들은 주어진 도면에 도시된 각각의 요소를 더 많이 또는 더 적게 포함할 수 있다는 점이 이해되어야 한다. 또한, 예시된 요소들 중 일부는 결합되거나 생략될 수 있다. 또한, 예시적인 실시예는 도면들에 예시되지 않은 요소들을 포함할 수 있다.
예시적인 실시예들은 궤적 계획을 위한 물체 메트릭들의 결정을 제공하는 것을 도울 수 있다. 예를 들어, 로봇 조작기(예를 들어, 로봇 암)는 박스들과 같은 물체들을 픽업하고 이동시키기 위한 엔드 이펙터(예를 들어, 흡입 그리퍼)를 구비할 수 있다. 박스 픽킹 중에, 픽킹되고 있는 박스에 대한 소정의 정보는, 이 박스가 픽업되고/되거나 특정량만큼 이동된 이후까지 알려지지 않을 수 있다. 예를 들어, 박스 중량 또는 박스 깊이는 단지 이 박스가 공중에 있은 이후에 하나 이상의 센서에 의해 측정가능할 수 있다. 일부 예들에서, 이러한 측정치들은 박스를 수송하기 위해 로봇에 의해 어느 궤적이 이용되어야 하는지에 영향을 미칠 수 있다. 예를 들어, 박스 메트릭들은 로봇이 박스를 드롭하지 않고 수송할 수 있는 속도, 또는 특정 경로가 충돌을 야기시키지 않고 이용될 수 있는지에 영향을 미칠 수 있다. 따라서, 상이한 가능한 물체 측정치들에 대해 다수의 가능한 궤적이 결정될 수 있다. 센서 데이터로부터 물체 측정치들이 결정된 이후에, 물체를 수송하기 위한 궤적이 가능한 궤적들로부터 선택되어, 물체를 수송하기 위해 로봇에 의해 이용될 수 있다.
박스를 수송하기 위해 어느 궤적을 이용할지를 결정하기 위해서 박스 메트롤로지를 결정하는데 다수의 상이한 타입 및/또는 조합의 센서들이 이용될 수 있다. 일부 예들에서, 로봇 암에 장착된 센서들과 고정된 위치에 장착된 다른 센서들의 조합이 이용될 수 있다. 로봇에 의해 픽업되는 물체는 폐색될 수 있고, 그에 의해 물체의 일부만이 단일 카메라에 가시된다. 예는 팰릿 또는 파사드로부터의 박스 픽킹에 있고, 여기서 박스 디멘젼들의 적어도 일부는 알려지지 않으며 개별적인 카메라들에 가시되지 않을 수 있다. 이러한 경우에, 환경 내에 전략적으로 배치되는 오프-암 센서들(off-arm sensors)뿐만 아니라 온-암 센서들(on-arm sensors)로부터의 데이터가 결합되어, 물체가 픽킹되고 있을 때 물체의 디멘젼들을 분석하기 위해 이용될 수 있다. 추가 예들에서, 물체의 하나 이상의 알려지지 않은 디멘젼은 물체 측정치들을 결정하거나 정교화(refine)하기 위해 센서들 중 하나 이상의 앞에 이동될 수 있다. 추가적으로, 물체의 특정 디멘젼들은 시각 데이터만으로는 불확실할 수 있다. 그러므로, 센서들의 일부 또는 전부는 시각 카메라들 대신에 또는 시각 카메라들에 추가하여 깊이 센서일 수 있다.
추가 예들에서, 센서들 중 하나는 로봇 암 상에 장착된 로우 프로파일을 갖는 깊이 센서일 수 있다. 일부 예들에서, 특히 그리퍼가 물체에 매우 가까울 때, 물체의 깊이 디멘젼을 결정하기 위해 그리퍼 상에 적절한 구성으로 전통적인 깊이 센서를 배치하는 것은 어려울 수 있다. 그러므로, 레이저 빔 라인 및 오프셋 카메라를 포함하는 삼각측량 깊이 센서가 이용될 수 있다. 이러한 타입의 센서는, 그리퍼가 물체와 접촉하고, 따라서 물체에 아주 가깝게 된 이후에, 물체 깊이를 결정할 수 있도록 로우 프로파일을 가질 수 있다. 일부 예들에서, 다른 타입의 깊이 센서들 및/또는 시각 센서들로부터의 데이터가 로우 프로파일의 삼각측량 센서로부터의 데이터와 결합되어, 박스 디멘젼의 추정치들을 또한 양호하게 정교화할 수 있다.
추가적인 예들에서, 로봇 암 상에 장착된 힘-토크 센서가 박스 특성들을 결정하는 것을 돕는데 이용될 수 있다. 힘-토크 센서는 그리퍼에 의해 유지되는 물체에 의해 야기된 힘 및/또는 토크를 결정하기 위해 흡입 그리퍼 위에 위치될 수 있다. 이 데이터에 기초하여, 힘-토크 센서는 질량, 중력 중심(center of gravity), 질량 중심, 질량 중심이 얼마나 정적인지 및/또는 관성 매트릭스(inertia matrix)와 같이 픽킹된 박스의 파라미터들을 결정하기 위해 이용될 수 있다. 추가적인 예들에서, 힘-토크 센서는 물체의 하나 이상의 디멘젼을 결정하기 위해 또한 이용될 수 있다. 구체적으로, 힘 제어를 이용하여 인접 표면과 접촉하는 물체의 에지를 중심으로 물체를 피봇함으로써, 시스템은 박스를 완전히 픽킹하기 이전에 그 디멘젼의 규모(extent)를 결정할 수 있다.
일부 예들에서, 물체를 수송하기 위한 하나 이상의 궤적이 상이한 가능한 물체 측정치들에 대해 미리 계획될 수 있다. 계획 시스템은 특정 물체 측정치들이 주어지는 경우에 궤적을 계산하는데 특정량의 시간을 요구할 수 있다. 따라서, 일부 예들에서, 이용할 궤적을 계획 시스템이 결정하는 것을 로봇이 대기하게 하는 것을 회피하기 위해 미리 계획된 궤적들로부터 선택하는 것이 유리할 수 있다. 일례에서, 궤적들의 최적의 "트리"는 공동으로 계획될 수 있는데, 이는 공통의 시작 지점(common starting point)을 갖고, 하나 이상의 물체 특성의 상이한 가능한 측정치들에 기초하여 포크아웃(fork out)된다. 다음에, 일단 비행 중에 측정치들이 획득되면, 특정 궤적을 선택하기 위해 트리 아래로 경로가 선택될 수 있다. 예를 들어, 가벼운 박스에 대해서는 제1 궤적이 계획될 수 있고, 중간-중량 박스에 대해서는 제2 궤적이 계획될 수 있고, 무거운 박스에 대해서는 제3 궤적이 계획될 수 있다. 추가 예들에서, 추가적인 특성들이 또한 고려될 수 있다. 예를 들어, 가벼운 박스에 대해 계획된 제1 궤적은 박스 디멘젼들(예를 들어, 대략 정사각형 박스 대 긴 박스)에 기초하여 추가로 정교화될 수 있다.
추가적인 예들에서, 궤적 계획의 일부 또는 전부는 물체 측정치들이 결정될 때 즉각적으로(예를 들어, 실시간으로) 행해질 수 있다. 예를 들어, 일례에서, 가능한 측정치들의 최극단에서의 물체들(예를 들어, 매우 무거운 박스 또는 매우 긴 박스)의 안전한 이동을 허용하는 보수적인 궤적(conservative trajectory)이 제1 기간 동안 계획 및 이용될 수 있다. 물체 측정치들이 이용가능해짐에 따라, 궤적은 (예를 들어, 더 가볍거나 더 작은 박스들의) 더 빠른 물체 수송을 허용하는 더 공격적인 궤적으로 수정될 수 있다. 일부 예들에서, 더 정밀한 측정치들이 결정됨에 따라 상이한 시점들에서 다수의 레벨의 정교화가 발생할 수 있다. 추가 예들에서, 미리 계획된 궤적들과 즉각적인 조정들의 조합이 이용될 수 있다. 예를 들어, 미리 계획된 궤적들은 상이한 범위의 가능한 측정치들에 대해(예를 들어, 작은 박스들, 중간-크기 박스들 및 큰 박스들에 대해) 결정될 수 있다. 미리 계획된 궤적들 중 하나의 궤적은 물체가 어느 범위에 있는지에 기초하여 선택될 수 있고, 다음에 이 궤적은 정확한 물체 측정치들에 기초하여 그리고/또는 다른 물체 특성들에 기초하여 추가로 정교화될 수 있다.
이하, 다양한 실시예들에 대해 상세하게 참조가 이루어질 것이며, 이들의 예들은 첨부 도면들에 예시되어 있다. 다음의 상세한 설명에서, 본 개시내용 및 설명된 실시예들의 철저한 이해를 제공하기 위해서 다수의 특정 상세가 제시된다. 그러나, 본 개시내용은 이러한 특정 상세들 없이 실시될 수 있다. 다른 경우에, 실시예들의 양태들을 불필요하게 모호하게 하지 않도록 잘 알려진 방법들, 절차들, 컴포넌트들 및 회로들은 상세하게 설명되지 않았다.
다양한 실시예들에 따르면, 저장 컨테이너 내로 또는 차량으로부터와 같이 박스들 및/또는 다른 물체들의 자동화된 로딩 및/또는 언로딩을 위한 방법들 및 시스템들이 본 명세서에 설명된다. 일부 예시적인 실시예들에서, 박스들 또는 물체들은 자동으로 조직화되어 팰릿들 상에 배치될 수 있다. 예들 내에서, 더 용이한 저장 및 수송을 위해 물체들로부터 팰릿들을 생성하는 프로세스 및/또는 트럭들에 로딩/언로딩하는 프로세스를 자동화하는 것은 다수의 산업 및 비즈니스 이점들을 제공할 수 있다.
다양한 실시예들에 따르면, 팰릿들을 생성하는 프로세스 및/또는 트럭들에 로딩/언로딩하는 프로세스를 자동화하는 것은 물체들을 이동시키거나 다른 기능들을 수행하기 위해 하나 이상의 로봇 디바이스를 통합하는 것을 포함할 수 있다. 일부 실시예들에서, 로봇 디바이스는 휠형 베이스(wheeled base), 홀로노믹 베이스(holonomic base)(예를 들어, 임의의 방향으로 이동할 수 있는 베이스), 또는 천장, 벽 또는 바닥 상의 레일들과 결합함으로써 이동형으로 될 수 있다. 일부 실시예들에서, 베이스는 상승된 베이스일 수 있다.
일부 예들에서, 하나 이상의 센서, 하나 이상의 컴퓨터 및 하나 이상의 로봇 암을 포함하는 시스템이 설명된다. 센서들은 시각 데이터 및/또는 3차원(3D) 깊이 정보를 캡처하기 위해 하나 이상의 물체를 포함하는 환경을 스캔할 수 있다. 다음에, 스캔들로부터의 데이터는 디지털 환경 재현(digital environment reconstruction)을 제공하기 위해 더 큰 영역들의 표현으로 통합될 수 있다. 추가적인 예들에서, 다음에, 재현된 환경은 픽업할 물체들을 식별하고, 물체들에 대한 픽킹 위치들을 결정하고, 그리고/또는 하나 이상의 로봇 암 및/또는 이동형 베이스에 대한 무충돌 궤적들을 계획하기 위해 이용될 수 있다.
본 명세서에서 이용되는 바와 같이, "박스들"이라는 용어는, 팰릿 상에 배치되거나 또는 트럭이나 컨테이너 상에 로딩되거나 트럭이나 컨테이너로부터 언로딩될 수 있는 임의의 물체 또는 물품을 지칭할 것이다. 예를 들어, 직사각형 입방체들에 추가하여, "박스들"은 캔들, 드럼들, 타이어들 또는 임의의 다른 "단순한" 형상의 기하학적 물품들을 지칭할 수 있다. 추가적으로, "로딩" 및 "언로딩"은 각각 다른 것을 암시하는데 이용될 수 있다. 예를 들어, 예가 트럭에 로딩하기 위한 방법을 설명하는 경우, 트럭에 언로딩하기 위해서도 실질적으로 동일한 방법이 또한 이용될 수 있다는 점이 이해되어야 한다. 본 명세서에서 이용되는 바와 같이, "팰리타이징(palletizing)"은, 팰릿 상에 박스들을 로딩하고, 팰릿 상의 박스들이 팰릿 상에서 수송되거나 저장될 수 있도록 하는 방식으로 박스들을 적층하거나 배열하는 것을 지칭한다. 추가로, "팰리타이징" 및 "디팰리타이징(depalletizing)"이라는 용어들은 각각 다른 것을 암시하는데 이용될 수 있다.
물론, 본 명세서에서의 예들은 또한 박스들과는 다른 물체들에 대해 그리고 다양한 크기들 및 형상들의 물체들에 대해 적용될 수 있다.
다양한 실시예들에 따르면, 로봇 조작기가 홀로노믹 카트(예를 들어, 카트가 임의의 방향으로 이동하는 것을 허용하는 휠들을 갖는 카트) 상에 장착될 수 있다. 도 1a는 로봇 조작기를 포함하는 예시적인 홀로노믹 카트를 도시한다. 일부 실시예들에서, 이동가능 카트(112)는 이 카트(112) 상에 장착된 로봇 암(102)을 포함할 수 있다. 로봇 암(102)은 환경 내의 물체들을 파지하기 위한 파지 컴포넌트(104)를 포함할 수 있다. 카트는 하나 이상의 휠(114)을 포함할 수 있고, 이러한 휠들은 2 자유도로 동작하는 홀로노믹 휠들일 수 있다. 추가 실시예들에서, 랩 어라운드 전방 컨베이어 벨트(110)가 홀로노믹 카트(112) 상에 포함될 수 있다. 일부 예들에서, 랩 어라운드 전방 컨베이어 벨트는, 트럭 컨테이너나 팰릿으로부터 박스들을 언로딩할 때 또는 트럭 컨테이너나 팰릿으로 박스들을 로딩할 때 로봇이 그것의 그리퍼를 좌측이나 우측으로 회전시킬 필요가 없는 것을 허용할 수 있다.
다른 예들에서, 로봇 조작기는 상이한 타입의 이동가능 장치 상에 장착될 수도 있고 결코 이동가능 베이스 상에 장착되지 않을 수도 있다. 예를 들어, 로봇 조작기는 공장 설정 내의 고정된 위치에 장착될 수 있다. 다른 예시적인 실시예들에서, 하나 이상의 로봇 조작기가 트럭이나 컨테이너의 레일들 상에 장착될 수 있다. 이러한 예들에서, 로봇 조작기들은 트럭이나 컨테이너에 로딩하거나 언로딩하는데 이용될 수 있다.
도 1b는 예시적인 실시예에 따른 로봇 디바이스(100)를 예시하는 기능 블록도이다. 로봇 디바이스(100)는 기계적 시스템(120), 감지 시스템(130), 제어 시스템(140)뿐만 아니라 전원(150)과 같은 다양한 서브시스템들을 포함할 수 있다. 로봇 디바이스(100)는 더 많거나 더 적은 서브시스템들을 포함할 수 있고, 각각의 서브시스템은 다수의 요소를 포함할 수 있다. 또한, 로봇 디바이스(100)의 서브시스템들 및 요소들 각각은 상호접속될 수 있다. 따라서, 로봇 디바이스(100)의 설명된 기능들 중 하나 이상은 추가적인 기능적 또는 물리적 컴포넌트들로 분할되거나, 또는 더 적은 기능적 또는 물리적 컴포넌트들로 결합될 수 있다. 일부 추가 예들에서, 추가적인 기능적 및/또는 물리적 컴포넌트들이 도 1a 및 도 1b에 의해 예시된 예들에 추가될 수 있다.
기계적 시스템(120)은, 로봇 암(102), 그리퍼(104), 컨베이어 벨트(110), (이동가능 또는 홀로노믹) 카트(112) 및 하나 이상의 휠(114)을 포함하여, 도 1a와 관련하여 위에서 설명된 컴포넌트들을 포함할 수 있다. 기계적 시스템(120)은 추가적으로 모터(122)를 포함할 수 있으며, 이 모터는 전기 전력에 의해 전력 공급되는 전기 모터일 수 있거나, 또는 가스 기반 연료 또는 태양열 발전(solar power)과 같은 다수의 상이한 에너지 소스에 의해 전력 공급될 수 있다. 추가적으로, 모터(122)는 전원(150)으로부터 전력을 수신하도록 구성될 수 있다. 전원(150)은 로봇 디바이스(100)의 다양한 컴포넌트들에 전력을 제공할 수 있으며, 예를 들어 재충전가능 리튬 이온 또는 납산 배터리(lead-acid battery)를 나타낼 수 있다. 예시적인 실시예에서, 이러한 배터리들의 하나 이상의 뱅크는 전기 전력을 제공하도록 구성될 수 있다. 다른 전력 공급 재료들 및 타입들도 또한 가능하다.
감지 시스템(130)은, 로봇 암(102)이 이동함에 따라 환경에 대한 정보를 감지하는 2D 센서들 및/또는 3D 깊이 센서들일 수 있는 센서(106) 및 센서(108)와 같이 로봇 암(102)에 부착된 하나 이상의 센서를 이용할 수 있다. 감지 시스템은 박스들을 효율적으로 픽킹하고 이동시키기 위해 제어 시스템(140)(예를 들어, 모션 계획 소프트웨어를 구동하는 컴퓨터)에 의해 이용될 수 있는 환경에 대한 정보를 결정할 수 있다. 제어 시스템(140)은 디바이스 상에 위치될 수 있거나 또는 디바이스와 원격 통신할 수 있다. 추가 예들에서, 전방 내비게이션 센서(116) 및 후방 내비게이션 센서(118)와 같이 이동형 베이스 상에 고정된 마운트들을 갖는 하나 이상의 2D 또는 3D 센서, 및 센서(106) 및 센서(108)와 같이 로봇 암 상에 장착된 하나 이상의 센서로부터의 스캔들은, 트럭 또는 다른 컨테이너의 측면, 바닥, 천장 및/또는 전방 벽을 포함하는 환경의 디지털 모델을 구축하도록 통합될 수 있다. 이러한 정보를 이용하여, 제어 시스템(140)은 이동형 베이스가 언로딩이나 로딩을 위한 위치로 내비게이트하게 할 수 있다.
추가적인 예들에서, 평면 표면 정보는 벽, 바닥 및/또는 박스 정면을 모델링하기 위해 3D 센서들로부터 추출될 수 있다. 바닥을 모델링한 이후에, 바닥 평면 상으로의 물체들의 프로젝션은 박스들과 같은 타겟 물체들 및/또는 장애물들의 세그먼트화를 가능하게 할 수 있다. 바닥 평면 프로젝션은 평면들로서 정확하게 모델링되지 않을 수 있는 컨테이너나 트럭의 주름진 측면들을 모델링하는데 또한 이용될 수 있다. 추가 예들에서, 측벽 각도, 바닥 평면 롤 및 피치, 및/또는 측벽들로부터의 거리는 충돌 없이 이동형 베이스를 컨테이너 내로 조종하는데 이용될 수 있다. 단일 라인 스캔보다는 오히려 확장된 3D 정보를 이용하는 것은 내비게이션 정보의 추출을 강건하게 하는 것을 도울 수 있다. 예를 들어, 측벽들은 3D 센서에 의해 캡처되는 수직 규모를 가질 수 있다. 단일 라인의 깊이 정보를 이용하는 스캔 시스템들은 더 적은 정보를 취득하기 때문에 덜 강건하고/하거나, 수직으로 스캔하는 경우에 더 느릴 수 있다. 추가적인 예들에서, 전방 평면 모델링은 트럭 언로딩에서 픽킹할 물체들의 다음 그룹까지의 거리를 결정할 수 있다.
추가 예들에서, 로봇 암(102)은 디지털 흡입 그리드 그리퍼와 같은 그리퍼(104)를 구비할 수 있다. 이러한 실시예들에서, 그리퍼는, 원격 감지 또는 단일 지점 거리 측정에 의해 그리고/또는 흡입이 달성되는지를 검출함으로써 턴 온 또는 오프될 수 있는 하나 이상의 흡입 밸브를 포함할 수 있다. 추가적인 예들에서, 디지털 흡입 그리드 그리퍼는 관절식 연장부(articulated extension)를 포함할 수 있다. 일부 실시예들에서, 레올로지 유체들 또는 분말들로 흡입 그리퍼들을 작동시킬 가능성은 높은 곡률들을 갖는 물체들에 대한 추가 파지를 가능하게 할 수 있다.
일부 실시예들에서, 그리퍼는 잠재적으로 수개의 박스 또는 물체에 걸치고, 커버된 물체들의 일부 또는 전부에 대해 흡입을 턴 온할 수 있다. 일부 실시예들에서, 흡입 또는 부착 디바이스들은 "디지털" 그리드일 수 있고, 그에 의해 로봇 디바이스는 파지하기 위해 감지된 박스들에 맞는 임의의 개수의 흡입 디바이스를 턴 온할 수 있다. 일부 구현예들에서, 시스템은 박스들에서의 심(seam)(인접 박스들 사이의 간격)을 알아차릴 수 있고, 그에 의해 흡입기들은 심의 양 측에서 작동되어 즉시 양 박스들을 픽업할 수 있고, 그에 의해 스루풋을 2배로 할 수 있다. 일부 실시예들에서, 흡입기들은 특정량의 시간 이후에 이들이 표면을 성공적으로 파지할 수 있는지를 감지할 수 있으며, 그 이후에 자동으로 셧오프될 수 있다. 추가 실시예들에서, 흡입기들의 섹션들은 박스들의 최상부를 파지하기 위해 접혀질 수 있다. 예를 들어, 그리퍼들은 초기에 전체 연장부(full extension)에서 시작하고, 다음에 파지되는 표면을 따를 수 있다.
추가 예들에서, 로봇 암은 흡입 파지를 개선하기 위해 위글 이동(wiggle movement)을 구현할 수 있다. 추가적인 실시예들에서, 로봇 암은 박스를 그것의 주변으로부터 세그먼트화하는 것을 돕기 위해 박스를 좌우로 위글링할 수 있다. 다른 실시예들에서, 암은 다른 물체들을 밀치는 것을 회피하도록 박스의 픽업 시에 위글링할 수 있다. 이러한 실시예들에서, 흡입을 이용하여 물체를 픽업하기 위해 물체에 부착하려고 할 때, 로봇 암은 물체에 대해 견고한 밀봉(firm seal)을 이루기 위해 위글 모션을 이용할 수 있다. 추가 예들에서, 로봇 암은 로봇 암이 물체를 픽업하고 있을 때 물체를 위글링할 수 있고, 그에 의해 박스는 더 부드럽게 다른 물품들과의 마찰 또는 중첩 접촉(overlap contact)을 깰 수 있다. 이것은, 너무 곧장 또는 너무 신속하게 물체를 위로 당기는 것이 다른 물품들로 하여금 공중으로 토스되게 하는 상황을 회피하는 것을 도울 수 있다.
다양한 실시예들에 따르면, 판지 박스들은 흡입 디바이스가 부착하기 어렵게 하는 오목한, 볼록한 또는 다른 방식으로 구겨진 정면들을 가질 수 있다. 따라서, 흡입 디바이스가 흡입 접촉을 할 때 이 디바이스를 위글링하는 것은 판지 박스들 및 다른 비평면 물체들에 대해 더 신뢰성있는 파지를 가능하게 할 수 있다. 추가 예들에서, 박스를 처음 파지할 때, 소수의 중심 흡입 디바이스들이 턴 온될 수 있고, 암은 박스를 꺼내기 시작할 때 앞뒤로 위글링할 수 있다. 이것은 다른 박스들과의 표면 부착을 깨고, 박스를 꺼내기 시작하는 것을 도울 수 있다. 일단 박스가 적어도 부분적으로 꺼내지면, 박스는 다음에 다른 박스들로부터 더 용이하게 세그먼트화될 수 있다. 일부 실시예들에서, 클러터에 있는 물체를 픽업하는 동안에 위글링하는 것은 픽업된 물체로부터 다른 물체들을 제거하고, 그에 의해 주변 물체들의 원하지 않는 픽업을 방지할 수 있다.
다양한 실시예들에 따르면, 물품들의 세그먼트화는 성공적인 파지를 위해 필요할 수 있다. 일부 실시예들에서, 평활한 표면 패치(smooth surface patch)가 2개의 별개의 물체에 속할 수 있다. 이러한 경우에, 물체들과의 조작기 상호작용은 물체들을 서로로부터 양호하게 세그먼트화하기 위해 신(scene)을 교란시키는데 이용될 수 있다. 모션 분리에 있어서, 컨베이어 상의, 슬라이드 상의, 토트(tote)에서 이동하는 그리고/또는 토트 내에서 액티브하게 밀쳐지는(actively jostled) 물체들의 자연적인 또는 강제적인 이동은 물체 세그먼트화를 증대시키기 위해서 스테레오 깊이(stereo depth)를 계산하도록 광학 흐름, 시차, 또는 시간 지연 뷰들에 의해 추적될 수 있다.
다른 예들에서, 감지 시스템에 의해 이용되는 센서들 중 하나 이상은 카메라 또는 카메라들과 알려진 오프셋 패턴 프로젝터 사이의 깊이 삼각측량을 가능하게 하기 위해 신으로 패턴을 프로젝션하는 것과 같은 액티브 비전 기술들을 이용하는 깊이 감지 디바이스에 레지스터링된 RGBaD(RGB+active Depth) 컬러 또는 흑백 카메라일 수 있다. 이러한 타입의 센서 데이터는 강건한 세그먼트화를 가능하게 하는 것을 도울 수 있다. 다양한 실시예들에 따르면, 물체를 어디에 그리고/또는 어떻게 배치할지(예를 들어, 물체를 고정구 리셉터클 내로 맞추는 것)를 알기 위해 물체의 포즈를 발견하고/하거나 물체를 식별하는데 표면 상의 인쇄된 텍스트, 3D 표면 특성, 컬러, 텍스처 코히런스(texture coherence) 또는 바코드와 같은 지시들(cues)이 또한 이용될 수 있다. 일부 실시예들에서, 쉐도우 또는 텍스처 차이들이 또한 물체들을 세그먼트화하는데 이용될 수 있다.
로봇 디바이스(100)의 많은 또는 모든 기능은 제어 시스템(140)에 의해 제어될 수 있다. 제어 시스템(140)은 비일시적인 컴퓨터 판독가능 매체, 예컨대 메모리(146)에 저장된 명령어들(144)을 실행하는 적어도 하나의 프로세서(142)(적어도 하나의 마이크로프로세서를 포함할 수 있음)를 포함할 수 있다. 제어 시스템(140)은 분산형 방식으로 로봇 디바이스(100)의 개별적인 컴포넌트들 또는 서브시스템들을 제어하는 역할을 할 수 있는 복수의 컴퓨팅 디바이스를 또한 나타낼 수 있다.
일부 실시예들에서, 메모리(146)는 도 1a 및 도 1b와 관련하여 위에서 설명된 것들을 포함하여 로봇 디바이스(100)의 다양한 기능들을 실행하기 위해 프로세서(142)에 의해 실행가능한 명령어들(144)(예를 들어, 프로그램 로직)을 포함할 수 있다. 메모리(146)는, 기계적 시스템(120), 센서 시스템(130) 및/또는 제어 시스템(140) 중 하나 이상으로 데이터를 송신하고, 이들로부터 데이터를 수신하고, 이들과 상호작용하고/하거나 이들을 제어하는 명령어들을 포함하여 추가적인 명령어들을 또한 포함할 수 있다.
다양한 실시예들에 따르면, 지각-안내 로봇(perception-guided robot)이 설명된다. 예를 들어, 로봇 디바이스는, 박스를 픽업하고 가야 할 필요가 있는 장소에 이 박스를 배치하도록 로봇 암에 안내하기 위해 계획과 함께 지각의 조합을 이용할 수 있다. 도 2a는 예시적인 실시예에 따른 박스들의 스택과 도 1a의 로봇 디바이스의 일부를 예시한다. 도시된 바와 같이, 로봇 디바이스는, 위에서 설명된 바와 같은 컨베이어(110), 센서들(106 및 108), 및 파지 컴포넌트(104)를 갖는 로봇 암(102)을 포함할 수 있다. 일부 예들에서, 로봇 디바이스는 도 1a와 관련하여 설명된 바와 같이 홀로노믹 카트 상에 장착될 수 있거나, 상이한 타입의 이동가능 장치 상에 장착될 수 있거나, 레일들이나 트랙들 상에 장착될 수 있거나, 또는 정지형일 수 있다. 로봇 디바이스는 박스들의 형상들과 크기들의 이종 혼합물을 포함하는 박스들의 스택(220)으로부터 박스들을 픽킹하도록 제어될 수 있다.
예들 내에서, 2D 및/또는 3D의 물체들의 모델을 포함하는 가상 환경이 결정되어, 박스들을 픽업하기 위한 계획 또는 전략을 개발하는데 이용될 수 있다. 일부 예들에서, 로봇은 도 2b에 도시된 바와 같이 물체들을 포함하는 환경을 스캔하기 위해 하나 이상의 센서를 이용할 수 있다. 로봇 암(102)이 이동함에 따라, 이 암 상의 센서(106)는 개별적인 박스들의 위치들 및/또는 형상들을 결정하기 위해 박스들의 스택(220)에 대한 센서 데이터를 캡처할 수 있다. 추가적인 예들에서, 3D 환경의 더 큰 픽처는 개별적인(예를 들어, 3D) 스캔들로부터의 정보를 통합함으로써 구축될 수 있다. 이러한 스캔들을 수행하는 센서들은 고정된 위치들에, 로봇 암 상에 그리고/또는 다른 로케이션들에 배치될 수 있다. 다양한 실시예들에 따르면, 스캔들은 다수의 상이한 기술 중 임의의 것 또는 이들 모두에 따라 구축되고 이용될 수 있다.
일부 예들에서, 스캔들은 하나 이상의 3D 센서가 장착되어 있는 로봇 암을 이동시킴으로써 이루어질 수 있다. 암 위치로부터의 피드백은 센서가 위치하는 장소에 대한 포즈 정보를 제공할 수 있으며, 통합을 돕는데 이용될 수 있다. 대안적으로 또는 추가적으로, 스캔들은 하나 이상의 2D 센서를 이용하여, 예를 들어 환경에서의 키포인트들을 추적하고 모션을 레버리징함으로써 이루어질 수 있다. 추가 예들에서, 스캔들은 주어진 필드를 커버하는 시야들(FOV들)을 갖는 고정-마운트 카메라로부터 이루어질 수 있다. 추가적인 예들에서, 스캔들은 미세 포즈 추정을 돕기 위해 시각적으로 레지스터링되어, 잠재적으로는 더 양호한 통합 결과들을 제공할 수 있다.
추가 예들에서, (예를 들어, 상이한 센서들로부터의) 정보를 통합하기 위해 3D 체적 또는 표면 모델을 이용하여 가상 환경이 구축될 수 있다. 이것은 하나의 센서가 큰 환경을 커버하기에 불충분할 수 있는 경우들에서와 같이 시스템이 더 큰 환경 내에서 동작하는 것을 허용할 수 있다. 이러한 기술들은 캡처된 디테일 레벨을 또한 증가시킬 수 있으며, 이는 로봇 디바이스가 다양한 태스크들을 수행하는 것을 도울 수 있다. 구체적으로, 정보의 통합은 (예를 들어, 잡음 레벨을 떨어뜨림으로써) 단일 스캔 단독으로부터의 경우보다 더 미세한 디테일을 산출할 수 있다. 이것은 양호한 물체 검출, 표면 픽킹 또는 다른 애플리케이션들을 가능하게 할 수 있다.
추가 예들에서, 광각 환경 재현은, 환경을 감지하고 그 정보를 단순한 수학적 3D 기하학적 형태들(예를 들어, 평면들, 원기둥들, 원뿔들, 반구들 등)의 단순화된 기하학적 모델로 추출함으로써 수행될 수 있다. 일부 경우에, 이러한 기술들은 모션 계획을 더 용이하게 하고/하거나 모델들의 위반(예를 들어, 충돌들)을 검출하는 것을 더 용이하게 할 수 있다. 대안적으로 또는 추가적으로, 이러한 기술들은 파라미터 설명이 환경을 확장시키는 것을 허용할 수 있다. 예를 들어, 그라운드는 그것을 폐색하는 물체들 뒤에 확장되는 평면으로서 취급될 수 있다.
추가적인 예들에서, 환경 내의 평면들 또는 다른 수학적 표면들이 3D로 추출될 수 있다. 이러한 알려진 "이상적인" 표면 검출들은 환경의 더 정확한 모델로 결합될 수 있다. 예를 들어, 관심 있는 물체들이 있는 장소를 검출하고 충돌들을 회피하기 위해 벽들 및 다른 장애물들의 전체 규모들(또는 그것의 수학적 설명)을 결정하는데 평면들이 이용될 수 있다. 또한, 물체들의 수학적 표현은 사람이 환경에 들어갈 때와 같은 변칙들(anomalies)을 찾는데 이용될 수 있다. 이러한 이벤트들은 이상적인 모델을 위반할 수 있으며, 이는 그들의 검출을 더 용이하게 할 수 있다.
다른 예들에서, 박스들과 같은 특정 물체들은 단순한 평면 형태를 가질 수 있다. 예를 들어, 금속은 원기둥의 기하학적 형태를 가질 수 있고, 타이어는 토러스의 기하학적 형태를 가질 수 있다. 예시적인 시스템들은 이러한 특정 물체들의 특성을 레버리징하여, 이들을 모델링하고/하거나 이 물체들에 대한 모션 계획 방법을 결정할 수 있다. 예를 들어, 특정 형상들의 알려진 템플릿들이 이용되어, 특정 형상에 매칭하는 것으로 보이는 환경 내의 물체들의 검출된 피처들을 정교화할 수 있다.
일부 예들에서, 2D 및 3D 정보는 하나 이상의 파사드를 통해 적어도 부분적으로 표현될 수 있다. 파사드는 깊이 맵(예를 들어, 제3 디멘젼으로서의 거리의 2D 맵)으로서 표현되는 물체들의 세트를 포함하는 근사-평면 구조물(near-planar construct)로서 정의될 수 있다. 파사드들의 예들은 트럭에서의 박스들의 벽, 박스들이나 다른 물체들을 포함하는 팰릿 스택의 최상부, 뒤섞인 물체들의 빈(bin)의 최상부를 포함할 수 있다.
추가 예들에서, 파사드는 예를 들어 박스들이 어느 순서로 픽업되어야 하는지를 계획하기 위해 박스들로부터 구축될 수 있다. 예를 들어, 도 2c에 도시된 바와 같이, 박스(222)는 픽업할 다음 박스로서 로봇 디바이스에 의해 식별될 수 있다. 박스(222)는 센서(106 및 108)와 같은 하나 이상의 센서에 의해 수집된 센서 데이터에 기초하여 구축된 박스들의 스택(220)의 전방 벽을 나타내는 파사드 내에서 식별될 수 있다. 다음에, 제어 시스템은, 가능하게는 박스의 형상과 위치, 박스들의 스택(220)의 최상부에서의 박스의 위치에 기초하여, 그리고/또는 박스들에 대한 타겟 컨테이너 또는 로케이션의 특성들에 기초하여, 박스(222)가 픽킹할 다음 박스라고 결정할 수 있다. 다음에, 로봇 암(102)은, (예를 들어, 박스(222)를 저장 영역 내로 수송하기 위해) 그리퍼(104)를 이용하여 박스(222)를 픽업하고 컨베이어 벨트(110) 상에 박스(222)를 배치하도록 제어될 수 있다.
추가적인 예들에서, 파사드는 3D 표면 정보의 정사 프로젝션(orthographic projection)으로서 표현될 수 있다. 이 표현은 특정 애플리케이션에 대한 관심 영역들을 결정하기 위해 파사드의 파싱을 허용할 수 있다. 예를 들어, 트럭 언로딩에서, 픽킹할 다음 박스의 상부 좌측 코너가 파사드 표현에 기초하여 결정될 수 있다. 다른 예들에서, 통합된 3D 환경의 정사 프로젝션은 애플리케이션 관련 태스크들을 수행하기 위해 넓은-FOV, 용이하게 파싱되는 표현(wide-FOV, easily-parsed representation)을 제공하도록 결정될 수 있다. 하나의 이러한 태스크는 픽킹할 박스의 코너 또는 코너들(예를 들어, 최상부 좌측)을 찾는 것일 수 있다. 다른 이러한 태스크는 빈으로부터 물체들을 픽킹하기 위한 양호한 표면들(예를 들어, 비교적 평탄하고 큼)을 찾는 것을 수반할 수 있다.
추가 예들에서, 스택 또는 팰릿으로/으로부터 박스들을 로딩/언로딩하기 위한 프로그레스를 계획하고 추적하는 것을 돕기 위해 박스들의 스택의 3D 모델이 모델로서 구축 및 이용될 수 있다. 파사드의 임의의 하나의 실제 카메라 뷰는 관점 폐색(point of view occlusions) 및 원근 왜곡(perspective distortion)을 겪을 수 있다. 따라서, 로봇 암 이동들을 통한 다수의 RGBD 뷰 및/또는 카트 베이스나 고정된 로케이션들로부터의 상이한 뷰들이 결합되어, 픽킹될 박스들의 단일 파사드를 생성할 수 있다.
다른 예들에서, 3D 모델은 충돌 회피를 위해 이용될 수 있다. 예들 내에서, 무충돌 궤적을 계획하는 것은 환경에서 표면들 및 물체들의 3D 로케이션을 결정하는 것을 수반할 수 있다. 궤적 최적화기는 장애물들의 존재 시에 경로들을 최적화하기 위해 환경 재현에 의해 제공되는 3D 정보를 이용할 수 있다. 추가 예들에서, 최적화기는 실시간으로 작동하며, 많은 종류의 제약들을 수락할 수 있다. 이러한 제약의 예로서, 최적화기는 궤적 전체에 걸쳐 엔드 이펙터 레벨을 유지하려고 시도할 수 있다.
추가적인 예들에서, 환경은 3D 지점들의 세트 또는 메시로서 캡처될 수 있다. 로봇 암은 신속한 충돌 체킹을 위해 평면 세그먼트들의 볼록 껍질(convex hull)로서 표현될 수 있다. 환경의 일정한 또는 빈번한 업데이팅은 로봇 암이 변화들에 신속하게 응답하는 것을 허용할 수 있다. 추가 예들에서, 최적화기는 그것의 경로 전체에 걸쳐 빈번한 연속적인 충돌 체킹을 수행할 수 있다. 최적화기는 예컨대 물체들로부터 특정 거리를 유지하거나 또는 주어진 각도로부터 목표 위치에 접근하기 위해 코스트들의 형태의 임의의 제약들을 수락할 수 있다. 추가적으로, 최적화기는, 조인트 공간(joint space)에서 작동하고 와인드업을 파악하고 다수의 역운동학 솔루션으로부터 목표 위치들을 선택함으로써, 로봇 장애 상태들을 회피할 수 있다. 모션 계획을 위한 하나의 전략은 선택된 목표 조인트 위치가 다음 이동을 위해 수락가능할 것인지 확인하기 위해 수개의 이동을 예견하는 것을 수반할 수 있다.
일부 실시예들에서, 로봇 암, 카메라, 케이블 및/또는 다른 컴포넌트에 대한 충돌 회피와 같은 경로 제약들은 제약 기반 계획 솔버(constraint based planning solver)에 넣어지고, 지각을 위해 암을 이동시키기 위한 최상의 경로를 산출하기 위해 해석될(solved) 수 있다. 추가적으로, 일부 실시예들에서, 솔버는 물체를 픽업, 이동 및 배치하기 위한 최상의 경로를 결정할 수 있다.
다양한 실시예들에 따르면, 3D 및/또는 시각 센서들은 작업 공간에 대한 그들의 포즈를 결정하도록 교정될 수 있다. 고정된 센서들의 경우에, 교정은 작업 공간에서의 그들의 고정된 포즈를 결정할 수 있다. 암 상의 센서의 경우에, 교정은 센서가 부착되어 있는 암 링크로부터 센서의 오프셋 포즈를 결정할 수 있다.
예시들 내에서, 교정 기술들은 작업 공간에서의 임의의 개수의 센서들의 교정을 허용할 수 있다. 교정은 다양한 파라미터들 및 계수들 중 일부 또는 전부를 결정하는 것을 수반할 수 있다. 예를 들어, 교정은 초점 거리 및 이미지 중심과 같은 하나 이상의 내인성 파라미터를 해석할 수 있다. 다른 예시적인 예로서, 교정은 방사상 및 접선 왜곡의 모델들과 같은 하나 이상의 왜곡 계수를 결정할 수 있다. 또 다른 예로서, 교정은 하나 이상의 외인성 파라미터를 해석할 수 있는데, 여기서 물체는 신에서 동일한 패턴을 식별한 다른 센서들 또는 패턴에 대해 신에 있다.
일부 예들에서, 교정은 2D 또는 3D의 피처들의 알려진 세트일 수 있는 교정 패턴을 이용함으로써 적어도 부분적으로 수행될 수 있다. 예를 들어, 도트들의 알려진 패턴이 이용될 수 있는데, 여기서 각각의 도트와 다른 도트들 사이의 거리가 알려진다. 교정은 물체의 다수의 상이한 뷰를 수집함으로써 적어도 부분적으로 수행될 수 있다. 추가 예들에서, 상이한 위치들에서 교정 패턴의 다수의 뷰를 캡처하는 것은 (1) 카메라의 하나 이상의 계수의 교정 및/또는 (2) 교정 패턴이 고정된 장소에 의해 확립되는 좌표계에 대해 카메라가 있는 장소의 지식을 허용할 수 있다. 특정 실시예들에서, 신에서의 카메라는 로봇 암 상의 교정 패턴을 식별할 수 있는 한편, 동시에 암 상의 카메라는 신에서의 교정 패턴을 식별한다.
추가적인 예들에서, 교정은 신에 고정된 카메라를 수반할 수 있다. 이 경우, 교정 패턴이 로봇 암 상에 배치될 수 있다. 로봇 암은 로봇 암 상의 교정 패턴의 다수의 뷰가 수집될 때 신을 통해 이동하도록 구성될 수 있다. 이것은 카메라의 교정을 도울 수 있고/있거나 카메라의 좌표계를 로봇의 좌표계와 관련시키는데 유용할 수 있다. 또한, 각각의 디바이스와 다른 디바이스의 관계는 로봇 암이 이동할 때 각각의 디바이스에 의해 결정될 수 있다.
특정 예들에서, 교정은 로봇 암 상에 위치된 카메라를 수반할 수 있다. 교정 패턴은 벽 또는 테이블 상에 장착될 수 있다. 다음에, 카메라가 사방에 이동되어, 상이한 로봇 또는 로봇 암 위치들로부터 교정 패턴의 다수의 뷰를 수집할 수 있다. 상이한 3D 또는 2D 뷰들(예를 들어, 2, 20, 200)이 수집될 때, 이러한 뷰들은 교정 관계들을 해석하기 위해 이용될 수 있다. 교정 이후에, 암 상의 카메라가 이동할 때, 시스템은 신에서의 교정 패턴의 로케이션에 기초하여 설정된 좌표계에 대해 그것이 있는 장소를 결정할 수 있다. 특정 실시예들에서, 교정 패턴 및 카메라 양쪽 모두는 이동가능할 수 있다. 예를 들어, 로봇 암이 박스들을 배치하도록 구성될 수 있는 컨베이어 벨트 상에 교정 패턴이 위치될 수 있다. 교정 이후에, 시스템은 컨베이어 벨트 상의 그 스폿에 대해 카메라가 있었던 장소를 결정할 수 있다.
추가 예들에서, 3D 센서 교정의 강건한 추정을 위해 2-스테이지 프로세스로 비선형 최적화가 수행될 수 있다. 하나의 스테이지에서, 타겟 및 센서들의 상대적인 포즈 오프셋들로부터 초기화가 도출될 수 있다. 다른 스테이지에서, 초기화가 주어지면, 타겟 지점들과 함께 카메라들의 최적 포즈를 찾기 위해 배치 번들 조정(batch bundle adjustment)이 이용될 수 있다. 교정은 조인트 길이 및 조인트 각도 오프셋과 같은 로봇 파라미터들의 추정으로 확장될 수 있다.
다른 예들에서, 카메라에 대한 교정 패턴 또는 교정 패턴에 대한 카메라의 알려진 정밀한 로봇 모션이 교정 결과들을 개선하기 위해 이용될 수 있다. 예를 들어, 정밀하게 카메라가 어떻게 이동하는지에 대한 정보는 더 정확한 카메라 교정을 획득하기 위해 이용될 수 있다. 즉, 카메라가 50mm만큼 우측으로 이동되는 경우, 교정 물체로부터의 대응하는 (원근 프로젝션) 양의 이동이 검출될 수 있다. 이 정보는 파라미터들의 추적 및 교정을 공동으로 또는 별개로 최적화하는데 이용될 수 있다.
추가적인 예들에서, 로봇은 진행 중인 교정을 보고, 더 양호한 교정을 위해 정보를 최대화하는 방식으로 이동할 수 있다. 예를 들어, 그것은 일부 뷰 영역들이 보이지 않는다고 검출하고, 그러한 뷰들로 이동할 수 있다.
추가 예들에서, 일반적으로 혼잡한 수집 영역으로부터 정의된 빈까지의 이종의 분류별 물품들의 실제 조작을 위한 시스템이 제시된다. 일부 실시예들에서, 물품들을 포함하는 픽 로케이션은 정밀한 물체 배향(들)에 민감하지 않을 수 있고, 물품들은 함께 혼합될 수 있다. 추가적인 예들에서, 물품들에 대한 배치 로케이션은 물체 배향에 민감할 수도 있고 민감하지 않을 수도 있다. 일부 예들에서, 픽-앤-플레이스 영역들(pick-and-place regions)은 소정의 허용오차를 가지고 물체를 픽킹 또는 배치하기 위해 수락가능한 3D 영역들로서 정의될 수 있다. 픽-앤-플레이스 영역은 유사하고/하거나 이질적인 물체들로 매우 혼잡해질 수 있다. 다른 실시예들에서, 물품들은 정렬된 물품을 특정 배향으로 유지하는 금속 또는 플라스틱 스냅들과 같은 고정구로부터 오거나 또는 이러한 고정구에 넣어질 수 있다.
추가적인 예들에서, 픽-앤-플레이스 로케이션 양쪽 모두의 환경 모델링은 (예를 들어, 배치 영역이 가득차거나 픽 영역이 비어있을 때) 이벤트 보고뿐만 아니라 지능형 파지 로케이션 및 모션을 위해 이용될 수 있다. 일부 예들에서, 물체 경계 체적들(object bounding volumes)이 계산될 수 있고/있거나, 물체들의 두드러진 피처들이 발견될 수 있다(예컨대, 텍스처, 컬러, 바코드 또는 OCR). 일부 실시예들에서, 물체들은 물체 타입이나 물체 ID에 의해 인덱싱된 로케이션 할당들의 데이터베이스에 대해 매칭함으로써 할당된 목적지 로케이션으로 정렬될 수 있다. 예를 들어, 물체의 로케이션들은 바코드의 판독, 물체의 크기의 고려로부터 그리고/또는 특정 종류의 물체의 인식에 의해 도출될 수 있다.
일부 예들에서, 로봇 디바이스에 대한 계획은 물체들에 대한 타겟 로케이션 내에서 물체들의 특정 구성들을 달성하기 위해 결정될 수 있다. 예를 들어, 팰릿들의 구축/해체 또는 로딩/언로딩에 대한 목표는, 1) 박스들 사이에 최소 공극들을 갖는 조밀 패킹, 및/또는 2) 쉽게 붕괴되지 않을 안정적인 패킹을 달성하는 것일 수 있다. 일부 실시예들에서, 안정성은, 일반적으로, 무거운 물체들이 최하부에 있고, 가벼운 물체들이 최상부에 있는 것을 요구할 수 있다. 다른 예들에서, 팰릿들은 넌-인터레이스 컬럼 스택(non-interlaced column stacks), 컬럼 기울기(column leans) 또는 불량 스택의 다른 특성들을 회피하도록 생성될 수 있다.
추가 예들에서, 팰릿 또는 트럭/컨테이너는 후속 언로딩 프로세스들에서 인간 운영자들에 의한 작업이 최소화되도록 로딩될 수 있다. 예를 들어, 일부 실시예들에서, 물품들은, 언패킹 시에, 첫번째로 필요한 물품들이 최상부에 있고, 두번째로 필요한 물품들이 하나의 층 아래에 있거나 하도록 후입 선출(last in, first out) 순서로 배치될 수 있다. 다른 예들에서, 팰릿들의 로딩은 물품들이 패킹 셀들을 향하여 어떻게 움직이는지에 독립적일 수 있다. 따라서, 일부 실시예들에 따르면, 시스템은 랜덤 순서 또는 사전에 알려진 순서로 전송된 패키지들을 핸들링할 수 있다. 추가로, 일부 실시예들에서, 시스템은 즉각적으로 물품들의 움직임에서의 변화들에 적응할 수 있다. 추가 예들에서, 하나 이상의 박스는 경로를 따라 그들의 순서가 변경될 수 있는 임시 저장 영역에 박스들을 유지함으로써 레코딩 및 버퍼링될 수 있다.
다양한 실시예들에 따르면, 2D 시뮬레이터 및/또는 3D 시뮬레이터는 트럭이나 컨테이너 로딩/언로딩을 위해 또는 팰릿 로딩/언로딩을 위해 이용될 수 있다. 일부 예들에서, 박스들의 스택의 상태는 물리 세계에서 캡처되어 시뮬레이터에 입력될 수 있다. 일부 실시예들에서, 하나의 박스로부터 모든 박스까지의 박스들의 가변 크기 큐가 픽킹할 다음 박스를 찾기 위해 시뮬레이터에 의해 이용될 수 있다. 예를 들어, 시뮬레이터에 의해 2개의 박스 또는 4개의 박스 또는 10개의 박스의 큐가 고려될 수 있다.
추가 예들에서, 시뮬레이터는 발견적 알고리즘들(heuristic algorithms)에 의해 그리고/또는 무차별 또는 다중-해상도 검색(brute force or multi-resolution search)에 의해 최상의 박스 배치를 찾기 위해 큐 내의 박스들에 걸쳐 검색할 수 있다. 일부 실시예들에서, 시스템은 이전에 더 대략적인 레벨로 발견된 최상의 사이트들 주위의 박스들의 점점 더 미세한 배치로 증분할 수 있다. 일부 실시예들에서, 일단 특정 다음 박스의 배치가 결정되었으면, 물리 플래너는 박스를 결정된 로케이션들로 효율적으로 이동시키기 위해 모션 계획에 이용될 수 있다. 추가 예들에서, 물리적 및 시뮬레이션된 스택들은 스택의 품질(예를 들어, 밀도, 안정성 및/또는 순서 배치)에 대해 연속적으로 모니터링될 수 있다. 일부 예들에서, 모든 박스가 배치되었거나 또는 타겟 컨테이너가 더 이상 다른 박스에 맞지 않을 수 있을 때까지 프로세스가 반복될 수 있다.
도 3은 예시적인 실시예에 따른 로봇 디바이스가 물체를 이동시키기 위한 궤적의 결정을 허용할 수 있는 방법(300)을 도시하는 플로우차트를 예시한다. 방법(300)은, 도 1a 및 도 1b와 관련하여 예시 및 설명된 바와 같이, 하나 이상의 센서를 갖는 이동가능 카트 상에 장착된 로봇 암을 포함하는 디바이스와 같이, 위에서 설명된 임의의 로봇 디바이스를 이용하여 수행될 수 있다. 다른 예들에서, 방법(300)은 상이한 타입의 이동가능 장치 상에, 레일이나 트랙 상에, 또는 정지된 로케이션에 장착된 로봇 조작기를 이용하여 수행될 수 있다. 추가 예들에서, 방법(300)의 일부 또는 전부는 로봇 디바이스와 원격 통신하는 그리고/또는 로봇 디바이스 상에 위치된 하나 이상의 제어 시스템에 의해 수행될 수 있다. 추가적으로, 단일 로봇 암을 갖는 예들이 설명될 수 있지만, 다양한 대안적인 실시예들은 임의의 개수의 로봇 암을 포함할 수도 있고, 또는 적어도 하나의 로봇 조작기와 통합된 다른 자동화된 시스템들을 포함할 수도 있다.
또한, 본 명세서에 설명된 플로우차트들과 관련하여 설명된 기능성은 도 3에 도시된 플로우차트와 관련하여 설명된 단계들, 결정들 및/또는 특정 논리 기능들을 달성하기 위해 프로세서에 의해 실행되는 프로그램 코드의 부분들, 특수 기능 및/또는 구성된 일반 기능 하드웨어 모듈들로서 구현될 수 있다는 점에 유의한다. 이용되는 경우, 프로그램 코드는 예를 들어 디스크나 하드 드라이브를 포함하는 저장 디바이스와 같은 임의의 타입의 컴퓨터 판독가능 매체 상에 저장될 수 있다.
추가로, 도 3에 도시된 플로우차트의 각각의 블록은 프로세스에서 특정 논리 기능들을 수행하도록 배선되는 회로를 나타낼 수 있다. 구체적으로 표시되지 않는 한, 도 3에 도시된 플로우차트에서의 기능들은, 설명된 방법의 전체 기능성이 유지되는 한, 수반되는 기능성에 종속하여, 일부 예들에서는 심지어는 역순으로, 또는 별개로 설명된 기능들의 실질적으로 동시적 실행을 포함하여, 도시되거나 논의된 것으로부터 순서가 바뀌어 실행될 수 있다.
도 3의 블록(302)에 의해 도시된 바와 같이, 방법(300)은 초기에 로봇 조작기의 엔드 이펙터로 물체를 이동시키기 위한 복수의 가능한 궤적을 결정하는 것을 수반할 수 있다. 더 구체적으로, 가능한 궤적들은 상이한 가능한 물체 측정치들에 기초하여 결정될 수 있다. 일부 예들에서, 상이한 궤적들은 단일 물체 특성의 값들의 범위들 또는 상이한 가능한 값들에 대해 결정될 수 있다. 예를 들어, 궤적에 영향을 미칠 수 있는 물체 특성들은 물체 디멘젼, 크기, 형상, 질량, 중력 중심 및/또는 관성 매트릭스를 포함한다. 추가 예들에서, 궤적들은 2개 이상의 상이한 특성의 측정치들의 상이한 가능한 조합들에 대해서도 결정될 수 있다.
다양한 실시예들에 따르면, 궤적들은, 상이한 가능한 목적들을 달성하기 위해서 그리고/또는 로봇에 의해 이용되는 궤적들의 특정 양태들을 최대화하거나 최소화하기 위해서 상이한 물체 측정치들에 기초하여 결정될 수 있다. 예를 들어, 궤적은, 로봇의 그리퍼가 물체를 드롭하지 않는 것을 보장하면서, 물체를 특정 로케이션으로 이동시키는데 요구되는 시간의 양을 최소화하도록 결정될 수 있다. 추가 예에서, 다른 목적은 물체를 수반하는 충돌을 야기시키지 않으면서 물체를 이동시키기 위한 궤적을 결정하는 것일 수 있다. 다른 예들에서, 로봇의 엔드 이펙터의 경로, 대응하는 속도 곡선 및/또는 대응하는 가속도 곡선이 상이한 물체 측정치들에 기초하여 결정될 수 있다. 추가 예들에서, 궤적은 (예를 들어, 물체를 수송하는데 필요한 시간을 최소화하기 위해) 입력들로서 상이한 가능한 물체 측정치들을 이용하여 제약된 최적화 문제를 해결함으로써 결정될 수 있다.
추가적인 예들에서, 물체를 수송하는데 이용되는 궤적의 종단점은 상이한 물체 특성들에 기초하여 결정될 수 있다. 예를 들어, 물체에 대한 드롭오프 로케이션은 (예를 들어, 물체가 타겟 드롭오프 로케이션 내에 맞는다는 것을 보장하기 위해) 물체의 크기 및/또는 디멘젼에 기초하여 결정될 수 있다. 추가 예들에서, 형상 또는 질량과 같은 다른 물체 특성들이 또한 또는 대신에 드롭오프 로케이션을 결정하기 위해 이용될 수 있다.
일부 예시적인 실시예들에서, 궤적들 중 하나 이상은 물체의 픽업에 앞서 결정될 수 있다. 예를 들어, 상이한 가능한 물체 측정치에 대한 궤적들은 추가적인 즉각적 궤적 계획에 의해 야기될 수 있는 지연을 회피하기 위해 물체를 픽업하기 수 분 또는 수 초 이전에 결정될 수 있다. 일부 예들에서, 특정 특성(예를 들어, 가벼운 박스 또는 무거운 박스)에 대한 물체 측정치들의 상이한 가능한 범위들에 대해 상이한 궤적들이 결정될 수 있다. 추가 예들에서, 상이한 궤적은 2개 이상의 상이한 특성(예를 들어, 무거운 작은 박스 또는 가벼운 큰 박스) 각각에 대한 물체 측정치들의 상이한 가능한 범위들에 대해 결정될 수 있다. 이러한 예들에서, 가능한 궤적들의 "트리"가 결정될 수 있고, 트리의 각각의 레벨은 특정 물체 특성의 상이한 가능한 값들에 대응한다. 따라서, 트리의 최하부 레벨은 2개 이상의 상이한 물체 특성의 값들의 각각의 가능한 조합에 대한 궤적들을 포함할 수 있다.
추가적인 예들에서, 가능한 궤적들에 대한 공통의 시작 지점은 궤적을 선택하는데 이용되는 센서 데이터가 언제 이용가능할 가능성이 있는지에 기초하여 결정될 수 있다. 시작 지점은 (예를 들어, 물체를 유지하는 로봇의 그리퍼의) 공간에서의 지점 및/또는 특정 시점(예를 들어, 물체를 픽업한 이후의 5초)일 수 있다. 공통의 시작 지점에서 시작하도록 상이한 가능한 궤적들을 계획함으로써, 로봇은 궤적을 선택하는데 이용되는 센서 데이터가 수신된 시점에서 또는 그 근처에서 선택된 궤적을 이용하기 시작할 수 있다.
도 4a 내지 도 4e는 예시적인 실시예에 따른 로봇이 물체를 이동시키기 위한 궤적의 선택을 집합적으로 예시한다. 도 4a는 물체를 이동시키기 위한 상이한 가능한 궤적들을 예시한다. 더 구체적으로, 로봇 암(402)은, 물체들을 픽업하고 이동시키기 위한 그리퍼와 같은 엔드 이펙터(404)를 가질 수 있다. 로봇 암(402)은 다수의 적층된 박스를 포함하는 파사드(406)로부터 박스(408)를 픽업하도록 (예를 들어, 제어 시스템에 의해) 지시될 수 있다. 일부 예들에서, 박스(408)의 하나 이상의 측정치는 박스(408)가 로봇 암(402)에 의해 픽업되기 이전에 알려지지 않을 수 있다. 예를 들어, 도 4a에 도시된 바와 같이, 박스(408)의 깊이는 알려지지 않을 수 있고, 박스(408)가 파사드(406) 내에 적층되는 동안에(예를 들어, 박스(408)가 다른 박스들이나 물체들에 의해 센서들로부터 폐색되는 경우에) 결정하기 어렵거나 불가능할 수 있다.
일부 예들에서, 2개 이상의 가능성있는 가능한 측정치들 또는 측정치들의 범위들을 예측하는 것이 가능할 수 있다. 예를 들어, 일례에서, 박스(408)는 대략 입방체 형상일 수도 있고 직사각형일 수도 있다. 박스(410)는 하나의 가능한 깊이의 박스(408)를 예시하고, 박스(414)는 다른 가능한 깊이의 박스(408)를 예시한다. 추가 예들에서, 박스 깊이의 2개보다 많은 상이한 가능한 측정치가 이용될 수 있다. 다른 예들에서, 질량 또는 중력 중심과 같은 추가적인 알려지지 않은 특성들이 또한 또는 대신에 이용될 수 있다.
제1 궤적(412)은 제1 가능한 박스 깊이(410)에 기초하여 박스(408)를 이동시키기 위해 결정될 수 있다. 제2 궤적(416)은 제2 가능한 박스 깊이(414)에 기초하여 박스(408)를 이동시키기 위해 결정될 수 있다. 일부 예들에서, 궤적들(412 및 416)은 로봇 암(402)의 엔드 이펙터(404)가 박스(408)를 드롭하게 하지 않으면서 박스(408)를 이동시키도록 결정될 수 있다. 다른 예들에서, 예측된 박스 크기들에 기초하여 충돌을 회피하기 위해 상이한 궤적들이 결정될 수 있다. 예를 들어, 파사드(406) 내의 다른 박스들을 치거나 다른 방식으로 다른 박스들과 충돌하는 것을 회피하기 위해 박스 형상(414)을 공중에서 박스 형상(410)보다 더 높게 위로 이동시킬 필요가 있을 수 있다.
일부 예들에서, 궤적들(412 및 416)에 대해 (예를 들어, 6 자유도로) 엔드 이펙터(404) 및/또는 박스(408)에 대한 공간을 통한 경로들이 결정될 수 있다. 다른 예들에서, 이러한 경로들에 대응하는 속도 및/또는 가속도 곡선들이 또한 결정될 수 있다. 예를 들어, 이동 중에 엔드 이펙터(404)가 박스를 드롭하게 하지 않으면서 박스 형상(414)보다 더 빠르게 박스 형상(410)을 이동시키는 것이 가능할 수 있다.
추가 예들에서, 가능한 궤적들의 일부 또는 전부는 로봇 암(402)이 박스(408)를 픽업한 이후에 결정될 수 있다. 예를 들어, 박스 특성들에 대한 정보가 수신된 센서 데이터에 기초하여 이용가능해질 때 즉각적으로 궤적들을 결정 및/또는 수정하기 위해 경로 계획 컴포넌트를 포함하는 제어 시스템이 이용될 수 있다.
일례에서, 제1 보수적인 궤적은 박스를 픽업한 이후에 초기 기간 동안 이용될 수 있다. 보수적인 궤적은 임의의 예측된 또는 가능성있는 박스 측정치들에 대해 (예를 들어, 박스의 충돌 또는 드롭을 회피하기 위해) 이용하는 것이 안전할 수 있다. 예를 들어, 궤적(416)은 박스 크기(414) 및 박스 크기(410) 양쪽 모두에 대해 작동하는 보수적인 궤적일 수 있다. 일부 예들에서, 더 공격적인 궤적이 이용될 수 있다(예를 들어, 더 작은 박스가 더 빠르게 이동될 수 있다)는 것을 표시하는 센서 데이터가 나중에 수신될 수 있다. 예를 들어, 궤적(412)은 박스 크기를 나타내는 센서 데이터를 수신한 이후의 나중 시점에서 결정되는 더 공격적인 궤적일 수 있다. 추가 예들에서, 궤적들은 더 많은 센서 데이터가 수신됨에 따라 다수의 시점에서 결정 및/또는 정교화될 수 있다.
도 3을 다시 참조하면, 방법(300)은, 블록(304)에 의해 도시된 바와 같이, 로봇 조작기가 엔드 이펙터로 물체를 픽업하게 하는 것을 더 수반할 수 있다. 일부 예들에서, 엔드 이펙터는, 물체에 부착되어 로봇 조작기(예를 들어, 로봇 암)가 궤적을 통해 물체를 이동시키는 것을 허용하는 흡입 그리퍼와 같은 그리퍼를 포함할 수 있다. 추가 예들에서, 물체들을 이동시킬 수 있는 상이한 타입의 그리퍼들 또는 엔드 이펙터들이 또한 이용될 수 있다.
도 4b는 예시적인 실시예에 따른 도 4a의 로봇에 의해 물체를 픽업하는 것을 예시한다. 더 구체적으로, 로봇 암(402)은 박스들의 파사드(406)로부터 박스(408)를 리프트하기 위해 박스(408) 위에 그것의 흡입 그리퍼(404)을 위치시키도록 제어될 수 있다. 여기에 도시된 바와 같이, 일부 예들에서, 물체는 물체의 하나 이상의 디멘젼을 결정하도록 깊이 센서들이 센서 데이터를 수집하는 것을 허용하기 위해 특정량 이동될 필요가 있을 수 있다. 예를 들어, 박스(408)는 그것의 수직 깊이가 박스들의 파사드(406) 내의 다른 박스들에 의해 폐색되지 않을 정도로 충분히 멀리 리프트될 필요가 있을 수 있다.
도 3을 다시 참조하면, 방법(300)은, 블록(306)에 의해 도시된 바와 같이, 물체의 하나 이상의 측정치를 나타내는 센서 데이터를 하나 이상의 센서로부터 수신하는 것을 더 수반할 수 있다. 더 구체적으로, 로봇 조작기가 (예를 들어, 흡입 그리퍼로) 물체를 픽업하게 한 이후에, 데이터가 하나 이상의 센서로부터 수신될 수 있고, 센서들은 상이한 타입의 센서들, 예컨대 시각 센서들, 깊이 센서들, 진공 센서들 및/또는 힘-토크 센서들의 조합들을 포함할 수 있다. 추가 예들에서, 센서 데이터는 픽업 이후에 물체 이동의 초기 "시스템 식별" 페이즈 동안 수신될 수 있다. 일부 예들에서, 물체는 센서 데이터 수집을 용이하게 하는 방식으로 시스템 식별 페이즈 동안 위치지정되거나 조종될 수 있다. 다른 예들에서, 물체는 센서 데이터가 또한 수신되는 동안에 드롭오프 로케이션을 향하여 계획된 경로의 초기 섹션을 통해 단순히 이동될 수 있다.
일부 예들에서, 하나 이상의 깊이 또는 시각 센서가 로봇 암 상에 장착되거나 다른 방식으로 위치될 수 있다. 로봇 암이 물체를 파지하여 픽업하기 위해 이동할 때, 온-암 센서(들)는 물체의 디멘젼, 크기 및/또는 형상을 추정하기 위해 센서 데이터를 수집할 수 있다. 일부 예들에서, 온-암 센서들만을 이용하여 물체의 하나 이상의 디멘젼을 결정하는 것은 가능하지 않을 수 있다. 예를 들어, 물체의 하나 이상의 측면 또는 정면은 로봇의 일부에 의해 또는 환경 내의 다른 물체들이나 사물들에 의해 온-암 센서들로부터 폐색될 수 있다. 그러므로, 일부 예들에서, 하나 이상의 온-암 센서로부터의 센서 데이터와 환경 내에 위치된 하나 이상의 오프-암 시각 또는 깊이 센서로부터의 센서 데이터를 결합하는 것이 유리할 수 있다.
도 4c는 예시적인 실시예에 따른 도 4a의 물체를 측정하기 위한 센서들을 예시한다. 더 구체적으로, 로봇 암(402)은 깊이 센서나 시각 센서일 수 있는 센서(418)를 구비할 수 있다. 추가적으로, 센서들(420 및 422)은 환경 내의 지점들에 위치되거나 장착된 깊이 또는 시각 센서들일 수 있다. 일부 예들에서, 센서들(420, 422)에 대한 로케이션들은 온-암 센서(418)에 의해 검출가능하지 않을 수 있는 박스(408)와 같은 물체들의 하나 이상의 디멘젼을 표시하는 센서 데이터를 수신하도록 선택될 수 있다. 상이한 타입의 센서들을 포함하여 더 많거나 더 적은 온-암 및/또는 오프-암 센서들의 다른 조합들도 또한 가능하다.
추가 예들에서, 로봇 암(402)은 초기 시스템 식별 페이즈 동안 센서(420 또는 422)와 같은 하나 이상의 센서의 앞에 박스(408)를 이동시키도록 제어될 수 있다. 이 페이즈 동안, 박스(408)의 하나 이상의 알려지지 않은 디멘젼이 먼저 식별될 수 있다. 다음에, 로봇(402)이 박스(408)를 이동시키는데 이용하기 위한 궤적 또는 경로가 결정될 수 있고, 그에 의해 박스(408)의 알려지지 않은 디멘젼은 이들이 하나 이상의 오프-암 및/또는 온-암 센서에 의해 검출될 수 있도록 배향된다. 추가 예들에서, 시스템은 알려지지 않은 박스 디멘젼들의 추정을 허용하는 센서 데이터가 수신될 때의 추정을 또한 결정할 수 있다. 일부 예들에서, 이 시간 또는 이 시간에서의 로봇(402)의 예상 로케이션은 로봇(402)이 박스(408)를 이동시키는 궤적을 결정하기 위한 시작 지점으로서 이용될 수 있다.
추가적인 예들에서, 로봇 암의 그리퍼에 의해 파지된 물체와 같은 가까운 물체들을 감지하기 위해 로봇 암 상에 삼각측량 깊이 센서가 장착될 수 있다. 삼각측량 깊이 센서는 레이저 빔 프로젝터, 및 레이저 빔 프로젝터로부터 미리 결정된 오프셋을 갖는 카메라를 포함할 수 있다. 다음에, 레이저 빔 프로젝터 및 카메라의 위치가 이용되어, 카메라가 레이저를 검출하는 물체 상의 지점들의 위치를 삼각측량할 수 있다. 추가 예들에서, 삼각측량 깊이 센서는 가까운 물체들을 검출하는 동안에 로봇 암 또는 로봇 암 상에 장착된 다른 컴포넌트들에 의한 폐색을 회피하기 위해 로우 프로파일을 가질 수 있다.
도 5는 예시적인 실시예에 따른 삼각측량 깊이 센서를 도시한다. 더 구체적으로, 레이저 빔 프로젝터(508)는 그리퍼(504)에 의해 파지된 박스(506)의 하나 이상의 디멘젼에서의 깊이 검출을 허용하는 지점에서 로봇 암(502) 상에 장착될 수 있다. 추가적으로, 레이저 빔 프로젝터(508)로부터 알려진 오프셋을 갖고서 로봇 암(502) 상에 오프셋 카메라(512)가 장착될 수 있다. 카메라(512)는 레이저 빔 프로젝터(508)에 의해 박스(506) 상으로 프로젝션되는 레이저 빔(510)을 검출하도록 구성될 수 있다. 레이저 빔 프로젝터(508)는 레이저(510)를 박스(506) 상의 상이한 지점들 상에 프로젝션하도록 제어될 수 있고, 카메라(512)에 의해 박스(506) 상에서 레이저 빔(510)이 더 이상 검출가능하지 않은 지점이 결정될 수 있다. 레이저 빔 프로젝터(508) 및 카메라(512)의 위치를 이용하여 레이저 빔(510)이 더 이상 검출가능하지 않은 지점을 삼각측량함으로써, 박스(506)의 에지 및 박스(506)의 대응하는 깊이의 추정치가 결정될 수 있다. 추가 예들에서, 삼각측량 깊이 센서는 또한 하나 이상의 다른 온-암 센서 및/또는 하나 이상의 오프-암 센서와 조합하여 이용될 수 있다.
추가적인 예들에서, 로봇은 물체의 측정치들의 결정을 지원하기 위해 힘-토크 센서를 구비할 수 있다. 더 구체적으로, 힘-토크 센서는 그리퍼에 의해 픽업된 물체에 의해 야기되는 힘 및/또는 토크를 검출하기 위해 그리퍼 위에서 로봇 암 상에 위치될 수 있다. 물체의 다수의 상이한 특성은, 가능하게는 질량, 중력 중심, 질량 중심, 질량 중심이 얼마나 정적인지 및/또는 관성 매트릭스를 포함하여, 궤적 계획을 위해 힘-토크 센서에 의해 측정될 수 있다. 추가 예들에서, 힘-토크 센서는 하나 이상의 디멘젼들에서 물체의 깊이를 측정하는데 또한 이용될 수 있다.
도 6a는 예시적인 실시예에 따른 로봇 암 상에 위치된 힘-토크 센서를 예시한다. 더 구체적으로, 로봇 암(602)은, 물체들을 픽업하고 이동시키기 위한 흡입 그리퍼와 같은 그리퍼(604)를 구비할 수 있다. 파지된 물체들에 의해 야기되는 힘 및/또는 토크를 검출하기 위해 그리퍼(604) 위의 소정의 지점에서 로봇 암(602) 상에 힘-토크 센서(606)가 위치될 수 있다. 로봇 암(602)은 그리퍼(604)를 이용하여 박스(608)를 파지하도록 제어될 수 있다. 다음에, 힘-토크 센서(606)로부터의 센서 데이터가 수신되어, 그것의 질량, 중력 중심 및/또는 전체 관성 매트릭스와 같은 박스(608)의 특성들을 결정하기 위해 이용될 수 있다.
추가 예들에서, 힘-토크 센서는 알려지지 않은 물체 디멘젼을 추정하는데 또한 이용될 수 있다. 더 구체적으로, 인접 표면과 접촉하는 물체의 에지를 중심으로 물체를 피봇함으로써, 시스템은 물체의 에지로부터의 물체의 깊이를 결정하기 위해 그리퍼가 따르는 궤적을 이용할 수 있다. 물체를 피봇하는 동안, 시스템은 박스 디멘젼의 사전 지식 없이 물체의 에지와 인접 표면 사이의 접촉을 유지하기 위해 (예를 들어, 힘-토크 센서로부터 수신된 데이터에 기초한) 힘 제어를 이용할 수 있다. 다음에, 획득된 그리퍼 궤적의 반경은 인접 표면과 접촉하는 물체의 에지로부터의 물체의 특정 디멘젼을 표시할 수 있다.
도 6b는 물체 디멘젼을 결정하기 위한 도 6a의 힘-토크 센서의 예시적인 애플리케이션을 예시한다. 구체적으로, 박스(608)는 그리퍼(604)에 의해 파지될 수 있고, 박스(608)의 에지는 인접 표면(612) 상에서 접촉 지점(610)을 중심으로 로봇 암(602)에 의해 피봇될 수 있다. 로봇(602)이 박스(608)를 피봇함에 따라 박스(608)의 에지가 접촉 지점(610)에서 표면(612)과의 접촉을 유지하는 것을 보장하기 위해서 물체(608)에 의해 야기되는 로봇 암(602) 상에서의 힘을 표시하는 힘-토크 센서(606)로부터 수신된 센서 데이터가 이용될 수 있다. 다음에, 그리퍼(604)가 따르는 궤적의 반경은 인접 표면(612)과 접촉하는 물체의 에지로부터의 박스(608)의 깊이(614)를 추정하기 위해 이용될 수 있다.
일부 예들에서, 인접 표면(612)은 그라운드 또는 바닥일 수 있다. 다른 예들에서, 대신에, 인접 표면(612)은, 박스(608)가 박스들의 스택으로부터 픽킹될 때와 같이, 박스(608) 아래에 위치된 하나 이상의 다른 물체의 표면들일 수 있다. 추가 예들에서, 물체를 피봇하기 위해 접촉 지점들로서 환경 내의 다른 표면들이 또한 또는 대신에 이용될 수 있다.
추가 예들에서, 물체의 에지를 중심으로 물체를 피봇하는 프로세스는 물체의 하나 이상의 추가적인 디멘젼을 결정하기 위해 접촉 지점으로서 물체의 하나 이상의 다른 에지를 이용하여 반복될 수 있다.
추가적인 예들에서, 초기 시스템 식별 페이즈 동안 수신된 센서 데이터는 에러 정정을 위해 또한 이용될 수 있다. 예를 들어, 로봇은 특정 지점에서 물체를 파지함으로써 물체를 픽업하도록 지시되었을 수 있다. 하나 이상의 센서로부터의 센서 데이터는, 물체가 잘못 픽킹되었으며 다시 내려져서 픽업될 필요가 있다는 것을 표시할 수 있다. 예를 들어, 시각 또는 깊이 센서 데이터는, (예를 들어, 광학 감지 또는 교정에서의 에러들로 인해) 로봇이 이용하도록 지시된 물체 상의 지점에 그리퍼가 위치되어 있지 않다는 것을 표시할 수 있다. 다른 예에서, 힘-토크 센서는 물체가 일 측 또는 다른 측을 향해 바이어싱된 예상되지 않은 질량 중심을 갖는 것을 표시할 수 있다. 이러한 예에서, 센서 데이터로부터 학습된 새로운 정보를 고려하기 위해 물체를 다시 내려 놓고 상이한 지점에서 파지하는 것이 유리할 수 있다.
도 3을 다시 참조하면, 방법(300)은, 블록(308)에 의해 도시된 바와 같이, 가능한 궤적들로부터 물체를 이동시키기 위한 궤적을 선택하는 것을 추가적으로 포함할 수 있다. 구체적으로, 물체의 하나 이상의 특성의 하나 이상의 측정치를 결정하거나 추정하기 위해 센서 데이터를 수신한 이후에, 결정되거나 추정된 측정치들을 이용하여 물체에 대해 궤적이 선택될 수 있다. 예를 들어, 작은 박스, 중간-크기 박스 및 큰 박스에 대해 가능한 궤적들이 계획된 경우, 박스의 크기를 결정한 이후에, 이 박스를 이동시키기 위해 대응하는 궤적이 선택될 수 있다.
추가 예들에서, 궤적들은 상이한 시간들에 측정치들이 결정될 수 있는 다수의 물체 특성에 기초하여 선택될 수 있다. 예를 들어, 상이한 중량들 및 상이한 깊이들을 갖는 물체들에 대해 가능한 궤적들이 계획될 수 있다. 중량은 힘-토크 센서를 이용하여 물체를 픽업한 직후에 결정될 수 있다. 깊이는 하나 이상의 깊이 센서를 이용하여 나중 시점에 결정될 수 있다. 이러한 예에서, 일단 중량이 결정되었으면, 결정된 중량 및 가장 보수적인 예측 깊이(예를 들어, 최대 가능한 박스)에 대응하는 궤적이 먼저 선택될 수 있다. 다음에, 물체의 깊이가 결정된 나중 시점에, 결정된 중량 및 결정된 깊이 양쪽 모두에 대응하는 궤적이 선택되어, 그 시점으로부터 이용될 수 있다.
추가 예들에서, 하나 이상의 궤적이 동시에 결정 및 선택될 수 있다. 예를 들어, 일례에서, 물체는, 가장 긴 가능한 경로 또는 가장 느린 이동을 요구하는 측정치들을 물체가 갖는다고 가정하는 보수적인 궤적을 통해 먼저 이동될 수 있다. 다음에, 더 빠른 이동 또는 더 짧은 경로가 안전하게 이용될 수 있도록 물체가 상이한 측정치들을 갖는다는 것을 센서 데이터가 표시하는 경우, 새로운 궤적이 즉각적으로 결정될 수 있다. 이러한 예에서, 새로운 궤적이 선택될 수 있고, 로봇은 수신된 센서 데이터를 이용하여 새로운 궤적이 결정되자마자 이 새로운 궤적을 이용하는 것으로 스위칭할 수 있다.
도 4d는 예시적인 실시예에 따른 도 4a의 물체를 이동시키기 위한 선택된 궤적을 예시한다. 더 구체적으로, 센서 데이터는, 박스(408)가 (이전에 예시된 박스 형상(414)과는 대조적으로) 박스 형상(410)에 대응하는 깊이를 갖는다는 것을 표시할 수 있다. 따라서, 궤적(412)은 로봇 암(402)이 박스(408)를 이동시키는데 이용하기 위해 선택될 수 있다. 추가 예들에서, 궤적(412)는 2개보다 많은 가능한 궤적으로부터 선택될 수 있다. 추가적인 예들에서, 궤적(412)는 추정되거나 결정된 박스 측정치들에 기초하여 미리 결정된 궤적으로부터 추가로 정교화될 수 있다.
도 3을 다시 참조하면, 방법(300)은, 블록(310)에 의해 도시된 바와 같이, 로봇이 선택된 궤적을 통해 물체를 이동시키게 하는 것을 더 수반할 수 있다. 일부 예들에서, 로봇은 시스템 식별 페이즈의 끝을 마킹하는 시점에 선택된 궤적으로 스위칭할 수 있다. 추가 예들에서, 궤적은 추가적인 수신된 센서 데이터에 기초하여 경로를 따라 하나 이상의 지점에서 수정되거나 조정될 수 있다. 일부 예들에서, 추가적인 수정들이 시간 또는 공간에서의 추가적인 계획 지점들에서 또한 발생할 수 있다.
도 4e는 예시적인 실시예에 따른 도 4d의 선택된 궤적을 통해 물체를 이동시키는 것을 예시한다. 더 구체적으로, 로봇 암(402)은 선택된 궤적(412)을 통해 물체(408)를 이동시키도록 지시될 수 있다. 로봇 암(402)이 물체를 이동시키게 하는 명령어들은 로봇 디바이스 상에 위치된 제어 시스템에 의해, 원격 제어 시스템에 의해, 그리고/또는 온-보드 및 원격 제어 시스템의 조합에 의해 전송될 수 있다.
추가 예들에서, 물체 측정치들 및/또는 선택된 궤적들에 대한 정보는 레코딩되어 장래 로봇 제어를 위해 이용될 수 있다. 예를 들어, 특정의 가능한 궤적들이 계획되지만, 로봇에 의해 거의 이용되지 않는다고 결정될 수 있으며, 이 경우 그러한 궤적들을 계획할 필요가 없을 수 있다. 다른 예들에서, 특정의 계획된 궤적들이 특정 물체 측정치들에 대해 잘 작동하지 않는다고 결정될 수 있으며, 이 경우 계획된 궤적들은 장래 이용을 위해 수정될 수 있다. 또한, 로봇 디바이스를 이용하여 물체들을 이동시키기 위한 궤적 계획을 정교화하기 위해 다른 타입의 머신 학습이 또한 이용될 수 있다.
본 개시내용은 다양한 양태들의 예시들로서 의도되는 본 출원에 설명된 특정 실시예들에 관하여 제한되지는 않는다. 본 기술분야의 통상의 기술자에게 명백한 바와 같이, 그것의 사상 및 범위로부터 벗어나지 않으면서 많은 수정 및 변형이 이루어질 수 있다. 본 명세서에서 열거된 것들에 추가하여, 본 개시내용의 범위 내의 기능적으로 등가의 방법들 및 장치들은 전술한 설명으로부터 본 기술분야의 통상의 기술자에게 명백할 것이다. 이러한 수정들 및 변형들은 첨부 청구항들의 범위 내에 있는 것으로 의도된다.
위의 상세한 설명은 첨부 도면들을 참조하여 개시된 시스템들, 디바이스들 및 방법들의 다양한 피처들 및 기능들을 설명한다. 도면들에서, 컨텍스트가 달리 지시하지 않는 한, 유사한 심볼들은 전형적으로 유사한 컴포넌트들을 식별한다. 도면들에서 그리고 본 명세서에서 설명된 예시적인 실시예들은 제한하는 것은 아니다. 본 명세서에 제시된 발명 대상의 사상 또는 범위로부터 벗어나지 않으면서, 다른 실시예들이 이용될 수 있으며 다른 변경들이 이루어질 수 있다. 본 개시내용의 양태들은, 일반적으로 본 명세서에 설명되며 도면들에 예시된 바와 같이, 본 명세서에서 모두 명시적으로 고려되는 매우 다양한 상이한 구성들로 배열, 대체, 결합, 분리 및 설계될 수 있다는 점이 손쉽게 이해될 것이다.
위에서 설명된 방법(300)의 블록과 같이 정보의 처리를 나타내는 블록은 본 명세서에 설명된 방법 또는 기술의 특정 논리 기능들을 수행하도록 구성될 수 있는 회로에 대응할 수 있다. 대안적으로 또는 추가적으로, 정보의 처리를 나타내는 블록은 (관련 데이터를 포함하는) 프로그램 코드의 일부, 세그먼트 또는 모듈에 대응할 수 있다. 프로그램 코드는 방법 또는 기술에서의 특정 논리 기능들 또는 액션들을 구현하기 위해 프로세서에 의해 실행가능한 하나 이상의 명령어를 포함할 수 있다. 프로그램 코드 및/또는 관련 데이터는, 디스크나 하드 드라이브 또는 다른 저장 매체를 포함하는 저장 디바이스와 같은 임의의 타입의 컴퓨터 판독가능 매체 상에 저장될 수 있다.
컴퓨터 판독가능 매체는, 레지스터 메모리, 프로세서 캐시 및 랜덤 액세스 메모리(RAM)와 같이 짧은 시간 기간 동안 데이터를 저장하는 컴퓨터 판독가능 매체와 같은 비일시적인 컴퓨터 판독가능 매체를 또한 포함할 수 있다. 컴퓨터 판독가능 매체는, 예를 들어, 판독 전용 메모리(ROM), 광학 또는 자기 디스크, 컴팩트 디스크 판독 전용 메모리(CD-ROM)와 같은 이차 또는 영속적 장기 스토리지와 같이 더 긴 시간 기간 동안 프로그램 코드 및/또는 데이터를 저장하는 비일시적인 컴퓨터 판독가능 매체를 또한 포함할 수 있다. 컴퓨터 판독가능 매체는 또한 임의의 다른 휘발성 또는 비휘발성 저장 시스템들일 수 있다. 컴퓨터 판독가능 매체는 예를 들어 컴퓨터 판독가능 저장 매체 또는 유형의(tangible) 저장 디바이스로 고려될 수 있다.
또한, 하나 이상의 정보 전송을 나타내는 블록은 동일한 물리 디바이스에서 소프트웨어 및/또는 하드웨어 모듈들 사이의 정보 전송들에 대응할 수 있다. 그러나, 상이한 물리 디바이스들에서 소프트웨어 모듈들 및/또는 하드웨어 모듈들 사이에 다른 정보 전송들이 이루어질 수 있다.
도면들에 도시된 특정 배열들은 제한하는 것으로서 간주되어서는 안 된다. 다른 실시예들은 주어진 도면에 도시된 각각의 요소를 더 많이 또는 더 적게 포함할 수 있다는 점이 이해되어야 한다. 또한, 예시된 요소들 중 일부는 결합되거나 생략될 수 있다. 또한, 예시적인 실시예는 도면들에 예시되지 않은 요소들을 포함할 수 있다.
다양한 양태들 및 실시예들이 본 명세서에 개시되었지만, 다른 양태들 및 실시예들이 본 기술분야의 통상의 기술자에게 명백할 것이다. 본 명세서에 개시된 다양한 양태들 및 실시예들은 예시를 위한 것이며, 제한하는 것으로 의도되지는 않고, 실제 범위는 다음의 청구항들에 의해 표시된다.

Claims (20)

  1. 방법으로서,
    복수의 가능한 물체 측정치(possible object measurements)에 기초하여, 로봇 조작기의 엔드 이펙터로 물체를 이동시키기 위한 복수의 가능한 궤적을 결정하는 단계;
    상기 로봇 조작기가 상기 엔드 이펙터로 상기 물체를 픽업하게 하는 단계;
    상기 로봇 조작기가 상기 엔드 이펙터로 상기 물체를 픽업하게 한 이후에, 상기 물체의 하나 이상의 측정치를 나타내는 센서 데이터를 하나 이상의 센서로부터 수신하는 단계;
    상기 수신된 센서 데이터에 기초하여, 상기 복수의 가능한 궤적으로부터, 상기 물체를 이동시키기 위한 궤적을 선택하는 단계; 및
    상기 로봇 조작기가 상기 선택된 궤적을 통해 상기 물체를 이동시키게 하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 센서는 상기 로봇 조작기 상에 장착된 적어도 하나의 깊이 센서, 및 상기 물체의 환경 내의 고정된 위치에 장착된 적어도 하나의 깊이 센서를 포함하는 방법.
  3. 제1항에 있어서,
    상기 로봇 조작기가 하나 이상의 깊이 센서의 앞에 상기 물체의 하나 이상의 디멘젼(dimensions)을 이동시키게 하는 단계; 및
    상기 하나 이상의 디멘젼에서 상기 물체의 깊이를 나타내는 센서 데이터를 상기 하나 이상의 깊이 센서로부터 수신하는 단계
    를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 하나 이상의 센서는 상기 로봇 조작기 상에 장착된 삼각측량 깊이 센서(triangulation depth sensor)를 포함하고, 상기 삼각측량 깊이 센서는 하나 이상의 디멘젼에서 상기 물체의 깊이를 검출하기 위해 오프셋 카메라 및 레이저 빔을 포함하는 방법.
  5. 제1항에 있어서,
    상기 로봇 조작기의 상기 엔드 이펙터는 그리퍼를 포함하고, 상기 하나 이상의 센서는 상기 로봇 조작기 상에서 상기 그리퍼 위에 위치된 힘-토크 센서를 포함하는 방법.
  6. 제5항에 있어서,
    상기 물체의 질량, 상기 물체의 중력 중심(center of gravity) 및 상기 물체의 관성 매트릭스(inertia matrix) 중 적어도 하나를 나타내는 센서 데이터를 상기 힘-토크 센서로부터 수신하는 단계를 더 포함하는 방법.
  7. 제5항에 있어서,
    상기 로봇 조작기로 하여금 인접 표면과 접촉하는 상기 물체의 에지를 중심으로 상기 물체를 피봇하게 하는 단계;
    상기 로봇 조작기로 하여금 상기 물체를 피봇하게 하는 동안에, 상기 힘-토크 센서로부터의 센서 데이터를 이용하여, 상기 로봇 조작기로 하여금 상기 물체의 에지와 상기 인접 표면 사이의 접촉을 유지하는 궤적을 따르게 하는 단계; 및
    상기 로봇 조작기가 따르는 궤적에 기초하여, 상기 물체의 에지로부터의 상기 물체의 깊이를 결정하는 단계
    를 더 포함하는 방법.
  8. 제1항에 있어서,
    상기 복수의 궤적은 복수의 목적지에 이르고,
    상기 방법은, 상기 수신된 센서 데이터에 기초하여 상기 복수의 목적지로부터 상기 물체에 대한 목적지를 선택하는 단계를 더 포함하는 방법.
  9. 제1항에 있어서,
    하나 이상의 물체 특성에 대한 가능한 물체 측정치들의 별개의 범위들에 대응하도록 상기 복수의 궤적을 결정하는 단계; 및
    상기 하나 이상의 물체 특성에 대한 가능한 물체 측정치들의 어느 범위가 상기 물체의 상기 하나 이상의 측정치를 포함하는지를 식별함으로써, 상기 복수의 궤적으로부터 상기 궤적을 선택하는 단계
    를 더 포함하는 방법.
  10. 제1항에 있어서,
    상기 센서 데이터가 수신되었을 추정된 시작 시간을 결정하는 단계; 및
    상기 추정된 시작 시간에 시작하도록 상기 복수의 궤적을 결정하는 단계
    를 더 포함하는 방법.
  11. 시스템으로서,
    로봇 조작기;
    적어도 하나의 센서; 및
    제어 시스템
    을 포함하고,
    상기 제어 시스템은,
    복수의 가능한 물체 측정치에 기초하여, 상기 로봇 조작기의 엔드 이펙터로 물체를 이동시키기 위한 복수의 가능한 궤적을 결정하고;
    상기 로봇 조작기가 상기 엔드 이펙터로 상기 물체를 픽업하게 하고;
    상기 로봇 조작기가 상기 엔드 이펙터로 상기 물체를 픽업하게 한 이후에, 상기 물체의 하나 이상의 측정치를 나타내는 센서 데이터를 상기 적어도 하나의 센서로부터 수신하고;
    상기 수신된 센서 데이터에 기초하여, 상기 복수의 가능한 궤적으로부터, 상기 물체를 이동시키기 위한 궤적을 선택하고;
    상기 로봇 조작기가 상기 선택된 궤적을 통해 상기 물체를 이동시키게 하도록
    구성되는 시스템.
  12. 제11항에 있어서,
    상기 적어도 하나의 센서는 상기 로봇 조작기 상에 장착된 적어도 하나의 깊이 센서, 및 상기 물체의 환경 내의 고정된 위치에 장착된 적어도 하나의 깊이 센서를 포함하는 시스템.
  13. 제11항에 있어서,
    상기 적어도 하나의 센서는 상기 로봇 조작기 상에 장착된 삼각측량 깊이 센서를 포함하고, 상기 삼각측량 깊이 센서는 하나 이상의 디멘젼에서 상기 물체의 깊이를 검출하기 위해 오프셋 카메라 및 레이저 빔을 포함하는 시스템.
  14. 제11항에 있어서,
    상기 로봇 조작기의 상기 엔드 이펙터는 그리퍼를 포함하고, 상기 적어도 하나의 센서는, 상기 물체의 질량, 상기 물체의 중력 중심 및 상기 물체의 관성 매트릭스 중 적어도 하나를 결정하기 위해 상기 로봇 조작기 상에서 상기 그리퍼 위에 위치된 힘-토크 센서를 포함하는 시스템.
  15. 제11항에 있어서,
    상기 제어 시스템은,
    하나 이상의 물체 특성에 대한 가능한 물체 측정치들의 별개의 범위들에 대응하도록 상기 복수의 궤적을 결정하고;
    상기 하나 이상의 물체 특성에 대한 가능한 물체 측정치들의 어느 범위가 상기 물체의 상기 하나 이상의 측정치를 포함하는지를 식별함으로써, 상기 복수의 궤적으로부터 상기 궤적을 선택하도록
    추가로 구성되는 시스템.
  16. 명령어들이 저장되어 있는 비일시적인 컴퓨터 판독가능 매체로서,
    상기 명령어들은, 컴퓨팅 시스템에 의해 실행될 때, 상기 컴퓨팅 시스템으로 하여금 기능들을 수행하게 하고,
    상기 기능들은,
    복수의 가능한 물체 측정치에 기초하여, 로봇 조작기의 엔드 이펙터로 물체를 이동시키기 위한 복수의 가능한 궤적을 결정하는 것;
    상기 로봇 조작기가 상기 엔드 이펙터로 상기 물체를 픽업하게 하는 것;
    상기 로봇 조작기가 상기 엔드 이펙터로 상기 물체를 픽업하게 한 이후에, 상기 물체의 하나 이상의 측정치를 나타내는 센서 데이터를 하나 이상의 센서로부터 수신하는 것;
    상기 수신된 센서 데이터에 기초하여, 상기 복수의 가능한 궤적으로부터, 상기 물체를 이동시키기 위한 궤적을 선택하는 것; 및
    상기 로봇 조작기가 상기 선택된 궤적을 통해 상기 물체를 이동시키게 하는 것
    을 포함하는 비일시적인 컴퓨터 판독가능 매체.
  17. 제16항에 있어서,
    상기 하나 이상의 센서는 상기 로봇 조작기 상에 장착된 적어도 하나의 깊이 센서, 및 상기 물체의 환경 내의 고정된 위치에 장착된 적어도 하나의 깊이 센서를 포함하는 비일시적인 컴퓨터 판독가능 매체.
  18. 제16항에 있어서,
    상기 하나 이상의 센서는 상기 로봇 조작기 상에 장착된 삼각측량 깊이 센서를 포함하고, 상기 삼각측량 깊이 센서는 하나 이상의 디멘젼에서 상기 물체의 깊이를 검출하기 위해 오프셋 카메라 및 레이저 빔을 포함하는 비일시적인 컴퓨터 판독가능 매체.
  19. 제16항에 있어서,
    상기 하나 이상의 센서는 상기 로봇 조작기 상에 장착된 힘-토크 센서를 포함하는 비일시적인 컴퓨터 판독가능 매체.
  20. 제16항에 있어서,
    컴퓨팅 시스템에 의해 실행될 때, 상기 컴퓨팅 시스템으로 하여금,
    상기 센서 데이터가 수신되었을 추정된 시작 시간을 결정하는 것; 및
    상기 추정된 시작 시간에 시작하도록 상기 복수의 궤적을 결정하는 것
    을 포함하는 기능들을 수행하게 하는 명령어들을 더 포함하는 비일시적인 컴퓨터 판독가능 매체.
KR1020167036709A 2014-07-16 2015-07-14 궤적 계획을 위한 물체 메트릭들의 실시간 결정 KR101902678B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/333,258 2014-07-16
US14/333,258 US9272417B2 (en) 2014-07-16 2014-07-16 Real-time determination of object metrics for trajectory planning
PCT/US2015/040281 WO2016060716A2 (en) 2014-07-16 2015-07-14 Real-time determination of object metrics for trajectory planning

Publications (2)

Publication Number Publication Date
KR20170012455A true KR20170012455A (ko) 2017-02-02
KR101902678B1 KR101902678B1 (ko) 2018-09-28

Family

ID=55073835

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167036709A KR101902678B1 (ko) 2014-07-16 2015-07-14 궤적 계획을 위한 물체 메트릭들의 실시간 결정

Country Status (6)

Country Link
US (2) US9272417B2 (ko)
EP (2) EP3854535A1 (ko)
JP (1) JP2017520418A (ko)
KR (1) KR101902678B1 (ko)
CN (1) CN106660207A (ko)
WO (1) WO2016060716A2 (ko)

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014069251A (ja) * 2012-09-28 2014-04-21 Dainippon Screen Mfg Co Ltd 作業部制御装置、作業ロボット、作業部制御方法、および作業部制御プログラム
US9238304B1 (en) * 2013-03-15 2016-01-19 Industrial Perception, Inc. Continuous updating of plan for robotic object manipulation based on received sensor data
EP2952303B1 (de) * 2014-06-05 2017-10-11 J. Schmalz GmbH Verfahren zur handhabung von flexiblen mattenartigen werkstücken
US9283678B2 (en) * 2014-07-16 2016-03-15 Google Inc. Virtual safety cages for robotic devices
US9938092B2 (en) * 2014-10-03 2018-04-10 Wynright Corporation Perception-based robotic manipulation system and method for automated truck unloader that unloads/unpacks product from trailers and containers
US9597801B2 (en) * 2014-10-21 2017-03-21 Centurylink Intellectual Property Llc Automated data center
US9789609B2 (en) * 2015-02-25 2017-10-17 The Boeing Company Substantially simultaneous manufacturing functions
DE102015114393A1 (de) * 2015-08-28 2017-03-02 SSI Schäfer Noell GmbH Lager- und Systemtechnik Lager- und Kommissioniersystem
DE102015118918B3 (de) * 2015-11-04 2017-05-04 Haddadin Beteiligungs UG (haftungsbeschränkt) Roboter mit Ansteuerung zur diskretisierten manuellen Eingabe von Positionen und/oder Posen
DE102015014485A1 (de) * 2015-11-10 2017-05-24 Kuka Roboter Gmbh Kalibrieren eines Systems mit einem Fördermittel und wenigstens einem Roboter
US10268188B2 (en) * 2015-12-02 2019-04-23 Qualcomm Incorporated Active camera movement determination for object position and extent in three-dimensional space
US9487357B1 (en) * 2015-12-04 2016-11-08 Genco Method and apparatus for picking products
US9902071B2 (en) * 2015-12-18 2018-02-27 General Electric Company Control system and method for brake bleeding
US9937625B2 (en) * 2015-12-29 2018-04-10 The Boeing Company Self-locating robots
US10296675B2 (en) 2015-12-30 2019-05-21 Abb Schweiz Ag System and method for determining dynamic motion data in robot trajectory
EP3449456A1 (en) 2016-04-26 2019-03-06 Ocado Innovation Limited Method of improving visual recognition of an item and item display system
US9821458B1 (en) * 2016-05-10 2017-11-21 X Development Llc Trajectory planning with droppable objects
US9880561B2 (en) 2016-06-09 2018-01-30 X Development Llc Sensor trajectory planning for a vehicle
EP3484668B1 (en) * 2016-07-14 2023-06-07 Intelligrated Headquarters, LLC Autonomous controls for a robotic carton unloader
US10065811B2 (en) 2016-07-14 2018-09-04 Intelligrated Headquarters, Llc Robotic carton unloader with integral extraction mechanism
CN109791614B (zh) * 2016-07-15 2023-08-18 麦格纳国际公司 用于制造业用的适应性箱子拾取的系统和方法
CN109983433A (zh) 2016-07-18 2019-07-05 L·奥德纳 评价机器人抓取
US10220511B2 (en) * 2016-07-28 2019-03-05 X Development Llc Customized robotic installation based on measurements collected on site
JP7009051B2 (ja) * 2016-08-04 2022-01-25 キヤノン株式会社 レイアウト設定方法、制御プログラム、記録媒体、制御装置、部品の製造方法、ロボットシステム、ロボット制御装置、情報処理方法、情報処理装置
JP6692247B2 (ja) * 2016-08-04 2020-05-13 株式会社東芝 物品保持装置および物品保持方法
JP2018034242A (ja) * 2016-08-31 2018-03-08 セイコーエプソン株式会社 ロボット制御装置、ロボット、及びロボットシステム
US20180057284A1 (en) * 2016-08-31 2018-03-01 Siemens Industry, Inc. Computer Optimized Mixed Parcel Loading Equipment
US10227176B2 (en) * 2016-09-05 2019-03-12 Kabushiki Kaisha Toshiba Picking apparatus
US11188821B1 (en) * 2016-09-15 2021-11-30 X Development Llc Control policies for collective robot learning
US10960539B1 (en) * 2016-09-15 2021-03-30 X Development Llc Control policies for robotic agents
JP6514171B2 (ja) * 2016-09-27 2019-05-15 ファナック株式会社 最適な物品把持経路を学習する機械学習装置、及び機械学習方法
JP6534126B2 (ja) * 2016-11-22 2019-06-26 パナソニックIpマネジメント株式会社 ピッキングシステム及びその制御方法
JP6438450B2 (ja) 2016-11-29 2018-12-12 ファナック株式会社 レーザ加工ロボットの加工順序を学習する機械学習装置、ロボットシステムおよび機械学習方法
US20180348742A1 (en) * 2017-06-01 2018-12-06 X Development Llc Planning and Adapting Projects Based on a Buildability Analysis
CN109129389A (zh) * 2017-06-27 2019-01-04 京东方科技集团股份有限公司 一种机器人及其拼接方法、机器人拼接系统
CN110869174B (zh) * 2017-07-10 2023-12-05 海别得公司 用于生成材料处理机器人工具路径的计算机实现的方法和系统
US11065761B2 (en) * 2017-07-25 2021-07-20 Dematic Corp. Robotic picking training technique
TWI650626B (zh) * 2017-08-15 2019-02-11 由田新技股份有限公司 基於三維影像之機械手臂加工方法及系統
CN111094136B (zh) 2017-09-20 2022-10-28 麦格纳国际公司 用于制造业用的适应性箱子拾取的系统和方法
US10958895B1 (en) * 2017-10-04 2021-03-23 Amazon Technologies, Inc. High speed automated capture of 3D models of packaged items
WO2019081812A1 (en) * 2017-10-23 2019-05-02 Leanel Oy MOBILE PRODUCTION SYSTEM AND METHOD FOR IMPLEMENTING A MOBILE PRODUCTION SYSTEM
US11465840B2 (en) * 2017-11-14 2022-10-11 Hai Robotics Co., Ltd. Handling robot
US11396424B2 (en) * 2017-11-14 2022-07-26 Hai Robotics Co., Ltd. Handling robot
US20220371821A1 (en) * 2017-11-14 2022-11-24 Hai Robotics Co., Ltd. Handling robot
US10792809B2 (en) * 2017-12-12 2020-10-06 X Development Llc Robot grip detection using non-contact sensors
JP2019111615A (ja) * 2017-12-22 2019-07-11 株式会社東芝 物品把持装置、物品把持システム
US10676022B2 (en) 2017-12-27 2020-06-09 X Development Llc Visually indicating vehicle caution regions
US10902377B2 (en) * 2018-01-24 2021-01-26 Amazon Technologies, Inc. Robotic item handling using a variable area manipulator
US11458626B2 (en) * 2018-02-05 2022-10-04 Canon Kabushiki Kaisha Trajectory generating method, and trajectory generating apparatus
WO2019165561A1 (en) * 2018-03-01 2019-09-06 The Governing Council Of The University Of Toronto Method of calibrating a mobile manipulator
AT521112A1 (de) 2018-03-09 2019-10-15 Tgw Logistics Group Gmbh Robotersystem zum Greifen einer Ware in einem Lager- und Kommissioniersystem und Betriebsverfahren hierfür
JP2019155542A (ja) * 2018-03-14 2019-09-19 株式会社東芝 搬送装置、搬送システム、コントローラ、および搬送方法
JP2019155549A (ja) * 2018-03-14 2019-09-19 株式会社東芝 ピッキングシステムおよびロボットアームのエンドエフェクタ
US10884422B2 (en) * 2018-04-16 2021-01-05 Baidu Usa Llc Method for generating trajectories for autonomous driving vehicles (ADVS)
SE543130C2 (en) 2018-04-22 2020-10-13 Zenrobotics Oy A waste sorting robot gripper
US10759051B2 (en) * 2018-04-23 2020-09-01 General Electric Company Architecture and methods for robotic mobile manipulation system
CN108621157A (zh) * 2018-04-27 2018-10-09 上海师范大学 基于模型约束的机械臂能量最优轨迹规划控制方法及装置
US10967507B2 (en) * 2018-05-02 2021-04-06 X Development Llc Positioning a robot sensor for object classification
SE544741C2 (en) 2018-05-11 2022-11-01 Genie Ind Bv Waste Sorting Gantry Robot and associated method
US11148295B2 (en) * 2018-06-17 2021-10-19 Robotics Materials, Inc. Systems, devices, components, and methods for a compact robotic gripper with palm-mounted sensing, grasping, and computing devices and components
EP3587042A1 (en) 2018-06-25 2020-01-01 Siemens Aktiengesellschaft Method, apparatus and system for determining a trajectory of a robot's end effector
US11407111B2 (en) 2018-06-27 2022-08-09 Abb Schweiz Ag Method and system to generate a 3D model for a robot scene
US11427405B1 (en) * 2018-07-13 2022-08-30 Vecna Robotics, Inc. System and method of retrieving containers in a hybrid environment
WO2020036877A1 (en) 2018-08-13 2020-02-20 Boston Dynamics, Inc. Manipulating boxes using a zoned gripper
US10961052B2 (en) * 2018-09-06 2021-03-30 Chaldal, Inc. Automated warehouse
JP6833777B2 (ja) * 2018-09-10 2021-02-24 株式会社東芝 物体ハンドリング装置及びプログラム
AT521384B1 (de) * 2018-09-20 2020-01-15 Trumpf Maschinen Austria Gmbh & Co Kg Automatisierter Vakuumgreifer und Verfahren zum sicheren Greifen von Bauteilen
WO2020092367A1 (en) 2018-10-29 2020-05-07 Brain Corporation Systems, apparatuses, and methods for dynamic filtering of high intensity broadband electromagnetic waves from image data from a sensor coupled to a robot
WO2020091846A1 (en) * 2018-10-30 2020-05-07 Mujin, Inc. Automated package registration systems, devices, and methods
CN110405810B (zh) * 2018-10-30 2021-05-04 牧今科技 自动包裹配准系统、装置和方法
US10369701B1 (en) * 2018-10-30 2019-08-06 Mujin, Inc. Automated package registration systems, devices, and methods
JP7094210B2 (ja) * 2018-11-29 2022-07-01 株式会社安川電機 特性推定システム、特性推定方法、及びプログラム
US11198227B2 (en) * 2018-12-04 2021-12-14 Raytheon Company Adjustable ballast system and method for same
US11027435B2 (en) 2018-12-04 2021-06-08 Raytheon Company Automated work piece testing system and method for same
CN109648557B (zh) * 2018-12-21 2021-11-02 上海信耀电子有限公司 一种六轴机器人空间运动规划方法
US11667039B2 (en) 2019-01-31 2023-06-06 Toyota Research Institute, Inc. Systems and methods for estimating shape, contact forces, and pose of objects manipulated by robots having compliant contact and geometry sensors
KR20210135528A (ko) * 2019-02-22 2021-11-15 덱스테러티, 인크. 비강성 패키지에서 연성 제품의 로봇 취급
US10549928B1 (en) * 2019-02-22 2020-02-04 Dexterity, Inc. Robotic multi-item type palletizing and depalletizing
US11741566B2 (en) 2019-02-22 2023-08-29 Dexterity, Inc. Multicamera image processing
JP7175808B2 (ja) * 2019-03-18 2022-11-21 株式会社東芝 ハンドリングシステムおよびロボット管理システム
JP7136729B2 (ja) * 2019-03-20 2022-09-13 ファナック株式会社 ロボットを用いて負荷の重量及び重心位置を推定するための装置、方法、プログラム、制御装置及びロボットシステム
US11312581B2 (en) * 2019-04-16 2022-04-26 Abb Schweiz Ag Object grasp system and method
US10766141B1 (en) * 2019-05-09 2020-09-08 Mujin, Inc. Robotic system with a coordinated transfer mechanism
US11345030B2 (en) * 2019-05-28 2022-05-31 Intel Corporation Methods and apparatus for complex assembly via autonomous robots using reinforcement learning action primitives
US20220244735A1 (en) * 2019-05-30 2022-08-04 Advanced Intelligent Systems Inc. Method for transportation of multiple articles using a mobile robot
US10647528B1 (en) 2019-05-31 2020-05-12 Mujin, Inc. Robotic system for palletizing packages using real-time placement simulation
US10696494B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system for processing packages arriving out of sequence
US11077554B2 (en) 2019-05-31 2021-08-03 Mujin, Inc. Controller and control method for robotic system
US10696493B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system with packing mechanism
US10618172B1 (en) 2019-05-31 2020-04-14 Mujin, Inc. Robotic system with error detection and dynamic packing mechanism
US10679379B1 (en) 2019-05-31 2020-06-09 Mujin, Inc. Robotic system with dynamic packing mechanism
CN110202575B (zh) * 2019-06-05 2022-07-19 武汉工程大学 一种用于工业测量的机器人目标轨迹精度补偿方法
JP7207207B2 (ja) 2019-07-09 2023-01-18 トヨタ自動車株式会社 演算装置、機械学習方法及び制御プログラム
US10565737B1 (en) 2019-07-09 2020-02-18 Mujin, Inc. Method and system for performing automatic camera calibration for a scanning system
US11345029B2 (en) 2019-08-21 2022-05-31 Mujin, Inc. Robotic multi-gripper assemblies and methods for gripping and holding objects
CN112405570A (zh) 2019-08-21 2021-02-26 牧今科技 用于夹持和保持物体的机器人多夹持器组件和方法
WO2021097166A1 (en) * 2019-11-15 2021-05-20 Massachusetts Institute Of Technology Tactile dexterity and control
EP4013573A1 (en) 2019-11-19 2022-06-22 Google LLC Optimization of motion paths of a robot using vision data
WO2021118702A1 (en) * 2019-12-12 2021-06-17 Mujin, Inc. Method and computing system for performing motion planning based on image information generated by a camera
US11919170B2 (en) * 2019-12-13 2024-03-05 Edda Technology, Inc. Fast method for robot path planning with obstacle avoidance
US20210187746A1 (en) * 2019-12-23 2021-06-24 X Development Llc Task planning accounting for occlusion of sensor observations
CN111112108B (zh) * 2019-12-30 2022-05-13 上海交通大学 一种船体板材切割零件分拣装备及方法
US11511419B2 (en) 2020-05-01 2022-11-29 Intrinsic Innovation Llc Task planning for measurement variances
TWI739536B (zh) * 2020-07-31 2021-09-11 創璟應用整合有限公司 即時校正夾持座標之機械手臂系統
EP3950232B1 (en) * 2020-08-04 2022-11-02 Bayerische Motoren Werke Aktiengesellschaft Method for testing a container being capable to store at least one vehicle component
CN112291390B (zh) * 2020-10-28 2022-05-06 Oppo广东移动通信有限公司 显示装置的装配方法、装配装置以及存储介质
WO2022119167A1 (ko) * 2020-12-03 2022-06-09 삼성전자주식회사 매니퓰레이터 및 그 제어 방법
CN113043277B (zh) * 2021-04-01 2022-06-07 中联重科股份有限公司 多关节机构轨迹规划方法、装置、电子设备及存储介质
US20220362936A1 (en) * 2021-05-14 2022-11-17 Intelligrated Headquarters, Llc Object height detection for palletizing and depalletizing operations
US20220388171A1 (en) * 2021-06-03 2022-12-08 Intrinsic Innovation Llc Robotic workspace introspection via force feedback
US20220402135A1 (en) * 2021-06-21 2022-12-22 X Development Llc Safety trajectories for robotic control systems
US11872704B2 (en) * 2021-11-19 2024-01-16 Fanuc Corporation Dynamic motion planning system
CN114275236B (zh) * 2022-01-13 2023-02-28 上海柠喆机械科技有限公司 一种控制搬运盛装近似圆形或椭圆形产品的托盘的装置的方法
EP4227044A1 (en) * 2022-02-10 2023-08-16 Kabushiki Kaisha Yaskawa Denki Robot system and control method
US20240025043A1 (en) * 2022-07-21 2024-01-25 Intelligrated Headquarters, Llc Methods, systems, and computer program products for reachability constraint manipulation for height thresholded scenarios in robotic depalletization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004009459A (ja) * 2002-06-05 2004-01-15 Akasaka Printing Co Ltd 糊付け装置
JP2006341372A (ja) * 2006-08-25 2006-12-21 Yaskawa Electric Corp ロボットの制御方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325468A (en) * 1990-10-31 1994-06-28 Sanyo Electric Co., Ltd. Operation planning system for robot
JP3041404B2 (ja) * 1990-11-16 2000-05-15 セイコーインスツルメンツ株式会社 オートサンプリング機構
US5789890A (en) * 1996-03-22 1998-08-04 Genmark Automation Robot having multiple degrees of freedom
JP2001239489A (ja) * 2000-02-29 2001-09-04 Murata Mach Ltd マグネットピッキング装置
JP2006110702A (ja) * 2004-10-18 2006-04-27 Fanuc Ltd 学習制御機能を備えたロボット及びロボットの制御方法
JP4056080B2 (ja) 2006-01-13 2008-03-05 松下電器産業株式会社 ロボットアームの制御装置
JP4087874B2 (ja) * 2006-02-01 2008-05-21 ファナック株式会社 ワーク取り出し装置
JP2008049459A (ja) * 2006-08-28 2008-03-06 Toshiba Corp マニピュレータ制御システム、マニピュレータ制御方法およびプログラム
CA2712607A1 (en) 2008-01-25 2009-07-30 Mcmaster University Surgical guidance utilizing tissue feedback
US20090306825A1 (en) * 2008-04-21 2009-12-10 Ying Li Manipulation system and method
CN104308849B (zh) 2009-05-22 2016-06-01 丰田自动车东日本株式会社 作业辅助机器人系统
KR20110015765A (ko) * 2009-08-10 2011-02-17 삼성전자주식회사 로봇의 경로계획장치 및 그 방법
JP5528095B2 (ja) * 2009-12-22 2014-06-25 キヤノン株式会社 ロボットシステム、その制御装置及び方法
US8706298B2 (en) 2010-03-17 2014-04-22 Raytheon Company Temporal tracking robot control system
CN102294695A (zh) * 2010-06-25 2011-12-28 鸿富锦精密工业(深圳)有限公司 机器人标定方法及标定系统
JP5810582B2 (ja) * 2011-03-29 2015-11-11 セイコーエプソン株式会社 ロボットの制御方法、及びロボット
JP5447483B2 (ja) * 2011-10-04 2014-03-19 株式会社安川電機 ロボットシステムおよび被加工物の製造方法
JP5510841B2 (ja) * 2011-12-22 2014-06-04 株式会社安川電機 ロボットシステム及び仕分け済み物品の製造方法
JP5366031B2 (ja) * 2011-10-17 2013-12-11 株式会社安川電機 ロボット仕分けシステム、ロボット装置、及び仕分け済み物品の製造方法
US9486926B2 (en) * 2012-02-21 2016-11-08 Amazon Technologies, Inc. System and method for automatic picking of products in a materials handling facility
DE102012013031A1 (de) * 2012-06-29 2014-04-24 Liebherr-Verzahntechnik Gmbh Vorrichtung zum automatisierten Erfassen und Entnehmen von Werkstücken
DE102012012988A1 (de) 2012-06-29 2014-04-17 Liebherr-Verzahntechnik Gmbh Vorrichtung zur automatisierten Handhabung von Werkstücken
US9971339B2 (en) * 2012-09-26 2018-05-15 Apple Inc. Contact patch simulation
JP5642759B2 (ja) * 2012-10-31 2014-12-17 ファナック株式会社 物品取出装置及び物品取出方法
CN103600351A (zh) * 2013-11-11 2014-02-26 北京航空航天大学 一种基于六轴力-力矩传感器的六自由度机器人操作系统及其控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004009459A (ja) * 2002-06-05 2004-01-15 Akasaka Printing Co Ltd 糊付け装置
JP2006341372A (ja) * 2006-08-25 2006-12-21 Yaskawa Electric Corp ロボットの制御方法

Also Published As

Publication number Publication date
US9630316B2 (en) 2017-04-25
EP3169489B1 (en) 2021-07-07
US9272417B2 (en) 2016-03-01
EP3854535A1 (en) 2021-07-28
US20160016311A1 (en) 2016-01-21
EP3169489A2 (en) 2017-05-24
JP2017520418A (ja) 2017-07-27
US20160136808A1 (en) 2016-05-19
WO2016060716A2 (en) 2016-04-21
WO2016060716A3 (en) 2016-07-07
KR101902678B1 (ko) 2018-09-28
CN106660207A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
KR101902678B1 (ko) 궤적 계획을 위한 물체 메트릭들의 실시간 결정
US11383380B2 (en) Object pickup strategies for a robotic device
JP6738112B2 (ja) ロボットシステムの制御装置及び制御方法
US9659217B2 (en) Systems and methods for scale invariant 3D object detection leveraging processor architecture
JP6374993B2 (ja) 複数の吸着カップの制御
US9393693B1 (en) Methods and systems for determining and modeling admissible gripper forces for robotic devices
US9205562B1 (en) Integration of depth points into a height map
KR101772367B1 (ko) 스테레오와 구조화된 광 처리의 결합
US9457477B1 (en) Variable stiffness suction gripper
US9688489B1 (en) Modular dock for facilities integration
JP6697204B1 (ja) ロボットシステムの制御方法、非一過性のコンピュータ読取可能な記録媒体及びロボットシステムの制御装置
JP7398662B2 (ja) ロボット多面グリッパアセンブリ及びその操作方法

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
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