KR20220106091A - 동적 패킹 메커니즘을 구비한 로봇 시스템 - Google Patents

동적 패킹 메커니즘을 구비한 로봇 시스템 Download PDF

Info

Publication number
KR20220106091A
KR20220106091A KR1020220088338A KR20220088338A KR20220106091A KR 20220106091 A KR20220106091 A KR 20220106091A KR 1020220088338 A KR1020220088338 A KR 1020220088338A KR 20220088338 A KR20220088338 A KR 20220088338A KR 20220106091 A KR20220106091 A KR 20220106091A
Authority
KR
South Korea
Prior art keywords
location
placement
robotic system
discretized
target object
Prior art date
Application number
KR1020220088338A
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 KR20220106091A publication Critical patent/KR20220106091A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65BMACHINES, APPARATUS OR DEVICES FOR, OR METHODS OF, PACKAGING ARTICLES OR MATERIALS; UNPACKING
    • B65B57/00Automatic control, checking, warning, or safety devices
    • B65B57/10Automatic control, checking, warning, or safety devices responsive to absence, presence, abnormal feed, or misplacement of articles or materials to be packaged
    • B65B57/14Automatic control, checking, warning, or safety devices responsive to absence, presence, abnormal feed, or misplacement of articles or materials to be packaged and operating to control, or stop, the feed of articles or material to be packaged
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65BMACHINES, APPARATUS OR DEVICES FOR, OR METHODS OF, PACKAGING ARTICLES OR MATERIALS; UNPACKING
    • B65B57/00Automatic control, checking, warning, or safety devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/137Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
    • B65G1/1373Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses
    • B65G1/1378Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses the orders being assembled on fixed commissioning areas remote from the storage areas
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G47/00Article or material-handling devices associated with conveyors; Methods employing such devices
    • B65G47/74Feeding, transfer, or discharging devices of particular kinds or types
    • B65G47/90Devices for picking-up and depositing articles or materials
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G57/00Stacking of articles
    • B65G57/02Stacking of articles by adding to the top of the stack
    • B65G57/03Stacking of articles by adding to the top of the stack from above
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G57/00Stacking of articles
    • B65G57/02Stacking of articles by adding to the top of the stack
    • B65G57/16Stacking of articles of particular shape
    • B65G57/20Stacking of articles of particular shape three-dimensional, e.g. cubiform, cylindrical
    • B65G57/22Stacking of articles of particular shape three-dimensional, e.g. cubiform, cylindrical in layers each of predetermined arrangement
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G61/00Use of pick-up or transfer devices or of manipulators for stacking or de-stacking articles not otherwise provided for
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • 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
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G2201/00Indexing codes relating to handling devices, e.g. conveyors, characterised by the type of product or load being conveyed or handled
    • B65G2201/02Articles
    • B65G2201/0267Pallets
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G2814/00Indexing codes relating to loading or unloading articles or bulk materials
    • B65G2814/03Loading or unloading means
    • B65G2814/0301General arrangements
    • B65G2814/0304Stacking devices
    • B65G2814/0305Adding to the top
    • 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/45048Packaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/32Image data format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Vacuum Packaging (AREA)
  • Stacking Of Articles And Auxiliary Devices (AREA)

Abstract

로봇 시스템을 작동시키기 위한 방법은 타깃 물체를 나타내는 이산화된 물체 모델을 결정하는 단계; 과업 위치를 나타내는 이산화된 플랫폼 모델을 결정하는 단계; 과업 위치를 나타내는 실시간 센서 데이터에 기초하여 높이 측정값을 결정하는 단계; 및 (1) 물체를 과업 위치에 적층하기 위해 이산화된 물체 모델과 이산화된 플랫폼 모델을 중첩하는 것 및 (2) 높이 측정값에 기초하여 중첩과 연관된 배치 스코어를 계산하는 것에 기초하여 배치 위치를 동적으로 도출하는 단계를 포함한다.

Description

동적 패킹 메커니즘을 구비한 로봇 시스템{A ROBOTIC SYSTEM WITH DYNAMIC PACKING MECHANISM}
관련 출원(들)에 대한 상호-참조
본 출원은 동시에 출원된 미국 특허 출원(발명자: Rosen N. Diankov 및 Denys Kanunikov, 발명의 명칭: "A ROBOTIC SYSTEM WITH PACKING MECHANISM")과 관련된 주제를 포함하고, 이는 무진사(Mujin, Inc.)에 양도되고, 대리인 문서 제131837-8005.US01호에 의해 식별되고, 전문이 참조에 의해 본 명세서에 원용된다.
본 출원은 동시에 출원된 미국 특허 출원(발명자: Rosen N. Diankov 및 Denys Kanunikov, 발명의 명칭: "A ROBOTIC SYSTEM WITH ERROR DETECTION AND DYNAMIC PACKING MECHANISM")과 관련된 주제를 포함하고, 이는 무진사에 양도되고, 대리인 문서 제131837-8007.US01호에 의해 식별되고, 전문이 참조에 의해 본 명세서에 원용된다.
본 출원은 동시에 출원된 미국 특허 출원(발명자: Rosen N. Diankov 및 Denys Kanunikov, 발명의 명칭: "ROBOTIC SYSTEM FOR PROCESSING PACKAGES ARRIVING OUT OF SEQUENCE")과 관련된 주제를 포함하고, 이는 무진사에 양도되고, 대리인 문서 제131837-8008.US01호에 의해 식별되고, 전문이 참조에 의해 본 명세서에 원용된다.
본 출원은 동시에 출원된 미국 특허 출원(발명자: Rosen N. Diankov 및 Denys Kanunikov, 발명의 명칭: "ROBOTIC SYSTEM FOR PALLETIZING PACKAGES USING REAL-TIME PLACEMENT SIMULATION")과 관련된 주제를 포함하고, 이는 무진사에 양도되고, 대리인 문서 제131837-8009.US01호에 의해 식별되고, 전문이 참조에 의해 본 명세서에 원용된다.
기술 분야
본 기술은 일반적으로 로봇 시스템, 더 구체적으로, 동적 계산에 기초하여 물체를 패킹(packing)하기 위한 시스템, 과정 및 기법에 관한 것이다.
성능이 계속해서 증가되고 비용이 낮춰짐에 따라, 많은 로봇(예를 들어, 물리적 행위를 자동으로/자율적으로 실행시키도록 구성된 기계)이 이제 많은 분야에서 광범위하게 사용된다. 로봇은 예를 들어, 제작 및/또는 조립, 패킹 및/또는 패키징, 수송 및/또는 배송 등에서 다양한 과업을 실행하도록(예를 들어, 물체를 공간을 통해 조작하거나 또는 이송하도록) 사용될 수 있다. 과업을 실행할 때, 로봇이 인간 행위를 복제할 수 있어서, 그렇지 않으면 위험하거나 반복적인 과업을 수행하도록 요구될 인간 수반을 교체하거나 또는 감소시킨다.
그러나, 기술적 진보에도 불구하고, 로봇은 종종 더 복잡한 과업을 실행하기 위해 필요한 인간 감성 및/또는 융통성을 복제하는데 필요한 정교화가 부족하다. 예를 들어, 로봇은 종종 다양한 현실 존재 인자로부터 발생할 수도 있는 편차, 오류 또는 불확실성을 설명하도록 실행된 행위에서 세분화된 제어 및 융통성이 부족하다. 따라서, 다양한 현실 존재 인자에도 불구하고 과업을 완료하도록 로봇의 다양한 양상을 제어하고 관리하기 위한 개선된 기법 및 시스템이 필요하다.
도 1은 동적 패킹 메커니즘을 구비한 로봇 시스템이 작동할 수도 있는 예시적인 환경의 도면.
도 2는 본 기술의 하나 이상의 실시형태에 따른, 로봇 시스템을 도시하는 블록도.
도 3A는 본 기술의 하나 이상의 실시형태에 따른, 이산화된 물체(discretized object)의 도면.
도 3B는 본 기술의 하나 이상의 실시형태에 따른, 이산화된 패킹 플랫폼의 도면.
도 4A는 본 기술의 하나 이상의 실시형태에 따른, 지원 계산의 도면.
도 4B는 본 기술의 하나 이상의 실시형태에 따른, 지원 메트릭의 도면.
도 5는 본 개시내용의 하나 이상의 실시형태에 따른, 로봇 시스템에 의해 실행된 예시적인 배치를 도시하는 평면도.
도 6A는 본 개시내용의 하나 이상의 실시형태에 따른, 제1 예시적인 방식을 도시하는 측면도.
도 6B는 본 개시내용의 하나 이상의 실시형태에 따른, 제2 예시적인 방식을 도시하는 측면도.
도 7은 본 개시내용의 하나 이상의 실시형태에 따른, 도 1의 로봇 시스템을 작동시키기 위한 흐름도.
물체(예를 들어, 패키지 및/또는 박스)를 동적으로 패킹하기 위한 시스템 및 방법이 본 명세서에 설명된다. 일부 실시형태에 따라 구성된 로봇 시스템(예를 들어, 하나 이상의 지정된 과업을 실행시키는 디바이스의 통합 시스템)은 물체에 대한 최적의 저장 위치를 동적으로 도출하고 물체를 이에 따라 적층함으로써 향상된 패킹 및 저장 효율을 제공한다.
종래의 시스템은 패킹 시퀀스/배열을 사전 결정하도록 오프라인 패킹 시뮬레이터를 사용한다. 종래의 패킹 시뮬레이터는 패킹 계획을 생성하도록 사전 결정된 또는 추정된 케이스의 세트에 대한 물체 정보(예를 들어, 케이스 형상/크기)를 처리한다. 일단 결정된다면, 패킹 계획은 목적지(예를 들어, 팔레트(pallet), 통, 케이지, 박스 등)에서 물체의 특정한 배치 위치(placement location)/자세, 배치를 위한 사전 획정된 시퀀스 및/또는 사전 결정된 이동 계획을 지시하고/하거나 요구한다. 사전 결정된 패킹 계획으로부터, 종래의 패킹 시뮬레이터는 패킹 계획과 매칭되거나 또는 패킹 계획을 가능하게 하는 소스 필요조건(예를 들어, 물체에 대한 시퀀스 및/또는 배치)을 도출할 수도 있다. 패킹 계획이 종래의 시스템에서 오프라인에서 개발되기 때문에, 계획은 실제 패킹 작동/조건, 물체 도착 및/또는 다른 시스템 구현과 관계없다. 따라서, 전체 작동/구현은 수신된 패키지(예를 들어, 시작/픽업 위치에서)가 사전 결정된 패킹 계획과 매칭되는 고정된 시퀀스를 따를 것을 요구할 것이다. 이와 같이, 종래의 시스템은 수신된 패키지 내 실시간 상태 및/또는 편차(예를 들어, 상이한 시퀀스, 위치 및/또는 방향), 예상치 못한 오류(예를 들어, 충돌 및/또는 분실된 피스), 실시간 패킹 필요조건(예를 들어, 수용된 순서) 및/또는 다른 실시간 인자에 대해 조정될 수 없다.
게다가, 종래의 시스템이 물체를 엄격한 사전 결정된 계획/시퀀스에 따라 분류하고 패킹하기 때문에, 종래의 시스템은 소스 위치에서의 모든 물체가 (1) 동일한 치수/유형을 갖고/갖거나 (2) 알려진 시퀀스에 따라 도착되길 요구한다. 예를 들어, 종래의 시스템은 물체가 고정된 시퀀스에 따라 픽업 위치에 (예를 들어, 컨베이어를 통해) 도착되길 요구할 것이다. 또한, 예를 들어, 종래의 시스템은 픽업 위치에서의 물체가 사전 결정된 자세에 따라 지정된 위치에 배치되길 요구할 것이다. 이와 같이, 종래의 시스템은 하나 이상의 작동이 물체를 사전 결정된 시퀀스/배열에 따라 소스에(즉, 패킹 작동 전에) 주문하고/하거나 배치하길 요구한다. 종종, 종래의 시스템은 백만달러 이상의 비용이 드는 시퀀스 버퍼가 물체를 사전 결정된 시퀀스/자세에 따라 소스에 주문하고/하거나 배치하길 요구한다.
종래의 시스템과 대조적으로, 본 명세서에 설명된 로봇 시스템은 시스템 작동 동안 물체의 배치 위치를 동적으로(예를 들어, 물체가 도착하거나 또는 식별될 때 그리고/또는 하나 이상의 작동, 예컨대, 실제 패킹 작동을 처음에 시작한 후) 도출할 수 있다. 일부 실시형태에서, 로봇 시스템은 트리거링 사건, 예컨대, 재평가 타이밍, 패킹/조작 오류(예를 들어, 충돌 사건 또는 분실된 피스 사건), 비인식된 물체(예를 들어, 소스에서 그리고/또는 목적지에서), 이미 배치된 패키지의 위치/방향의 변경 및/또는 다른 동적 조건의 발생에 기초하여 배치의 동적 도출을 개시/구현할 수 있다. 일부 실시형태에서, 배치 위치는 로봇 시스템이 도착한 물체에 대한, 예컨대, 이전에 알려지지 않은 물체를 수용하기 위한 그리고/또는 물체를 랜덤의/알려지지 않은 시퀀스로 수용하기 위한 사전 정보가 부족할 때 동적으로 도출될 수 있다. 배치 위치를 동적으로 도출할 때, 로봇 시스템은 예를 들어, 입수 가능한/도착한 물체, 물체 특성 및/또는 필요조건, 배치 필요조건 및/또는 다른 실시간 인자를 포함하는 다양한 실시간 상태(예를 들어, 현재 존재하는 또는 진행 중인 상태)를 활용할 수 있다.
로봇 시스템은 이산화 메커니즘(예를 들어, 과정, 회로, 함수 및/또는 루틴)에 기초하여 배치 위치를 도출할 수 있다. 예를 들어, 로봇 시스템은 이산화 단위(즉, 하나의 이산형 영역/공간)에 따라 물체의 물리적 크기/형상 및/또는 타깃 위치를 설명하도록 이산화 메커니즘을 사용할 수 있다. 로봇 시스템은 타깃 위치(예를 들어, 통/케이스/박스의 내부의 공간/하단면 및/또는 팔레트의 상단부 상의 표면)를 설명하는 이산화된 목적지 프로파일 및/또는 예상된 물체를 설명하도록 이산화 단위를 사용하는 이산화된 물체 프로파일을 생성할 수 있다. 따라서, 로봇 시스템은 연속적인 현실에 존재하는 공간/영역을 컴퓨터-판독 가능 디지털 정보로 변형시킬 수 있다. 게다가, 이산화된 데이터는 패키지 풋프린트를 설명하고 다양한 패키지 배치를 비교하기 위한 계산 복잡도의 감소를 허용할 수 있다. 예를 들어, 패키지 치수는 이산화 단위의 정수에 대응할 수 있고, 이는 현실에 존재하는 십진수 대신에 더 쉬운 수학적 계산을 발생시킨다.
일부 실시형태에서, 로봇 시스템은 물체 배치 가능성을 결정하도록 배치 플랫폼을 위한 이산화된 셀을 점검할 수 있다. 예를 들어, 로봇 시스템은 배치 플랫폼 상의 배치된 물체의 깊이 측정값 또는 높이를 사용할 수 있다. 로봇 시스템이 깊이 측정값을 결정할 수 있어서 이산화된 셀에서/이산화된 셀에 따라 높이를 결정한다. 로봇 시스템은 배치를 위해 타깃된 물체에 대응하는 이산화된 셀의 집단에 따라 깊이 측정값을 구할 수 있다. 로봇 시스템은 배치 가능성을 평가하기 위한 집단에서 최대 높이를 결정할 수 있다. 즉, 로봇 시스템은 테스트된 배치 위치가 충분한 지지를 제공하여 배치된 물체가 비교적 평평하게(예를 들어, 사전 결정된 문턱값 및/또는 조건에 따라) 배치될 수 있는지를 결정할 수 있다. 동적 배치 도출에 관한 상세사항은 아래에 설명된다.
따라서, 로봇 시스템은 실시간 상태에 기초하여 물체 배치를 동적으로 도출하기 위한 효율, 속도, 및 정확도를 개선할 수 있다. 예를 들어, 본 명세서에 설명된 시스템은 현실에 존재하는 상태가 예상된 상태와 연관된 불확실성 및/또는 예상된 상태로부터의 편차를 나타낼 때 배치 위치를 도출할 수 있다. 이와 같이, 로봇 시스템은 알려지지 않은 물체 및/또는 랜덤으로 도착하는(즉, 알려진/미리 결정된 시퀀스 없이) 물체를 수용할 수 있고 패킹할 수 있다.
게다가, 로봇 시스템은 하나 이상의 작동, 기계(예를 들어, 시퀀스 버퍼) 및/또는 물체를 소스에 그리고/또는 패킹 작동을 위해(예를 들어, 오류 처리를 위해) 주문하거나 배치하도록 종래의 시스템에서 필요한 인적 도움을 제거함으로써 전체 비용을 감소시킬 수 있다. 물체가 이용 가능하게 될 때(예를 들어, 물체 도착 및/또는 트리거링 사건에 기초하여) 배치 위치를 동적으로 도출함으로써, 로봇 시스템은 연관된 기계/인간 작동과 함께, 패키지를 재편성하거나 시퀀싱할 필요성을 제거한다.
다음의 설명에서, 수많은 특정한 상세사항은 현재 개시된 기술의 완전한 이해를 제공하도록 제시된다. 다른 실시형태에서, 본 명세서에 도입된 기법은 이 특정한 상세사항 없이 실행될 수 있다. 다른 경우에, 잘 알려진 특징, 예컨대, 특정한 함수 또는 루틴은 본 개시내용을 불필요하게 모호하게 하는 것을 방지하도록 상세히 설명되지 않는다. "실시형태", "하나의 실시형태" 등에 대한 이 설명의 참조는 설명되는 특정한 특징, 구조, 재료 또는 특성이 본 개시내용의 적어도 하나의 실시형태에 포함된다는 것을 의미한다. 따라서, 이 명세서에서 이러한 어구의 출현은 동일한 실시형태를 반드시 전부 나타내는 것은 아니다. 반면에, 이러한 참조는 또한 반드시 서로 배타적인 것은 아니다. 게다가, 특정한 특징, 구조, 재료 또는 특성은 하나 이상의 실시형태에서 임의의 적합한 방식으로 조합될 수 있다. 도면에 도시된 다양한 실시형태는 단지 예시적인 표현이고 반드시 축척대로 도시되는 것이 아님이 이해된다.
잘 알려져 있고 로봇 시스템 및 하위 시스템과 종종 연관되지만, 개시된 기법의 일부 상당한 양상을 불필요하게 모호하게 할 수 있는 구조 또는 과정을 설명하는 수개의 상세사항이 명료성을 위해 다음의 설명에서 제시되지 않는다. 게다가, 다음의 개시내용이 본 기술의 상이한 양상의 수개의 실시형태를 제시하지만, 수개의 다른 실시형태는 이 부문에서 설명된 것과 상이한 구성 또는 상이한 컴포넌트를 가질 수 있다. 따라서, 개시된 기법은 부가적인 구성요소를 갖거나 또는 아래에 설명된 수개의 구성요소를 갖지 않는 다른 실시형태를 가질 수 있다.
아래에 설명된 본 개시내용의 많은 실시형태 또는 양상은 프로그램 가능한 컴퓨터 또는 프로세서에 의해 실행되는 루틴을 포함하는, 컴퓨터- 또는 프로세서-실행 가능 명령어의 형태를 취할 수 있다. 당업자는 개시된 기법이 아래에 도시되고 설명된 것과 다른 컴퓨터 또는 프로세서 시스템에서 실행될 수 있다는 것을 이해할 것이다. 본 명세서에 설명된 기법은 아래에 설명된 컴퓨터-실행 가능 명령어 중 하나 이상을 실행하도록 특별히 프로그래밍되고, 구성되거나 또는 구축되는 특수-목적 컴퓨터 또는 데이터 프로세서에서 구현될 수 있다. 따라서, 일반적으로 본 명세서에서 사용될 때 용어 "컴퓨터" 및 "프로세서"는 임의의 데이터 프로세서를 나타내고 인터넷 기기 및 핸드헬드 디바이스(초소형 컴퓨터, 착용 컴퓨터, 셀룰러 또는 모바일 폰, 멀티-프로세서 시스템, 프로세서-기반 또는 프로그램 가능한 가전 제품, 네트워크 컴퓨터, 미니 컴퓨터 등을 포함함)를 포함할 수 있다. 이 컴퓨터 및 프로세서에 의해 처리되는 정보는 액정 디스플레이(liquid crystal display: LCD)를 포함한, 임의의 적합한 디스플레이 매체에 제공될 수 있다. 컴퓨터- 또는 프로세서-실행 가능 과업을 실행하기 위한 명령어는 하드웨어, 펌웨어, 또는 하드웨어와 펌웨어의 조합을 포함하는, 임의의 적합한 컴퓨터-판독 가능 매체에 저장될 수 있다. 명령어는 예를 들어, 플래시 드라이브 및/또는 다른 적합한 매체를 포함하는, 임의의 적합한 메모리 디바이스에 포함될 수 있다.
용어 "결합된" 및 "연결된"은 이들의 파생어와 함께, 컴포넌트 간의 구조적 관계를 설명하도록 본 명세서에서 사용될 수 있다. 이 용어는 서로에 대해 동의어로서 의도되지 않음이 이해되어야 한다. 오히려, 특정한 실시형태에서, "연결된"은 2개 이상의 구성요소가 서로 직접적으로 접촉하는 것을 나타내도록 사용될 수 있다. 달리 문맥에서 분명히 나타내지 않는 한, 용어 "결합된"은 2개 이상의 구성요소가 서로 직접적으로 또는 간접적으로(다른 개재 구성요소가 구성요소 사이에 있음) 접촉하거나, 또는 2개 이상의 구성요소가 서로 협력하거나 또는 상호작용하는 것(예를 들어, 원인과 결과 관계와 같이, 예컨대, 신호 전송/수신을 위해 또는 함수 호출을 위해), 또는 둘 다를 나타내도록 사용될 수 있다.
적합한 환경
도 1은 동적 패킹 메커니즘을 구비한 로봇 시스템(100)이 작동할 수도 있는 예시적인 환경의 도면이다. 로봇 시스템(100)은 하나 이상의 과업을 실행하도록 구성된 하나 이상의 장치(예를 들어, 로봇)를 포함할 수 있고/있거나 하나 이상의 장치와 통신할 수 있다. 동적 패킹 메커니즘의 양상은 다양한 장치에 의해 실행 또는 구현될 수 있다.
도 1에 예시된 실시예에 대해, 로봇 시스템(100)은 창고 또는 유통/배송 허브에서 언로딩 장치(102), 이송 장치(104)(예를 들어, 팔레트화 로봇 및/또는 피스-피커 로봇), 수송 장치(106), 로딩 장치(108), 또는 이들의 조합을 포함할 수 있다. 로봇 시스템(100)에서 장치의 각각은 하나 이상의 과업을 실행하도록 구성될 수 있다. 과업은 목적을 달성하는 작동을 수행하도록, 예컨대, 물체를 트럭 또는 밴으로부터 내리고 물체를 창고에 저장하거나 또는 물체를 저장 위치로부터 내려서 물체를 배송을 위해 준비하도록 시퀀스대로 결합될 수 있다. 일부 실시형태에서, 과업은 물체를 타깃 위치에(예를 들어, 팔레트의 상단부에 그리고/또는 통/케이지/박스/케이스의 내부에) 배치하는 것을 포함할 수 있다. 아래에 상세히 설명되는 바와 같이, 로봇 시스템(100)은 개별적인 배치 위치/방향을 도출할 수 있고, 대응하는 이동 계획, 또는 물체를 놓고/놓거나 적층하기 위한 이들의 조합을 계산할 수 있다. 장치의 각각은 행위(예를 들어, 하나 이상의 컴포넌트를 작동시킴)를 실행하여 과업을 실행하도록 구성될 수 있다.
일부 실시형태에서, 과업은 시작/소스 위치(114)로부터 과업/목적지 위치(116)로 타깃 물체(112)(예를 들어, 과업의 실행에 대응하는 패키지, 박스, 케이스, 케이지, 팔레트 등 중 하나)의 조작(예를 들어, 이동 및/또는 방향 변경)을 포함할 수 있다. 예를 들어, 언로딩 장치(102)(예를 들어, 디배닝 로봇(devanning robot))는 타깃 물체(112)를 캐리어(예를 들어, 트럭) 내 위치로부터 컨베이어 벨트 상의 위치로 이송하도록 구성될 수 있다. 또한, 이송 장치(104)는 타깃 물체(112)를 하나의 위치(예를 들어, 컨베이어 벨트, 팔레트, 또는 통)로부터 또 다른 위치(예를 들어, 팔레트, 통 등)로 이송하도록 구성될 수 있다. 또 다른 예를 들면, 이송 장치(104)(예를 들어, 팔레트화 로봇)는 타깃 물체(112)를 소스 위치(예를 들어, 팔레트, 픽업 영역 및/또는 컨베이어)로부터 목적지 팔레트로 이송하도록 구성될 수 있다. 작동을 완료할 때, 수송 장치(106)는 타깃 물체(112)를 이송 장치(104)와 연관된 영역으로부터 로딩 장치(108)와 연관된 영역으로 이송할 수 있고, 로딩 장치(108)는 타깃 물체(112)를 (예를 들어, 타깃 물체(112)를 나르는 팔레트를 이동시킴으로써) 이송 장치(104) 로부터 저장 위치(예를 들어, 선반 상의 위치)로 이송할 수 있다. 과업 및 연관된 행위에 관한 상세사항은 아래에 설명된다.
실례가 되는 목적을 위해, 로봇 시스템(100)이 배송 센터의 맥락에서 설명되지만; 로봇 시스템(100)이 다른 환경에서/다른 목적을 위해, 예컨대, 제작, 조립, 패키징, 의료 및/또는 자동화의 다른 유형을 위해 과업을 실행하도록 구성될 수 있다는 것이 이해된다. 로봇 시스템(100)이 도 1에 도시되지 않은, 다른 장치, 예컨대, 조작기, 서비스 로봇, 모듈식 로봇 등을 포함할 수 있다는 것이 또한 이해된다. 예를 들어, 일부 실시형태에서, 로봇 시스템(100)은 물체를 케이지 카트 또는 팔레트로부터 컨베이어 또는 다른 팔레트로 이송하기 위한 팔레트화 해제 장치, 물체를 하나의 컨테이너로부터 또 다른 컨테이너로 이송하기 위한 컨테이너-전환 장치, 물체를 감싸기 위한 패키징 장치, 물체의 하나 이상의 특성에 따라 물체를 분류하기 위한 분류 장치, 물체의 하나 이상의 특성에 따라 상이하게 물체를 조작(예를 들어, 구분, 분류 및/또는 이송)하기 위한 피스-피킹 장치, 또는 이들의 조합을 포함할 수 있다.
적합한 시스템
도 2는 본 기술의 하나 이상의 실시형태에 따른, 로봇 시스템(100)을 도시하는 블록도이다. 일부 실시형태에서, 예를 들어, 로봇 시스템(100)(예를 들어, 위에서 설명된 장치 및/또는 로봇 중 하나 이상에서)은 전자/전기 디바이스, 예컨대, 하나 이상의 프로세서(202), 하나 이상의 저장 디바이스(204), 하나 이상의 통신 디바이스(206), 하나 이상의 입력-출력 디바이스(208), 하나 이상의 구동 디바이스(212), 하나 이상의 수송 모터(214), 하나 이상의 센서(216), 또는 이들의 조합을 포함할 수 있다. 다양한 디바이스는 유선 연결 및/또는 무선 연결을 통해 서로 결합될 수 있다. 예를 들어, 로봇 시스템(100)은 버스, 예컨대, 시스템 버스, 주변 컴포넌트 상호연결(Peripheral Component Interconnect: PCI) 버스 또는 PCI-익스프레스 버스, 하이퍼트랜스포트(HyperTransport) 또는 산업 표준 아키텍처(industry standard architecture: ISA) 버스, 소형 컴퓨터 시스템 인터페이스(small computer system interface: SCSI) 버스, 범용 직렬 버스(universal serial bus: USB), IIC(I2C) 버스, 또는 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers: IEEE) 표준 1394 버스(또한 "파이어와이어(Firewire)"로서 지칭됨)를 포함할 수 있다. 또한, 예를 들어, 로봇 시스템(100)은 디바이스 간의 유선 연결을 제공하기 위한 브릿지, 어댑터, 프로세서, 또는 다른 신호-관련 디바이스를 포함할 수 있다. 무선 연결은 예를 들어, 셀룰러 통신 프로토콜(예를 들어, 3G, 4G, LTE, 5G 등), 무선 국부 영역 네트워크(local 영역 network: LAN) 프로토콜(예를 들어, 와이파이(wireless fidelity: Wi-Fi)), 피어-대-피어 또는 디바이스-대-디바이스 통신 프로토콜(예를 들어, 블루투스, 근거리 통신(Near-Field communication: NFC) 등), 사물 인터넷(Internet of Things: IoT) 프로토콜(예를 들어, NB-IoT, LTE-M 등) 및/또는 다른 무선 통신 프로토콜에 기초할 수 있다.
프로세서(202)는 저장 디바이스(204)(예를 들어, 컴퓨터 메모리)에 저장된 명령어(예를 들어, 소프트웨어 명령어)를 실행하도록 구성된 데이터 프로세서(예를 들어, 중앙 처리 장치(central processing unit: CPU), 특수-목적 컴퓨터 및/또는 온보드 서버)를 포함할 수 있다. 일부 실시형태에서, 프로세서(202)는 도 2에 예시된 다른 전자/전기 디바이스 및/또는 도 1에 예시된 로봇 장치에 작동 가능하게 결합되는 별개의/독립형 제어기에 포함될 수 있다. 프로세서(202)가 다른 디바이스를 제어하고/다른 디바이스와 인터페이스하도록 프로그램 명령어를 구현할 수 있어서, 로봇 시스템(100)이 행위, 과업 및/또는 작동을 실행하게 한다.
저장 디바이스(204)는 프로그램 명령어(예를 들어, 소프트웨어)가 저장된 비일시적 컴퓨터-판독 가능 매체를 포함할 수 있다. 저장 디바이스(204)의 일부 예는 휘발성 메모리(예를 들어, 캐시 및/또는 랜덤-액세스 메모리(random-access memory: RAM)) 및/또는 비휘발성 메모리(예를 들어, 플래시 메모리 및/또는 자기 디스크 드라이브)를 포함할 수 있다. 저장 디바이스(204)의 다른 예는 휴대용 메모리 및/또는 클라우드 저장 디바이스를 포함할 수 있다.
일부 실시형태에서, 저장 디바이스(204)는 액세스를 처리 결과 및/또는 사전 결정된 데이터/문턱값에 더 저장하고 제공하도록 사용될 수 있다. 예를 들어, 저장 디바이스(204)는 로봇 시스템(100)에 의해 조작될 수도 있는 물체(예를 들어, 박스, 케이스 및/또는 제품)의 설명을 포함하는 마스터 데이터(252)를 저장할 수 있다. 하나 이상의 실시형태에서, 마스터 데이터(252)는 치수, 형상(예를 들어, 상이한 자세의 물체를 인지하기 위한 컴퓨터-생성된 모델 및/또는 잠재적인 자세를 위한 템플릿), 색 배합, 이미지, 식별 정보(예를 들어, 바코드, 신속 응답(quick response: QR) 코드, 로고 등 및/또는 이들의 예상된 위치), 예상된 무게, 다른 물리적/시각적 특성, 또는 로봇 시스템(100)에 의해 조작되는 것으로 예상되는 물체에 대한 이들의 조합을 포함할 수 있다. 일부 실시형태에서, 마스터 데이터(252)는 물체에 관한 조작-관련된 정보, 예컨대, 물체의 각각의 질량 중심(center-of-mass: CoM) 위치, 하나 이상의 행위/조작에 대응하는 (예를 들어, 힘, 회전력, 압력 및/또는 접촉 측정에 대한) 예상된 센서 측정값, 또는 이들의 조합을 포함할 수 있다. 또한, 예를 들어, 저장 디바이스(204)는 물체 추적 데이터(254)를 저장할 수 있다. 일부 실시형태에서, 물체 추적 데이터(254)는 스캐닝된 또는 조작된 물체의 로그를 포함할 수 있다. 일부 실시형태에서, 물체 추적 데이터(254)는 하나 이상의 위치(예를 들어, 지정된 픽업 또는 드롭 위치 및/또는 컨베이어 벨트)에서 물체의 이미징 데이터(예를 들어, 사진, 포인트 클라우드, 라이브 비디오 피드 등)를 포함할 수 있다. 일부 실시형태에서, 물체 추적 데이터(254)는 하나 이상의 위치에서 물체의 위치 및/또는 방향을 포함할 수 있다.
통신 디바이스(206)는 네트워크를 통해 외부 또는 원격 디바이스와 통신하도록 구성된 회로를 포함할 수 있다. 예를 들어, 통신 디바이스(206)는 수신기, 전송기, 변조기/복조기(모뎀), 신호 검출기, 신호 인코더/디코더, 연결기 포트, 네트워크 카드 등을 포함할 수 있다. 통신 디바이스(206)는 하나 이상의 통신 프로토콜(예를 들어, 인터넷 프로토콜(Internet Protocol: IP), 무선 통신 프로토콜 등)에 따라 전기 신호를 전송, 수신 그리고/또는 처리하도록 구성될 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 정보를 로봇 시스템(100)의 장치 간에서 교환하고/하거나 정보(예를 들어, 보고, 데이터 수집, 분석 및/또는 고장 진단 목적을 위한)를 로봇 시스템(100)의 외부의 시스템 또는 디바이스와 교환하도록 통신 디바이스(206)를 사용할 수 있다.
입력-출력 디바이스(208)는 정보를 전달하고/하거나 정보를 인간 조작자로부터 수신하도록 구성된 사용자 인터페이스 디바이스를 포함할 수 있다. 예를 들어, 입력-출력 디바이스(208)는 정보를 인간 조작자에게 전달하기 위한 디스플레이(210) 및/또는 다른 출력 디바이스(예를 들어, 스피커, 촉각 회로 또는 촉각 피드백 디바이스 등)를 포함할 수 있다. 또한, 입력-출력 디바이스(208)는 제어 또는 수신 디바이스, 예컨대, 키보드, 마우스, 터치스크린, 마이크로폰, 사용자 인터페이스(UI) 센서(예를 들어, 이동 명령을 수신하기 위한 카메라), 착용 입력 디바이스 등을 포함할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 행위, 과업, 작동, 또는 이들의 조합을 실행할 때 인간 조작자와 상호작용하도록 입력-출력 디바이스(208)를 사용할 수 있다.
로봇 시스템(100)은 운동(예를 들어, 회전 및/또는 병진 변위)을 위한 이음부에서 연결되는 물리적 또는 구조적 부재(예를 들어, 로봇 조작기 암)를 포함할 수 있다. 구조적 부재 및 이음부는 로봇 시스템(100)의 사용/작동에 따라 하나 이상의 과업(예를 들어, 파지, 회전, 용접 등)을 실행하도록 구성된 엔드-이펙터(end-effector)(예를 들어, 그리퍼)를 조작하도록 구성된 운동 사슬을 형성할 수 있다. 로봇 시스템(100)은 대응하는 이음부 주변에서 또는 대응하는 이음부에서 구조적 부재를 구동 또는 조작(예를 들어, 변위 및/또는 방향 변경)하도록 구성된 구동 디바이스(212)(예를 들어, 모터, 액추에이터, 와이어, 인공 근육, 전기활성 폴리머 등)를 포함할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 대응하는 장치/섀시(chassis)를 하나의 장소로부터 다른 하나의 장소로 수송하도록 구성된 수송 모터(214)를 포함할 수 있다.
로봇 시스템(100)은 과업을 구현하도록, 예컨대, 구조적 부재를 조작하기 위해 그리고/또는 로봇 장치를 수송하기 위해 사용되는 정보를 획득하도록 구성된 센서(216)를 포함할 수 있다. 센서(216)는 로봇 시스템(100) 그리고/또는 주변 환경의 하나 이상의 물리적 특성(예를 들어, 하나 이상의 구조적 부재/부재의 이음부의 상태, 조건 및/또는 위치)을 검출 또는 측정하도록 구성된 디바이스를 포함할 수 있다. 센서(216)의 일부 예는 가속도계, 자이로스코프, 힘 센서, 변형계, 촉각 센서, 회전력 센서, 위치 인코더 등을 포함할 수 있다.
일부 실시형태에서, 예를 들어, 센서(216)는 주변 환경을 검출하도록 구성된 하나 이상의 이미징 디바이스(222)(예를 들어, 시각적 및/또는 적외선 카메라, 2차원(2D) 및/또는 3D 이미징 카메라, 거리 측정 디바이스, 예컨대, 라이다(lidar) 또는 레이더(radar) 등)를 포함할 수 있다. 이미징 디바이스(222)는 기계/컴퓨터 비전을 통해 (예를 들어, 자동 검사, 로봇 안내 또는 다른 로봇 적용을 위해) 처리될 수도 있는 디지털 이미지 및/또는 포인트 클라우드와 같은, 검출된 환경의 표현을 생성할 수 있다. 아래에 더 상세히 설명되는 바와 같이, 로봇 시스템(100)은 (예를 들어, 프로세서(202)를 통해) 도 1의 타깃 물체(112), 도 1의 시작 위치(114), 도 1의 과업 위치(116), 타깃 물체(112)의 자세, 시작 위치(114) 및/또는 자세에 관한 신뢰도 측정, 또는 이들의 조합을 식별하도록 디지털 이미지 및/또는 포인트 클라우드를 처리할 수 있다.
타깃 물체(112)를 조작하기 위해, 로봇 시스템(100)은 (예를 들어, 위에서 설명된 다양한 회로/디바이스를 통해) 타깃 물체(112) 및 타깃 물체의 시작 위치(114)를 식별하도록 지정된 영역(예를 들어, 픽업 위치, 예컨대, 트럭의 내부 또는 컨베이어 벨트 상)의 이미지 데이터를 캡처할 수 있고 분석할 수 있다. 유사하게, 로봇 시스템(100)은 과업 위치(116)를 식별하도록 또 다른 지정된 영역(예를 들어, 물체를 컨베이어 상에 배치하기 위한 드롭 위치, 물체를 컨테이너의 내부에 배치하기 위한 위치, 또는 적층 목적을 위한 팔레트 상의 위치)의 이미지 데이터를 캡처할 수 있고 분석할 수 있다. 예를 들어, 이미징 디바이스(222)는 픽업 영역의 이미지 데이터를 생성하도록 구성된 하나 이상의 카메라 및/또는 과업 영역(예를 들어, 드롭 영역)의 이미지 데이터를 생성하도록 구성된 하나 이상의 카메라를 포함할 수 있다. 이미지 데이터에 기초하여, 아래에 설명된 바와 같이, 로봇 시스템(100)은 시작 위치(114), 과업 위치(116), 연관된 자세, 패킹/배치 위치 및/또는 다른 처리 결과를 결정할 수 있다. 동적 패킹 알고리즘에 관한 상세사항이 아래에 설명된다.
일부 실시형태에서, 예를 들어, 센서(216)는 로봇 시스템(100)의 구조적 부재(예를 들어, 로봇 암 및/또는 엔드-이펙터) 및/또는 대응하는 이음부의 위치를 검출하도록 구성된 위치 센서(224)(예를 들어, 위치 인코더, 전위차계 등)를 포함할 수 있다. 로봇 시스템(100)은 과업의 실행 동안 구조적 부재 및/또는 이음부의 위치 및/또는 방향을 추적하도록 위치 센서(224)를 사용할 수 있다.
이산화 모델
도 3A 및 도 3B는 본 기술의 하나 이상의 실시형태에 따라 물체를 계획하고 패킹하도록 사용된 이산화된 데이터의 도면이다. 도 3A는 이산화된 물체를 도시하고 도 3B는 물체 패킹을 위한 이산화된 패킹 플랫폼을 도시한다.
일부 실시형태에서, 도 1의 로봇 시스템(100)은 도 2의 마스터 데이터(252)에 저장된 예상된 물체의 사전 결정된 이산화된 모델/표현을 포함할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 (예를 들어, 도 2의 프로세서(202)를 통해) 현실에 존재하는 물체(예를 들어, 패키지, 팔레트 및/또는 과업과 연관된 다른 물체)의 연속적인 표면/에지를 이산형 상대(예를 들어, 단위 길이 및/또는 단위 영역)에 맵핑함으로써 이산화된 모델을 동적으로 생성할 수 있다. 예를 들어, 로봇 시스템(100)은 도 2의 하나 이상의 이미징 디바이스(222)에 의해 캡처된 팔레트 상단면 및/또는 타깃 물체(112)의 이미지 데이터(예를 들어, 평면도 이미지 및/또는 포인트 클라우드 데이터)를 이산화할 수 있다. 즉, 로봇 시스템(100)은 도 1의 시작 위치(114), 컨베이어 상의 시작 위치(114) 전의 위치 및/또는 도 1의 과업 위치(116)의 이미지 데이터를 이산화할 수 있다. 로봇 시스템(100)은 이미지 데이터에서 물체/팔레트의 외부 주변을 식별하고 이어서 단위 치수/영역에 따라 외부 주변 내 영역을 분할하는 것에 기초하여 이산화할 수 있다. 일부 실시형태에서, 단위 치수/영역은 좌표 구성 및/또는 사전 결정된 조정 인자/등식에 따라 이미징 디바이스(222)에 대한 물체/팔레트의 크기 및/또는 위치에 기초하여 이미지 데이터에 대해 스케일링 또는 맵핑될 수 있다.
도 3A에 예시된 바와 같이, 로봇 시스템(100)의 일부 실시형태는 물체(예를 들어, 타깃 물체(112))의 배치 위치를 계획/도출하도록 이산화된 물체 모델(302)을 사용할 수 있다. 이산화된 물체 모델(302)(점선을 사용하여 도시됨)은 이산화 단위(예를 들어, 단위 길이)에 따라 도착하거나 또는 들어오는 물체(예를 들어, 패키지, 박스, 케이스 등)에 대한 외부의 물리적 치수, 형상, 에지, 표면, 또는 이들의 조합(파선을 사용하여 도시됨)을 나타낼 수 있다. 이산화된 물체 모델(302)은 위에서 설명된 바와 같이 이미징되고 이산화되는, 예상된/알려진 물체 및/또는 예상되지 않은/알려지지 않은 물체를 나타낼 수 있다.
도 3B에 예시된 바와 같이, 로봇 시스템(100)의 일부 실시형태는 물체의 적층 배치를 계획/도출하도록 하나 이상의 이산화된 플랫폼 모델(304)(예를 들어, 도 1의 과업 위치(116)의 이산화된 표현)을 사용할 수 있다. 이산화된 플랫폼 모델(304)은 이산화 단위에 따라 배치 영역(340)(예를 들어, 물리적 치수, 형상 또는 과업 위치(116)의 이들의 조합, 예컨대, 과업 위치(116)의 상단면, 상부에 배치된 패키지의 상단면, 또는 이들의 조합)을 나타낼 수 있다. 하나 이상의 실시형태에서, 이산화된 플랫폼 모델(304)은 예컨대, 실시간 업데이트를 통해 배치 영역(340)의 실시간 상태를 나타낼 수 있다. 예를 들어, 평면도에 대해, 이산화된 플랫폼 모델(304)은 물체를 수용하고 물체와 직접적으로 접촉하는, 팔레트의 상단면, 통 또는 박스의 내부-하단면 등을 처음에 나타낼 수 있다. 로봇 시스템(100)이 물체를 배치할 때, 배치 영역(340)은 배치된 패키지의 상단면을 (예를 들어, 패키지를 적층하기 위해) 포함하도록 변화될 수 있고 이산화된 플랫폼 모델(304)은 변화를 반영하도록 업데이트될 수 있다.
일부 실시형태에서, 이산화된 플랫폼 모델(304)은 하나 이상의 표준 크기의 팔레트(예를 들어, 1.1m×1.1m 팔레트)의 평면도에 기초할 수 있다. 따라서, 이산화된 플랫폼 모델(304)은 로봇 시스템(100)에 의해 활용된 격자 시스템에 따라 수평면(예를 들어, x-y 평면)을 따른 배치 영역의 화소 처리된 2D 표현에 대응할 수 있다. 일부 실시형태에서, 이산화된 물체 모델(302)은 예상되거나 도착하는 물체의 평면도(예를 들어, x-y 평면)를 포함할 수 있다. 따라서, 이산화된 물체 모델(302)은 물체의 화소 처리된 2D 표현에 대응할 수 있다.
이산화된 모델을 생성하도록 사용되는, 이산화 단위는 시스템 조작자, 시스템 설계자, 사전 결정된 입력/설정, 주문, 또는 이들의 조합에 의해 설정되는 길이를 포함할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 타깃된 물체(예를 들어, 이산화된 물체 모델(302)를 통해) 및 로딩 플랫폼/표면(예를 들어, 이산화된 플랫폼 모델(304)을 통해)의 영역/표면을 설명하도록 단위 화소(310)(예를 들어, 이산화 단위에 따라 하나 이상의 치수를 가진, 다각형, 예컨대, 정사각형)를 사용할 수 있다. 따라서, 로봇 시스템(100)은 x-y축을 따라 2D로 물체 및 로딩 플랫폼을 화소 처리할 수 있다. 일부 실시형태에서, 단위 화소(310)(예를 들어, 이산화 단위)의 크기는 물체의 치수 및/또는 로딩 플랫폼의 치수에 따라 변화될 수 있다. 단위 화소(310)의 크기는 또한 필요한 자원(예를 들어, 계산 시간, 필요한 메모리 등)과 패킹 정확도의 균형을 맞추도록 (예를 들어, 미리 설정된 규칙/등식 및/또는 조작자 선택을 통해) 조정될 수 있다. 예를 들어, 단위 화소(310)의 크기가 감소될 때, 계산 시간 및 패킹 정확도가 감소될 수 있다. 따라서, 조정 가능한 단위 화소(310)를 사용하는 패킹 과업(예를 들어, 타깃 패키지 및 패킹 플랫폼)의 이산화는 패키지를 팔레트화하기 위해 증가된 융통성을 제공한다. 로봇 시스템(100)은 실시간 수요, 시나리오, 패턴 및/또는 환경에 따라 계산 자원/시간과 패킹 정확도 간의 균형을 제어할 수 있다.
일부 실시형태에서, 로봇 시스템(100)은 단위 화소(310)가 물체의 실제 주변 에지를 넘어 연장되도록, 물체와 단지 부분적으로 중첩하는 단위 화소(310)의 인스턴스(instance)를 이산화된 물체 모델(302)을 위해 포함할 수 있다. 다른 실시형태에서, 로봇 시스템(100)은 이산화된 물체 모델(302) 내 단위 화소(310)가 플랫폼 표면의 실제 주변 에지와 중첩되고/되거나 실제 주변 에지 내에 포함되도록 플랫폼 표면의 실제 치수를 넘어 이산화된 플랫폼 모델(304)로부터 단위 화소(310)의 인스턴스와 부분적으로 중첩하는 것을 배제할 수 있다.
실례가 되는 실시예로서, 도 3A는 타깃 물체(112)를 나타내는 이산화된 물체 모델의 제1 모델-방향(332) 및 제2 모델-방향(334)을 도시한다. 일부 실시형태에서, 로봇 시스템(100)은 이미징된 평면을 따라 사전 결정된 양만큼 이산화된 모델(즉, 제1 모델-방향(332)으로서 캡처/저장됨) 중 하나를 회전시킬 수 있다. 도 3A에 예시된 바와 같이, 로봇 시스템(100)은 수직축(도면의 평면에 대해 내외로 또는 수직으로 연장됨)을 중심으로 그리고 제2 모델-방향(334)에 대해 90도만큼 수평면(예를 들어, x축 및 y축을 따라 나타냄)을 따라 이산화된 물체 모델(302)을 회전시킬 수 있다. 로봇 시스템(100)은 물체의 대응하는 배치를 테스트/평가하도록 상이한 방향을 사용할 수 있다.
이산화된 데이터/표현에 기초하여, 로봇 시스템(100)은 타깃 물체(112)에 대한 배치 위치(350)를 동적으로 도출할 수 있다. 도 3B에 예시된 바와 같이, 로봇 시스템(100)은 하나 이상의 물체(예를 들어, 도 3B에서 대각선 충전된 물체로서 예시됨)가 배치 영역(340)에 배치된 후에도, 배치 위치(350)를 동적으로 도출할 수 있다. 또한, 배치 위치(350)의 동적 도출은 타깃 물체(112)가 언로딩되고/선반에서 제거되고, 등록되고, 스캐닝되고, 이미징되거나 또는 이들의 조합을 행한 후/동안 발생할 수 있다. 예를 들어, 로봇 시스템(100)은 타깃 물체(112)가 (예를 들어, 컨베이어를 통해) 수송될 때, 도 2의 이미징 디바이스(222)가 타깃 물체(112)의 이미지 데이터를 생성한 후, 또는 이들의 조합인 경우 배치 위치(350)를 동적으로 도출할 수 있다.
물체의 배치 위치(350)를 동적으로 도출하는 것은 배송/패키징 환경에 대한 증가된 융통성 및 감소된 인간 노동을 제공한다. 로봇 시스템(100)은 상이한 배치 위치 및/또는 방향을 테스트하고 평가하도록 물체와 팔레트(즉, 이미 배치된 물체를 포함함)의 이산화된 실시간 이미지/깊이 맵을 사용할 수 있다. 따라서, 로봇 시스템(100)은 심지어 물체가 (예를 들어, 새로운/예상되지 않은 물체 및/또는 컴퓨터 비전 오류에 대해) 인지 가능하지 않을 때, 물체의 도착 시퀀스/순서가 알려져 있지 않을 때, 그리고/또는 예상되지 않은 사건(예를 들어, 피스-분실 사건 및/또는 충돌 사건)이 발생하지 않을 때 임의의 인간 조작자의 간섭 없이 물체를 여전히 패킹할 수 있다.
실례가 되는 목적을 위해, 배치 위치(350)는 이미 배치된 물체와 인접한(즉, 동일한 수평 층/높이에 배치되는) 것으로, 예컨대, 팔레트 상에 바로 있고/팔레트와 접촉하는 것으로 도 3B에 도시된다. 그러나, 배치 위치(350)는 이미 배치된 물체의 상단부에 있을 수 있다는 것이 이해된다. 즉, 로봇 시스템(100)은 이미 팔레트 상의 하나 이상의 물체의 위에 그리고/또는 상단부에 타깃 물체(112)를 적층하기 위한 배치 위치(350)를 도출할 수 있다. 아래에 상세히 설명되는 바와 같이, 로봇 시스템(100)은 물체가 이미 배치된 물체의 상단부에 적층될 때 물체가 충분히 지지되는 것을 보장하도록 배치 위치(350)를 도출할 때 이미 배치된 물체의 높이를 구할 수 있다.
일부 실시형태에서, 로봇 시스템(100)은 배치 위치(350)를 도출할 때 물체 에지(362)를 식별할 수 있다. 물체 에지(362)는 팔레트 상에 이미 배치된 물체의 에지 및/또는 측면을 나타내는 이미지 데이터에서 라인을 포함할 수 있다. 일부 실시형태에서, 물체 에지(362)는 물체 에지가 과업 위치(116)에 배치된 물체(예를 들어, 물체의 층) 중 하나 또는 군의 주변을 획정하도록, 노출되는(예를 들어, 또 다른 물체/에지와 직접적으로 접촉하지 않는/인접하지 않은) 에지에 대응할 수 있다.
아래에 더 상세히 설명되는 바와 같이, 로봇 시스템(100)은 배치 규칙, 조건, 매개변수, 필요조건 등의 세트에 따라 배치 위치(350)를 도출할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 하나 이상의 후보 위치(360)의 평가/테스트에 기초하여 배치 위치(350)를 도출할 수 있다. 후보 위치(360)는 다양한 위치 및/또는 방향에서 이산화된 플랫폼 모델(304)의 상단부에서 오버레이된(overlaid) 이산화된 물체 모델(302)에 대응할 수 있다. 따라서, 후보 위치(360)는 물체 에지(362) 중 하나 이상의 물체 에지와 인접하게 타깃 물체(112)를 잠재적으로 배치하는 것 그리고/또는 이미 배치된 물체 중 하나 이상의 이미 배치된 물체 상에 타깃 물체(112)를 잠재적으로 적층하는 것을 포함할 수 있다. 로봇 시스템(100)은 지지 물체의 취약도 순위(예를 들어, 예컨대, 적층된 패키지에 대한, 최대 지지 중량), 공간/패킹 영향, 또는 이들의 조합과 비교할 때 다양한 매개변수/조건, 예컨대, 지지 측정값/조건, 지지 중량에 따라 후보 위치(360)의 각각을 평가할 수 있다. 로봇 시스템(100)은 하나 이상의 배치 규칙, 예컨대, 충돌 자유 필요조건, 스택 안정성, 고객-지정 규칙/우선권, 패키지 분리 필요조건 또는 이의 부재, 총 로딩된 패키지의 극대화, 또는 이들의 조합을 사용하여 후보 위치(360)를 더 평가할 수 있다.
실시간 배치 표면 업데이트
도 4A 및 도 4B는 본 기술의 하나 이상의 실시형태에 따른, 지원 계산 및 지원 메트릭의 다양한 양상을 예시한다. 일부 실시형태에서, 도 4A에 예시된 바와 같이, 도 1의 로봇 시스템(100)은 도 1의 과업 위치(116)의 이산화된 플랫폼 모델(304) 위에 도 1의 타깃 물체(112)의 도 3A의 이산화된 물체 모델(302)를 중첩하는 것에 기초하여 도 3B의 후보 위치(360)를 생성할 수 있다. 게다가, 로봇 시스템(100)은 후보 위치(360)를 생성할 때 이산화된 물체 모델(302)을 이산화된 플랫폼 모델(304)에 걸쳐 반복적으로 이동시킬 수 있다. 예를 들어, 로봇 시스템(100)은 이산화된 플랫폼 모델(304)의 사전 결정된 처음 위치(예를 들어, 코너)에서 하나 이상의 방향(예를 들어, 도 3A의 제1 모델-방향(332) 및/또는 도 3A의 제2 모델-방향(334))에 따라 대응하는 이산화된 물체 모델(302)을 배치함으로써 후보 위치(360)의 초기 인스턴스를 생성할 수 있다. 후보 위치(360)의 다음의 인스턴스에 대해, 로봇 시스템(100)은 또 다른/다음의 물체에 대응하는, 이산화된 물체 모델(302)을 사전 결정된 방향/패턴에 따라 사전 결정된 거리(예를 들어, 도 3B의 하나 이상의 단위 화소(310))만큼 이동시킬 수 있다.
후보 위치(360)가 과업 위치(116)에 이미 배치된 하나 이상의 물체와 중첩할 때, 로봇 시스템(100)은 이미 배치된 물체에 의해 제공된 지지 측정값을 계산할 수 있고 구할 수 있다. 지지 측정값을 계산하고 구하기 위해, 로봇 시스템(100)은 도 2의 이미징 디바이스(222) 중 하나 이상의 이미징 디바이스를 사용하여 실시간으로 도 3B의 배치 영역(340)에 대한 높이/윤곽을 결정할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 과업 위치(116) 위에 위치된 이미징 디바이스(222) 중 하나 이상의 이미징 디바이스로부터 깊이 측정값(예를 들어, 포인트 클라우드 값)을 사용할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 시설 지표면 위의 플랫폼 표면의 높이와 같은, 지면 및/또는 플랫폼(예를 들어, 팔레트) 표면의 수직 위치에 대응하는 높이/위치 값을 미리 결정할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 플랫폼의 노출된 상단면(들), 배치된 물체 또는 이들의 조합의 높이/윤곽을 계산하도록 깊이 측정값을 사용할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 과업 위치(116)를 이미징할 수 있고 노출된 상단면(들)의 높이를 실시간으로, 예컨대, 물체를 플랫폼으로 수송하고/하거나 물체를 플랫폼 상에 배치한 후 업데이트할 수 있다.
일부 실시형태에서, 도 4A에 예시된 바와 같이, 로봇 시스템(100)은 높이 측정값(402)을 포함하도록 이산화된 플랫폼 모델(304)을 업데이트할 수 있다. 로봇 시스템(100)은 이산화된 플랫폼 모델(304) 내 이산화된 화소(예를 들어, 단위 화소(310))의 각각에 따라 높이 측정값(402)을 결정할 수 있다. 예를 들어, 로봇 시스템(100)은 대응하는 단위 화소(310)로 나타낸 배치 영역(340)의 표면부의 최대 높이로서 높이 측정값(402)을 결정할 수 있다.
이미 배치된 물체 중 하나 이상의 이미 배치된 물체와 중첩하는 후보 위치(360)의 각각에 대해, 로봇 시스템(100)은 높이 측정값(402)에 기초하여 배치 가능성을 평가할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 후보 위치(360)의 각각에서 중첩된 높이 측정값(402) 중 가장 높은 값을 식별하는 것에 기초하여 배치 가능성을 평가할 수 있다. 로봇 시스템(100)은 후보 위치(360)의 각각에 위치된 다른 높이 측정값(402)을 더 식별할 수 있고 높이 측정값(402)은 높이 측정값(402) 중 가장 높은 측정값에 비해 차분 문턱값의 한계 내에 있다. 셀/화소의 자격 부여는 적층된 물체가 본질적으로 평평한/수평면에 놓이도록 지지를 적층된 물체에 제공할 수 있는 위치를 나타낼 수 있다.
도 4A에 예시된 바와 같이, 후보 위치(360) 중 제1 후보 위치(이산화된 플랫폼 모델(304)의 상부 좌측 코너)에 대해, 가장 높은 높이 측정값은 0.3(즉, 300밀리미터(㎜) 높이)일 수 있다. 0.02(예를 들어, 20㎜를 나타냄)로서 사전 결정된 차분 문턱값에 대해, 로봇 시스템(100)은 차분 문턱값을 충족하는 것으로서 상단 4개의 이산화된 셀/화소를 식별할 수 있다. 로봇 시스템(100)은 지지 정도를 평가하도록/나타내도록 식별된/자격 부여된 셀/화소를 사용할 수 있다.
도 4B는 지원 계산의 추가의 실시예를 예시한다. 도 4B는 이산화된 플랫폼 모델(304)의 상부-좌측 코너에서 오버레이된 이산화된 물체 모델(302)(실선의 더 두꺼운 윤곽을 사용하여 도시됨)과 함께 도 3의 후보 위치(360) 중 하나의 후보 위치를 도시한다. 로봇 시스템(100)은 후보 위치(360)를 평가하도록 사용된 매개변수인, 다양한 지지 매개변수(410)를 계산/활용할 수 있다. 예를 들어, 지지 매개변수(410)는 이산화된 치수(412), 중첩된 영역(414), 높이 차분 문턱값(416), 지지 문턱값(418), 최대 높이(420), 높이 하한(422), 자격 부여 수(424), 지지 영역 윤곽(426)의 세트, 지지 영역 크기(428), 지지 비율(430), 질량 중심(CoM) 위치(432), 또는 이들의 조합을 포함할 수 있다.
이산화된 치수(412)는 도 3A의 단위 화소(310)에 따라 도 1의 타깃 물체(112)의 물리적 치수(예를 들어, 길이, 폭, 높이, 원주 등)를 설명할 수 있다. 예를 들어, 이산화된 치수(412)는 이산화된 물체 모델(302)의 주변 에지를 형성하는 단위 화소(310)의 수량을 포함할 수 있다. 중첩된 영역(414)은 유사하게 단위 화소(310)에 따라 나타날 수 있는, 타깃 물체(112)에 의해 점유된 영역(예를 들어, 수평면을 따른 풋프린트 크기)을 설명할 수 있다. 즉, 중첩된 영역(414)은 이산화된 물체 모델(302) 내 다수의 단위 화소(310)에 대응할 수 있다. 도 4B에 예시된 실시예에 대해, 타깃 물체(112)는 42개의 화소의 중첩된 영역(414)에 대응하는, 6개의 화소×7개의 화소의 이산화된 치수(412)를 가질 수 있다.
높이 차분 문턱값(416) 및 지지 문턱값(418)은 후보 위치(360)를 처리 및/또는 확인하도록 사용되는 한계에 대응할 수 있다. 조작자 및/또는 순서에 의해 사전 결정되고/되거나 조정될 수 있는, 높이 차분 문턱값(416)은 상단부에 배치된 패키지와 접촉하고/하거나 패키지를 지지하기 위한 또 다른 기준 높이(예를 들어, 이산화된 물체 모델(302)에 의해 중첩된 영역에서 높이 측정값(402)의 가장 높은 인스턴스에 대응하는 최대 높이(420))로부터 허용된 편차를 나타낼 수 있다. 즉, 높이 차분 문턱값(416)은 상단부에 배치된 패키지와 접촉하고/하거나 패키지를 지지할 수 있는 다양한 표면 높이를 획정하도록 사용될 수 있다. 이와 같이, 최대 높이(420)에 비해, 높이 하한(422)은 지지를 적층된 패키지에 제공할 수 있는 중첩된 영역(414) 내 높이에 대한 하한에 대응할 수 있다. 도 4B에 예시된 실시예에 대해, 높이 차분 문턱값(416)은 0.02일 수 있다. 최대 높이(420)가 0.2일 때, 높이 하한(422)은 0.18일 수 있다. 따라서, 타깃 물체(112)를 후보 위치(360)에 배치할 때, 로봇 시스템(100)은 0.18 초과의 높이를 가진 표면/화소가 타깃 물체(112)와 접촉하고/하거나 지지를 타깃 물체에 제공할 것을 추정할 수 있다.
따라서, 하나 이상의 실시형태에서, 로봇 시스템(100)은 높이 차분 문턱값(416)에 따라 중첩된 영역(414) 내 단위 화소(310)를 분류할 수 있다. 예를 들어, 로봇 시스템(100)은 지지 위치(442)(예를 들어, 음영 처리된 화소를 통해 도 4B에 나타낸 바와 같이, 상부에 적층된 물체를 가질 수 있는 표면을 나타내는 단위 화소(310)의 집단)로서 높이 차분 문턱값(416)(즉, 높이 하한(422) 이상의 값)을 충족하는 높이를 가진 단위 화소(310)를 분류할 수 있다. 로봇 시스템(100)은 다른 단위 화소(310)를 부적격 위치(444)(예를 들어, 높이 하한(422) 미만의 높이를 가진 화소)로서 분류할 수 있다.
지지 문턱값(418)은 지지 위치(442)의 충분함에 기초하여 후보 위치(360)를 평가하기 위한 한계를 나타낼 수 있다. 예를 들어, 지지 문턱값(418)은 지지 위치(442)와 연관된 양, 비, 영역, 위치, 또는 이들의 조합을 평가하기 위한 것일 수 있다. 일부 실시형태에서, 지지 문턱값(418)은 후보 위치(360)를 위한 자격 부여 수(424)(예를 들어, 지지 위치(442)의 양)가 타깃 물체(112)를 지지하기 위해 충분한지를 결정하도록 사용될 수 있다.
하나 이상의 실시형태에서, 지지 문턱값(418)은 지지 위치(442)와 연관된 지지된 영역(예를 들어, 높이 문턱값에 의해 결정될 수 있는 바와 같이, 지지를 상부에 적층된 물체에 제공할 수 있는 단위 화소(360))을 평가하도록 사용될 수 있다. 예를 들어, 로봇 시스템(100)은 지지 위치(442)의 최외측/주변 인스턴스의 코너를 연결하도록 부적격 위치(444)에 걸쳐 또는 주위에서 연장되는 라인을 결정하고/하거나 에지를 연장하는 것에 기초하여 지지 영역 윤곽(426)을 결정할 수 있다. 따라서, 지지 영역 윤곽(426)은 부적격 위치(444)를 배제할 수 있다. 따라서, 지지 영역 윤곽(426)은 지지 위치(442)의 주변 인스턴스에 기초하여 지지된 영역을 위한 주변을 획정할 수 있다. 지지 영역 윤곽(426)이 부적격 위치(444)에 걸쳐 연장될 수 있고/있거나 부적격 위치를 포함할 수 있기 때문에, 지지 영역 크기(428)(예를 들어, 지지된 영역 내 단위 화소(310)의 수량)는 자격 부여 수(424) 초과일 수 있다. 이와 같이, 지지 영역 크기(428)는 지지가 제공되는 최외측 에지/코너 사이의 분리를 실질적으로 나타낸다. 더 넓은 지지부가 선호되기 때문에(예를 들어, 지지 영역 윤곽(426)의 부분이 오버행을 감소시키고/시키거나 안전성을 개선시키기 위해 물체의 중첩된 영역(414)보다 더 큼), 지지 문턱값(418)이 지지된 영역(예를 들어, 지지 영역 윤곽(426)을 평가하기 위함)에서 단위 화소(310)의 최소 수에 대응할 수 있어서, 이에 의해 지지가 제공되는 최외측 에지/코너 사이의 분리를 실질적으로 평가한다.
일부 실시형태에서, 지지 문턱값(418)은 자격 부여 수(424) 및/또는 지지 영역 크기(428)를 중첩된 영역(414)과 비교하는 것에 기초하여 계산될 수 있는, 지지 비율(430)을 평가하기 위한 것일 수 있다. 예를 들어, 지지 비율(430)은 수평 안전성, 지지 중량 농도, 또는 이들의 조합을 나타내기 위한, 자격 부여 수(424)와 중첩된 영역(414) 간의 비율을 포함할 수 있다. 또한, 지지 비율(430)은 타깃 물체(112) 아래의 지지 에지/코너 사이의 상대적인 폭을 나타내기 위한, 지지 영역 크기(428)와 중첩된 영역(414) 간의 비율을 포함할 수 있다.
게다가, 로봇 시스템(100)은 타깃 물체(112)의 CoM 위치(432)에 기초하여 후보 위치(360)를 더 평가할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 도 2의 마스터 데이터(252)로부터 타깃 물체(112)의 CoM 위치(432)에 액세스할 수 있고/있거나 타깃 물체(112)를 파지하고/하거나 리프팅하는 것에 기초하여 CoM 위치(432)를 동적으로 추정할 수 있다. 일단 액세스/추정된다면, 로봇 시스템(100)은 CoM 위치(432)를 지지 영역 윤곽(426)과 비교할 수 있다. 로봇 시스템(100)은 후보 위치(360)가 지지 영역 윤곽(426) 내 CoM 위치(432)를 포함하고 이러한 필요조건을 충족하는데 실패한 후보 위치(360)를 제거/자격 박탈하길 요구할 수 있다. 하나 이상의 실시형태에서, 로봇 시스템(100)은 CoM 위치(432)와 지지 영역 윤곽(426) 사이의 이격 거리(예를 들어, x축 및/또는 y축을 따름)에 기초하여 배치 스코어를 계산할 수 있고 구할 수 있다.
로봇 시스템(100)은 제약/필요조건을 평가하도록 지지 매개변수(410)를 사용할 수 있다. 예를 들어, 로봇 시스템(100)은 지지 문턱값(418), CoM 위치 문턱값(예를 들어, 지지 영역 윤곽(426) 내 CoM 위치(432)를 포함하기 위한 필요조건) 및/또는 다른 적층 규칙을 충족하지 않는 후보 위치를 제거/자격 박탈할 수 있다. 또한, 로봇 시스템(100)은 사전 결정된 중량 및/또는 등식에 따라 후보 위치(360)(예를 들어, 제약을 충족하는 위치)에 대한 배치 스코어를 계산하도록 지지 매개변수(410)를 사용할 수 있다. 아래에 상세히 설명되는 바와 같이, 로봇 시스템(100)은 사전 결정된 선호도(예를 들어, 중량/등식에 의해 반영된 바와 같음)에 따라 후보 위치(360)의 순위를 매기도록 계산된 배치 스코어를 사용할 수 있다.
물체 배치 작동
도 5는 본 개시내용의 하나 이상의 실시형태에 따른, 로봇 시스템(100)에 의해 실행된 예시적인 배치를 도시하는 평면도이다. 일부 실시형태에서, 로봇 시스템(100)은 타깃 물체(112)를 시작 위치(114)로부터 이송하고 타깃 물체를 과업 위치(116)에서 도출된 배치 위치(350)에 배치하도록 구성된 로봇 암(502)(예를 들어, 도 1의 이송 장치(104)의 부분, 예컨대, 팔레트화 로봇)을 포함할 수 있고/있거나 로봇 암과 통신할 수 있다. 예를 들어, 로봇 시스템(100)은 컨베이어 상의 지정된 위치/부분으로부터 타깃 물체(112)를 파지하고 픽업하고 타깃 물체(112)를 팔레트 상에 배치하도록 로봇 암(502)을 작동할 수 있다.
로봇 시스템(100)은 배치 위치(350)를 예를 들어, 타깃 물체(112)가 시설에 그리고/또는 시작 위치(114)에 도착할 때 그리고/또는 하나 이상의 작동, 예컨대, 패킹 작동을 처음에 시작한 후 동적으로 도출할 수 있다. 로봇 시스템(100)은 하나 이상의 불확실성 인자, 예컨대, 패킹 계획(예를 들어, 과업 위치(116)에서, 타깃 물체(112)를 포함하는, 물체의 세트에 대해 도출된 배치 위치(350)를 나타내기 위한 계획)의 부재, 도착하는 물체의 오류(예를 들어, 물체가 예상된/알려진 물체 또는 시퀀스와 매칭되지 않을 때), 또는 이들의 조합에 기초하거나 또는 이것을 설명하도록 배치 위치(350)를 동적으로 도출할 수 있다. 로봇 시스템(100)은 또한 예컨대, 이전에 배치된 물체(508)(예를 들어, 팔레트 상의 인지 불가능한 그리고/또는 예상되지 않은 패키지) 및/또는 이전에 배치된 물체(508) 중 하나 이상의 이전에 배치된 물체의 시프트에 기인하여, 목적지에서의 하나 이상의 불확실성에 기초하여 또는 이것을 설명하도록 배치 위치(350)를 동적으로 도출할 수 있다.
일부 실시형태에서, 로봇 시스템(100)은 도 2의 센서(216)(예를 들어, 도 2의 이미징 디바이스(222)) 중 하나 이상의 센서를 통해 동적으로 수집된 데이터(예를 들어, 이미지 데이터 및/또는 측정 데이터)에 기초하여 배치 위치(350)를 동적으로 도출할 수 있다. 예를 들어, 로봇 시스템(100)은 시작 위치(114) 및/또는 진입 경로(예를 들어, 컨베이어) 위에 위치된 소스 센서(504)(예를 들어, 3D 카메라)를 포함할 수 있고/있거나 소스 센서와 통신할 수 있다. 로봇 시스템(100)은 도 3A의 이산화된 물체 모델(302)을 생성하고/하거나 이산화된 물체 모델에 액세스하도록 소스 센서(504)로부터 데이터를 사용할 수 있다. 하나 이상의 실시형태에서, 로봇 시스템(100)은 소스 센서(504)를 사용하여 물체를 이미징할 수 있고/있거나 물체의 하나 이상의 치수를 측정할 수 있다. 로봇 시스템(100)은 들어오는 물체를 식별하도록 이미지 및/또는 측정값을 도 2의 마스터 데이터(252)와 비교할 수 있다. 식별에 기초하여, 로봇 시스템(100)은 물체와 연관된 이산화된 물체 모델(302)에 액세스할 수 있다. 하나 이상의 실시형태에서, 로봇 시스템(100)은 위에서 설명된 바와 같은 단위 화소(310)에 따라 이미지/치수를 분할하는 것에 기초하여 이산화된 물체 모델(302)을 동적으로 생성할 수 있다.
또한, 로봇 시스템(100)은 과업 위치(116) 위에 위치된 목적지 센서(506)(예를 들어, 3D 카메라)를 포함할 수 있고/있거나 목적지 센서와 통신할 수 있다. 로봇 시스템(100)은 도 3B의 이산화된 플랫폼 모델(304)을 결정하고 동적으로 업데이트하도록 목적지 센서(506)로부터 데이터를 사용할 수 있다. 하나 이상의 실시형태에서, 로봇 시스템(100)은 배치 영역(예를 들어, 과업 위치(116), 예컨대, 팔레트)의 하나 이상의 치수를 이미징할 수 있고/있거나 하나 이상의 치수를 측정할 수 있다. 로봇 시스템(100)은 이산화된 물체 모델(302)에 대해 설명된 바와 같이 유사하게, 이산화된 플랫폼 모델(304)을 식별하고, 액세스하고/하거나 생성하도록 이미지 및/또는 측정값을 사용할 수 있다. 게다가, 로봇 시스템(100)은 도 4A의 높이 측정값(402)을 결정하도록 목적지 센서(506)로부터 데이터(예를 들어, 깊이 맵)를 사용할 수 있다. 따라서, 로봇 시스템(100)은 배치 영역(340) 및 이산화된 플랫폼 모델(304)을 실시간으로 업데이트하도록 높이 측정값(402)을 사용할 수 있다. 예를 들어, 로봇 시스템(100)은 높이 측정값(402)을 이전에 배치된 물체(508)에 따라, 예컨대, 타깃 물체(112)를 배치 위치(350)에 배치한 후 업데이트할 수 있다.
로봇 시스템(100)은 타깃 물체(112)를 도 3B의 배치 위치(350) 및/또는 후보 위치(360)의 각각으로 이송하기 위한 진입로(510)를 도출할 수 있다. 진입로(510)는 타깃 물체(112)를 시작 위치(114)로부터 대응하는 후보 위치(360)로 공간에 걸쳐 조작/이송하기 위한 이동 계획에 대응할 수 있다. 진입로(510)는 수평 방향 및/또는 수직 방향에 걸쳐 연장되는 3D에 있을 수 있다.
진입로 평가
도 6A 및 도 6B는 본 개시내용의 하나 이상의 실시형태에 따른, 도 1의 타깃 물체(112)를 배치하기 위한 예시적인 방식을 예시하는 측면도이다. 도 6A 및 도 6B는 과업 위치(116)(예를 들어, 팔레트) 상의 이전에 배치된 물체(508) 중 하나의 이전에 배치된 물체 위의 도 3B의 대응하는 후보 위치(360)에 타깃 물체(112)를 배치하기 위한 도 5의 진입로(510)를 예시한다.
도 1의 로봇 시스템(100)은 F-1 내지 F-5의 파선 박스로서 예시되는, 접근 증분(approach increment)(602)에 기초하여 진입로(510)를 도출할 수 있다. 접근 증분(602)은 대응하는 진입로(510)를 따라 3D 공간에서 타깃 물체(112)의 순차적인 위치를 포함할 수 있다. 즉, 접근 증분(602)은 대응하는 진입로(510)를 따르기 위한 타깃 물체(112)의 샘플링된 위치에 대응할 수 있다. 접근 증분(602)은 대응하는 진입로(510)의 경로 부분(604)에 따라 정렬될 수 있다. 경로 부분(604)은 진입로(510) 내 선형 부분/방향에 대응할 수 있다. 경로 부분(604)은 타깃 물체(112)를 대응하는 후보 위치(360)에 배치하기 위한 최종 부분(606)을 포함할 수 있다. 최종 부분(606)은 수직(예를 들어, 하향) 방향을 포함할 수 있다.
진입로(510)를 도출하기 위해, 로봇 시스템(100)은 잠재적으로 장애물(610)(예를 들어, 타깃 물체(112)를 후보 위치(360)에 배치할 때 잠재적인 장애물과 같음)이 될 수도 있는 이전에 배치된 물체(508) 중 임의의 것을 식별할 수 있다. 하나 이상의 실시형태에서, 로봇 시스템(100)은 잠재적인 장애물(들)(610)을 시작 위치(114)와 대응하는 후보 위치(360)를 연결하는 수평선(611)(예를 들어, x-y 평면을 따른 직선)과 중첩하는 이전에 배치된 물체(508)의 인스턴스(들)로서 식별할 수 있다. 로봇 시스템(100)은 잠재적인 장애물(들)(610)을 타깃 물체(112)의 하나 이상의 치수(예를 들어, 폭, 길이 및/또는 높이)에 기초하여 폭을 갖고 수평선과 평행하고 수평선과 중첩하는 길을 도출하는 것에 기초하여, 수평선의 주위에서 도출된 길(613)과 중첩하는 이전에 배치된 물체(508)의 인스턴스(들)로서 더 식별할 수 있다. 도 6A 및 도 6B에 예시된 바와 같이, 시작 위치(114)는 후보 위치(360)의 우측에 있을 수 있다. 따라서, 로봇 시스템(100)은 이전에 배치된 물체를 잠재적인 장애물(610)로서 우측에서 식별할 수 있다.
일부 실시형태에서, 로봇 시스템(100)은 도 4A의 높이 측정값(402)에 기초하여 잠재적인 장애물(610)을 확인할 수 있다. 예를 들어, 로봇 시스템(100)은 후보 위치(360)의 높이 측정값 이상인 높이 측정값(402) 중 하나 이상의 높이 측정값에 의해 잠재적인 장애물(610)을 확인/식별할 수 있다. 로봇 시스템(100)은 잠재적인 장애물(610)로서 후보 위치(360)의 높이 측정값 미만인 높이 측정값(402)을 가진 이전에 배치된 물체(508)를 제거할 수 있다. 하나 이상의 실시형태에서, 로봇 시스템(100)은 후보 위치(360)의 높이 및/또는 잠재적인 장애물(610)의 높이와 연관된 모호성에 기초하여 잠재적인 장애물(610)을 식별/제거할 수 있다.
일부 실시형태에서, 로봇 시스템(100)은 진입로(510)를 후보 위치(360)로부터 시작해서 도 5의 시작 위치(114)에서 종료되는 것과 같이, 역순으로 도출할 수 있다. 따라서, 로봇 시스템(100)은 잠재적인 장애물(610)을 회피하도록 최종 부분(606)을 먼저(예를 들어, 다른 부분 전에) 도출할 수 있다. 예를 들어, 로봇 시스템(100)은 사전 결정된 거리만큼 접근 증분(602)의 높이를 반복적으로 증가시키는 것에 기초하여 접근 증분(602)(예를 들어, 먼저 'F-1', 이어서 'F-2' 등)을 결정할 수 있다. 각각의 반복에 대해, 로봇 시스템(100)은 결정된 접근 증분(602)(예를 들어, 하단면/에지)과 잠재적인 장애물(610)(예를 들어, 상단면/에지) 간의 벡터(612)를 계산할 수 있고 분석할 수 있다. 로봇 시스템(100)은 벡터(612)가 결정된 접근 증분(602)이 잠재적인 장애물(610) 위에 있고/있거나 간격 문턱값(614)(예를 들어, 타깃 물체(112)와 잠재적인 장애물(610) 간의 접촉 또는 충돌을 방지하도록 잠재적인 장애물(610)의 가장 높은 포인트 위의 타깃 물체(112)를 위한 최소 수직 이격거리에 대한 필요조건)에 의해 잠재적인 장애물(610)을 제거하는 것을 나타낼 때까지 접근 증분(602)의 높이를 계속해서 증가시킬 수 있다. 결정된 접근 증분(602)이 간격 문턱값(614)을 충족시킬 때 또는 다음의 반복에 대해, 로봇 시스템(100)은 사전 결정된 거리만큼 수평 방향을 따라(예를 들어, 시작 위치(114)를 향하여) 대응하는 접근 증분(602)을 조정할 수 있다. 따라서, 로봇 시스템(100)은 진입로(510)를 도출하도록 간격 문턱값(614)을 충족하는 접근 증분(602) 및 후보 위치(360)에 기초하여 최종 부분(606) 및/또는 후속의 경로 부분(604)을 도출할 수 있다.
일단 도출된다면, 로봇 시스템(100)은 대응하는 후보 위치(360)를 평가하도록 진입로(510)를 사용할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 진입로(510)에 따라 배치 스코어를 계산할 수 있다. 예를 들어, 로봇 시스템(100)은 최종/수직 부분(606)에 대한 더 짧은 길이/거리에 대한 선호도에 따라(예를 들어, 사전 결정된 배치 선호도에 대응하는 하나 이상의 중량에 따라) 배치 스코어를 계산할 수 있다. 따라서, 도 6A 및 도 6B의 진입로(510)를 비교할 때, 로봇 시스템(100)은 최종/수직 부분(606)의 더 짧은 길이를 가진, 도 6B에 예시된 경로를 선호할 수 있다. 하나 이상의 실시형태에서, 로봇 시스템(100)은 후보 위치(360)를 제거하거나 또는 자격 박탈하도록 사용되는 진입로(510)(예를 들어, 최종/수직 부분(606)에 대한)와 연관된, 제약, 예컨대, 최대 한계를 포함할 수 있다.
일부 실시형태에서, 로봇 시스템(100)은 다른 충돌/방해 관련된 매개변수에 따라 대응하는 후보 위치(360)를 더 평가할 수 있다. 예를 들어, 로봇 시스템(100)은 후보 위치(360)와 이전에 배치된 물체(508) 중 하나 이상의 이전에 배치된 물체 사이의 수평 이격거리(616)에 따라 후보 위치(360)를 평가할 수 있다. 수평 이격거리(616)의 각각은 대응하는 후보 위치(360)와 이전에 배치된 물체(508)의 인접한 인스턴스 사이에서 수평 방향(예를 들어, x-y 평면)을 따른 거리(예를 들어, 가장 짧은 거리)일 수 있다. 로봇 시스템(100)은 진입로(510)에 대해 위에서 설명된 바와 유사하게 수평 이격거리(616)에 기초하여 후보 위치(360)에 대한 배치 스코어를 계산할 수 있다. 또한, 로봇 시스템(100)은 수평 이격거리(616)가 최소 필요조건을 충족시키지 못할 때와 같이, 수평 이격거리(616)에 기초하여 후보 위치(360)를 제거할 수 있고 자격 박탈할 수 있다. 배치 스코어 계산 및/또는 후보 위치(360)를 제거하기 위한 제약에 관한 상세사항이 아래에서 논의된다.
작동 흐름
도 7은 본 개시내용의 하나 이상의 실시형태에 따른, 도 1의 로봇 시스템(100)을 작동시키는 방법(700)에 대한 흐름도이다. 방법(700)은 도 1의 타깃 물체(112)를 배치하기 위해 도 1의 과업 위치(116) 상의 도 3B의 배치 위치(350)를 동적으로 구동하기 위한 것일 수 있다. 방법(700)은 도 2의 프로세서(202) 중 하나 이상의 프로세서와 함께 도 2의 저장 디바이스(204) 중 하나 이상의 저장 디바이스에 저장된 명령어를 실행하는 것에 기초하여 구현될 수 있다.
블록(702)에서, 로봇 시스템(100)은 실시간 패키징 상태를 식별할 수 있다. 예를 들어, 블록(732)에 예시된 바와 같이, 로봇 시스템(100)은 들어오는 물체 및/또는 도 1의 과업 위치(116)를 실시간으로 분석할 수 있다. 로봇 시스템(100)은 도 2의 센서(216)로부터 센서 데이터를 수신할 수 있고 분석할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 도 1의 시작 위치(114)에 있거나 또는 시작 위치에 다가가는 도 1의 타깃 물체(112)를 나타내는 소스 센서 데이터를 (예를 들어, 도 5의 소스 센서(504)로부터) 수신할 수 있고 분석할 수 있다. 또한, 로봇 시스템(100)은 과업 위치(116) 및/또는 과업 위치 상의 도 5의 이전에 배치된 물체(508)와 연관된 배치 영역(예를 들어, 도 3B의 배치 영역(340))을 나타내는 목적지 센서 데이터를 (예를 들어, 도 5의 목적지 센서(506)로부터) 수신할 수 있고 분석할 수 있다.
일부 실시형태에서, 블록(734)에 예시된 바와 같이, 로봇 시스템(100)은 하나 이상의 불확실성 인자를 결정하도록 센서 데이터를 분석할 수 있다. 예를 들어, 로봇 시스템(100)은 센서 데이터와 타깃 물체(112)를 포함하는, 들어오는 물체에 대한 배치 위치를 명시하는 (예를 들어, 적용 가능한 시설에서 오프라인 계산 및/또는 실시간 계산을 통해) 이전에 도출된 패킹 계획을 비교할 수 있다. 따라서, 불확실성의 일부 경우는 센서 데이터 및 패킹 계획 또는 연관된 도착 시퀀스의 미스매치에 기초할 수 있다.
불확실성에 대한 센서 데이터를 분석할 때, 블록(736)에 예시된 바와 같이, 로봇 시스템(100)은 에지를 식별/추정하도록 센서 데이터(예를 들어, 이미지 및/또는 깊이 맵)를 처리할 수 있다. 예를 들어, 로봇 시스템(100)은 타깃 물체(112)의 에지, 과업 위치(116), 이전에 배치된 물체(508), 또는 이들의 조합을 인지하도록 예컨대, 소벨 필터(Sobel filter)를 사용하여, 센서 데이터를 처리할 수 있다. 로봇 시스템(100)은 별개의 물체 및/또는 물체의 치수를 나타내는 영역을 식별하도록 에지를 사용할 수 있다.
일부 경우에, 미스매치는 소스 센서 데이터와 도 2의 마스터 데이터(252), 패킹 계획과 연관된 액세스/도착 시퀀스, 또는 이들의 조합을 비교하는 것으로부터 발생된 소스 매칭 오류를 포함할 수 있다. 소스 매칭 오류는 예를 들어, 들어오는 물체를 (예를 들어, 소스 센서 데이터가 패킹 계획 및/또는 마스터 데이터(252) 내 임의의 물체에 대응하지 않을 때) 오인하는 것 그리고/또는 들어오는 물체가 비순서적이고 그리고 패킹 계획에 대한 예상된 도착/액세스 시퀀스와 매칭되지 않는 것으로부터 발생할 수 있다. 또한, 미스매치는 목적지 센서 데이터와 패킹 계획을 비교하는 것으로 발생하는 목적지 매칭 오류를 포함할 수 있다. 목적지 매칭 오류는 예를 들어, 이전에 배치된 물체(508) 중 하나 이상의 이전에 배치된 물체가 예컨대, 패키지의 시프트에 기인하여, 예상되지 않은 위치에 있는 것(즉, 패킹 계획과 매칭되지 않는 것)에 의해 유발될 수 있다. 다른 실시예는 과업 위치(116)에 대한 컨테이너가 패키지를 수용하도록 완전히 개방되지 않고/않거나 도착 때 예상되지 않은 아이템을 갖는 것을 포함할 수 있다.
하나 이상의 실시형태에서, 로봇 시스템(100)은 추가의 트리거에 기초하여 불확실성을 결정할 수 있다. 예를 들어, 로봇 시스템(100)은 패킹 계획의 부재에 기초하여 불확실성을 결정할 수 있다. 또한, 예를 들어, 로봇 시스템(100)은 작동 상태 또는 사건, 예컨대, 충돌 사건(예를 들어, 로봇 장치 및/또는 물체가 충돌할 때), 물체 분실 사건(예를 들어, 물체가 수송/조작 동안 떨어질 때), 물체-시프트 사건(예를 들어, 물체가 배치 후 시프트될 때) 또는 이들의 조합에 기초하여 불확실성을 결정할 수 있다. 아래에 더 상세히 설명되는 바와 같이, 로봇 시스템(100)은 불확실성에 응답하여 그리고/또는 불확실성을 보상하도록 타깃 물체(112)에 대한 도 3의 배치 위치(350)를 동적으로 도출할 수 있다.
블록(704)에서, 로봇 시스템(100)은 들어오는 패키지(예를 들어, 타깃 물체(112)) 및/또는 과업 위치(116), 예컨대, 팔레트 및/또는 케이지를 나타내는 이산화된 모델(예를 들어, 도 3A의 이산화된 물체 모델(302) 및/또는 도 3B의 이산화된 플랫폼 모델(304))을 생성할 수 있고/있거나 이산화된 모델에 액세스할 수 있다.
로봇 시스템(100)은 실시간 센서 데이터(예를 들어, 소스 센서 데이터 및/또는 목적지 센서 데이터)에 기초하여 이산화된 모델(예를 들어, 이산화된 물체 모델(302) 및/또는 이산화된 플랫폼 모델(304))을 결정(예를 들어, 생성 및/또는 액세스)할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 소스 센서 데이터에 기초하여, 물체, 예컨대, 타깃 물체(112)에 대한 물체 유형(예를 들어, 들어오는 물체에 대한 식별 또는 범주)을 식별할 수 있다. 로봇 시스템(100)은 위에서 설명된 바와 같은 불확실성에 대해 점검할 때 이미징된 표면과 물체 유형에 대응하는 표면 이미지를 매칭하도록 마스터 데이터(252)를 검색할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 또한 불확실성에 대해 점검할 때 센서 데이터(예를 들어, 소스 센서 데이터)에 기초하여 감지된 물체(예를 들어, 들어오는 물체, 타깃 물체(112), 팔레트, 케이지 등)의 하나 이상의 치수 또는 길이를 추정할 수 있다. 로봇 시스템(100)은 도 2의 저장 디바이스 및/또는 또 다른 디바이스(예를 들어, 저장 디바이스, 데이터베이스 및/또는 도 2의 통신 디바이스(206)를 통해 액세스된 패키지 공급자의 서버)에 저장된 이산화된 모델에 액세스하도록 식별 정보를 사용할 수 있다. 예를 들어, 로봇 시스템(100)은 매칭된 이산화된 모델을 찾고 액세스하도록 식별 정보(예를 들어, 표면 이미지 및/또는 추정된 치수)를 사용하여 마스터 데이터(252)를 검색할 수 있다.
일부 실시형태에서, 로봇 시스템(100)은 이산화된 모델을 실시간으로, 예컨대, 소스 센서 데이터를 수신하는 것 그리고/또는 불확실성을 결정하는 것에 직접적으로 응답하여 생성할 수 있다. 이산화된 모델을 동적으로 생성하기 위해, 로봇 시스템(100)은 도 3B의 단위 화소(310)에 따라 센서 데이터 및/또는 (예를 들어, 들어오는 물체, 팔레트 상단면 등에 대한) 대응하는 물리적 치수를 분할할 수 있다. 즉, 로봇 시스템(100)은 대응하는 센서 데이터에 따라 타깃 물체(112) 및/또는 과업 위치(116)를 나타내는 영역 위에 단위 화소(310)를 오버레이하는 것에 기초하여 이산화된 모델을 생성할 수 있다. 단위 화소(310)는 예컨대, 1㎜ 또는 1/16인치(in) 이상으로(예를 들어, 5㎜ 또는 20㎜로) (예를 들어, 제작업자, 주문 고객 및/또는 조작자에 의해) 사전 결정될 수 있다. 일부 실시형태에서, 단위 화소(310)는 패키지 및/또는 플랫폼 중 하나 이상의 치수 또는 크기(예를 들어, 백분율 또는 비율)에 기초할 수 있다.
블록(706)에서, 로봇 시스템(100)은 타깃 물체(112)를 과업 위치(116)에/위에 배치하기 위한 후보 위치(예를 들어, 도 3B의 후보 위치(360))의 세트를 도출할 수 있다. 로봇 시스템(100)은 과업 위치(116)에서/위에서 대응하는 위치의 이산화된 플랫폼 모델(304) 위에 타깃 물체(112)의 이산화된 물체 모델(302)을 중첩하는 것에 기초하여 후보 위치(360)를 도출할 수 있다. 후보 위치(360)는 수평면을 따른 그리고 이산화된 플랫폼 모델(304) 위의/내의 이산화된 물체 모델(302)의 위치에 대응할 수 있다. 로봇 시스템(100)은 이전에 배치된 물체(508)와 중첩하고/하거나 인접한 후보 위치(360)를 도출할 수 있다.
일부 실시형태에서, 로봇 시스템(100)은 초기 배치 위치(예를 들어, 배치 영역의 지정된 코너와 같은, 후보 위치(360)의 인스턴스에 대한 사전 결정된 위치)를 결정하는 것에 기초하여 이산화된 물체 모델(302)의 위치를 반복적으로 결정할 수 있다. 로봇 시스템(100)은 다음의 후보 위치(360)를 도출하기 위한 사전 결정된 방향, 반복에 걸친 후보 위치(360) 간의 분리 필요조건, 배치를 좌우하는 규칙/조건, 후보 위치(360)의 총수에 관한 제한, 이들의 하나 이상의 패턴, 또는 이들의 조합에 따라 후속의 후보 위치(360)를 결정할 수 있다. 게다가, 로봇 시스템(100)은 이전에 배치된 물체(508)에 대한 후보 위치(360)를 결정하기 위해 선호도 및/또는 규칙의 세트를 포함할 수 있다. 예를 들어, 로봇 시스템(100)은 이산화된 물체 모델(302)이 이전에 배치된 물체(508)의 하나 이상의 에지 및/또는 배치 영역(340)의 주변 경계/에지와 인접하거나 또는 접하는 후보 위치(360)를 결정하는 것에 대한 선호도(예를 들어, 후보 위치(360)의 가장 다른 유형/범주보다 더 일찍 기능을 수행하기 위함)로 구성될 수 있다. 또한, 로봇 시스템(100)은 이산화된 물체 모델(302)이 이전에 배치된 물체(508) 위에 있고 물체 중 하나의 물체에 피팅되고/되거나 물체의 하나 이상의 에지와 중첩하는 후보 위치(360)를 결정하는 것에 대한 선호도로 구성될 수 있다.
로봇 시스템(100)은 사전 결정된 규칙, 패턴, 한계 및/또는 이산화된 물체 모델(302)을 배치하기 위한 시퀀스에 따라 후보 위치(360)를 도출할 수 있다. 예를 들어, 로봇 시스템(100)은 예컨대, 이전에 배치된 물체(508)의 최외부 에지로부터 사전 결정된 거리 한계와 인접하고/하거나 사전 결정된 거리 한계 내에 있는, 물체 에지에 대한 선호도에 기초하여 후보 위치(360)를 도출할 수 있다. 또한, 로봇 시스템(100)은 예컨대, 이산화된 물체 모델(302)이 팔레트, 케이지 등의 경계/에지와 가장 가깝거나 또는 접하는, 배치 영역(340)에 대한 외부 에지/경계에 대한 선호도에 기초하여 후보 위치(360)를 도출할 수 있다. 또한, 로봇 시스템(100)은 이전에 배치된 물체(508)와 중첩하는 후보 위치(360)를 도출할 수 있다.
블록(708)에서, 로봇 시스템(100)은 예컨대, 3D 적층 평가를 위해, 도 3B의 배치 영역(340)의 실시간 상태를 결정/업데이트할 수 있다. 예를 들어, 로봇 시스템(100)은 도 4의 높이 측정값(402)을 결정하도록 목적지 센서 데이터를 사용할 수 있다. 로봇 시스템(100)은 목적지 센서 데이터로부터 도출된 깊이 측정값 및 과업 위치(116)의 알려진 높이 및/또는 과업 위치(116)에서 상단면(들)의 높이를 계산하기 위한 센서를 사용할 수 있다. 로봇 시스템(100)은 계산된 높이를 이산화된 플랫폼 모델(304) 내 단위 화소(310)에 매칭할 수 있고 단위 화소(310) 내 최대 계산된 높이를 대응하는 높이 측정값(402)으로서 할당할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 후보 위치(360) 내 이산화된 물체 모델(302)에 의해 중첩된 단위 화소(310)에 대한 높이 측정값(402)을 결정할 수 있다.
블록(710)에서, 로봇 시스템(100)은 후보 위치(360)를 평가할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 실시간 상태, 처리 결과, 사전 결정된 규칙 및/또는 매개변수, 또는 이들의 조합에 따라 후보 위치(360)를 평가할 수 있다. 예를 들어, 로봇 시스템(100)은 대응하는 배치 스코어를 계산하는 것, 후보 위치(360)를 확인/자격 부여하는 것, 또는 이들의 조합에 기초하여 후보 위치(360)를 평가할 수 있다.
블록(742)에서, 로봇 시스템(100)은 후보 위치(360)의 각각에 대한 배치 스코어를 계산할 수 있다. 로봇 시스템(100)은 배치 조건 중 하나 이상의 배치 조건에 따라 배치 스코어를 계산할 수 있다. 예를 들어, 로봇 시스템(100)은 패키지 사이의 이격 거리, 수평으로 인접한 패키지에 대한 패키지 치수/취약도 순위/패키지 중량의 차, 충돌 확률(예를 들어, 도 5의 진입로(510) 또는 진입로의 특성 및/또는 도 6의 수평 이격거리(616)에 기초함), 동일한 높이에서의 연속적인/인접한 표면, 이들의 통계 결과(예를 들어, 평균, 최대, 최소, 표준 편차 등), 또는 이들의 조합에 대한 선호도를 설명하도록 배치 선호도(예를 들어, 승수 중량을 통한) 및/또는 등식을 사용할 수 있다. 배치 선호도의 다른 예는 결과적으로 발생된 높이, 근접도 측정값, 에지-배치 상태, 최대 지지 가능한 중량, 물체 유형, 지지 중량 비, 또는 이들의 조합을 포함할 수 있다. 따라서, 일부 실시형태에서, 로봇 시스템(100)은 타깃 물체(112)를 이미 배치된 물체의 경계 또는 배치 플랫폼의 에지 인근에 배치하기 위해, 인접한 물체의 높이 및/또는 최대 지지 가능한 중량의 차를 최소화하기 위해, 타깃 물체(112)에 의해 중첩된 물체에 대한 지지 중량과 최대 지지 가능한 중량 간의 비를 감소시키기 위해, 인접한 물체에 대한 물체 유형을 매칭하기 위해, 또는 이들의 조합을 위해, 하부 최대 높이에 대한 선호도를 나타내는 처리 중량/승수를 포함할 수 있다. 각각의 배치 위치는 시스템 제작업자, 주문 및/또는 시스템 조작자에 의해 사전 획정되는 선호도 인자 및/또는 등식에 따라 스코어가 매겨질 수 있다.
일부 실시형태에서, 예를 들어, 로봇 시스템(100)은 후보 위치(360)에 대한 지지 측정값에 기초하여 배치 스코어를 계산할 수 있다. 로봇 시스템(100)은 높이 측정값(402)에 적어도 부분적으로 기초하여 후보 위치(360) 중 하나 이상의 후보 위치에 대한 지지량(예를 들어, 물체를 적층할 때)을 계산할 수 있다. 실례가 되는 실시예로서, 로봇 시스템(100)은 후보 위치(360)의 각각에 대한 도 4B의 최대 높이(420)를 식별하는 것에 기초하여 지지량을 계산할 수 있다. 도 4B의 최대 높이(420) 및 높이 차분 문턱값(416)에 기초하여, 로봇 시스템(100)은 후보 위치(360)의 각각에 대한 도 4B의 높이 하한(422)을 계산할 수 있다. 로봇 시스템(100)은 후보 위치(360)의 각각에 대한 도 4B의 지지 위치(442)를 식별하도록 후보 위치(360)의 높이 측정값(402)과 대응하는 높이 하한(422)을 비교할 수 있다. 로봇 시스템(100)은 대응하는 지지 위치(442)의 도 4B의 자격 부여 수(424)에 기초하여 후보 위치(360)의 각각에 대한 배치 스코어를 계산할 수 있다.
하나 이상의 실시형태에서, 로봇 시스템(100)은 후보 위치(360)에 대한 도 4B의 지지 영역 윤곽(426)을 도출하는 것에 기초하여 배치 스코어를 계산할 수 있다. 위에서 설명된 바와 같이, 로봇 시스템(100)은 대응하는 위치에서 지지 위치(442)의 최외측/주변 인스턴스의 외부 에지 및/또는 연결 코너를 연장하는 것에 기초하여 후보 위치(360)의 각각에 대한 지지 영역 윤곽(426)의 세트를 도출할 수 있다. 지지 위치(442)에 기초하여, 로봇 시스템(100)은 배치 스코어를 계산하기 위해 도 4B의 지지 영역 크기(428) 및/또는 도 4B의 지지 비율(430)을 결정할 수 있다. 또한, 로봇 시스템(100)은 CoM 위치(432)와 지지 영역 윤곽(426) 간의 최저 이격 거리를 계산할 수 있다. 로봇 시스템(100)은 대응하는 후보 위치에 대한 배치 스코어를 계산하도록 지지 영역 크기(428), 지지 비율(430), 최저 이격 거리, 대응하는 선호도 중량, 또는 이들의 조합을 사용할 수 있다.
하나 이상의 실시형태에서, 로봇 시스템(100)은 위에서 설명된 바와 같이 후보 위치(360)에 대한 진입로(510)를 도출하는 것에 기초하여 배치 스코어를 계산할 수 있다. 로봇 시스템(100)은 도 6의 최종 부분(606)(예를 들어, 최종 부분의 길이), 도 6의 하나 이상의 경로 부분(604)의 수량/길이, 또는 이들의 조합에 따라 후보 위치(360)의 각각에 대한 배치 스코어를 계산할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 후보 위치(360)에 대한 도 6의 수평 이격거리(616)에 기초하여 배치 스코어를 계산할 수 있다.
일부 실시형태에서, 블록(744)에 예시된 바와 같이, 로봇 시스템(100)은 후보 위치(360)에 자격 부여할 수 있다. 로봇 시스템(100)은 하나 이상의 배치 제약에 따라 후보 위치(360)의 확인된 세트를 동적으로 도출하는 것에 기초하여 후보 위치(360)에 자격 부여할 수 있다. 확인된 세트를 도출할 때, 로봇 시스템(100)은 높이 측정값(402)과 적어도 부분적으로 연관되는 배치 제약 중 하나 이상의 배치 제약을 위반하거나 또는 충족하는데 실패한 후보 위치(360)의 인스턴스를 제거할 수 있거나 또는 자격 박탈할 수 있다. 하나 이상의 실시형태에서, 로봇 시스템(100)은 확인된 세트를 먼저 도출할 수 있고 이어서 확인된 세트에 대한 배치 스코어를 계산할 수 있다. 하나 이상의 실시형태에서, 로봇 시스템(100)은 배치 스코어를 계산하는 것과 동시에 확인된 세트를 도출할 수 있다.
하나 이상의 실시형태에서, 배치 제약은 자격 부여 수(424), 지지 영역 윤곽(426)의 세트, 지지 영역 크기(428), 지지 비율(430), CoM 위치(432), 진입로(510), 수평 이격거리(616), 또는 이들의 조합을 문턱값(예를 들어, 도 4B의 지지 문턱값(418)) 또는 필요조건과 비교하는 것과 연관될 수 있다. 예를 들어, 로봇 시스템(100)은 자격 부여 수(424), 지지 영역 크기(428) 및/또는 대응하는 문턱값을 충족/초과하는 지지 비율(430)을 가진 위치를 포함하도록 확인된 세트를 도출할 수 있다. 또한, 로봇 시스템(100)은 지지 영역 윤곽(426) 내에 있는/지지 영역 윤곽에 의해 둘러싸인 CoM 위치(432)를 갖고/갖거나 지지 영역 윤곽(426)으로부터 최소 이격 거리를 충족하는 위치를 포함하도록 확인된 세트를 도출할 수 있다. 또한, 로봇 시스템(100)은 최대 길이 문턱값을 충족하는 진입로(510)(예를 들어, 진입로 내 최종 부분(606))를 갖고/갖거나 최소 문턱값을 충족하는 수평 이격거리(616)를 가진 위치를 포함하도록 확인된 세트를 도출할 수 있다.
블록(712)에서, 로봇 시스템(100)은 타깃 물체(112)를 과업 위치(116) 위에/에 배치하기 위한 배치 위치(350)를 동적으로 도출할 수 있다. 로봇 시스템(100)은 배치 스코어에 따라 확인된 세트 내 위치 또는 후보 위치(360) 중 하나를 선택하는 것에 기초하여 배치 위치(350)를 동적으로 도출할 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 더미 구조를 사용하여 후보 위치(360)를 추적할 수 있다. 따라서, 로봇 시스템(100)은 위치가 위에서 설명된 바와 같은 제약을 위반할 때 위치를 더미 구조로부터 제거할 수 있다. 게다가, 로봇 시스템(100)은 대응하는 배치 스코어에 따라 추적된 위치를 시퀀싱할 수 있거나 또는 순위 매길 수 있다. 일부 실시형태에서, 로봇 시스템(100)은 배치 스코어 또는 스코어의 반복적인 업데이트가 산출될 때 추적된 위치를 연속적으로 시퀀싱할 수 있다. 그 결과, 로봇 시스템(100)은 스코어 계산이 끝날 때 더미 구조 내 지정된 위치(예를 들어, 제1 슬롯)에서의 위치를 배치 위치(350)로서 선택할 수 있다.
블록(714)에서, 로봇 시스템(100)은 타깃 물체(112)를 도출된 배치 위치(350)에 배치할 수 있다. 타깃 물체(112)를 배치 위치(350)에 배치할 때, 로봇 시스템(100)의 하나 이상의 컴포넌트/디바이스는 다른 컴포넌트/디바이스와 통신할 수 있고/있거나 다른 컴포넌트/디바이스를 작동시킬 수 있다. 예를 들어, 프로세서(202) 및/또는 독립형 제어기(예컨대, 예를 들어, 창고/배송 중앙 제어 디바이스) 중 하나 이상은 정보, 예컨대, 배치 위치(350), 대응하는 이동 계획, 도 2의 구동 디바이스(212) 및/또는 도 2의 수송 모터(214)를 작동시키기 위한 명령 및/또는 설정의 세트, 또는 이들의 조합을 다른 컴포넌트/디바이스로 전송할 수 있다. 다른 컴포넌트/디바이스, 예컨대, 프로세서(202)의 다른 인스턴스 및/또는 도 5의 로봇 암(502), 구동 디바이스(212), 수송 모터(214) 및/또는 다른 외부 디바이스/시스템은 정보를 수신할 수 있고 대응하는 기능을 실행할 수 있어서 타깃 물체(112)를 조작하고(예를 들어, 파지하고 픽업하고, 공간에 걸쳐 이송하고/하거나 방향 전환하고, 목적지에 배치하고, 그리고/또는 방출함) 타깃 물체를 배치 위치에 배치한다.
일부 실시형태에서, 로봇 시스템(100)은 타깃 물체(112)를 배치한 후 실시간 패키징 상태를 업데이트 또는 재식별할 수 있다. 즉, 블록(714) 후, 제어 흐름은 블록(702)으로 이동될 수 있다. 따라서, 로봇 시스템(100)은 다음의 들어오는 물체를 타깃 물체(112)로서 업데이트/식별할 수 있다. 로봇 시스템(100)은 또한 최근에 배치된 물체를 포함하도록 배치 영역(340) 및/또는 배치 영역 상의 이전에 배치된 물체(508)에 대한 정보를 업데이트할 수 있다. 다른 실시형태에서, 로봇 시스템(100)은 패킹 계획을 재계산 또는 조정할 수 있고/있거나 타깃 물체(112)를 배치한 후 패킹 계획에 따라 재개될 수 있다.
위에서 설명된 2D/3D 층 형성 및 과업의 이산화는 패킹 물체에 대한 개선된 효율, 속도, 및 정확도를 제공한다. 따라서, 조작자 입력의 감소 및 정확도의 증가는 자동화된 패킹 과정에 대한 인간 노동을 더 감소시킬 수 있다. 일부 환경에서, 위에서 설명된 바와 같은 로봇 시스템(100)은 약 1백만 달러 또는 그 이상 비용이 들 수 있는, 시퀀싱 버퍼의 필요성을 제거할 수 있다.
게다가, 실시간 상태(예를 들어, 센서 데이터 및 다른 상태/데이터에 의해 나타낸 바와 같음)에 따른 배치 위치(350)의 동적 계산은 감소된 작동 오류를 제공한다. 위에서 설명된 바와 같이, 로봇 시스템은 인간 간섭을 필요로 하는 일 없이 예상되지 않은 상태/사건에 의해 도입된 불확실성을 처리할 수 있고 해결할 수 있다. 게다가, 위에서 설명된 실시형태는 기존의 패킹 계획 없이, 예컨대, 물체가 시작 위치(114)에 도착할 때 배치 위치(350)를 동적으로 도출함으로써 물체를 3D로 적층할 수 있다. 2D 동적 패킹(즉, 물체를 단일의 층으로서 플랫폼 상에 직접적으로 배치하는 것)으로 제한되는 종래의 시스템과 비교할 때, 높이의 고려는 위에서 설명된 실시형태가 물체를 서로 위에 적층하고 패킹 밀도를 증가시키게 할 수 있다.
결론
개시된 기술의 실시예의 위의 상세한 설명은 총망라하거나 또는 개시된 기술을 위에 개시된 정확한 형태로 제한하는 것으로 의도되지 않는다. 개시된 기술에 대한 특정한 실시예가 실례가 되는 목적을 위해 위에서 설명되지만, 다양한 등가의 변경이 관련 기술의 당업자가 인지할 바와 같이, 개시된 기술의 범위 내에서 가능하다. 예를 들어, 과정 또는 블록이 미리 결정된 순서로 제공되지만, 대안적인 구현예가 단계를 가진 루틴을 수행할 수도 있거나 또는 블록을 가진 시스템을 상이한 순서로 채용할 수도 있고, 일부 과정 또는 블록이 대안적인 조합 또는 하위 조합을 제공하도록 삭제, 이동, 추가, 하위분할, 결합 그리고/또는 변경될 수도 있다. 이 과정 또는 블록의 각각은 다양한 상이한 방식으로 구현될 수도 있다. 또한, 과정 또는 블록이 때로는 연속적으로 수행되는 것으로 도시되지만, 이 과정 또는 블록은 대신에 동시에 수행 또는 구현될 수도 있거나 또는 상이한 시간에 수행될 수도 있다. 게다가, 본 명세서에서 언급된 임의의 특정한 수는 단지 예이고; 대안적인 구현예는 상이한 값 또는 범위를 채용할 수도 있다.
이 변화 및 다른 변화는 위의 상세한 설명에 비추어 개시된 기술에 대해 이루어질 수 있다. 상세한 설명이 개시된 기술뿐만 아니라 고려되는 최상의 모드의 특정한 실시예를 설명하지만, 개시된 기술은 위의 설명이 본문에서 상세하게 나타날지라도, 많은 방식으로 실행될 수 있다. 시스템의 상세사항이 시스템의 특정한 구현예에서 상당히 변경될 수도 있지만, 여전히 본 명세서에 개시된 기술에 포함된다. 위에서 언급된 바와 같이, 개시된 기술의 특정한 특징 또는 양상을 설명할 때 사용되는 특정한 용어는 용어가 용어와 연관되는 개시된 기술의 임의의 특정한 특성, 특징, 또는 양상으로 제한되는 것으로 본 명세서에서 재정의되는 것을 암시하도록 취해져서는 안 된다. 따라서, 본 발명은 청구 범위에 의해서만을 제외하고 제한되지 않는다. 일반적으로, 다음의 청구항에서 사용되는 용어는 위의 상세한 설명 부분이 이러한 용어를 분명히 정의하지 않는 한, 개시된 기술을 본 명세서에 개시된 특정한 실시예로 제한하는 것으로 해석되지 않아야 한다.
본 발명의 특정한 양상이 특정한 청구항 형태로 아래에 제공되지만, 출원인은 본 발명의 다양한 양상을 임의의 수의 청구항 형태로 고려한다. 따라서, 출원인은 본 출원에서 또는 계속 출원에서, 이러한 추가의 청구항 형태를 추구하도록 본 출원을 출원한 후 추가의 청구항을 추구할 권리를 갖는다.

Claims (20)

  1. 로봇 시스템을 작동시키기 위한 방법으로서,
    소스 위치에 있거나 또는 상기 소스 위치에 다가가는 타깃 물체를 나타내는 소스 센서 데이터를 수신하는 단계;
    상기 소스 센서 데이터에 기초하여 이산화된 물체 모델(discretized object model)을 결정하는 단계로서, 상기 이산화된 물체 모델은 단위 화소에 따라 2차원(2D)으로 상기 타깃 물체의 물리적 치수, 형상 또는 이들의 조합을 나타내는, 상기 이산화된 물체 모델을 결정하는 단계;
    과업 위치 및/또는 상기 과업 위치 상의 이전에 배치된 물체와 연관된 배치 영역을 나타내는 목적지 센서 데이터를 수신하는 단계;
    상기 목적지 센서 데이터에 기초하여 이산화된 플랫폼 모델을 결정하는 단계로서, 상기 이산화된 플랫폼 모델은 추가의 단위 화소에 따라 2D로 상기 과업 위치의 물리적 치수, 형상 또는 이들의 조합을 나타내는, 상기 이산화된 플랫폼 모델을 결정하는 단계;
    상기 목적지 센서 데이터에 기초하여 높이 측정값을 결정하는 단계로서, 상기 높이 측정값은 추가의 단위 화소의 하나 이상의 세트에 대응하는 상기 배치 영역의 부분 내 최대 높이를 나타내는, 상기 높이 측정값을 결정하는 단계;
    대응하는 위치에서 상기 이산화된 플랫폼 모델 위에 상기 이산화된 물체 모델을 중첩하는 것에 기초하여 하나 이상의 후보 위치를 도출하는 단계;
    상기 높이 측정값과 연관된 하나 이상의 배치 제약에 따라 상기 후보 위치의 확인된 세트를 동적으로 도출하는 단계;
    상기 확인된 세트 내 위치에 대한 배치 스코어를 계산하는 단계로서, 상기 배치 스코어는 하나 이상의 배치 선호도에 따라 계산되는, 상기 배치 스코어를 계산하는 단계;
    상기 배치 스코어에 따라 상기 확인된 세트 내 위치 중 하나의 위치를 선택하는 것에 기초하여 배치 위치(placement location)를 동적으로 도출하는 단계로서, 상기 배치 위치는 상기 타깃 물체를 상기 과업 위치 위에 배치하기 위한 것인, 상기 배치 위치를 동적으로 도출하는 단계; 및
    상기 타깃 물체를 상기 배치 영역 위의 상기 배치 위치에 배치하기 위해 상기 배치 위치에 따라 정보를 전달하는 단계를 포함하는, 로봇 시스템을 작동시키기 위한 방법.
  2. 제1항에 있어서, 상기 배치 위치는 하나 이상의 불확실성 인자에 응답하여 도출되는, 로봇 시스템을 작동시키기 위한 방법.
  3. 제2항에 있어서, 상기 하나 이상의 불확실성 인자는 패킹 계획(packing plan)의 부재와 연관되고, 상기 패킹 계획은 상기 과업 위치에서, 상기 타깃 물체를 포함하는, 물체의 세트에 대해 도출된 배치 위치를 나타내기 위한 것인, 로봇 시스템을 작동시키기 위한 방법.
  4. 제2항에 있어서, 상기 하나 이상의 불확실성 인자는 패킹 계획으로부터의 하나 이상의 편차와 연관되고, 상기 패킹 계획은 상기 과업 위치에서, 상기 타깃 물체를 포함하는, 물체의 세트에 대해 도출된 배치 위치를 나타내기 위한 것인, 로봇 시스템을 작동시키기 위한 방법.
  5. 제4항에 있어서, 상기 하나 이상의 불확실성 인자는 마스터 데이터, 상기 패킹 계획과 연관된 시퀀스 또는 이들의 조합과 상기 소스 센서 데이터를 비교하는 것으로부터의 소스 매칭 오류와 연관되는, 로봇 시스템을 작동시키기 위한 방법.
  6. 제4항에 있어서, 상기 하나 이상의 불확실성 인자는 상기 목적지 센서 데이터와 상기 패킹 계획을 비교하는 것으로부터의 목적지 매칭 오류와 연관되는, 로봇 시스템을 작동시키기 위한 방법.
  7. 제4항에 있어서, 상기 하나 이상의 불확실성 인자는 충돌 사건, 물체-분실 사건, 물체-시프트 사건 또는 이들의 조합과 연관되는, 로봇 시스템을 작동시키기 위한 방법.
  8. 제1항에 있어서, 상기 이산화된 물체 모델을 결정하는 단계는,
    상기 소스 센서 데이터에 기초하여 물체 유형을 식별하는 것으로서, 상기 물체 유형은 상기 타깃 물체를 식별하는, 상기 물체 유형을 식별하는 것; 및
    상기 물체 유형에 따라 마스터 데이터를 검색하는 것에 기초하여 상기 이산화된 물체 모델에 액세스하는 것을 포함하는, 로봇 시스템을 작동시키기 위한 방법.
  9. 제1항에 있어서, 상기 이산화된 물체 모델을 결정하는 단계는,
    상기 소스 센서 데이터에 기초하여 하나 이상의 길이를 추정하는 것으로서, 상기 하나 이상의 길이는 상기 타깃 물체의 하나 이상의 치수를 나타내는, 상기 하나 이상의 길이를 추정하는 것;
    상기 하나 이상의 길이에 따라 마스터 데이터를 검색하는 것에 기초하여 상기 이산화된 물체 모델에 액세스하는 것을 포함하는, 로봇 시스템을 작동시키기 위한 방법.
  10. 제1항에 있어서, 상기 이산화된 물체 모델을 결정하는 단계는 상기 소스 센서 데이터를 수신하는 것에 직접적으로 응답하여 상기 이산화된 물체 모델을 실시간으로 생성하는 것을 포함하고, 상기 이산화된 물체 모델은 상기 소스 센서 데이터에 따라 상기 타깃 물체를 나타내는 영역 위에 상기 단위 화소를 오버레이하는 것에 기초하여 생성되는, 로봇 시스템을 작동시키기 위한 방법.
  11. 제1항에 있어서, 상기 높이 측정값을 결정하는 단계는 상기 후보 위치 중 하나 이상의 후보 위치에 대해 상기 이산화된 물체 모델에 의해 중첩된 상기 추가의 단위 화소의 하나 이상의 세트에 대한 상기 높이 측정값을 결정하는 것을 포함하는, 로봇 시스템을 작동시키기 위한 방법.
  12. 제1항에 있어서,
    상기 후보 위치의 각각에 대한 최대 높이를 식별하는 단계로서, 상기 최대 높이는 상기 대응하는 후보 위치에 대한 상기 높이 측정값의 가장 높은 인스턴스(instance)를 나타내는, 상기 후보 위치의 각각에 대한 최대 높이를 식별하는 단계;
    높이 차분 문턱값 및 상기 최대 높이에 기초하여 높이 하한을 계산하는 단계;
    상기 높이 측정값과 상기 높이 하한을 비교하는 것에 기초하여 지지 위치를 식별하는 단계로서, 상기 지지 위치는 상기 높이 측정값이 상기 높이 하한과 매칭되고/되거나 상기 높이 하한을 초과하는 경우에 상기 추가의 단위 화소의 인스턴스를 포함하는, 상기 지지 위치를 식별하는 단계를 더 포함하되;
    상기 확인된 세트를 도출하는 단계 및/또는 상기 배치 스코어를 계산하는 단계는 대응하는 지지 위치에 따라 상기 후보 위치의 각각을 평가하는 것을 포함하는, 로봇 시스템을 작동시키기 위한 방법.
  13. 제12항에 있어서, 상기 확인된 세트를 도출하는 단계는,
    다수의 지지 위치를 나타내는 자격 부여 수를 계산하는 것; 및
    상기 후보 위치의 대응하는 인스턴스에 대한 상기 자격 부여 수와 문턱값을 비교하는 것에 기초하여 상기 확인된 세트를 도출하는 것을 포함하는, 로봇 시스템을 작동시키기 위한 방법.
  14. 제12항에 있어서, 상기 확인된 세트를 도출하는 것은,
    상기 지지 위치의 최외측 인스턴스의 에지 및/또는 코너에 기초하여 지지 영역 윤곽을 도출하는 것, 및
    상기 지지 영역 윤곽에 기초하여 지지 영역 크기를 계산하는 것으로서, 상기 지지 영역 크기는 상기 지지 영역 윤곽 내 다수의 단위 화소를 나타내는, 상기 지지 영역 크기를 계산하는 것; 및
    상기 후보 위치의 대응하는 인스턴스에 대한 상기 지지 영역 크기와 문턱값을 비교하는 것에 기초하여 상기 확인된 세트를 도출하는 것을 포함하는, 로봇 시스템을 작동시키기 위한 방법.
  15. 제12항에 있어서, 상기 확인된 세트를 도출하는 것은,
    상기 후보 위치의 각각에 대해, 상기 지지 위치의 최외측 인스턴스의 에지 및/또는 코너에 기초하여 지지 영역 윤곽을 도출하는 것;
    상기 이산화된 물체 모델과 연관된 질량 중심(center-of-mass: CoM) 위치와 상기 지지 영역 윤곽을 비교하는 것; 및
    상기 CoM 위치를 둘러싸는 상기 지지 영역 윤곽을 가진 상기 후보 위치를 포함하는 상기 확인된 세트를 도출하는 것을 포함하는, 로봇 시스템을 작동시키기 위한 방법.
  16. 제12항에 있어서, 상기 확인된 세트를 도출하는 것은,
    상기 타깃 물체를 상기 후보 위치에 배치하기 위한 진입로를 도출하는 것; 및
    상기 진입로에 기초하여 확인된 세트를 도출하는 것을 포함하는, 로봇 시스템을 작동시키기 위한 방법.
  17. 제12항에 있어서, 상기 배치 스코어를 계산하는 단계는 자격 부여 수, 지지 영역 크기, 질량 중심(CoM) 위치, 진입로, 또는 이들의 조합에 기초하여 상기 후보 위치의 각각에 대한 배치 스코어를 계산하는 것을 포함하는, 로봇 시스템을 작동시키기 위한 방법.
  18. 제1항에 있어서, 상기 배치 스코어를 계산하는 단계는 발생된 높이, 근접도 측정값, 에지-배치 상태, 최대 지지 가능한 중량, 물체 유형, 지지 중량 비, 또는 이들의 조합에 기초하여 상기 후보 위치의 각각에 대한 배치 스코어를 계산하는 것을 포함하는, 로봇 시스템을 작동시키기 위한 방법.
  19. 로봇 시스템으로서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 연결되고 상기 프로세서에 의해 실행 가능한 명령어가 저장된 적어도 하나의 메모리 디바이스를 포함하되, 상기 명령어는,
    단위 화소에 따라 2차원(2D)으로 타깃 물체의 물리적 치수, 형상 또는 이들의 조합을 나타내는 이산화된 물체 모델을 결정하기 위한 것이고;
    추가의 단위 화소에 따라 2D로 목적지 영역의 물리적 치수, 형상 또는 이들의 조합을 나타내는 이산화된 물체 모델을 결정하기 위한 것이고;
    센서 데이터를 수신하기 위한 것이고, 상기 센서 데이터는 상기 타깃 물체, 상기 목적지 영역 또는 이들의 조합과 연관된 상태를 나타내고;
    상기 센서 데이터에 기초하여 높이 측정값을 결정하기 위한 것이고, 상기 높이 측정값은 상기 추가의 단위 화소의 하나 이상의 세트에 대응하는 상기 배치 영역의 부분 내 최대 높이를 나타내고;
    상기 타깃 물체를 상기 목적지 영역에 배치하기 위한 하나 이상의 후보 위치를 도출하기 위한 것이고;
    상기 높이 측정값에 적어도 부분적으로 기초하여 상기 후보 위치에 대한 배치 스코어를 계산하기 위한 것이고;
    상기 배치 스코어에 기초하여 배치 위치를 동적으로 도출하기 위한 것이고, 상기 배치 위치는 상기 타깃 물체를 배치하기 위한 상기 목적지 영역 내 지정된 위치를 나타내는, 로봇 시스템.
  20. 하나 이상의 프로세서를 통해 로봇 시스템에 의해 실행될 때, 상기 로봇 시스템이 방법을 수행하게 하는, 프로세서 명령어가 저장된 유형의(tangible) 비일시적 컴퓨터-판독 가능 매체로서, 상기 명령어는,
    소스 위치에 있거나 또는 상기 소스 위치에 다가가는 타깃 물체를 나타내는 소스 센서 데이터를 수신하기 위한 명령어;
    상기 소스 센서 데이터에 기초하여 이산화된 물체 모델을 결정하기 위한 명령어로서, 상기 이산화된 물체 모델은 단위 화소에 따라 2차원(2D)으로 상기 타깃 물체의 물리적 치수, 형상 또는 이들의 조합을 나타내는, 상기 이산화된 물체 모델을 결정하기 위한 명령어;
    과업 위치 및/또는 상기 과업 위치 상의 이전에 배치된 물체와 연관된 배치 영역을 나타내는 목적지 센서 데이터를 수신하기 위한 명령어;
    상기 목적지 센서 데이터에 기초하여 이산화된 플랫폼 모델을 결정하기 위한 명령어로서, 상기 이산화된 플랫폼 모델은 추가의 단위 화소에 따라 2D로 상기 과업 위치의 물리적 치수, 형상 또는 이들의 조합을 나타내는, 상기 이산화된 플랫폼 모델을 결정하기 위한 명령어;
    상기 목적지 센서 데이터에 기초하여 높이 측정값을 결정하기 위한 명령어로서, 상기 높이 측정값은 추가의 단위 화소의 하나 이상의 세트에 대응하는 상기 배치 영역의 부분 내 최대 높이를 나타내는, 상기 목적지 센서 데이터에 기초하여 높이 측정값을 결정하기 위한 명령어;
    대응하는 위치에서 상기 이산화된 플랫폼 모델 위에 상기 이산화된 물체 모델을 중첩하는 것에 기초하여 하나 이상의 후보 위치를 도출하기 위한 명령어;
    상기 높이 측정값과 연관된 하나 이상의 배치 제약에 따라 상기 후보 위치의 확인된 세트를 동적으로 도출하기 위한 명령어;
    상기 확인된 세트 내 위치에 대한 배치 스코어를 계산하기 위한 명령어로서, 상기 배치 스코어는 하나 이상의 배치 선호도에 따라 계산되는, 상기 배치 스코어를 계산하기 위한 명령어;
    상기 배치 스코어에 따라 상기 확인된 세트 내 위치 중 하나의 위치를 선택하는 것에 기초하여 배치 위치를 동적으로 도출하기 위한 명령어로서, 상기 배치 위치는 상기 타깃 물체를 상기 과업 위치 위에 배치하기 위한 것인, 상기 배치 위치를 동적으로 도출하기 위한 명령어; 및
    상기 타깃 물체를 상기 배치 영역 위의 상기 배치 위치에 배치하기 위해 상기 배치 위치에 따라 정보를 전달하기 위한 명령어를 포함하는, 유형의 비일시적 컴퓨터-판독 가능 매체.
KR1020220088338A 2019-05-31 2022-07-18 동적 패킹 메커니즘을 구비한 로봇 시스템 KR20220106091A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/428,714 2019-05-31
US16/428,714 US10679379B1 (en) 2019-05-31 2019-05-31 Robotic system with dynamic packing mechanism
KR1020200065143A KR102424718B1 (ko) 2019-05-31 2020-05-29 동적 패킹 메커니즘을 구비한 로봇 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200065143A Division KR102424718B1 (ko) 2019-05-31 2020-05-29 동적 패킹 메커니즘을 구비한 로봇 시스템

Publications (1)

Publication Number Publication Date
KR20220106091A true KR20220106091A (ko) 2022-07-28

Family

ID=70858263

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200065143A KR102424718B1 (ko) 2019-05-31 2020-05-29 동적 패킹 메커니즘을 구비한 로봇 시스템
KR1020220088338A KR20220106091A (ko) 2019-05-31 2022-07-18 동적 패킹 메커니즘을 구비한 로봇 시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020200065143A KR102424718B1 (ko) 2019-05-31 2020-05-29 동적 패킹 메커니즘을 구비한 로봇 시스템

Country Status (5)

Country Link
US (3) US10679379B1 (ko)
JP (2) JP6704157B1 (ko)
KR (2) KR102424718B1 (ko)
CN (1) CN112009812A (ko)
DE (2) DE102019130902B4 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11101163B2 (en) * 2018-01-30 2021-08-24 Taiwan Semiconductor Manufacturing Co., Ltd. Systems and methods for automated robotic arm sensing
US11046519B2 (en) 2019-02-25 2021-06-29 Rehrig Pacific Company Delivery system
US10679379B1 (en) * 2019-05-31 2020-06-09 Mujin, Inc. Robotic system with dynamic packing mechanism
US11077554B2 (en) 2019-05-31 2021-08-03 Mujin, Inc. Controller and control method for robotic system
US10647528B1 (en) 2019-05-31 2020-05-12 Mujin, Inc. Robotic system for palletizing packages using real-time placement simulation
US10618172B1 (en) * 2019-05-31 2020-04-14 Mujin, Inc. Robotic system with error detection and dynamic packing mechanism
US10696493B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system with packing mechanism
US10696494B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system for processing packages arriving out of sequence
US20210182772A1 (en) * 2019-12-12 2021-06-17 Grey Orange Pte. Ltd. System and method for order consolidation
EP3866079A1 (en) * 2020-02-12 2021-08-18 Tata Consultancy Services Limited Method and system for automated object packing
US11922253B2 (en) 2020-04-20 2024-03-05 Rehrig Pacific Company Camera enabled portal
CN114056819A (zh) * 2020-07-31 2022-02-18 北京小米移动软件有限公司 仓储产线、仓储管理方法、装置、电子设备和存储介质
US11905115B2 (en) * 2021-04-30 2024-02-20 Dexterity, Inc. Robotic system for identifying items
WO2022265931A1 (en) * 2021-06-16 2022-12-22 Dexterity, Inc. Simulated box placement for algorithm evaluation and refinement
JP7241374B2 (ja) * 2021-08-10 2023-03-17 株式会社Mujin ロボットによるオブジェクト配置のシステム及び方法
WO2023023366A1 (en) 2021-08-19 2023-02-23 Rehrig Pacific Company Imaging system with unsupervised learning
CN116374461A (zh) * 2021-09-14 2023-07-04 深圳市库宝软件有限公司 任务分配方法、装置、设备、仓储***及存储介质
CN113963140B (zh) * 2021-10-29 2022-07-08 山东大学 一种可变规格圆柱形货物错位摆放装箱***
EP4174787A3 (en) 2021-11-01 2023-05-10 Rehrig Pacific Company Delivery system

Family Cites Families (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3586176A (en) 1969-04-09 1971-06-22 George C Devol Palletizing apparatus
US4641271A (en) 1983-11-09 1987-02-03 Hitachi, Ltd. Piling planning method and piling system of cargoes by palletizing robot
DE3406858A1 (de) 1984-02-25 1985-10-03 OSTMA Maschinenbau GmbH, 5352 Zülpich Verfahren u. vorrichtung zum transportieren von mit riesel- oder fliessfaehigem gut gefuellten flachbeuteln zu einer stapelstelle, insbes. einem verpackungsbehaelter
US4692876A (en) 1984-10-12 1987-09-08 Hitachi, Ltd. Automatic freight stacking system
JPS6219963A (ja) 1985-07-19 1987-01-28 Hitachi Ltd 貨物自動積付装置の異常予報方式
US5079699A (en) * 1987-11-27 1992-01-07 Picker International, Inc. Quick three-dimensional display
US5175692A (en) 1989-04-14 1992-12-29 University Of Cincinnati Method and apparatus for palletizing randomly arriving mixed size and content parcels
JPH03162320A (ja) 1989-11-21 1991-07-12 Mitsubishi Electric Corp パレタイズ装置
JP2508410B2 (ja) 1990-11-30 1996-06-19 三菱電機株式会社 パレタイズ装置
NL9100483A (nl) 1991-03-19 1992-10-16 Nederland Ptt Werkwijze voor het bepalen van vrije deelvlakken op een gedeeltelijk met rechthoekige voorwerpen bedekt vlak alsmede een werkwijze voor het bepalen van vrije ruimten in een gedeeltelijk met voorwerpen in de vorm van een rechthoekig parallelepipedum gevulde ruimte.
US5501571A (en) * 1993-01-21 1996-03-26 International Business Machines Corporation Automated palletizing system
JPH08118274A (ja) 1994-10-26 1996-05-14 Mitsubishi Electric Corp 産業用ロボット装置
JPH1080881A (ja) * 1996-09-06 1998-03-31 Nippon Steel Corp 多関節ロボットの制御装置及びその制御方法
US5908283A (en) * 1996-11-26 1999-06-01 United Parcel Service Of Americia, Inc. Method and apparatus for palletizing packages of random size and weight
JPH11116056A (ja) 1997-10-14 1999-04-27 Okura Yusoki Co Ltd 積付パターン生成装置および積付装置
JPH11130263A (ja) 1997-10-27 1999-05-18 Yaskawa Electric Corp 積載パターン作成方法
JP3589880B2 (ja) * 1998-12-08 2004-11-17 日本政策投資銀行 全自動混載積付方法及びそのシステム
US7062093B2 (en) * 2000-09-27 2006-06-13 Mvtech Software Gmbh System and method for object recognition
JP2002154616A (ja) 2000-11-20 2002-05-28 Murata Mach Ltd デパレタイズシステム
JP3586639B2 (ja) 2000-11-20 2004-11-10 村田機械株式会社 配送センター
US20030110102A1 (en) * 2001-05-29 2003-06-12 Chen-Fu Chien Method for goods arrangement and its system
JP2003104563A (ja) 2001-09-28 2003-04-09 Maki Mfg Co Ltd 入荷設備
JP4036681B2 (ja) 2002-05-22 2008-01-23 ダイハツ工業株式会社 車両走行制御装置および方法
KR100484163B1 (ko) * 2002-09-14 2005-04-19 삼성전자주식회사 디지털 화질 개선 방법 및 장치
JP3969334B2 (ja) 2003-04-04 2007-09-05 株式会社ダイフク 物品の積付方法
JP4359108B2 (ja) 2003-09-17 2009-11-04 村田機械株式会社 ピッキング物品積上げ指示システム
DE10352279A1 (de) 2003-11-08 2005-06-09 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Handhaben von Objekten
US7266422B1 (en) * 2004-04-09 2007-09-04 Fanuc Robotics America, Inc. Automated palletizing cases having mixed sizes and shapes
AU2004201709A1 (en) 2004-04-23 2005-11-10 Foodmach Pty Ltd Materials handling system
US20080030497A1 (en) * 2005-12-08 2008-02-07 Yangqiu Hu Three dimensional modeling of objects
JP4838627B2 (ja) 2006-04-25 2011-12-14 株式会社神戸製鋼所 表面性状に優れた高Si含有鋼板およびその製造方法ならびにその製造用の素材の高Si含有鋼材
US20080131255A1 (en) 2006-11-30 2008-06-05 Transbotics Corporation Palletizing systems and methods
US7773811B2 (en) * 2006-12-06 2010-08-10 D & S Consultants, Inc. Method and system for searching a database of graphical data
DE102007001263B4 (de) 2007-01-08 2015-07-23 Kuka Roboter Gmbh Robotersystem zur Beladung von Lademitteln mit Stückguteinheiten
DE102007016727B4 (de) 2007-04-07 2010-06-10 Dematic Gmbh & Co. Kg Verfahren zum mehrlagigen Bestapeln eines Trägers
JP4302160B2 (ja) 2007-09-12 2009-07-22 ファナック株式会社 ロボットによるパレタイジング作業のためのロボットプログラミング装置
CN101145051A (zh) 2007-09-20 2008-03-19 广东韶钢松山股份有限公司 板材生产线堆垛过程自动化控制技术
US8264697B2 (en) * 2007-11-27 2012-09-11 Intelligrated Headquarters, Llc Object detection device
DE102009011300B4 (de) 2009-03-02 2022-08-11 Kuka Roboter Gmbh Beladung von Lademitteln mit Paketen mittels Manipulator
DE102009011296B4 (de) * 2009-03-02 2021-11-25 Kuka Roboter Gmbh Beladung eines Lademittels mit Paketen
DE102009011294B4 (de) 2009-03-02 2020-12-24 Kuka Roboter Gmbh Palletieren von Paketen mittels eines Manipulators
JP2011022784A (ja) * 2009-07-15 2011-02-03 Sony Corp 情報処理装置、ブロック検出方法およびプログラム
JP5402697B2 (ja) * 2009-10-26 2014-01-29 株式会社安川電機 ロボット装置及びワーク取り出しシステム並びにワーク取り出し方法
JP5257335B2 (ja) * 2009-11-24 2013-08-07 オムロン株式会社 3次元視覚センサにおける計測有効領域の表示方法および3次元視覚センサ
US8447423B2 (en) 2009-11-30 2013-05-21 Exxonmobil Research And Engineering Company Method and apparatus for optimizing a performance index of a bulk product blending and packaging plant
US20130163879A1 (en) 2010-08-30 2013-06-27 Bk-Imaging Ltd. Method and system for extracting three-dimensional information
CN201804260U (zh) 2010-09-01 2011-04-20 江苏天奇物流***工程股份有限公司 座椅托盘堆垛机构的自动控制***
JP2012140139A (ja) 2010-12-28 2012-07-26 Asahi Glass Co Ltd ガラス板梱包容器及び該ガラス板梱包容器を用いた運搬方法
WO2012140770A1 (ja) * 2011-04-14 2012-10-18 三菱電機株式会社 ロボット制御装置
WO2013059366A2 (en) 2011-10-17 2013-04-25 Symbotic Llc Pallet building system
US10216865B1 (en) 2012-03-06 2019-02-26 Vecna Robotics, Inc. Monitoring one or more articles on a support surface
US9092698B2 (en) 2012-06-21 2015-07-28 Rethink Robotics, Inc. Vision-guided robots and methods of training them
US9315344B1 (en) 2012-07-20 2016-04-19 Amazon Technologies, Inc. Container stacking configurations
US20140180479A1 (en) 2012-12-20 2014-06-26 Wal-Mart Stores, Inc. Bagging With Robotic Arm
US9233470B1 (en) 2013-03-15 2016-01-12 Industrial Perception, Inc. Determining a virtual representation of an environment by projecting texture patterns
JP5616478B1 (ja) * 2013-04-18 2014-10-29 ファナック株式会社 ワークを搬送するロボットを備えるロボットシステム
CN103350908A (zh) 2013-06-13 2013-10-16 周怡 自动包装码垛控制***及码垛***
US9682826B2 (en) 2013-06-23 2017-06-20 Top Tier, Llc Item infeed apparatus and method for a palletizer system
US9663309B2 (en) * 2013-09-06 2017-05-30 Liquor Control Board Of Ontario (Lcbo) Automated palletization method, system and software
CN103640729B (zh) 2013-11-25 2015-08-26 天津中财型材有限责任公司 一种塑钢异型材自动包装***
US9393693B1 (en) * 2014-07-10 2016-07-19 Google Inc. Methods and systems for determining and modeling admissible gripper forces for robotic devices
US9205558B1 (en) 2014-07-16 2015-12-08 Google Inc. Multiple suction cup control
US9272417B2 (en) 2014-07-16 2016-03-01 Google Inc. Real-time determination of object metrics for trajectory planning
CN104154878B (zh) * 2014-07-29 2016-09-28 暨南大学 一种使用单像素探测器的光学成像方法
US9424470B1 (en) 2014-08-22 2016-08-23 Google Inc. Systems and methods for scale invariant 3D object detection leveraging processor architecture
US9457477B1 (en) 2014-08-25 2016-10-04 Google Inc. Variable stiffness suction gripper
US9507995B2 (en) 2014-08-29 2016-11-29 X Development Llc Combination of stereo and structured-light processing
US9205562B1 (en) 2014-08-29 2015-12-08 Google Inc. Integration of depth points into a height map
US9866815B2 (en) 2015-01-05 2018-01-09 Qualcomm Incorporated 3D object segmentation
US9688489B1 (en) 2015-03-30 2017-06-27 X Development Llc Modular dock for facilities integration
US9457970B1 (en) 2015-03-30 2016-10-04 Google Inc. Modular cross-docking system
US9694498B2 (en) 2015-03-30 2017-07-04 X Development Llc Imager for detecting visual light and projected patterns
US9715639B2 (en) * 2015-06-18 2017-07-25 The Boeing Company Method and apparatus for detecting targets
WO2017018113A1 (ja) 2015-07-29 2017-02-02 株式会社オートネットワーク技術研究所 対象物のハンドリングシミュレーション装置、対象物のハンドリングシミュレーションシステム、対象物のハンドリングをシミュレーションする方法、対象物の製造方法及び対象物のハンドリングシミュレーションプログラム
US9718188B2 (en) 2015-09-21 2017-08-01 Amazon Technologies, Inc. Networked robotic manipulators
US9926138B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Determination of removal strategies
JP6267175B2 (ja) 2015-11-20 2018-01-24 ファナック株式会社 物品を積む位置を設定する積み付けパターン計算装置
EP3405418B1 (en) 2015-11-30 2021-06-09 Sidel Canada Inc. Distribution conveying device and conveying process
US10124489B2 (en) * 2016-02-26 2018-11-13 Kinema Systems Inc. Locating, separating, and picking boxes with a sensor-guided robot
JP6378232B2 (ja) 2016-03-17 2018-08-22 ファナック株式会社 複数の種類の物品を積み付けるための積み付けパターン計算装置および積み付け装置
CN105691717A (zh) 2016-03-25 2016-06-22 云南昆船电子设备有限公司 一种机器人抓取散状辅料包装置及寻包方法
US9965730B2 (en) 2016-08-23 2018-05-08 X Development Llc Autonomous condensing of pallets of items in a warehouse
JP6614075B2 (ja) * 2016-09-07 2019-12-04 株式会社ダイフク 物品積載設備
JP6469061B2 (ja) 2016-09-29 2019-02-13 ファナック株式会社 積み付けパターン計算装置及び積み付けシステム
WO2018120210A1 (zh) 2016-12-30 2018-07-05 深圳配天智能技术研究院有限公司 确定码垛点位置信息的方法、装置及机器人
JP2018136896A (ja) 2017-02-24 2018-08-30 キヤノン株式会社 情報処理装置、システム、情報処理方法、および物品の製造方法
JP7001354B2 (ja) 2017-03-29 2022-01-19 トーヨーカネツ株式会社 自動物流システム
US10328578B2 (en) * 2017-04-21 2019-06-25 X Development Llc Methods and systems for detecting, recognizing, and localizing pallets
JP7116901B2 (ja) 2017-08-01 2022-08-12 オムロン株式会社 ロボット制御装置、ロボット制御方法及びロボット制御プログラム
JP6549654B2 (ja) 2017-08-03 2019-07-24 ファナック株式会社 ロボットシステムのシミュレーション装置およびシミュレーション方法
JP6680732B2 (ja) 2017-08-23 2020-04-15 ファナック株式会社 物品積み付け装置及び機械学習装置
CN207374734U (zh) 2017-09-11 2018-05-18 宁波德克尔运输设备有限公司 一种打包码垛一体化装置
US10713547B2 (en) * 2017-10-17 2020-07-14 Kyocera Document Solutions Inc. Systems, processes, interfaces, and computer program products for verification of image content in software development systems
JP6647266B2 (ja) * 2017-11-06 2020-02-14 西部電機株式会社 出庫処理システム及び出庫処理方法
JP6613288B2 (ja) 2017-11-14 2019-11-27 ファナック株式会社 積み付けパターン計算装置及びロボット制御装置
US20190193956A1 (en) * 2017-12-21 2019-06-27 Walmart Apollo, Llc System for dynamic pallet-build
JP2019117547A (ja) * 2017-12-27 2019-07-18 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
CN108748136A (zh) 2018-04-10 2018-11-06 上海新时达机器人有限公司 机器人码垛程序生成方法、存储介质及示教器
CN108776879B (zh) 2018-06-04 2022-06-14 江苏楚门机器人科技有限公司 一种基于权重学习的垛形规划方法
CN109359739A (zh) 2018-09-13 2019-02-19 深圳市递四方信息科技有限公司 基于遗传算法的堆叠组合方法、装置、设备和存储介质
CN109132313A (zh) 2018-10-26 2019-01-04 北京旷视科技有限公司 物品移动***、取货机器人、搬运机器人及方法
CN109353833B (zh) 2018-11-27 2021-06-29 深圳市汇川技术股份有限公司 机器人码垛点位生成方法、设备及计算机可读存储器
US10335947B1 (en) 2019-01-18 2019-07-02 Mujin, Inc. Robotic system with piece-loss management mechanism
US10549928B1 (en) 2019-02-22 2020-02-04 Dexterity, Inc. Robotic multi-item type palletizing and depalletizing
US11077554B2 (en) 2019-05-31 2021-08-03 Mujin, Inc. Controller and control method for robotic system
US10679379B1 (en) * 2019-05-31 2020-06-09 Mujin, Inc. Robotic system with dynamic packing mechanism
US10696494B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system for processing packages arriving out of sequence
US10696493B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system with packing mechanism
US10647528B1 (en) 2019-05-31 2020-05-12 Mujin, Inc. Robotic system for palletizing packages using real-time placement simulation
US10618172B1 (en) 2019-05-31 2020-04-14 Mujin, Inc. Robotic system with error detection and dynamic packing mechanism

Also Published As

Publication number Publication date
CN112009812A (zh) 2020-12-01
JP6704157B1 (ja) 2020-06-03
US11488323B2 (en) 2022-11-01
KR102424718B1 (ko) 2022-07-25
JP2020196118A (ja) 2020-12-10
JP2020196124A (ja) 2020-12-10
US20230008946A1 (en) 2023-01-12
DE102019130902B4 (de) 2021-01-14
US20200380722A1 (en) 2020-12-03
US10679379B1 (en) 2020-06-09
DE102019130902A1 (de) 2020-12-03
DE102019009206A1 (de) 2021-02-18
DE102019009206B4 (de) 2022-10-13
KR20200138072A (ko) 2020-12-09

Similar Documents

Publication Publication Date Title
KR102424718B1 (ko) 동적 패킹 메커니즘을 구비한 로봇 시스템
KR102408914B1 (ko) 오류 검출 및 동적 패킹 메커니즘을 구비한 로봇 시스템
KR102325417B1 (ko) 패킹 메커니즘을 구비한 로봇 시스템
US11491654B2 (en) Robotic system with dynamic pack adjustment mechanism and methods of operating same
CN111498213B (zh) 具有动态打包机制的机器人***
CN111559544B (zh) 具有错误检测和动态打包机制的机器人***
CN111498214B (zh) 具有打包机制的机器人***

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal