KR20200071763A - 대상물의 위치를 결정하고 각각의 대상물에 대한 적절한 파지점을 계산하기 위한 로봇 시스템용 제어 디바이스 및 방법 - Google Patents

대상물의 위치를 결정하고 각각의 대상물에 대한 적절한 파지점을 계산하기 위한 로봇 시스템용 제어 디바이스 및 방법 Download PDF

Info

Publication number
KR20200071763A
KR20200071763A KR1020207014929A KR20207014929A KR20200071763A KR 20200071763 A KR20200071763 A KR 20200071763A KR 1020207014929 A KR1020207014929 A KR 1020207014929A KR 20207014929 A KR20207014929 A KR 20207014929A KR 20200071763 A KR20200071763 A KR 20200071763A
Authority
KR
South Korea
Prior art keywords
segment
point
point cloud
gripping
calculated
Prior art date
Application number
KR1020207014929A
Other languages
English (en)
Other versions
KR102399745B1 (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 KR20200071763A publication Critical patent/KR20200071763A/ko
Application granted granted Critical
Publication of KR102399745B1 publication Critical patent/KR102399745B1/ko

Links

Images

Classifications

    • 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/0464Storage devices mechanical with access from above
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62LBRAKES SPECIALLY ADAPTED FOR CYCLES
    • B62L3/00Brake-actuating mechanisms; Arrangements thereof
    • 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
    • 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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L7/00Electrodynamic brake systems for vehicles in general
    • B60L7/10Dynamic electric regenerative braking
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L7/00Electrodynamic brake systems for vehicles in general
    • B60L7/24Electrodynamic brake systems for vehicles in general with additional mechanical or electromagnetic braking
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60TVEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
    • B60T8/00Arrangements for adjusting wheel-braking force to meet varying vehicular or ground-surface conditions, e.g. limiting or varying distribution of braking force
    • B60T8/17Using electrical or electronic regulation means to control braking
    • B60T8/1701Braking or traction control means specially adapted for particular types of vehicles
    • B60T8/1706Braking or traction control means specially adapted for particular types of vehicles for single-track vehicles, e.g. motorcycles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62JCYCLE SADDLES OR SEATS; AUXILIARY DEVICES OR ACCESSORIES SPECIALLY ADAPTED TO CYCLES AND NOT OTHERWISE PROVIDED FOR, e.g. ARTICLE CARRIERS OR CYCLE PROTECTORS
    • B62J27/00Safety equipment
    • 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/0492Storage devices mechanical with cars adapted to travel in storage aisles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L2250/00Driver interactions
    • B60L2250/18Driver interactions by enquiring driving style
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60TVEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
    • B60T2220/00Monitoring, detecting driver behaviour; Signalling thereof; Counteracting thereof
    • B60T2220/02Driver type; Driving style; Driver adaptive features
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60TVEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
    • B60T2270/00Further aspects of brake control systems not otherwise provided for
    • B60T2270/60Regenerative braking
    • B60T2270/604Merging friction therewith; Adjusting their repartition
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39484Locate, reach and grasp, visual guided grasping
    • 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/40053Pick 3-D object from pile of objects
    • 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/40563Object detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20156Automatic seed setting
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02T90/10Technologies relating to charging of electric vehicles
    • Y02T90/16Information or communication technologies improving the operation of electric vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Transportation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Automation & Control Theory (AREA)
  • Power Engineering (AREA)
  • Geometry (AREA)
  • Electromagnetism (AREA)
  • Manipulator (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

대상물을 신뢰성있게 위치결정하고 각각의 대상물에 대한 적절한 파지점을 계산하여 로봇 시스템을 효과적으로 제어하기 위해서 제어 디바이스가 제공된다. 제어 디바이스는, 적어도, 대상물의 표면에 대한 파지점을 더 효과적으로 계산하기 위하여, 로봇 시스템에 의해 파지될 대상물의 표면의 속성에 적어도 기반하는 파지점 계산을 제공하는 것이 바람직하다. 특히, 제어 디바이스는 조직적 포인트 클라우드 생성기 및 석션컵 엔드 이펙터를 포함하는 로봇 시스템에 연결가능하고, 조직적 포인트 클라우드 생성기는 적어도 하나의 대상물을 보유하도록 구성되는 적어도 하나의 보관 수단의 조직적 포인트 클라우드를 생성하도록 구성되며, 로봇 시스템은 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하도록 구성된다. 제어 디바이스는 조직적 포인트 클라우드의 법선 및 조직적 포인트 클라우드의 주곡률을 계산하도록 구성되는 표면 계산 수단을 포함한다. 제어 디바이스는, 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하기 위한, 로봇 시스템의 석션컵 엔드 이펙터에 대한 파지점을, 조직적 포인트 클라우드, 조직적 포인트 클라우드의 계산된 법선, 조직적 포인트 클라우드의 계산된 주곡률 및, 보관 수단의 하면의 법선에 기반하여 계산하도록 구성되는 파지점 계산 수단을 더 포함한다.

Description

대상물의 위치를 결정하고 각각의 대상물에 대한 적절한 파지점을 계산하기 위한 로봇 시스템용 제어 디바이스 및 방법
본 출원은 그 전체 내용이 본 명세서에 원용에 의해 통합되는 2017 년 11 월 17 일에 출원된 영국 특허 출원 번호 제 1719058.8에 대한 우선권을 주장한다.
본 발명은 일반적으로 로봇 시스템의 분야에 관한 것이고, 특히 식료품 쇼핑 포장 시스템 및 보관 시스템과 함께 로봇 시스템을 제어하기 위한 제어 디바이스 및 방법에 관한 것이다.
컴퓨터 비젼 및 로보틱스 분야에서, 이미징된 대상물의 위치를 결정하고 이미징된 대상물을 파지하도록 로봇 시스템에게 명령하는 개념은 발전되는 분야이다. 이러한 동작은 통상적으로, 데이터베이스가 파지될 대상물의 모델을 저장하고 로봇 시스템에 의해 성공적으로 파지될 수 있는 대상물 상의 위치를 표시하는 모델-기반 접근법을 사용하여 달성되어 왔다. 그러므로, 장면 내의 알려지고 모델링된 대상물을 위치를 결정하기 위하여, 데이터베이스 모델은 이미징된 장면과 비교될 수 있다. 그러면, 로봇 시스템은 이러한 모델에 의해 식별되는 파지점을 사용하여, 위치결정된 대상물을 파지하게 될 수 있다.
그러나, 이러한 접근법은 데이터베이스 내에 저장될 대상물의 정확한 모델에 의존하게 되는데, 이것은 많은 수의 대상물 타입이 있거나, 특정한 대상물 타입에 큰 변동이 있는 경우에는 실용적이지 않을 수 있어서, 모델링하는 것을 어렵게 한다.
따라서, 데이터베이스에 모델이 저장되지 않고, 그 대신에 제어기가 이미징된 장면으로부터 보이는 대상물의 장면 내의 위치 및 대상물 중 적어도 하나에 대한 적절한 파지점 양자 모두를 결정하는 무모델 피킹의 개념이 관심을 받고 있다.
본 발명의 발명자들은, 컨테이너 등 안에 단단하게 패킹된 대상물을 파지하는 문제점에 직면하고, 로봇 시스템용 석션컵 엔드 이펙터를 사용하기로 선택했다. 더욱이, 석션컵 엔드 이펙터를 선택하는 것은 견실하고 신뢰가능하면서도 기계적으로 쉽게 구현된다. 그리고 발명자들은 다른 대상물이 높은 밀도로 존재하는 영역 내에서 한 대상물에 대한 적합한 파지점을 선택하는 것에 관심을 두었다.
Umar Asif 등 저, "Model-Free Segmentation and Grasp Selection of Unknown Stacked Objects"에서, 평행한 조오(jaw) 그리퍼들을 활용하여 대상물을 파지를 위한 무모델 접근법이 개시된다. 따라서, 반사 대칭을 사용하여 파지점들의 쌍을 생성하는 파지 계산 알고리즘이 개시된다. 그러나, 이러한 알고리즘은 대상물이 자유 공간 내에 위치된다고 가정하는데, 그러려면 일반적으로, 컨테이너 내의 대상물에 대해서, 비젼 시스템이 엔드 이펙터에게 대상물까지의 충돌이 없는 루트를 찾기 위한 경로 플래닝을 수행해야 한다.
이와 유사하게, Andreas ten Pas 등 저, "Grasp Pose Detection in Point Clouds"는 로봇 시스템 상의 평행 조오 그리퍼를 역시 사용하는 무모델 접근법을 개시한다. 그러나, 그들의 접근법은 대상물을 세그멘트화하지 않고, 따라서 다수의 대상물들이 단일 대상물로서 검출될 수 있다.
전술된 논문들 양자 모두는, 환경 내의 다른 대상물과의 간섭 때문에 밀집 패킷 환경에서는 동작할 수 없는 평행한 조오 그리퍼를 사용하는 것을 개시한다. 그러므로, 계산된 파지점은 석션컵 엔드 이펙터가 대상물을 파지하기 위한 효과적인 위치를 제공하지 않는다.
그러므로, 전통적인 모델 기반 접근법을 사용하지 않고, 석션컵 엔드 이펙터에 대해서 적합한, 적절한 파지점을 결정하기 위한 더 적절한 파지점 결정 및 제어 장치 및 방법이 요구된다.
공지된 무모델 접근법에서의 문제점을 고려하여, 본 발명은 대상물의 위치를 신뢰성있게 결정하고 각각의 대상물에 대한 적절한 파지점을 계산하여, 로봇 시스템을 효과적으로 제어하기 위한 장치 및 방법을 제공하는 것을 목적으로 한다.
일반적으로 말하면, 본 발명은, 대상물의 표면에 대한 파지점을 더 효과적으로 계산하기 위해서, 로봇 시스템에 의해 파지될 대상물의 표면에 적어도 기반한 파지점 계산법을 소개한다.
본 발명은, 로봇 시스템용 제어 디바이스를 제공하는데, 이러한 제어 디바이스는 조직적 포인트 클라우드 생성기 및 석션컵 엔드 이펙터를 포함하는 로봇 시스템에 연결가능하고, 조직적 포인트 클라우드 생성기는 적어도 하나의 대상물을 보유하도록 구성되는 적어도 하나의 보관 수단의 조직적 포인트 클라우드를 생성하도록 구성되며, 로봇 시스템은 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하도록 구성된다. 제어 디바이스는 조직적 포인트 클라우드의 법선 및 조직적 포인트 클라우드의 주곡률을 계산하도록 구성되는 표면 계산 수단을 포함한다. 제어 디바이스는, 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하기 위한, 로봇 시스템의 석션컵 엔드 이펙터에 대한 파지점을, 조직적 포인트 클라우드, 조직적 포인트 클라우드의 계산된 법선, 조직적 포인트 클라우드의 계산된 주곡률 및, 보관 수단의 하면의 법선에 기반하여 계산하도록 구성되는 파지점 계산 수단을 더 포함한다.
본 발명은 시스템을 더 제공한다. 이러한 시스템은 적어도 하나의 대상물을 포함하는 적어도 하나의 보관 수단의 조직적 포인트 클라우드를 생성하도록 구현되는 조직적 포인트 클라우드 생성기를 포함한다. 시스템은, 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하도록 구현되는 석션컵 엔드 이펙터를 포함하는 로봇 시스템을 더 포함한다. 시스템은 계산된 파지점에 기반하여 로봇 시스템을 제어하도록 구현되는, 전술된 제어 디바이스를 더 포함한다.
본 발명은 제공 식료품 쇼핑 포장 시스템을 더 제공한다. 식료품 쇼핑 포장 시스템은, 동일한 제품의 많은 대상물을 보관하도록 구현되는 제 1 보관 수단, 상이한 제품의 많은 대상물을 획득하도록 구현되는 제 2 보관 수단 및 전술된 바와 같은 시스템을 포함한다. 로봇 시스템은 적어도 하나의 대상물을 제 1 보관 수단으로부터 제 2 보관 수단으로 이동시키도록 구현된다.
본 발명은 보관 시스템을 더 제공한다. 보관 시스템은, X-방향으로 연장되는 평행 레일 또는 트랙의 제 1 세트, 및 실질적으로 수평인 평면에서 제 1 세트를 가로지르는 Y-방향으로 연장되어 복수 개의 격자 공간을 포함하는 격자 패턴을 형성하는 평행 레일 또는 트랙의 제 2 세트를 포함한다. 컨테이너의 복수 개의 스택이 레일 밑에 위치되고, 각각의 스택이 단일 격자 공간의 점유공간 내에 위치되게 배치된다. 적어도 하나의 수송 디바이스는 스택 위로 레일 상에서 X 및/또는 Y 방향으로 선택적으로 이동하고, 컨테이너를 수송하도록 구현된다. 보관 시스템은 적어도 하나의 수송 디바이스에 의해 수송된 컨테이너를 수용하도록 구현되는 픽업 스테이션 및 전술된 바와 같은 시스템을 더 포함하고, 이러한 시스템은 컨테이너로부터 한 대상물을 파지하도록 구현된다.
본 발명은 로봇 시스템을 제어하는 방법을 더 제공하는데, 로봇 시스템은 석션컵 엔드 이펙터를 포함하고, 적어도 하나의 대상물을 보유하도록 구현되는 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하도록 구현된다. 이러한 방법은 적어도 하나의 보관 수단의 조직적 포인트 클라우드를 수신하는 단계를 포함한다. 방법은 조직적 포인트 클라우드의 법선 및 조직적 포인트 클라우드의 주곡률을 계산하는 단계를 더 포함한다. 이러한 방법은, 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하기 위한, 로봇 시스템의 석션컵 엔드 이펙터에 대한 파지점을, 조직적 포인트 클라우드, 조직적 포인트 클라우드의 계산된 법선, 조직적 포인트 클라우드의 계산된 주곡률 및, 보관 수단의 하면의 법선에 기반하여 계산하도록 구성되는 단계를 포함한다.
본 발명의 실시예가 오직 예시를 통하여, 유사한 참조 번호가 동일하거나 대응하는 부분을 표시하는 첨부된 도면을 참조하여 이제 설명될 것이다.
도 1은, 조직적 포인트 클라우드 생성기, 여러 대상물이 있는 컨테이너, 로봇 시스템 및 본 발명의 제 1 실시예에 따른 제어기를 포함하는, 파지 셋업(set up)의 개략도이다.
도 2는 제 1 실시예에 따른 제어기의 세그멘트화 수단의 추가적 세부사항을 보여주는 블록도이다.
도 3은 제 1 실시예에 따른 제어기의 표면 계산 수단의 추가적 세부사항을 보여주는 블록도이다.
도 4는 제 1 실시예에 따른 제어기의 파지점 계산 수단의 추가적 세부사항을 보여주는 블록도이다.
도 5는 제 1 실시예에 따른 제어기의 파지점 계산 수단의 반경 선택 수단의 추가적 세부사항을 보여주는 블록도이다.
도 6은 제 1 실시예에 따른 제어기의 파지점 계산 수단의 후보 계산 수단의 추가적 세부사항을 보여주는 블록도이다.
도 7은 제 1 실시예에 따른 제어기의 파지점 계산 수단의 크기 및 높이 선택 수단의 추가적 세부사항을 보여주는 블록도이다.
도 8은 제 1 실시예에 따른 제어기의 파지점 계산 수단의 정렬 수단의 추가적 세부사항을 보여주는 블록도이다.
도 9는 도 1에 도시되는 제 1 실시예에 따른 제어기에 의해 수행되는 프로세스를 나타내는 흐름도이다.
도 10은 도 2에 도시되는 세그멘트화 수단에 의해 수행되는 프로세스를 보여주는 흐름도이다.
도 11은 도 3에 도시되는 표면 계산 수단에 의해 수행되는 프로세스를 보여주는 흐름도이다.
도 12는 도 4에 도시되는 파지점 계산 수단에 의해 수행되는 프로세스를 보여주는 흐름도이다.
도 13은 도 5에 도시되는 반경 선택 수단에 의해 수행되는 프로세스를 보여주는 흐름도이다.
도 14는 도 6에 도시되는 후보 계산 수단에 의해 수행되는 프로세스를 보여주는 흐름도이다.
도 15는 도 7에 도시되는 크기 및 높이 선택 수단에 의해 수행되는 프로세스를 보여주는 흐름도이다.
도 16은 도 8에 도시되는 정렬 수단에 의해 수행되는 프로세스를 보여주는 흐름도이다.
도 17은 공지된 시스템에 따른 프레임워크 구조의 개략도이다.
도 18은 도 17의 프레임워크 구조체 내에 배치되는 빈들의 스택을 보여주는 상면도의 개략도이다.
도 19a 및 도 19b는 빈을 쌓는 화물 처리 디바이스의 개략적인 사시도이고, 도 19c는 빈을 인양하는 화물 처리 디바이스의 개략적인 전면 사시도이다.
도 20은 프레임워크 구조체에서 동작하는 화물 처리 디바이스를 보여주는 시스템의 개략도이다.
제 1 실시예
도 1은 컨테이너(4)로부터 대상물을 파지하기 위한 시스템을 본 발명의 제 1 실시예에 따른 제어기(1)와 함께 도시한다. 이러한 시스템에서, 상단 계층으로부터, 적어도 하나의 대상물을 보관하도록 배치되는 컨테이너(4)가 제공된다. 조직적 포인트 클라우드 생성기(2)가 컨테이너 및 존재할 경우 컨테이너(4)에 보유되는 대상물의 조직적 포인트 클라우드를 생성하기 위한 위치에 제공된다. 조직적 포인트 클라우드는, 컨테이너(4) 내의 대상물에 대한 파지점을 계산하도록 구현되는, 제 1 실시예에 따른 제어기(1)에 입력된다. 로봇 시스템은 제어기(1)에 연결되어 제어기(1)로부터 파지점을 수신한 후 식별된 파지점에서 대상물을 파지하도록 제공된다.
좀 더 상세하게, 도시된 컨테이너(4)는 로봇 시스템(3)에 의해서 컨테이너(4)로부터 이동하려고 하는 세 개의 대상물을 포함한다. 이해될 수 있는 것처럼, 컨테이너(4)는 임의의 개수의 대상물을 포함하거나 대상물을 포함하지 않을 수 있다. 통상적으로, 컨테이너는 대상물 및 대상물이 떨어지지 않게 하기 위한 벽, 예를 들어 4 개의 벽을 지지하는 하면, 즉 바닥을 포함한다. 그러나, 이해될 수 있는 것처럼, 컨테이너는 대상물을 홀딩하기 위한 임의의 크기 또는 구성, 예를 들어 세 개의 벽, 다섯 개의 벽 등을 포함하는 크기 또는 구성일 수 있다.
이상적으로는, 컨테이너(4) 내에 보유된 대상물은 벽의 상단 밑에 위치되지만, 제 1 실시예는, 예를 들어 컨테이너(4) 내에 있는 큰 대상물 때문에 또는 컨테이너(4) 내에 많은 수의 대상물이 쌓여 있기 때문에 대상물들이 벽의 상단을 넘어가는 컨테이너에도 동일하게 적용가능하다.
조직적 포인트 클라우드 생성기(2)는 컨테이너(4)의 콘텐츠를 보도록 위치된다. 통상적인 셋업에서, 컨테이너(4)의 하면은 위의 컨테이너(4) 위에 배치된 조직적 포인트 클라우드 생성기(2)와 수평으로 배치되고, 조직적 포인트 클라우드 생성기(2)의 센서는 수직 하방을 바라보면서 컨테이너(4)의 콘텐츠를 관찰한다. 적절한 조직적 포인트 클라우드 생성기(2)의 예는, 1 세대 마이크로소프트 키넥트(Microsoft Kinect) 디바이스, 비행 시간 디바이스, 초음파 디바이스, 스테레오 카메라 쌍 및 레이저 스트라이퍼(striper)와 같은 구조화된 광 디바이스이다. 이러한 디바이스들은 통상적으로 디바이스가 바라보는 장면의 깊이 정보를 포함하는 이미지인 깊이 지도 이미지를 생성한다. 당업계에서, 렌즈의 수차 및 디바이스의 센서에 대해서 깊이 맵 이미지를 교정하는 것은 흔한 일이다. 교정되면, 깊이 맵은 포인트 클라우드라고 알려져 있는 메트릭 3D 포인트의 세트로 변환될 수 있다. 바람직하게는, 포인트 클라우드는 조직적 포인트 클라우드인데, 이것은 각각의 3차원 포인트가 별개의 픽셀의 시선에 있어서 3D 포인트와 픽셀 사이에 1대1 대응성이 생긴다는 것을 의미한다. 조직화(organisation)는 더 효율적인 포인트 클라우드 처리가 가능하게 하기 때문에 바람직하다. 교정 프로세스의 추가적인 부분에서, 조직적 포인트 클라우드 생성기의 자세, 즉 로봇 시스템(3)의 레퍼런스 프레임에 대한 그 자신의 위치 및 배향이 결정된다(예를 들어, 레퍼런스 프레임은 로봇 시스템의 베이스일 수 있지만, 공지된 임의의 레퍼런스 프레임, 예를 들어 로봇 시스템의 손목 조인트에 위치된 레퍼런스 프레임도 동작할 것이다). 따라서, 조직적 포인트 클라우드는 깊이 맵 및 깊이 맵을 생성하도록 사용되는 렌즈 및 센서에 대한 정보에 기반하여 생성된다. 선택적으로, 생성된 깊이 맵은 로봇 시스템(3)의 레퍼런스 프레임으로 변환될 수 있다. 그러므로, 조직적 포인트 클라우드 생성기(2)는, 컨테이너(4) 및 대상물의 깊이 정보를 포함하는 이미지를 생성하기 위한 깊이 맵 생성 수단(미도시) 및 생성된 깊이 맵을 교정하여 깊이 맵 생성 수단의 렌즈 및 센서에 대한 정보에 기반하여 조직적 포인트 클라우드를 생성하기 위한 깊이 맵 교정 수단(미도시)을 포함할 수 있다. 간결성을 위하여, 조직적 포인트 클라우드 생성기(2)는 도 1에서 단일 유닛으로 도시된다. 그러나, 이해될 수 있는 것처럼, 깊이 맵 생성 및 깊이 맵 교정의 기능들 각각은 별개의 유닛에 의해 수행될 수 있고, 예를 들어 깊이 맵 교정 수단은 제 1 실시예의 제어기(1) 내에 통합될 수 있다.
제어기(1)는 생성된 조직적 포인트 클라우드를 수신하여, 로봇 시스템(3)에 의해 사용될 파지점을 생성한다. 그러나, 어떤 상황에서는 파지점이 생성되지 않는다. 예를 들어, 컨테이너가 대상물을 보유하지 않으면, 제어기(1)는 어떤 파지점도 생성하지 않고, 그 대신에 컨테이너(4)가 비어 있다는 표시를 생성한다. 일부 상황에서는, 로봇 시스템(3)은 생성된 파지점으로 대상물을 파지할 수 없을 수 있는데, 이러한 상황에서 제어기(1)는 파지점을 재계산하게 하도록 구성될 수 있지만, 데이터 입력을 한정하여, 예를 들어 파지점을 계산할 때 포인트 클라우드 정보 모두를 포함하지는 않도록 한다. 바람직하게는, 그 결과 이전에 계산된 것과 다른 상이한 파지점이 계산된다. 더욱이, 파지점이 발견되지 않으면, 제어기(1)는 조직적 포인트 클라우드 생성기(2)로부터 조직적 포인트 클라우드를 재캡쳐하도록 구현될 수 있다. 이러한 경우에, 캡쳐된 조직적 포인트 클라우드 내의 센서 노이즈에 기인하여 파지점 계산이 실패했다고 가정한다. 조직적 포인트 클라우드 센서를 재캡쳐함으로써, 노이즈가 변해서 결과적으로 얻어지는 성공적인 파지점 계산이 이루어질 수 있다.
일부 상황들에서, 제어기(1)는 파지점을 생성하지 못할 수 있고 및/또는 로봇 시스템(3)은 생성된 파지점으로 대상물을 파지하지 못할 수 있다. 이러한 상황 중 어느 하나 또는 양쪽 모두에서, 제어기(1)는 로봇 시스템(3)에게 컨테이너(4) 내의 적어도 하나의 대상물을 밀어내도록 명령할 수 있다. 이러한 방식으로, 로봇 시스템(3)은, 석션컵 엔드 이펙터 및 대상물 사이의 상호작용과 같지만 대상물을 파지하는 것은 아닌 작은 이동을 사용하여 컨테이너(4) 내의 대상물의 배향 및/또는 위치를 변경하도록 명령된다. 이러한 방식으로, 새롭게 캡쳐된 조직적 포인트 클라우드는 적어도 하나의 상이하게 배치된/배향된 대상물을 포함할 것이고, 이에 대해 파지점이 성공적으로 생성될 것이며, 대상물이 로봇 시스템(3)에 의해 성공적으로 파지될 수 있다.
생성된 파지점은 석션컵 엔드 이펙터를 포함하는 로봇 시스템(3)에 의해 수신된다. 석션컵 엔드 이펙터를 사용하면 대상물을 파지하기 위해 단일 파지점을 사용할 수 있고, 그러면 단단하게-패킹된 어레이로부터 개별 아이템을 들어올리기에 적합해지게 되는데, 이것은 많은 다른 종류의 엔드 이펙터들의 경우 아이템의 돌출 부분 주위에 대해서 아이템 주위에 공간이 부족하기 때문에 불가능했을 것이다. 이것은 쉽게 변형되는 대상물에 대해서도 효과적일 수 있다. 로봇 시스템(3)은, 컨테이너(4)로부터 계산된 파지점을 사용하여 대상물을 파지하기 위하여, 알려진 면적과 반경의 석션컵 엔드 이펙터를 사용한다. 로봇 시스템(3)은 이를 통하여 컨테이너(4) 내의 대상물을 컨테이너(4) 내의 다른 위치 또는 컨테이너(4) 밖의 위치로 용이하게 이동시킬 수 있다.
따라서, 제 1 실시예의 제어기(1)는 바람직하게는 특정 로봇식 엔드-이펙터의 동작에 적합한 파지 위치를 찾는다. 이러한 솔루션은, 변형가능 대상물 및 동일한 형상을 두 번 가지지 않는 대상물(예를 들어, 갑자 또는 과자 봉지)과 같이 대표적인 모델을 가지는 것이 불가능한 대상물을 픽업할 수 있게 된다. 더욱이, 제공된 제 1 실시예에 따른 솔루션은 파지될 많은 다른 대상물 근방에 위치된 대상물, 다르게 말하면, 조밀하게 배치된 대상물에 대한 파지점이 식별될 수 있게 한다.
제어기(1)는 표면 계산 수단(12) 및 파지점 계산 수단(12)을 포함한다. 선택적으로, 제어기(1)는 세그멘트화 수단(11)을 포함한다. 이러한 방식으로, 일반적으로, 표면 계산 수단(12)은, 컨테이너(4)의 콘텐츠에 대응하며 조직적 포인트 생성기(2)에 의해 이미징된 표면의 특정 속성을 계산한다. 그러면, 파지점 계산 수단(13)은 계산된 표면 속성 및 생성된 조직적 포인트 클라우드에 기반하여 파지점을 계산한다.
도 2는 제 1 실시예의 제어기(1) 내에 있고 본 발명의 발명자에 의해 활용되는 선택적인 세그멘트화 수단(11)을 더 상세하게 도시한다. 세그멘트화 수단(11)은 조직적 포인트 클라우드 생성기(2)에 의해 생성된 표면을 생성된 조직적 포인트 클라우드의 적어도 일부에 대응하는 적어도 하나의 세그멘트화된 표면(세그멘트라고도 알려짐)으로 분할하기 위해서 사용될 수 있다. 일반적으로, 세그멘트화된 표면은 컨테이너(4) 내의 개별 대상물에 대응한다. 예를 들어, 도 1에 기반하면, 컨테이너(4) 내의 각각의 대상물(즉 두 개의 실린더 및 하나의 큐브)에 대응하는 세 개의 세그멘트가 생성될 것이다. 그러나, 세그멘트화 수단(11)은 선택적인데, 그 이유는 컨테이너(4) 내의 대상물의 유효한 파지점이, 세그멘트화 수단(11)에 의해 생성되는 컨테이너(4)의 세그멘트화된 표면이 없이도 파지점 계산 수단(13)에 의해 생성되기 때문이다. 결과적으로, 세그멘트화 수단(11)이 없으면, 생성된 전체 조직적 포인트 클라우드가 단일 세그멘트화된 표면으로서 처리된다. 그러나, 이러한 표면은 파지점을 생성하기 위해서 표면 계산 수단(12) 및 파지점 계산 수단(13)에 의해 작용될 수 있는 유효한 속성을 가지기 때문에, 세그멘트화 수단(11)은 선택적인 것으로 여겨진다. 전술된 바와 같이, 바람직하게는, 세그멘트화 수단(11)은 일반적으로 컨테이너(4) 내의 개별 대상물에 대응하는 파지점을 더 효과적으로 계산하기 위해서 채용될 수 있다.
세그멘트화 수단(11)은 조직적 포인트 클라우드를 수신하고, 세그멘트라고도 알려지는 세그멘트화된 표면을 생성하기 위해서 이것을 사용한다. 이상적으로는, 조직적 포인트 클라우드 내에 표현되는 컨테이너(4) 내의 각각의 대상물은 조직적 포인트 클라우드 생성기(2)로부터 보이는 여러 표면에 의해 식별된다. 일 예에서, 세그멘트화 수단(11)은 단일 표면으로서 볼록면을 포함하는 대상물을 식별하도록 구현되고, 예를 들어 도 1에 도시된 바와 같은 컨테이너(4) 내의 실린더가 단일 표면으로서 식별될 것이고, 단일 표면은 볼록 방식으로 서로 결합되는 실린더의 상단의 평평면 및 실린더의 둥근 몸체를 나타낸다. 이와 유사하게, 도 1에 도시되는 컨테이너(4) 내의 큐브 대상물이 실린더와 구별되는 단일 표면으로서 식별될 것이다. 반면에, 오목 방식으로 결합되는 표면들은 별개의 표면으로서 취급된다. 예를 들어, 큐브 대상물 및 실린더 대상물 사이에는 오목 영역이 있다. 그러므로, 세그멘트화 수단(11)은 두 세그멘트화된 표면을 생성하도록 구현될 수 있는데, 두 대상물들 사이의 공간으로서 규정되는 오목 영역이 두 개의 생성된 표면들 사이의 표면 경계에 대응할 경우, 하나는 큐브에 대응하고 하나는 실린더에 대응한다.
이해될 수 있는 것처럼, 비록 세그멘트화 수단(11)의 하나의 특정한 구현형태가 도 2에서 도시되지만, 이러한 실시예는 조직적 포인트 클라우드를 세그멘트화된 표면으로 세그멘트화하는 다른 수단을 포함하는 것이 예상된다.
예를 들어, 본 명세서에서 원용에 의해 통합되는 Richtsfeld 등 저, "Segmentation of Unknown Objects in Indoor Environments"는, 표면 패치를 추정하기 위하여 평면 및 NURBS 표면을 근사화하고, 그래프-컷(graph-cut)을 사용하여 패치들을 SVM(수동으로 주석붙임된 데이터로 학습됨)에 의해 규정되는 쌍별 에너지(pairwise energy)와 병합함으로써 세그멘트화를 수행한다. 이해될 수 있는 것처럼, 조직적 포인트 클라우드를 세그멘트화하는 다른 수단이 제 1 실시예 안에서 예상된다.
조직적 포인트 클라우드를 세그멘트화하는 하나의 특정한 수단이 도 2에 도시된다. 이러한 특정 구현형태는 후술되는 바와 같은 특정한 장점을 가진다. 세그멘트화 수단(11)은 조직적 포인트 클라우드 계산 수단(111), 이미지 계산 수단(112) 및 시딩(seeding) 수단(113)을 포함한다. 선택적으로, 성장 수단(115) 및 병합 수단(116)이 제공된다. 추가적인 선택적 피쳐는, 제공될 수 있는 한정 수단(114)이다.
생성된 조직적 포인트 클라우드 내의 아티팩트를 감소시키기 위하여 평탄화된 조직적 포인트 클라우드가 사용될 수 있다. 간결성을 위하여, 후속하는 섹션은 평탄화된 조직적 포인트 클라우드가 사용되는 것으로 가정하고 선택적인 세그멘트화 수단(11)의 동작을 설명했지만, 이것은 선택적인 것이고 그 대신에 비-평탄화된 조직적 포인트 클라우드, 즉 생성된 조직적 포인트 클라우드가 대신 사용될 수도 있다.
조직적 포인트 클라우드 계산 수단(111)은 조직적 포인트 클라우드의 포인트의 법선, 평탄화된 조직적 포인트 클라우드, 조직적 포인트 클라우드의 제 1 및 제 2 도함수, 조직적 포인트 클라우드의 주곡률 및 신뢰도 맵을 계산하도록 구현된다. 따라서, 조직적 포인트 클라우드 계산 수단(111)은 조직적 포인트 클라우드의의 미분 기하학적 속성을 계산한다.
이미지 계산 수단(112)은 미분 기하학적 속성, 다르게 말하면, 조직적 포인트 클라우드의 포인트의 법선, 평탄화된 조직적 포인트 클라우드, 상기 조직적 포인트 클라우드의 제 1 및 제 2 도함수, 조직적 포인트 클라우드의 주곡률 및 신뢰도 맵을 수신한다. 이미지 계산 수단은 제 1 도함수, 최대 주곡률 및 신뢰도 맵에 기반하여 세그멘트 가능 이미지를 생성하도록 구현된다.
시딩 수단(113)은 이미지 계산 수단(112)으로부터 세그멘트 가능 이미지를 수신하고, 시드 세그멘트를 생성하도록 구현된다. 하나의 특정 실시예에서, 시드 세그멘트는 파지점 계산이 수행되는 세그멘트로서 사용될 수 있다. 다른 실시예들에서, 선택적이고 시드 세그멘트를 추가적으로 정제(refine)하는 추가 수단이 제공된다(후술되는 바와 같음).
선택적으로, 시드 세그멘트는 한정 수단(114)에 의해 한정될 수 있는데, 이것은 각각의 세그멘트의 경계 상에 세그멘트가 그 이상 성장할 수 없는 한정을 부과하도록 구현된다.
피쳐들의 추가적인 선택 세트는 성장 수단(115) 및 병합 수단(116)이다. 성장 수단(115)은 시딩 수단(113) 및 한정 수단(114)(사용된다면)의 출력을 수신한다. 성장 수단(115)은 성장된 세그멘트에 더 이상의 픽셀이 추가될 수 없을 때까지 시드 세그멘트를 성장시키도록 구현된다.
출력된 성장된 세그멘트는, 성장된 세그멘트를 적절한 경우에 병합하도록 구현되는 병합 수단(116)으로 입력된다.
그러면 병합된 세그멘트가 조직적 포인트 클라우드의 식별된 세그멘트로서 세그멘트화 수단(11)으로부터 출력된다.
좀 더 상세하게는, 조직적 포인트 클라우드 계산 수단의 하나의 특정 구현형태에서, 미분 기하학적 속성은 두 스테이지에서 계산된다. 제 1 스테이지에서는, 평탄화된 조직적 포인트 클라우드, 조직적 포인트 클라우드의 제 1 및 제 2 도함수 및 신뢰도 맵이 조직적 포인트 클라우드에 기반하여 계산된다. 제 2 스테이지에서는, 주곡률 및 조직적 포인트 클라우드의 법선이, 포인트 클라우드 생성기(2)가 바라보는 방향에 대응하는, 컨테이너의 하면의 법선에 기반하여, 그리고 제 1 스테이지에서 계산되는 바와 같은 평탄화된 조직적 포인트 클라우드 및 조직적 포인트 클라우드의 제 1 및 제 2 도함수에 기반하여 생성된다. 주곡률을 사용함으로써, 세그멘트화 수단(11)은 마루 또는 피크에 위치하는 포인트와 골 또는 크레이터에 위치하는 포인트를 구별할 수 있다. 통상적으로, 주곡률은 한 쌍의 숫자의 부호와 크기를 통해서 마루/피크 및 골/크레이터 사이의 구별을 나타낸다.
좀 더 상세하게, 평탄화된 조직적 포인트 클라우드(조직적 포인트 클라우드의 0차 도함수라고 불릴 수 있음)가 1차원 다항식 근사화를 사용하여 계산된다. 특히, 비한정적인 일 구현형태에서, 다항식은, 각각의 윈도우가 미리 결정된 반경을 가지는 중첩 윈도우로 하위분할되는, 조직적 포인트 클라우드의 1차원 슬라이스에 근사화된다. 좀 더 구체적으로는, 다항식은 조직적 포인트 클라우드의 x-방향 슬라이스 내의 미리 결정된 반경의 1차원 중첩 윈도우로 근사화된다. 이와 유사하게, 다항식은 조직적 포인트 클라우드의 y-방향 슬라이스 내의 미리 결정된 반경의 1차원 중첩 윈도우로도 근사화된다. x 방향에서의 재근사화와 y 방향에서의 재근사화 사이에서 교번하면서 다항식을 이전의 근사화 결과 및 이러한 결과들의 도함수에 재근사화함으로써, 조직적 포인트 클라우드 및 그 도함수의 더 부드러운 추정이 생성되고, 후속 처리 스테이지에 불리할 수 있는, 한 방향으로만 근사화함으로써 생길 수 있는 아티팩트가 제거된다. 더욱이, 근사화 프로시저는 가중될 수 있고, 그 결과로서 표면 불연속성에 걸친 평활화가 회피된다. 더욱이, 가중치는 신뢰도 맵을 생성하기 위하여 사용될 수 있다. 신뢰도 맵은 다항식 근사화가 조직적 포인트 클라우드의 포인트에 얼마나 신뢰성있게 근사화되는지의 표현이다.
더욱이, 각 포인트에 대해서 법선 및 제 1 기본 형태라고 알려지는 세 개의 값을 계산하기 위하여, x-방향 및 y-방향 1차 도함수에서의 1차 도함수가 컨테이너의 하면의 법선과 함께 사용될 수 있다. 이를 통하여, 주곡률이 각 포인트에 대한 법선, 제 1 기본 형태 및 2차 도함수에 기반하여 계산될 수 있다.
이미지 계산 수단(112)에 대해 설명하면, 이것은 조직적 포인트 클라우드의 출력 계산 수단(111)의 출력의 개별 픽셀에 기반하여 세그멘트 가능 이미지를 계산하도록 구현된다. 특히, 최대 주곡률 이미지의 등화된 부정(equalised negation), 조직적 포인트 클라우드 구배 놈 이미지(norms image)의 등화된 부정 및 신뢰도 맵의 픽셀단위 멱(pixelwise power)의 픽셀단위 곱으로서 계산한다. 비한정적인 일 실시예에서, 최대 주곡률 이미지의 등화된 부정은 조직적 포인트 클라우드 골에서의 최소값 및 마루에서의 최대값을 포함한다. 이와 유사하게, 조직적 포인트 클라우드 구배 놈 이미지의 등화된 부정은 경사면에서의 최소값 및 수평면에서의 최대값을 포함한다.
시딩 수단(113)은 시드 세그멘트를 계산하도록 구현된다. 비한정적인 일 예에서, 시드 세그멘트는 미리 결정된 임계를 사용하여 계산된다. 추가적으로 또는 대안적으로, 시딩 수단(113)은 세그멘트 가능 이미지 내의 가장 밝은 블롭(blob)의 위치를 결정하고, 이것을 시드 세그멘트로서 사용함으로써 시드 세그멘트를 계산할 수 있다. 이러한 관점에서, 용어 "블롭"은 픽셀 좌표의 인접한 세트를 의미하도록 사용되고, 이러한 세트의 임의의 표현이 사용될 수 있다는 것이 이해될 것이다. 비한정적인 일 실시예에서, 블롭은 이진 이미지에 의해 표현되는데, 여기에서 하나의 블롭에 속하는 픽셀들은 하나의 값을 가지고, 다른 모든 픽셀들은 다른 값을 가진다. 우리는 이러한 값을 각각 "백색" 및 "흑색"이라고 부를 것이지만, 대응하는 값들은 구별되기만 하면 임의의 값일 수 있다는 것이 이해되어야 한다. 비한정적인 일 실시예에서 임계는 전체 세그멘트 가능 이미지 중 적어도 일부에 걸친 픽셀 값들의 백분위수(미리 결정된 랭크(rank))로서 계산되고, 이러한 임계가 가장 밝은 블롭의 위치를 결정하기 위하여 사용된다. 예를 들어, 전술된 이진 이미지 표현에서는, 어떤 픽셀에 백색 값이 지정되고, 따라서, 대응하는 세그멘트 가능 이미지 픽셀이 그러한 임계보다 큰 값을 가진다면, 블롭의 일부라고 간주될 것이다. 다른 모든 픽셀에는 흑색 값이 지정될 것이다. 다르게 말하면, 각각의 픽셀에는 제 1 값 또는 제 2 값 중 하나가 지정된다. 이러한 방식으로 뚜렷한 영역들이 식별된다. 더욱이, 전체 세그멘트 가능 이미지의 적어도 일부는 전체 세그멘트 가능 이미지의 관심 영역에 대응하도록 결정될 수 있는데, 여기에서 관심 영역은 컨테이너(4)의 자세를 추정하고 그 콘텐츠를 격리함으로써 계산될 수 있다.
다음 스테이지로서, 생성된 시드 세그멘트 내의 홀이, 임의의 시드 세그멘트와 교차하지 않고 정확하게 하나의 시드 세그멘트에 의해서 완전히 밀폐되는 구역을 식별함으로써 채워진다. 예를 들어, 이진 이미지 표현에서는, 백색-값 구역에 의해 완전히 둘러싸인 흑색-값 구역은 백색으로 채워진다. 이를 통하여, 백색-값 픽셀이 흑색-값 픽셀의 아일랜드(island)를 제거하기 위하여 사용된다. 이러한 방식으로, 최초 시딩에 있는 오차가 정정된다.
이제 선택적인 한정 수단(114)으로 돌아가면, 마스크가 우선 세그멘트 가능 이미지 내의 모든 구역에 대해서 결정되고, 임계가 해당 세그멘트 가능 이미지 내의 픽셀에 대응하는, 해당 마스크 내의 모든 픽셀의 누적 분포 함수의 백분위수로서 결정된다. 어떤 픽셀이 미리 결정된 임계보다 적은 값을 가지면, 해당 픽셀은 마스크로부터 제거된다. 이러한 방식으로, 그 이상 세그멘트가 성장될 수 없는 경계 한정이 각각의 세그멘트에 부과된다. 일 예에서, 마스크는, 컨테이너의(4) 자세를 추정하고 그 콘텐츠를 격리함으로써 계산된 시딩 수단(113)에 대해서 전술된 관심 영역에 대응한다.
이러한 관점에서, 시드 세그멘트와 같이, 마스크는 이진 이미지로 표현될 수 있다. 이러한 관점에서, 상세한 설명 전체에서 언급되는 모든 이진 이미지는 임의의 두 값에 의해 표현되는 것으로 예상되고, 여기에서 임의의 두 값 각각은 다르다. 다르게 말하면, 이진 이미지 내의 각각의 픽셀에는 제 1 값 또는 제 2 값 중 어느 하나가 지정된다.
선택적인 성장 수단(115)에는 세그멘트 가능 이미지, 시드 세그멘트 및 세그멘트 가능 이미지의 누적 분포 함수가 주어진다. 성장 수단(115)은, 하나 이상의 세그멘트에 인접하고 아직 어떤 세그먼트에도 추가되지 않은 픽셀이 주어진 세그멘트에 포함되기 위한 적합한 후보인지 여부의 평가에 기반하여, 시드 세그멘트의 경계를 반복적으로 확장하도록 구현된다. 포함되기 위한 후보 픽셀의 적합성은, 그 세그멘트 가능 이미지 값과 해당 세그멘트 내의 세그멘트 가능 이미지 값들의 분포 사이의 유사성, 및 그 세그멘트 가능 이미지 값과 이미 세그멘트에 속한 인접한 픽셀의 값 사이의 차이를 고려하는 것에 기반하여 결정된다. 그 세그멘트 가능 이미지 값이 적어도 이러한 인접한 픽셀 중 하나 이상만큼 크면, 이것은 앞서 언급된 세그멘트 가능 이미지 값 분포의 관점에 있어서 가장 유사한, 이러한 픽셀을 소유하는 세그멘트에 추가된다. 세그멘트에 인접한 다른 모든 후보 픽셀들은 가장 유사한 인접한 세그멘트로부터 시작하여 유사성이 감소하는 순서로 정렬되고, 이러한 순서로 다음 테스트를 거치게 된다. 후보 픽셀은, 그것이 포함되어도 세그멘트 가능 이미지 값의 해당 세그멘트의 분포가 미리 결정된 임계보다 많이 변하지 않게 될 것이라면, 가장 유사한 인접한 세그멘트에 추가된다. 후보 픽셀이 이러한 테스트를 통과하지 못하면, 추가적인 후보가 경계 확장 프로세스의 이러한 반복에서는 고려되지 않는다. 이러한 반복은 새롭게 성장된 세그멘트 내의 홀을 채움으로써 끝난다. 시드 세그멘트는 픽셀들이 더 이상 적합성(inclusion suitability) 평가를 통과하지 않을 때까지 성장된다.
선택적인 병합 수단(116)은 성장된 세그멘트를 수신하도록 구현되고, 적절한 경우 세그멘트들을 병합하도록 구현된다. 특히, 이러한 구현형태에서, 세그멘트들을 병합할지 여부를 결정하기 위하여 두 조건이 사용된다. 특히, 두 세그멘트들 사이의 계면의 길이가 미리 결정된 스케일링 인자와 최단 둘레를 가지는 세그멘트의 길이의 곱보다 적으면, 제 1 조건이 만족된다. 더욱이, 두 세그멘트들 사이의 계면에 따른 세그멘트 가능 이미지 값들의 분포가 해당 세그멘트들 양자 모두 내의 세그멘트 가능 이미지 값의 분포와 유사하면, 제 2 조건이 만족된다. 제 1 및 제 2 조건이 만족되면, 세그멘트들은 병합된다.
도 3은 표면 계산 수단(12)의 동작을 자세하게 보여준다. 표면 계산 수단(12)은 조직적 포인트 클라우드 생성기(2)에 의해 생성된 조직적 포인트 클라우드를 수신한다. 또한, 표면 계산 수단(12)은 컨테이너(4)의 하면에 대한 법선의 표시를 수신한다. 이러한 관점에서, 컨테이너(4)의 하면의 법선은 컨테이너(4)에 상대적인 조직적 포인트 클라우드 생성기(2)의 배향의 표시를 효과적으로 제공한다. 따라서, 컨테이너(4)의 하면의 법선은, 조직적 포인트 클라우드 생성기(2)가 컨테이너(4)에 대해 고정된 배향에 있는 경우에는 고정된 상수이다.
표면 계산 수단(12)은 조직적 포인트 클라우드의 제 1 및 제 2 도함수, 신뢰도 맵, 및 조직적 포인트 클라우드의 주곡률 및 조직적 포인트 클라우드의 포인트의 법선을 출력하도록 구현된다. 선택적으로, 표면 계산 수단(12)은, 조직적 포인트 클라우드의 0차 도함수라고도 알려지는 평탄화된 조직적 포인트 클라우드를 출력하도록 더 구현된다.
바람직한 실시예에서, 평탄화된 조직적 포인트 클라우드의 출력은 생성된 조직적 포인트 클라우드로부터 아티팩트를 제거하기 위해서 활용된다. 그러나, 많은 상황에서, 생성된 조직적 포인트 클라우드는 조직적 포인트 클라우드를 평탄화할 필요가 없이, 로봇 시스템(3)에 대한 파지점이 정확하고 효과적인 계산되게 하기에 충분히 평탄하다.
비한정적인 일 구현형태에서, 표면 계산 수단(12)은 도함수 및 신뢰도 맵 계산 수단(121) 및 주곡률 및 법선 계산 수단(122)을 포함한다.
하나의 특정 실시예에서, 세그멘트화 수단(11)의 조직적 포인트 클라우드 계산 수단(111) 및 표면 계산 수단(12)은 유사한 방식으로 동작한다.
특히, 선택적인(optional) 평탄화된 조직적 포인트 클라우드는 1차원 다항식 근사화를 사용하여 계산된다. 특히, 비한정적인 일 구현형태에서, 다항식은, 각각의 윈도우가 미리 결정된 반경을 가지는 중첩 윈도우로 하위분할되는, 조직적 포인트 클라우드의 1차원 슬라이스에 근사화된다. 좀 더 구체적으로는, 다항식은 조직적 포인트 클라우드의 x-방향 슬라이스 내의 미리 결정된 반경의 1차원 중첩 윈도우로 근사화된다. 이와 유사하게, 다항식은 조직적 포인트 클라우드의 y-방향 슬라이스 내의 미리 결정된 반경의 1차원 중첩 윈도우로도 근사화된다. x 방향에서의 재근사화와 y 방향에서의 재근사화 사이에서 교번하면서 다항식을 이전의 근사화 결과 및 이러한 결과들의 도함수에 재근사화함으로써, 조직적 포인트 클라우드 및 그 도함수의 더 부드러운 추정이 생성되고, 따라서 후속 처리 스테이지에 불리할 수 있는, 한 방향으로만 근사화함으로써 생길 수 있는 아티팩트가 제거된다. 더욱이, 근사화 프로시저는 가중될 수 있고, 그 결과로서 표면 불연속성에 걸친 평활화가 회피된다. 더욱이, 가중치는 신뢰도 맵을 생성하기 위하여 사용될 수 있다.
주곡률 및 정상 계산 수단(122)은 조직적 포인트 클라우드의 주곡률 및 법선을 평탄화된 조직적 포인트 클라우드 및 조직적 포인트 클라우드의 제 1 및 제 2 도함수에 기반하여 계산하도록 구현된다.
더욱이, 주곡률 및 정상 계산 수단(122)은 x-방향 및 y-방향 양자 모두에서의 1차 도함수와 컨테이너의 하면의 법선을 함께 사용하여, 각 포인트에 대해서, 법선 및 제 1 기본 형태라고 알려지는 세 개의 값을 계산할 수 있다. 이를 통하여, 주곡률이 각 포인트에 대한 법선, 제 1 기본 형태 및 2차 도함수에 기반하여 계산될 수 있다.
비한정적인 일 예에서, 조직적 포인트 클라우드의 동작 계산 수단(111) 및 표면 계산 수단(12)은 동일한 방식으로 동작하고, 따라서 전술된 세그멘트화 수단(11)을 채용할 때, 표면 계산 수단(12) 및 계산 수단(111)이 일체화되어 형성됨으로써 동작의 중복을 피할 수 있다. 이러한 예에서, 세그멘트화 수단(11)은 파지점 계산 수단(13)으로 입력되도록, 세그멘트화된 표면과 함께, 선택적인 평탄화된 조직적 포인트 클라우드, 조직적 포인트 클라우드의 도함수, 및 조직적 포인트 클라우드의 주곡률 및 조직적 포인트 클라우드의 법선을 출력하도록 구현된다. 이러한 방식으로, 적절한 파지점을 결정하는 것에 영향을 주기 위해서 더 적은 동작이 요구되기 때문에 제어기(1)의 효율이 개선된다.
도 4는 파지점 계산 수단(13)의 동작을 보여준다. 이러한 실시예에서, 파지점 계산 수단(13)은 반경 선택 수단(131), 후보 계산 수단(132), 크기 및 높이 선택 수단(133) 및 정렬 수단(134)을 포함한다.
파지점 계산 수단(13)에는 세그멘트화 수단(11)이 채용되는지 여부에 따라서 조직적 포인트 클라우드 또는 세그멘트화된 표면이 입력된다. 또한, 파지점 계산 수단에는 표면의 계산된 속성, 즉 조직적 포인트 클라우드의 주곡률 놈, 조직적 포인트 클라우드의 법선, 컨테이너(4)의 하면의 법선 및 선택적인 평탄화된 조직적 포인트 클라우드가 입력된다. 파지점 계산 수단(13)은 로봇 시스템(3)에 대한 파지점을 출력하도록 구현되지만, 일부 상황에서는 파지점이 출력되지 않고, 그 대신에 파지점 계산 수단(13)은 컨테이너(4)가 비어 있다는 표시를 출력하거나 그렇지 않으면 파지점을 재계산할 수 있다.
주곡률은 마루 또는 피크에 위치하는 포인트와 골 또는 크레이터에 위치하는 포인트 사이를 구별한다. 통상적으로, 주곡률은 한 쌍의 숫자의 부호와 크기를 통해서 마루/피크 및 골/크레이터 사이의 구별을 나타낸다. 이러한 숫자 쌍의 절대 값의 평균에 대응하는 주곡률 놈을 사용함으로써, 마루/피크 및 골/크레이터 사이의 구별이 없어진다.
후속 섹션에서, 조직적 포인트 클라우드의 세그멘트를 제공하기 위해서 세그멘트화 수단(11)이 사용된다고 가정될 것이다. 그러나, 세그멘트화 수단(11)이 사용되지 않으면, 그 대신에 조직적 포인트 클라우드가 입력된다.
반경 선택 수단(131)은 세그멘트화 수단(11)으로부터 세그멘트를 수신하고, 로봇 시스템(3)의 석션컵 엔드 이펙터가 효과적으로 동작하게 하기에는 너무 작은 세그멘트화된 표면을 제거하도록 구현된다.
후보 계산 수단(132)은, 반경 선택 수단(131)으로부터 반경이 선택된 세그멘트를 수신하고, 반경 선택 수단(131)에 의해 선택된 그러한 세그멘트 내의 조직적 포인트 클라우드의 특정한 포인트에 작용하여 조건들의 특정 세트에 속하지 않는 포인트를 제거하도록 구현된다. 따라서, 후보 계산 수단(132)은 조건들의 특정 세트에 따르는, 반경이 선택된 세그멘트의 포인트를 선택한다. 더욱이, 특정한 파지점 후보를 선택하는 프로세스에서, 후보 계산 수단(132)은 특정 세그멘트로부터의 잠재적인 모든 파지점 후보를 버릴 수 있고, 따라서 특정 세그멘트 내에는 파지점 후보가 남아 있지 않는다. 이러한 실례에서, 후보 계산 수단(132)은 해당 세그멘트를 버림으로써 추후 동작에서 해당 세그멘트를 제거하도록 구현될 수 있다. 따라서, 후보 계산 수단(132)은 파지점 후보 및 그들이 존재하는 세그멘트를 출력하도록 구현된다.
크기 및 높이 선택 수단(133)은 선택된 파지점 후보 및 이들이 존재하는 세그멘트를 수신하도록 구현되고, 세그멘트 크기 조건 및 컨테이너(4)의 하면으로부터의 높이에 기반하여 그러한 세그멘트를 제거하도록 구현된다. 이러한 방식으로, 크기 및 높이 선택 수단(133)은, 그 크기가 특정 크기보다 큰 세그멘트 또는 컨테이너(4)의 하면으로부터의 거리, 다르게 말하면 높이가 특정 거리보다 큰 세그멘트를 선택하도록 구현된다(이러한 조건들 양자 모두를 만족하는 세그멘트도 물론 선택된다).
정렬 수단(134)은 크기와 높이가 선택된 세그멘트를 그들의 대응하는 파지점 후보와 함께 수신하도록 구현되고, 포인트의 주변 구역의 평평도, 및 그들의 도심으로부터의 거리에 기반하여 파지점 후보에 대한 평탄도 등급을 계산하도록 구현된다. 더욱이, 정렬 수단(134)은 각각의 파지점 후보의 그것이 존재하는 세그멘트의 도심까지의 거리에 기반하여 평평도 등급에 가중치를 부여하도록 구현된다. 따라서, 정렬 수단(134)은 최종 파지점을 선택한다. 이러한 방식으로, 선택된 최종 파지점은, 다른 파지점 후보에 비하여 평평하고(다르게 말하면, 파지점 후보 및 주변 포인트들이 상대적으로 낮은 곡률을 가짐), 다른 파지점 후보에 비하여 그 각각의 세그멘트의 도심까지의 거리에 있어서 가까운 세그멘트의 구역 내에 있게 된다. 최종 파지점에 기반하여, 로봇 시스템(3)은 최종 파지점에 있는 컨테이너 내의 대상물을 파지할 수 있다.
도 5는 도심 탐색 수단(1311), 거리 계산 수단(1312) 및 거리 경계화 수단(1313)을 포함하는 반경 선택 수단(131)의 동작을 보여준다.
도심 탐색 수단(1311)은, 각각의 세그멘트에 대하여, 세그멘트의 각각의 도심, 즉 세그멘트 내의 모든 포인트에 대한 세그멘트의 표면 상의 최근접 포인트의 위치를 결정하도록 구현되고, 거리는 세그멘트의 표면에 걸쳐서 측정된다. 대안적인 실시예에서, 도심은 세그멘트 포인트들의 평균에 가장 가까운 세그멘트 포인트로 근사화된다. 이러한 근사화는 더 효율적으로 계산될 수 있지만, 세그멘트가 많이 휘어진 경우에는 부정확한 결과를 제공한다.
거리 계산 수단(1312)은, 각각의 세그멘트에 대하여, 도심으로부터 세그멘트의 경계(또는 둘레) 상의 포인트까지의, 세그멘트의 표면에 걸쳐 측정된 거리를 계산하도록 구현된다(두 3차원 포인트들 사이의 직선 거리에 대응하는 유클리드 거리가 아님). 이러한 방식으로, 도심 및 경계 사이의 최대 거리가 결정되어, 파지될 수 없는 표면은 버려질 수 있게 한다. 비한정적인 일 예에서, 거리는 경계로부터 도심까지의 모든 거리의 미리 결정된 백분위수, 예를 들어 99번째 백분위수 거리로서 계산되는데, 100번째 백분위수가 경계까지의 최대 거리일 것이다. 이러한 단계는, 도심까지의 거리가 잘못되어 커지게 할 수 있는 조직적 포인트 클라우드 내에 존재하는 임의의 노이즈 또는 아티팩트를 배제하기 위해서 수행될 수 있다.
거리 경계화 수단(1313)은, 각각의 세그멘트에 대하여, 도심 및 도심까지의 경계 상의 최대 거리 사이의 계산된 거리와 로봇 시스템(3)의 석션컵 엔드 이펙터의 미리 결정된 반경을 비교하도록 구현된다. 도심과 경계 상의 도심까지의 최대 거리 사이의 거리가 석션컵 엔드 이펙터의 미리 결정된 반경보다 길면, 거리 경계화 수단(1313)은 해당 세그멘트를 선택 또는 유지하도록 구현되고 이것을 후보 계산 수단(132)으로 출력한다. 반면에, 도심과 경계 상의 도심까지의 최대 거리 사이의 거리가 석션컵 엔드 이펙터의 미리 결정된 반경 이하이면, 거리 경계화 수단(1313)은 해당 세그멘트를, 석션 컵 엔드 이펙터의 동작을 지원하기에는 너무 작다고 버리도록 구현된다. 이해될 수 있는 것처럼, 석션컵 엔드 이펙터는, 대상물을 잡도록 석션 피쳐가 적절하게 동작하도록 보장하기 위하여, 석션컵 엔드 이펙터의 에지 및 대상물 표면 사이의 시일(seal)에 의존한다. 그러므로, 거리 경계화 수단(1313)은 면적이 너무 작아서 이러한 시일을 효과적으로 제공하지 않을 세그멘트를 버리는데, 이것은 도심으로부터 경계에 있으며 도심까지 거리가 가장 먼 포인트까지의 거리에 의해 표시된다. 다르게 말하면, 도심으로부터 경계 위에 있는 도심까지 가장 먼 포인트까지의 거리 및 석션컵 엔드 이펙터의 반경을 사용하는 것은, 세그멘트의 면적 및 석션컵 엔드 이펙터의 면적을 각각 나타내는 측정으로서 사용된다. 이러한 방식으로, 반경 선택 수단(131)은 반경이 미리 결정된 임계보다 큰 세그멘트를 선택한다.
도 6은 임계 계산 수단(1321), 선택 수단(1322), 큰 세그멘트 폐기 수단(1323) 및 경사면 영역 검출 수단(1324)을 포함하는 후보 계산 수단(132)의 동작을 보여준다.
특히, 임계 계산 수단(1321)은 곡률 임계(선택 수단(1322)에서 사용되기 위함)를 조직적 포인트 클라우드의 주곡률 놈("평균 절대 곡률"이라고도 불림)에 기반하여 계산하도록 구현된다. 좀 더 구체적으로는, 임계는 세그멘트화 수단(11)으로부터의 모든 세그멘트 출력의 주곡률 놈 전부의 미리 결정된 백분위수로서 결정된다. 이러한 방식으로, 계산된 임계는 세그멘트 모두에 걸친 주곡률 놈에 기반한다.
선택 수단(1322)은, 조직적 포인트 클라우드의 개별 포인트가 파지점 후보라고 알려지는 가능한 파지점인지 여부를 결정하기 위해서 다양한 조건에 대해서 평가되는 포인트 기초 방식으로 동작하도록 구현된다. 특히, 선택 수단(1322)은 반경이 선택된 세그멘트를 수신하고, 선택된 세그멘트 각각 내의 각 포인트에 대하여, 파지점 후보로부터 해당 후보가 있는 세그멘트의 경계까지의 거리가 미리 결정된 임계보다 큰지 여부를 결정한다. 이러한 방식으로, 파지점은 세그멘트의 에지로부터의 특정 거리인 것으로 결정되어, 이를 통하여 세그멘트의 에지에서 로봇 시스템의 열악한 파지 동작이 생길 가능성을 한정한다. 각각의 파지점 후보의 각각의 주곡률 놈도 임계 계산 수단(1321)에 의해 계산된 곡률 임계와 비교된다. 특히, 파지점 후보의 곡률이 곡률 임계보다 적으면, 파지점 후보는 파지점 후보로서 유지된다. 이러한 방식으로, 낮은 곡률을 가지는 파지점 후보는 유지되는 반면에 높은 곡률을 가지는 파지점 후보는 버려진다.
더욱이, 각각의 파지점 후보의 법선 및 컨테이너의 하면의 법선 사이의 각도가 결정된다. 이러한 각도가 미리 결정된 임계와 비교된다. 가 미리 결정된 임계보다 적으면, 해당 파지점 후보는 유지된다. 이러한 방식으로, 컨테이너(4)의 하면의 법선에 대해 너무 많이 기울어진 표면 영역은 버려진다. 특히, 컨테이너(4)의 하면의 법선은 또한 로봇 시스템(3)의 석션컵 엔드 이펙터의 배향과 동일한 배향이 되도록 구성되고, 따라서 많이 기울어진 표면 영역을 버리면 로봇 시스템(3)에 의해 요구되는 회전을 최소화하여, 잠재적으로는 석션컵 엔드 이펙터가 컨테이너(4)의 하면의 법선에 평행한 컨테이너(4)에 진입하게 허용하게 되고, 따라서 경로 플래닝을 수행할 필요성이 없어지게 된다(컨테이너의 개구로의 액세스를 제한하는 장애물이 없다면).
또한, 파지점 후보로부터 해당 후보가 있는 세그멘트의 도심까지의 표면 상의 거리가 결정된다. 이러한 거리가 미리 결정된 임계보다 짧으면, 해당 파지점 후보는 유지된다. 이러한 방식으로, 도심에 상대적으로 가까운 파지점 후보들이 유지된다.
각각의 파지점 후보의 이러한 테스트 이후에, 반경이 선택된 세그멘트의 세그멘트가 파지점 후보를 더 이상 보유하지 않을 수도 있다. 이러한 경우, 선택 수단(1322)은 파지점 후보가 남아 있지 않는 세그멘트를 버리도록 구현된다.
큰 세그멘트 폐기 수단(1323)은 선택 수단(1322)으로부터의 선택된 파지점 후보를 각각의 파지점 후보가 있는 세그멘트와 함께 수신하도록 구현된다. 큰 세그멘트 폐기 수단(1323)은, 선택 수단(1322)으로부터의 모든 선택된 세그멘트에 대하여, 세그멘트의 크기의 측정치의 평균을 계산하도록 구현된다. 일 실시예에서, 사용되는 크기 측정치는 세그멘트의 도심과 표면에 걸쳐 측정된 그 경계점 사이의 거리의 최소이고, 평균은 메디안으로서 계산된다. 계산된 크기는 미리 결정된 인자가 곱해진 모든 세그멘트에 대한 계산된 평균과 비교된다. 세그멘트의 크기가 미리 결정된 인자가 곱해진 모든 세그멘트에 대한 평균보다 작으면, 해당 세그멘트는 유지된다. 그러나, 거리가 미리 결정된 인자가 곱해진 평균 이상이면, 세그멘트는 버려진다. 이러한 방식으로, 특이하게 큰 세그멘트는, 예를 들어 조직적 포인트 클라우드 내의 이상치 또는 아티팩트에 기인하여 버려진다.
경사면 영역 검출 수단(1324)은 큰 세그멘트 폐기 수단(1323)에 의해 선택된 세그멘트를 수신하고 포인트별 경사면 영역 검출을 수행한다. 특히, 경사면 영역 검출 수단(1324)은 선택된 세그멘트 내의 각각의 잔여 파지점 후보에 대하여, 파지점 후보의 법선을 결정하도록 구현된다. 예를 들어, 파지점 후보의 법선은 표면 계산 수단(12)의 주곡률 및 법선 계산 수단(122)에 의한 그들의 이전의 계산으로부터 취출될 수 있다. 결정된 법선과 컨테이너(4)의 하면의 법선 사이의 각도가 결정된다. 이러한 동작은 선택 수단(1322) 내에서 수행되는 경사면 영역 검출과 유사하다. 그러나, 경사면 영역 검출 수단(1324)에서는, 임계가 잔여 파지점 후보들 모두의 각도 전부의 백분위수로서 결정된다. 특정 파지점 후보의 각도가 결정된 임계보다 작으면, 파지점 후보가 유지된다. 그러나, 특정 파지점 후보의 각도가 결정된 임계 이상이면, 해당 파지점 후보는 버려진다. 이러한 방식으로, 선택 수단(1322)에서 수행된 것보다 정제된 경사면 영역 검출이 모든 잔여 파지점 후보의 모든 각도에 걸친 백분위수에 기반하여 수행된다.
이전의 단계와 유사하게, 특정 세그멘트가 파지점 후보를 더 이상 가지고 있지 않으면, 해당 세그멘트는 로봇 시스템(3)에 의해 파지될 포텐셜 세그멘트에서 버려진다.
도 7은 크기 및 높이 선택 수단(133)의 동작을 보여준다. 크기 및 높이 선택 수단은 평균 높이 및 크기 계산 수단(1331) 및 높이 및 크기 경계화 수단(1332)을 포함한다.
평균 높이 및 크기 계산 수단(1331)은 선택 수단(132)에 의한 각각의 세그멘트 출력에 대하여, 해당 세그멘트의 포인트들의 평균 높이 및 평균 크기를 결정하도록 구현된다. 이러한 관점에서, 높이는 컨테이너(4)의 하면으로부터의 거리로 정의되고, 따라서 컨테이너(4)의 하면으로부터의 높이이다. 또는, 이러한 높이는 컨테이너(4)의 하면으로부터의 거리라고 불릴 수도 있다. 더욱이, 이러한 설명은 컨테이너(4)의 하면에 대한 것이지만, 해당 컨테이너의 내부와 그 콘텐츠의 뷰(view)를 가지는 조직적 포인트 클라우드 생성기(2)를 제공하기 위해서 조직적 포인트 클라우드 생성기(2)의 뷰에 수직으로 위치된 임의의 표면을 포함하는 것이 예상되고, 그러나, 다른 화각(angle of view)도 예상된다는 것이 이해될 것이다. 그 대신에, 유일한 요구 사항은 이러한 뷰가 컨테이너(4)의 내부의 뷰를 포함해야 한다는 것이다. 좀 더 구체적으로는, 뷰가 컨테이너의 면에 의해 형성되는(그리고 밑면 위에 있는) 무한 원뿔/프리즘 내의 임의의 장소에 있다면, 컨테이너가 카메라의 시야 내에 있기만 하면 뷰는 임의의 배향에서의 컨테이너의 내부를 포함할 것이다. 컨테이너(4)의 뷰는 서로에 대해 비스듬히 있을 수 있다는 것이 착상가능하다. 크기는 세그멘트의 도심과 표면에 걸쳐 측정된 그 경계점 사이의 거리의 최소로서 결정될 수 있고, 평균은 메디안으로서 계산될 수 있다.
바람직한 실시예에서, 평균은 세그멘트의 포인트의 메디안 높이 및 세그멘트의 포인트의 메디안 크기로서 결정된다. 더욱이, 평균 높이 및 크기 계산 수단(1331)은 각각의 세그멘트에 대하여, 세그멘트의 포인트의 평균 높이 및 세그멘트의 포인트의 평균 크기를 결정하도록 구현된다. 바람직한 실시예에서, 평균은 메디안 높이 및 메디안 크기로서 결정된다.
높이 및 크기 경계화 수단(1332)은, 세그멘트 포인트의 평균 높이를, 큰 세그멘트 폐기 수단(1323)에 의해 선택된 잔여 세그멘트에 대해 계산된, 이러한 평균 높이의 백분위수(미리 결정된 랭크의 백분위수)와 비교하도록 구현된다. 더욱이, 높이 및 크기 경계화 수단(1332)에 의해 선택된 세그멘트의 평균 크기는 모든 세그멘트에 대한 계산된 평균 곱하기 미리 결정된 인자와 비교된다.
세그멘트의 포인트의 평균 높이가 해당 백분위수를 초과하면, 그 세그멘트는 유지된다. 더욱이, 각각의 세그멘트 내의 파지점 후보의 평균 크기가 높이 및 크기 경계화 수단(1332)에 의해 선택된 잔여 세그멘트 모두에서의 평균 크기의 미리 결정된 백분위수를 초과하면, 그 세그멘트는 유지된다.
그러나, 세그멘트의 포인트의 평균 높이가 백분위수 이하이고 세그멘트의 포인트의 평균 크기가 백분위수 이하가 모두 성립되면, 그 세그멘트는 버려진다. 이러한 방식으로, 특정 크기보다 큰, 컨테이너(4)의 상단에 가장 가까운 세그멘트(그러한 세그멘트는 컨테이너(4)의 하면으로부터 가장 멀리 있음)가 선택된다. 다르게 말하면, 너무 낮고 너무 작은 양자를 만족하는 세그멘트는 버려진다.
도 8은 정렬 수단(134)의 동작을 보여준다. 정렬 수단(134)은 평평도 계산 수단(1341), 등화 수단(1342), 가중 수단(1343) 및 평평도 선택 수단(1344)을 포함한다.
평평도 계산 수단(1341)은 평균 높이 및 크기 선택 수단(133)에 의해 선택된 잔여 세그멘트 내의 잔여 파지점 후보의 서브세트에 대한 평평도 등급을 결정하도록 구현된다. 평평도 등급을 결정하기 위하여, 파지점 후보의 서브세트가, 포인트가 다른 포인트들로부터 가능한 한 멀게 무작위로 생성된다는 기준에 기반하여, 각각의 세그멘트에 대해서 생성된다. 이러한 방식으로, 세그멘트 내의 다양한 포인트에서 평평도의 충분히 조밀한 측정을 여전히 제공하면서도 파지점 후보의 더 적은 개수에 작용함으로써, 평평도 계산 수단(1341)의 계산 강도가 최소화될 수 있다. 파지점 후보 서브세트 내의 각 포인트에 대한 평평도 등급은 세그멘트 내의 각 포인트에서의 주곡률 놈("평균 절대 곡률"이라고도 불리고 후보 계산 수단(132)에서 사용되는 것과 같음) 및 파지점 후보 및 세그멘트 포인트 사이의 거리에 기반하여 생성된다. 대안적인 실시예에서, 서브세트 내의 각각의 파지점 후보에 대한 평평도 등급은, 세그멘트 내의 각 포인트에서의 주곡률 놈 및 파지점 후보 및 세그멘트 포인트 사이의 최단 경로 길이에 기반하여 생성된다. 이러한 방식으로, 파지점 후보 서브세트 내의 각 포인트에 대한 평평도 등급이 이웃 평평도에 기반하여 계산되고, 파지점 후보로부터의 거리가 가장 먼 세그멘트 내의 포인트들은 계산된 평평도 등급에 가장 작은 영향을 주고, 파지점 후보에 더 가까운 포인트들이 가장 많은 영향을 준다.
이러한 등급의 영향이 가중 수단(1343)에 의해 작게 되지(dwarf) 않도록, 등화 수단(1342)은 후보 파지점 서브세트 모두의 평평도 등급의 분포를 조절하도록 구현된다. 예를 들어, 일 실시예에서, 100%의 값은 평평한 이웃을 나타내고 0%의 값이 최대 곡률(다른 모든 이웃과 비교할 때)을 가지는 이웃을 나타내며, 중간 값은 중간 곡률의 이웃을 나타내도록, 평평도 등급은 그들의 백분위수 랭크로 대체될 수 있다.
가중 수단(1343)은 각 후보점이 위치한 세그멘트의 도심으로부터의 각각의 파지점 후보의 거리에 기반하여, 등화된 평평도 등급에 가중치를 부여하도록 구현된다. 이러한 방식으로, 후보점이 위치한 세그멘트의 도심에 더 근접한 파지점에는 더 많은 가중치가 부여되는데, 그 이유는 그 질량 중심에 더 가까운(그리고 통상적으로 세그멘트의 도심에 더 가까운) 포인트으로부터 대상물을 파지하면 로봇 시스템(3)이 파지하기가 더 쉬워지기 때문이다.
선택 수단(1344)은 로봇 시스템(3)에 의해 이용될 최종 파지점을 선택하도록 구현된다. 일 예에서, 선택 수단(1344)은 최고의 가중치가 부여된 등화된 평평도 등급을 가지는 파지점 후보, 다르게 말하면, 도심에 더 가까워지는 경향이 있는 등급을 가지고, 더 평평한 이웃이 있는 파지점을 선택할 수 있다.
요약하자면, 정렬 수단(134)은 각각의 파지점 후보의 이웃 평평도 및 세그멘트의 도심에 대한 자신의 근접성에 기반하여 파지점을 결정한다. 따라서, 선택된 파지점은 석션컵 엔드 이펙터와 함께 사용하기에 최적화된다.
도 9는 제 1 실시예에 따르고 도 1에 도시된 바와 같은 제어기(1)에 의해 수행되는 프로세스를 보여준다. 특히, 흐름도는 입력된 조직적 포인트 클라우드 정보에 기반하여 파지점을 생성하는 것을 보여준다.
도 9를 참조하면, 선택적인 단계 S901에서, 세그멘트화 수단(11)은 조직적 포인트 클라우드 생성기(2)로부터의 수신된 조직적 포인트 클라우드에 기반하여 세그멘트를 선택적으로 생성한다. 조직적 포인트 클라우드는, 통상적으로 대상물을 보유하는 컨테이너(4)의, 조직적 포인트 클라우드 생성기(2)에 의해 바라보는 장면의 표현이다. 조직적 포인트 클라우드는 조직적 포인트 클라우드 생성기(2)로부터의 컨테이너(4) 및 대상물의 거리의 정보, 다르게 말하면 해당 장면에 대한 깊이 정보를 제공한다. 세그멘트는 세그멘트화 수단(11)에 의해 결정되는 세그멘트화된 표면을 나타낸다. 이러한 방식으로, 세그멘트화 수단(11)은 조직적 포인트 클라우드 생성기(2)가 바라보는 장면을 별개의 대상물로, 그리고 더 나아가 그러한 대상물의 별개의 표면으로 나눈다.
후속하는 설명에서, 간결성을 위하여, 단계 S901이 조직적 포인트 클라우드의 세그멘트를 생성하기 위하여 활용된다. 그러나, 이것이 반드시 사용되어야 하는 것은 아니고, 그 대신에 조직적 포인트 클라우드 생성기에 의해 생성되는 전체 장면이 단일 세그멘트/세그멘트화된 표면으로서 취급될 수도 있다. 이러한 방식으로, 로봇 시스템(3)에 대한 유효한 파지점이, 단계 S901에 의해 제공되는 특징인 컨테이너(4) 내의 별개의 대상물들 사이의 구별이 없이 여전히 생성될 수 있다.
단계 S902에서, 표면 계산 수단(12)은 조직적 포인트 클라우드 생성기(2)로부터 조직적 포인트 클라우드를 수신하고, 조직적 포인트 클라우드의 장면에 대한 정보를 계산한다. 특히, 표면 계산 수단(12)은 조직적 포인트 클라우드의 법선 및 조직적 포인트 클라우드의 주곡률을 계산한다. 또는, 표면 계산 수단(12)은 평탄화된 조직적 포인트 클라우드를 더 계산한다.
후속하는 설명에서, 간결성을 위하여, 단계 S902가 평평한 조직적 포인트 클라우드를 생성하기 위해 활용된다. 그러나, 이것이 반드시 생성될 필요는 없고, 그 대신에 생성된, 비평탄화된 조직적 포인트 클라우드가 사용되고 생성된 파지점에 대해서 충분히 평평해지도록 처리될 수 있다. 비평탄 조직적 포인트 클라우드를 사용해도 여전히 로봇 시스템(3)에 대해 유효한 파지점이 생성될 것이지만, 일부 실례들에서는 그렇지 않으면 평탄화되었을 조직적 포인트 클라우드 내의 아티팩트가 존재할 수 있다.
단계 S903에서, 파지점 계산 수단(13)은 세그멘트화 수단(11)에 의해 생성된 선택적인 세그멘트 및 표면 계산 수단(12)에 의해 계산된 장면에 대한 정보를 수신한다. 수신된 정보에 기반하여, 파지점 계산 수단(11)은 로봇 시스템의 석션컵 엔드 이펙터가 컨테이너(4)로부터 적어도 하나의 대상물을 파지하기 위한 파지점을 계산한다.
일부 실례들에서, 파지점 계산 수단(13)은 파지점을 계산할 수 없을 것이다. 이러한 경우, 해당 방법은 다음 단계: 방법이 컨테이너(4)가 비어 있다는 표시를 생성하는 것, 및/또는 세그멘트화 수단(11)에 의해 생성된 적어도 하나의 세그멘트를 무시하면서 파지점을 재계산하는 것 중 하나 또는 양자 모두를 수행한다. 다르게 말하면, 파지점 계산은 세그멘트화 수단(11)으로부터 수신된 정보 전부가 없이도 다시 수행된다.
요약하자면, 제 1 실시예에 대한 설명으로부터, 파지점 계산이 세그멘트화된 표면(세그멘트)에 대한 적절한(pertinent) 정보, 특히, 포인트 클라우드의 법선, 평탄화된 조직적 포인트 클라우드 및 조직적 포인트 클라우드의 계산된 주곡률에 기반하여 수행된다는 것이 이해될 것이다. 이러한 방식으로, 석션 엔드 이펙터는, 예를 들어 양호한 파지가 수행되도록 보장하기 위하여 최소로 휘어진 세그멘트 상의 위치를 파지하도록 최적으로 배치되는 세그멘트에 작용하도록 구성된다.
도 10은 도 2에 도시된 바와 같은 세그멘트화 수단(11)에 의해 수행되는 프로세스를 보여준다. 특히, 흐름도는 입력된 조직적 포인트 클라우드 정보에 기반하여 세그멘트를 생성하는 것을 보여준다.
도 10을 참조하면, 단계 S1001에서, 세그멘트화 수단(11)은 조직적 포인트 클라우드 생성기(2)로부터 조직적 포인트 클라우드를 수신한다. 세그멘트화 수단(11)은 조직적 포인트 클라우드의 법선, 선택적인 평탄화된 포인트 클라우드, 조직적 포인트 클라우드의 제 1 및 제 2 도함수, 조직적 포인트 클라우드의 주곡률 및 신뢰도 맵을 조직적 포인트 클라우드에 기반하여 계산한다. 일 구현형태에서, 단계 S1001은 다항식을 미리 결정된 반경의 조직적 포인트 클라우드 윈도우의 1차원 슬라이스에 근사화함으로써, 조직적 포인트 클라우드의 속성을 계산한다.
단계 S1002에서, 세그멘트 가능 이미지가 단계 S1001에서 계산된 정보에 기반하여 계산된다. 세그멘트 가능 이미지는 포인트 클라우드 골을 강조하는 이진 이미지일 수 있다. 일 구현형태에서, 세그멘트 가능 이미지는 세 개의 이미지의 픽셀단위 곱으로서 계산될 수 있다. 좀 더 구체적으로는, 세 개의 이미지는 최대 주곡률 이미지의 등화된 부정, 깊이 맵 구배 놈의 등화된 부정 및 신뢰도 맵의 픽셀 단위 멱일 수 있다. 최대 주곡률 이미지의 등화된 부정은 포인트 클라우드 골에서 0에 가까운 값과 피크에서 1에 가까운 값을 가지는 이미지일 수 있다. 깊이 맵 구배 놈의 등화된 부정은 경사면에서 0에 가까운 값을 가지고 수평면에서 1에 가까운 값을 가지는 이미지일 수 있다.
단계 S1003에서, 세그멘트 가능 이미지 내의 픽셀 값을 미리 결정된 임계와 비교함으로써, 세그멘트 가능 이미지에 기반하여 생성된다. 또한, 단계 S1003은 생성된 시드 세그멘트 내의 임의의 갭을 채워서 지속되는 표면을 보장한다. 일부 실시예들에서, 단계 S1003의 출력은 파지점 계산이 수행되는 세그멘트로서 사용된다.
선택적인 단계 S1004는 각각의 세그멘트에 대한 경계를 규정하기 위해서, 마스크에 기반하여 시딩된 세그멘트를 한정하도록 수행될 수 있다. 단계 S1004는 세그멘트가 그 너머로 성장될 수 없는 각각의 세그멘트의 경계에 한계를 부과한다
선택적인 단계 S1005가 수행될 수 있다. 단계 S1005에서, 시딩된(그리고 선택적으로 제한된) 세그멘트가 성장된다. 특히, 세그멘트는 픽셀이 세그멘트들 모두에 더 이상 추가될 수 없을 때까지 성장된다.
선택적인 단계 S1006이 수행될 수 있다. 단계 S1006에서, 성장된 세그멘트는 적절한 경우 병합된다. 특히, 세그멘트들은 두 조건이 만족될 때 병합된다. 좀 더 구체적으로는, 제 1 조건은 성장된 두 세그멘트들의 계면의 길이의 성장된 두 세그멘트의 둘레의 길이에 대한 비율이 미리 결정된 임계보다 클 경우에 만족된다. 제 2 조건은, 이러한 계면에 따른 이미지 값의 분포가 세그멘트들 양자 모두 내의 이미지 값의 분포와 유사한 경우 만족된다.
요약하자면, 방법 S1000은 바람직하게도 조직적 포인트 클라우드의 세그멘트화를 조직적 포인트 클라우드에 대한 정보, 특히 조직적 포인트 클라우드의 제 1 및 제 2 도함수 및 주곡률에 기반하여 수행한다. 그러면 세그멘트화가 더 효과적으로 수행된다.
도 11은 도 3에 도시된 바와 같은 표면 계산 수단(12)에 의해 수행되는 프로세스를 보여준다. 특히, 흐름도는 입력된 조직적 포인트 클라우드 정보의 도함수, 신뢰도 맵, 주곡률 및 법선을 생성하는 것을 보여준다.
도 11을 참조하면, 단계 S1101에서, 표면 계산 수단(12)은 조직적 포인트 클라우드 생성기(2)에 의해 생성된 조직적 포인트 클라우드를 컨테이너(4)의 하면의 법선의 표시와 함께 수신한다. 표면 계산 수단(12)은 조직적 포인트 클라우드의 도함수 및 신뢰도 맵을 계산한다. 비한정적인 일 구현형태에서, 단계 S1101은 각각의 윈도우가 미리 결정된 반경을 가지는 중첩 윈도우로 하위분할되는, 조직적 포인트 클라우드의 1차원 슬라이스를 근사화한다.
단계 S1102에서, 계산된 도함수 및 신뢰도 맵이 주곡률 및 법선을 계산하기 위하여 사용된다. 특히, 주곡률이 각 포인트의 법선 및 제 1 기본 형태에 기반하여 계산된다.
요약하자면, 방법 S1100은 조직적 포인트 클라우드의 다양한 속성, 특히, 조직적 포인트 클라우드에 의해 결정되는 표면의 속성을 계산한다.
도 12는 도 4에 도시된 바와 같은 파지점 계산 수단(13)에 의해 수행되는 프로세스를 보여준다. 특히, 흐름도는 입력된 세그멘트 및 신뢰도 맵, 주곡률, 조직적 포인트 클라우드의 법선 및 컨테이너(4)의 하단면의 법선과 같은 세그멘트의 표면의 속성에 기반하여 파지점을 생성하는 것을 보여준다.
도 12를 참조하면, 단계 S1201에서, 파지점 계산 수단(13)은 세그멘트화 수단(11)에 의해 생성된 세그멘트 및 표면 계산 수단(12)에 의해 계산된 조직적 포인트 클라우드의 속성을 수신한다. 수신된 정보에 기반하여, S1202는 반경이 석션 엔드 이펙터의 반경 보다 큰 세그멘트를 선택한다. 이러한 방식으로, 작은 세그멘트들은 버려지고, 다르게 말하면 석션컵 엔드 이펙터를 지원할 수 없는 세그멘트가 버려진다.
단계 S1202에서, 반경이 선택된 세그멘트가 수신된다. 다양한 조건이 만족되는 경우 반경이 선택된 세그멘트 내의 조직적 포인트 클라우드의 포인트가 선택된다. 특히, 파지점 후보라고 알려지는 각 포인트가 S1100에서 계산된 표면의 속성에 기반하여 계산된다. 이를 통하여 S1202는 조건들을 만족시키는 파지점 후보와 그들이 위치된 세그멘트 양자 모두를 출력한다.
단계 S1203에서, S1202 로부터의 세그멘트 출력은 세그멘트의 크기 및 컨테이너의 하면으로부터의 그 거리에 기반하여 선택된다. 이러한 관점에서, 컨테이너의 하면으로부터의 거리는 조직적 포인트 클라우드 생성기(2)로부터의 거리의 보수(complement)이다. 따라서, 조직적 포인트 클라우드 생성기(2)에 더 가깝고, 따라서 컨테이너(4)의 하면으로부터 가장 먼 세그멘트를 선택하는 것이 유리하다. 더욱이, 미리 결정된 임계보다 큰 크기의 세그멘트가 선택된다.
단계 S1204에서, 단계 S1203에서 선택된 세그멘트 내의 파지점 후보는 이웃 평평도 및 세그멘트의 도심으로부터의 파지점 후보의 거리에 의해 정렬된다. 일 구현형태에서, 최대값을 가진 파지점 후보가 로봇 시스템(3)에 대한 파지점으로서 선택된다.
요약하자면, S1200은 국지적인 평평도의 구역 및, 바람직하게는 해당 세그멘트 내의 도심 위치에 가까운 구역에 위치된 파지점을 선택한다. 더욱이, 단계 S1202 때문에 이러한 파지점은, 세그멘트의 에지로부터의 거리 및 로봇 시스템(3)에 대한 각도와 같은 다양한 조건과 정합된다.
도 13은 도 5에 도시된 바와 같은 반경 선택 수단(131)에 의해 수행되는 프로세스를 보여준다. 특히, 흐름도는 입력 세그멘트 및 신뢰도 맵, 주곡률 및 법선과 같은 세그멘트의 표면의 속성에 기반하여 반경이 선택된 세그멘트를 생성하는 것을 보여준다.
도 13을 참조하면, 단계 S1301에서, 반경 선택 수단(131)은 세그멘트를 표면 계산 수단(12)에 의해 결정되는 세그멘트의 표면에 대한 정보와 함께 수신한다. 이러한 정보에 기반하여, 단계 S1301은, 세그멘트 내의 모든 포인트까지의 세그멘트의 표면 상의 가장 가까운 포인트인, 각각의 세그멘트 내의 도심의 위치를 찾고, 거리는 세그멘트의 표면에 걸쳐서 측정된다. 대안적인 실시예에서, 도심은 세그멘트 포인트들의 평균에 가장 가까운 세그멘트 포인트로 근사화된다. 이러한 근사화는 더 효율적으로 계산될 수 있지만, 세그멘트가 많이 휘어진 경우에는 부정확한 결과를 제공한다.
단계 S1302에서, 세그멘트의 도심 및 세그멘트의 경계 상의 도심까지 가장 먼 포인트 사이의 거리가 계산된다. 이러한 거리는 세그멘트의 면적을 나타낸다.
단계 S1303에서, S1302에서 계산된 거리가 석션컵 엔드 이펙터의 공지된 반경과 비교된다. 특히, 이러한 세그멘트는 S1302에서 계산된 거리가 석션컵 엔드 이펙터의 공지된 반경보다 길 경우에 선택된다. 그렇지 않으면, 해당 세그멘트는 버려진다.
요약하자면, S1300은 석션컵 엔드 이펙터에 의한 파지를 성공적으로 지원하기에는 너무 작은 세그멘트들을 제거한다. 그 대신에, S1300은 석션컵 엔드 이펙터를 지원하기에 충분한 반경을 가지는 세그멘트를 선택한다.
도 14는 도 6에 도시된 바와 같은 후보 계산 수단(132)에 의해 수행되는 프로세스를 보여준다. 특히, 흐름도는 파지점 후보 및 그들의 연관된 세그멘트를 입력 반경이 선택된 세그멘트에 기반하여 생성하는 것을 보여준다.
도 14를 참조하면, 단계 S1401에서, 주곡률 임계가 단계 S1401로부터 수신된 반경이 선택된 세그멘트 내의 파지점 후보 모두에 대해서 계산된다. 특히, 임계는 세그멘트들 모두의 주곡률 놈의 특정 백분위수에 기반하여 계산된다.
단계 S1402에서, 파지점 후보에 포인트별 동작이 수행된다. 특히, 파지점 후보는 여러 조건들이 만족될 경우 단계 S1403에 대해서 선택된다. 특히, 후보가 있는 세그멘트의 경계까지의 파지점 후보의 거리는 미리 결정된 임계보다 길다. 더욱이, 파지점 후보의 주곡률 놈은 단계 S1401에서 계산된 임계보다 적다. 파지점 후보의 법선과 컨테이너(4)의 하면의 법선 사이의 각도는 미리 결정된 임계보다 작다. 또한, 자신의 세그멘트의 도심까지의 파지점 후보의 거리는 미리 결정된 임계보다 짧다. 이해될 수 있는 것처럼, 이러한 조건들의 임의의 조합이 구현될 수 있고 일부는 장비의 특정 셋업에 따라서 수행되지 않을 수도 있다. 이러한 조건을 만족하지 않는 파지점 후보들은 버려진다.
또한, 구현된 조건 때문에, 특정 세그멘트 내에는 파지점 후보가 남아 있지 않을 수 있다는 것이 이해되어야 한다. 따라서, 파지점 후보를 보유하지 않는 세그멘트는 버려진다.
단계 S1403에서, S1402에 의해 선택된 각각의 세그멘트의 도심 및 표면에 걸쳐 계산된 그 경계점 사이의 거리의 최소값이 계산된다.
단계 S1404에서, S1403에서 계산된 거리의 평균이 결정된다. 바람직한 실시예에서, 이러한 거리는 메디안으로서 계산된다.
단계 S1405에서, 계산된 거리가 S1404에서 계산된 평균 곱하기 미리 결정된 값보다 짧은 세그멘트가 선택된다. 이러한 방식으로, 너무 크다고 여겨지는 세그멘트는 버려지고, 타당한 크기인 것으로 여겨지는 세그멘트만 선택된다. 이러한 방식으로, 너무 큰 세그멘트를 생성하게 하는, 조직적 포인트 클라우드 내의 아티팩트가 효과적으로 경감된다.
단계 S1406에서, 단계 S1405에서 선택된 세그멘트 내의 파지점 후보의 법선과 컨테이너(4)의 하면의 법선 사이의 각도가 계산된다.
단계 S1407에서, 각도 임계가 단계 S1406에서 계산된 각도에 기반하여 계산된다.
단계 S1408에서, 계산된 각도가 단계 S1407에서 계산된 각도 임계보다 적은 세그멘트가 선택된다. 이러한 방식으로, 선택된 세그멘트 모두에 대해 기울어진 모든 표면은 버려진다. 그렇지 않으면, 세그멘트는 그러한 선택된 세그멘트 내에서 선택된 파지점 후보와 함께 선택된다.
요약하자면, S1400은 반경이 선택된 세그멘트로부터의 파지점 후보에 대한 옵션을 효과적으로 선택한다. 이러한 방식으로, 선택된 파지점 후보는 석션컵 엔드 이펙터를 통한 파지가 효과적으로 이루어지게 하는 위치 및 각도인 파지점 후보이다.
도 15는 도 7에 도시된 바와 같은 크기 및 높이 선택 수단(133)에 의해 수행되는 프로세스를 보여준다. 특히, 흐름도는 입력 파지점 후보 및 그들의 연관된 세그멘트에 기반하여 높이 및 크기 선택된 세그멘트를 생성하는 것을 보여준다.
도 15를 참조하면, 단계 S1501에서, 크기 및 높이 선택 수단(133)은 파지점 후보 및 그들이 있는 세그멘트를 후보 계산 수단(132)으로부터 수신한다. 단계 S1501은 컨테이너의 하면으로부터의 평균 거리를 각각의 수신된 세그멘트에 대해서 계산한다. 바람직한 실시예에서, 평균은 메디안으로서 계산된다.
단계 S1502에서, 단계 S1501에서 각각의 세그멘트에 대해서 계산된 평균에 기반하여, 단계 S1502는 모든 수신된 세그멘트에 대한 평균을 계산한다.
단계 S1504에서, 크기 및 높이 선택 수단(133)은 각각의 수신된 세그멘트에 대한 평균 크기를 계산한다.
단계 S1505에서, 높이 및 크기 선택 수단(133)은 단계 S1504로부터 수신된 세그멘트에 기반하여 세그멘트들 모두의 평균을 계산한다. 바람직한 실시예에서, 평균은 메디안으로서 계산된다.
단계 S1506에서, 크기 및 높이 선택 수단(133)은 컨테이너(4)의 하면으로부터의 평균 거리가, 세그멘트들 모두에 대한 계산된 평균 거리의 백분위수보다 긴 세그멘트 및/또는 평균 크기가 세그멘트들 모두에 대한 계산된 평균 크기의 미리 결정된 백분위수 곱하기 미리 결정된 인자보다 큰 세그멘트를 선택한다.
이러한 방식으로, 선택된 세그멘트는 컨테이너(4) 내의 선택된 세그멘트의 높이의 미리 결정된 백분위수 및/또는 컨테이너(4) 내의 선택된 세그멘트의 크기 곱하기 미리 결정된 인자의 백분위수에 있다.
도 16은 도 8에 도시된 바와 같은 정렬 수단(134)에 의해 수행되는 프로세스를 보여준다. 특히, 흐름도는 입력 높이 및 크기 선택된 세그멘트에 기반하여 파지점을 생성하는 것을 보여준다.
도 16을 참조하면, 단계 S1601에서, 정렬 수단(134)은 선택된 세그멘트의 높이 및 크기와 함께 후보 계산 수단(132)에 의해 계산된, 선택된 세그멘트 내에 있는 파지점 후보를 수신한다. 정렬 수단(134)은 파지점 후보의 서브세트를 사용하여 평평도 등급을 결정한다. 파지점 후보의 서브세트는 서로 가능한 멀리 있도록 생성되고, 각각의 세그멘트 내의 파지점 후보의 랜덤 샘플링을 포함한다. 파지점 후보 서브세트 내의 각 포인트에 대한 평평도 등급은 세그멘트 내의 각 포인트에서의 주곡률 놈 및 파지점 후보 및 세그멘트 포인트 사이의 거리에 기반하여 생성된다. 거리는 파지점 후보로부터 세그멘트 포인트까지의 3 차원의 거리 또는 세그멘트의 표면에 걸친 거리로서 계산될 수 있다. 따라서 평평도 등급은 자신의 로컬 구역의 평평도에 기반하여 각각의 파지점 후보에 대해 생성된다.
단계 S1602에서, 단계 S1601에서 계산된 평평도 등급의 분포는 이러한 등급의 영향이 가중 단계(S1603)에 의해 작게 되지(dwarf) 않도록, 후보 파지점 서브세트 모두에 대해 조절된다.
단계 S1603에서, 등화된 평평도 등급은 그것이 있는 세그멘트의 도심까지의 파지점 후보의 거리에 상대적으로 가중치부여된다.
단계 S1604에서, 가중된 평평도 등급이 정렬되고, 최대 등급을 가지는 파지점 후보가 로봇 시스템(3)에 대한 파지점으로서 선택된다.
수정예 및 변형예
많은 수정과 변형이 본 발명의 범위에서 벗어나지 않으면서 전술된 실시예에 이루어질 수 있다.
이해될 수 있는 것처럼, 컨테이너(4)는 여러 상이한 형태로 구상될 수 있다. 예를 들어, 컨테이너(4)는 토트(tote) 또는 크레이트(crate)일 수 있다. 컨테이너(4)는 단순히 대상물을 보관하기 위한 수단이고, 통상적으로 벽을 가지지만 일부 실례들에서는 그렇지 않다. 예를 들어, 포함될 대상물이 일반적으로 평평하고 용이하게 적층되면, 벽이 요구될 필요가 없고 컨테이너(4)는 로봇 시스템(3)에 의해 파지될 대상물이 그 위에 쌓이는 팔레트일 것이다. 팔레트의 형태에서는, 본 명세서 전체에서 불리는 것과 같은 컨테이너(4)의 하면이 있을 것이고 그로부터 연장되는 벽은 없다. 그러므로, 컨테이너(4)는 적어도 하나의 대상물을 보관하도록 구현되는 임의의 보관 수단인 것으로 예상된다.
반경 선택 수단(131) 및 단계 S1201에서, 본 발명의 발명자는, 반경 선택 수단(131) 및 단계 S1201과 달리, 파지하기에 너무 얇은 볼록 세그멘트 및 파지하기에 충분히 큰 구역과 파지하기에 너무 얇은 구역 모두를 가지는 오목 세그멘트를 구별할 수 있는 대안적 구현형태도 고려했다. 대안적인 구현형태에서는, 경계점으로부터 세그멘트 표면 상의 도심까지의 거리를 측정하는 대신에, 각각의 세그멘트 포인트로부터 해당 세그멘트 표면의 가장 가까운 경계점까지의 거리가 세그멘트 표면에 걸쳐 대신 측정되고, 이러한 거리 중 최대가 석션컵 엔드 이펙터 반경보다 작으면 세그멘트는 버려진다.
파지점 계산 수단(13)이 하나의 유닛으로부터 다른 유닛까지 규정된 순서인 동작의 선형 흐름으로써 설명되었지만, 본 발명의 발명자는 동작들의 순서가 많은 상이한 조합으로 그리고 구현형태의 선택에 따른 작은 변형으로 수행될 수 있다는 것을 예상한다. 예를 들어, 도 4는 후보 계산 수단 이전에 반경 선택 수단을 도시한다. 그러나, 반경 선택 수단이 후보 계산 수단 이후에 수행될 수 있다는 것이 예상된다. 이와 유사하게, 크기 및 높이 선택 수단은 반경 선택 수단 이전에 수행될 수 있다. 이해될 수 있는 것처럼, 파지점 후보의 선택과 관련된 동작들의 순서는 한정되지 않고, 적절하고 편리한 임의의 순서가 예상된다.
더욱이, 정렬 수단(134)은 가중된 등화 평평도 등급에 의해 정렬하도록 구현된다. 비록 이것이 하나의 옵션이지만, 상이한 기준들에 의해 정렬하고 다른 수단에서의 가중된 등화 평평도 등급을 채용하는 것도 역시 가능하다. 예를 들어, 정렬 수단(134)은 최고 가중치의 등화된 평평도 등급을 가지는 파지점 후보를 선택하도록 구현될 수 있다. 비한정적인 일 예에서, 후보 선택 수단(132)은 각각의 파지점 후보에 대한 가중된 등화 평평도 등급을 결정하고, 가중된 등화 평평도 등급을 미리 결정된 임계와 비교하도록 더 구성될 수 있다. 미리 결정된 임계는 절대 임계이거나 세그멘트 모두의 결합된 가중된 등화 평평도 등급의 백분위수에 기반하는 상대적인 임계일 수 있다. 이러한 방식으로, 평균 가중된 등화 평평도 등급의 백분위수보다 큰 가중된 등화 평평도 등급을 가지는 파지점 후보가 유지할 파지점 후보로서 선택될 수 있다. 또는, 미리 결정된 임계는 각각의 세그멘트의 평균 가중된 등화 평평도 등급에 기반할 수 있다. 이러한 방식으로, 높은 평균의 가중된 등화 평평도 등급을 가지는 세그멘트가 유지될 수 있고, 나머지는 버려질 수 있다. 이러한 경우에, 절대 임계가 사용되는 경우 이것이 평균과 비교된다.
더욱이, 크기 및 높이 선택 수단(132)은 세그멘트의 선택을 크기 또는 높이에 기반하여 수행하지 않도록 구현될 수 있다. 그 대신에, 각각의 파지점 후보를 유지하는 세그멘트의 크기와 파지점 후보의 높이의 정규화된 측정들의 합에 따라 레이팅하도록 구현될 수 있다. 정규화는 전술된 바와 같은 히스토그램 등화에 의해 수행될 수 있고, 합의 크기 및 높이 항들의 상대적인 기여도는 가중 인자에 의해 제어될 수 있다. 그러면, 정렬 수단이, 큰 세그멘트 내의 더 낮은 파지점도 허용하면서 큰 세그멘트 내의 높은 포인트 및 작은 세그멘트 내의 높은 파지점에 선호도를 주기 위해서, 최고 랭크를 가지는 파지점 후보를 선택하도록 구현될 수 있다. 이해될 수 있는 것처럼, 이러한 예에서, 평평도 등급화는 정렬 수단(134)과 다른 수단에서 정렬이 없이 수행되었고, 정렬은 높이에 기반하여 수행되었다. 알 수 있는 바와 같이, 본 발명의 발명자는 전술된 것과 다른 동작 순서도 예상했다. 그러나, 바람직하게는, 상세한 설명 전체에 설명된 동작 순서가, 계산에 있어서 비용이 덜 드는 동작을 제공하는데, 그 이유는 평평도 등급 계산이 계산에 있어서 가장 비용이 많이 들기 때문에 최소의 파지점에서 수행되는 것이 최적이기 때문이다. 따라서, 본 발명의 발명자는 평평도 등급 계산을 정렬 수단(134) 내의 파지점 계산의 끝에 구현하는데, 이것은 이곳이 남는 파지점 후보가 가장 적은 위치이기 때문이고, 많은 파지점 후보가 반경 선택 수단(131), 후보 계산 수단(132) 및 크기 및 높이 선택 수단(133)에 의해 버려졌다.
일 예에서, 제 1 실시예의 제어기(1), 조직적 포인트 클라우드 생성기(2) 및 로봇 시스템(3)은 대상물을 동일한 제품인 많은 대상물을 보유하는 컨테이너로부터 많은 상이한 제품을 포함하는 손님의 구입품을 보유하는 다른 컨테이너로 이동시키도록 구현되는 식료품 쇼핑 포장 시스템 내에 구현될 수 있다.
온라인 식료품 및 수퍼마켓과 같이 여러 제품 라인을 판매하는 온라인 소매 비즈니스에는, 수 십 개 또는 심지어 수 백 수 천 개의 상이한 제품 라인을 보관할 수 있는 시스템이 요구된다. 이러한 경우에 단일-제품 스택을 사용하는 것은 실용적이지 않을 수 있는데, 그 이유는 요구되는 스택 모두를 수용하려면 매우 넓은 바닥면적이 요구될 것이기 때문이다. 더욱이, 상하거나 가끔 주문되는 재품과 같은 일부 아이템은 적은 양만 보관하는 것이 바람직할 수 있어서, 단일-제품 스택이 비효율적인 솔루션이 된다.
그 내용이 본 명세서에서 원용에 의해 통합되는 국제 특허 출원 WO 98/049075A(Autostore)는 컨테이너의 다중 제품 스택이 프레임 구조체 내에 배치되는 시스템을 기술한다.
PCT 공개 번호 제 WO2015/185628A(Ocado)는 빈 또는 컨테이너의 스택이 프레임워크 구조체 내에 배치되는, 추가적인 공지된 보관 및 실현 시스템을 기술한다. 빈(bin) 또는 컨테이너는 프레임 구조체의 상단에 위치된 트랙에서 동작하는 화물 처리 디바이스에 의해 액세스된다. 화물 처리 디바이스는 빈 또는 컨테이너를 스택으로부터 들어올리고, 스택의 최저 위치에 위치된 빈 또는 컨테이너에 액세스하기 위해서 여러 수화물 처리 디바이스가 협동한다. 이러한 타입의 시스템은 개략적으로 첨부 도면 중 도 17 내지 도 20에 예시된다.
도 17 및 도 18에 도시된 바와 같이, 빈(50)이라고 알려지는 바와 같은 적층가능 컨테이너가 서로의 위에 적층되어 스택(52)을 형성한다. 스택(52)은 창고 또는 제조 환경에 있는 격자 프레임워크 구조체(54) 내에 배치된다. 도 17은 프레임워크 구조체(54)의 개략적인 사시도이고, 도 18은 프레임워크 구조체(54) 내에 배치된 빈(50)의 스택(52)을 보여주는 상면도이다. 각각의 빈(50)은 통상적으로 복수 개의 제품 아이템(미도시)을 수용하고, 어떤 빈(50) 내의 제품 아이템은 애플리케이션에 따라서 동일할 수도 있고 또는 상이한 제품 타입일 수도 있다.
프레임워크 구조체(54)는 수평 부재(58, 20)를 지지하는 복수 개의 직립 부재(56)를 포함한다. 평행 수평 부재(58)의 제 1 세트는 평행 수평 부재(20)의 제 2 세트에 수직으로 배치되어 직립 부재(56)에 의해 지지되는 복수 개의 수평 격자 구조체를 형성한다. 부재(56, 58, 20)는 통상적으로 금속으로 제조된다. 빈(50)은 프레임워크 구조체(54)의 부재(56, 58, 20) 사이에서 적층되어, 프레임워크 구조체(54)가 빈(50)의 스택(52)의 수평 이동을 방지하고, 빈(50)의 수직 이동을 유도하게 한다.
프레임 구조체(54)의 상단 레벨은 스택(52)의 상단에 걸쳐서 격자 패턴으로 배치된 레일(22)을 포함한다. 도 19 및 도 20을 더욱 참조하면, 레일(22)은 복수 개의 로봇식 화물 처리 디바이스(30)를 지지한다. 평행 레일(22)의 제 1 세트(22a)는 프레임 구조체(54)의 상단에 걸친 제 1 방향(X)에서의 화물 처리 디바이스(30)의 이동을 유도하고, 제 1 세트(22a)에 수직으로 배열된 평행 레일(22)의 제 2 세트(22b)는 제 1 방향에 수직인 제 2 방향(Y)에서의 화물 처리 디바이스(30)의 이동을 유도한다. 이러한 방식으로, 레일(22)은 수평 X-Y 평면에서 측방향 두 차원으로 화물 처리 디바이스(30)가 이동되게 함으로써, 화물 처리 디바이스(30)가 스택(52) 중 임의의 것 위의 위치로 이동될 수 있게 된다.
화물 처리 디바이스(30)의 일 형태가, 그 내용이 본 명세서에서 원용에 의해 통합되는 노르웨이 특허 번호 317366에 더 설명된다. 도 19a 및 도 19b는 빈(50)을 쌓는 화물 처리 디바이스(30)의 개략적인 단면도이고, 도 19c는 빈(50)을 인양하는 화물 처리 디바이스(30)의 개략적인 전면 사시도이다. 그러나, 본 명세서에서 설명된 시스템과 조합하여 사용될 수 있는 다른 형태의 화물 처리 디바이스가 존재한다. 예를 들어, 로봇식 화물 처리 디바이스의 추가적 형태가 본 명세서에 원용에 의해 통합되는 PCT 특허 공개 번호 제 WO2015/019055에 설명되는데(Ocado), 여기에서 각각의 로봇식 화물 핸들러는 프레임워크 구조체의 하나의 격자 공간만을 커버하여, 화물 핸들러의 밀도가 높아지게 하고 주어진 크기의 시스템에 대해 쓰루풋이 높아지게 한다.
각각의 화물 처리 디바이스(30)는 스택(52) 위에서 프레임 구조체(54)의 레일(22) 상의 X 및 Y 방향으로 이동하도록 배치되는 운송체(32)를 포함한다. 운송체(32)의 전면에 있는 휠(34)의 쌍과 운송체(32)의 후면에 있는 휠(34)의 쌍을 포함하는 휠(34)의 제 1 세트는, 레일(22)의 제 1 세트(22a)의 두 개의 인접한 레일과 결속되도록 배치된다. 이와 유사하게, 운송체(32)의 측면 각각에 있는 휠(36)의 쌍을 포함하는 휠(36)의 제 2 세트는 레일(22)의 제 2 세트(22b)의 두 개의 인접한 레일과 결속되도록 배치된다. 휠(34, 36)의 각각의 세트는 승강되어, 휠(34)의 제 1 세트 또는 휠(36)의 제 2 세트의 중 하나가 임의의 시점에 레일(22a, 22b)의 각각의 세트와 결속되도록 할 수 있다.
휠(34)의 제 1 세트가 레일(22a)의 제 1 세트와 결속되고 휠(36)의 제 2 세트가 레일(22)에서 떨어지게 상승되면, 휠(34)은 화물 처리 디바이스(30)를 X 방향으로 구동하도록, 운송체(32) 내에 수용된 드라이브 메커니즘(미도시)에 의하여 구동될 수 있다. 화물 처리 디바이스(30)를 Y 방향으로 이동시키려면, 휠(34)의 제 1 세트가 레일(22)에서 떨어지게 상승되고 휠(36)의 제 2 세트는 레일(22a)의 제 2 세트와 결속되도록 하강된다. 그러면 Y 방향으로 이동하도록 휠(36)의 제 2 세트를 구동시키기 위해서 구동 메커니즘이 사용될 수 있다.
화물 처리 디바이스(30)에는 승강 디바이스가 장착된다. 승강 디바이스(40)는 화물 처리 디바이스(32)의 몸체로부터 네 개의 케이블(38)에 의해 매달리는 그리퍼 플레이트(39)를 포함한다. 케이블(38)은 운송체(32) 내에 수용된 권선 메커니즘(미도시)에 연결된다. 케이블(38)은 화물 처리 디바이스(32)로부터 안팎으로 스풀링될 수 있어서, 운송체(32)에 대한 그리퍼 플레이트(39)의 위치가 Z 방향으로 조절될 수 있게 된다.
그리퍼 플레이트(39)는 빈(50)의 상단과 결속되도록 적응된다. 예를 들어, 그리퍼 플레이트(39)는, 빈(50)의 상단면을 형성하는 림 내의 대응하는 홀(미도시)과 맞춤되는 핀(미도시), 및 빈(50)을 파지하도록 림과 결속될 수 있는 슬라이딩 클립(미도시)을 포함할 수 있다. 클립은 그리퍼 플레이트(39) 내에 수용된 적합한 드라이브 메커니즘에 의해 빈(50)과 결속되도록 구동되는데, 이것은 케이블(38) 자체 또는 별개의 제어 케이블(미도시)을 통해 전달되는 신호에 의해 급전되고 제어된다.
빈(50)을 스택(52)의 상단으로부터 제거하기 위해서, 화물 처리 디바이스(30)는 필요에 따라 X 및 Y 방향으로 이동되어, 그리퍼 플레이트(39)가 스택(52) 위에 위치되게 한다. 그러면, 도 19c에 도시된 바와 같이, 그리퍼 플레이트(39)는 수직으로 Z 방향을 따라 하강되어 스택(52)의 상단 상의 빈(50)과 결속된다. 그리퍼 플레이트(39)는 빈(50)을 파지하고, 빈(50)이 부착된 상태로 케이블(38)에서 상향으로 견인된다. 그 수직 여행의 맨 위에서, 빈(50)은 운송체 보디(32) 내에 수용되고 레일(22)의 레벨 위로 홀딩된다. 이러한 방식으로, 화물 처리 디바이스(30)는, 빈(50)을 운반하면서 X-Y 평면 내의 상이한 위치로 이동되고, 빈(50)을 다른 위치로 수송할 수 있다. 케이블(38)은 화물 처리 디바이스(30)가 바닥 레벨을 포함하는 스택(52)의 임의의 레벨로부터 빈을 취출하고 위치시키게 하기에 충분히 길다. 운송체(32)의 무게는 부분적으로 휠(34, 36)의 구동 매커니즘에 급전하기 위하여 사용된 배터리로 이루어질 수 있다.
도 20에 도시된 바와 같이, 각각의 화물 처리 디바이스(30)가 시스템의 쓰루풋을 증가시키도록 동시에 동작할 수 있도록, 복수 개의 동일한 화물 처리 디바이스(30)가 제공된다. 도 20에 도시된 시스템은, 빈(50)이 시스템 내로 전달되거나 그로부터 나오는, 포트라고 알려진 특정한 위치를 포함할 수 있다. 추가적인 콘베이어 시스템(미도시)이 각각의 포트와 연관되어, 화물 처리 디바이스(30)에 의해서 포트로 수송되는 빈(50)이 콘베이어 시스템에 의해서 다른 위치, 예를 들어 픽업 스테이션(미도시)으로 전달될 수 있게 한다. 이와 유사하게, 빈(50)은 콘베이어 시스템에 의해서 외부 위치로부터 포트로, 예를 들어 빈-충진 스테이션(미도시)으로 이동되고, 시스템 내의 스톡을 보충하도록 화물 처리 디바이스(30)에 의해 스택(52)으로 수송될 수 있다.
픽업 스테이션은 제어기(1)에 의해 제어되도록 구현되는 로봇 시스템(3)을 포함할 수 있다. 이러한 관점에서, 조직적 포인트 클라우드 생성기(2)는 픽업 스테이션의 적합한 위치에 위치될 수 있다. 로봇 시스템(3)은 화물 처리 디바이스(30)에 의해 픽업 스테이션으로 이동된 제 1 컨테이너로부터 아이템을 픽업하도록 구현될 수 있다. 픽업된 아이템은, 역시 화물 처리 디바이스(30)에 의해서 픽업 스테이션으로 이동되었던 제 2 컨테이너 내로 재위치될 수 있다. 그러면, 제 1 및 제 2 컨테이너 각각은 화물 처리 디바이스(30)에 의해서 스택(52) 내에 다시 보관될 수 있다. 이러한 방식으로, 하나의 컨테이너로부터 다른 컨테이너로의 대상물의 자동화된 재위치결정이 자동화된 창고 내에서 실행된다. 비록 전술된 예가 픽업 스테이션에 관련되지만, 보관 시스템과 관련하여 사용되는 다른 스테이션, 예컨대 컨테이너 내에 위치된 쓰레기의 제거를 요구하는 스테이션이 사용될 수 있다는 것이 이해될 것이다. 이러한 쓰레기는 로봇 시스템(3)에 의해서 컨테이너로부터 자동으로 제거될 수 있다.
각각의 화물 처리 디바이스(30)는 한 번에 하나의 빈(50)을 상승시키고 이동시킬 수 있다. 스택(52)의 상단에 위치된 빈(10b)("타겟 빈")을 취출해야 하면, 타겟 빈(10b)으로의 액세스를 허용하도록 오버라잉 빈(50a)("비-타겟 빈")이 우선 이동되어야 한다. 이것은 이제부터 "디깅(digging)"이라고 불릴 동작에 의해 달성된다.
도 20을 참조하면, 디깅 동작 중에, 화물 처리 디바이스(30) 중 하나가 타겟 빈(50b)을 보유한 스택(52)으로부터 각각의 비-타겟 빈(50a)을 순차적으로 상승시키고, 이것을 다른 스택(52) 내의 빈 위치 내에 배치한다. 그러면, 타겟 빈(50b)이 화물 처리 디바이스(30)에 의해 액세스되고 추가적인 수송을 위해서 포트로 이동될 수 있다.
화물 처리 디바이스(30) 각각은 중앙 컴퓨터의 제어를 받는다. 시스템 내의 각각의 개별 빈(50)이 추적되어, 적절한 빈(50)이 필요에 따라 취출, 수송, 및 교체될 수 있게 한다. 예를 들어, 디깅 동작 중에, 비-타겟 빈(50a) 각각의 위치가 로깅되어, 비-타겟 빈(50a)이 추적될 수 있게 한다.
도 17 내지 도 20을 참조하여 설명된 시스템은 많은 장점을 가지고, 광범위한 보관 및 취출 동작을 위해 적합하다. 특히, 제품이 매우 조밀하게 보관될 수 있게 되고, 픽업을 위해서 요구되면 빈(50) 모두에 경제적으로 타당하게 접근하면서 빈(50) 내의 광범위한 상이한 아이템을 매우 경제적으로 보관할 수 있는 방법을 제공한다.
그러나, 이러한 시스템에는, 모두 타겟 빈(50b)이 스택(52)의 상단에 있지 않으면 수행되어야 하는 전술된 디깅 동작으로부터 기인하는 일부 단점도 존재한다.
본 발명의 실시예에 대한 전술된 설명은 예시와 설명을 위하여 제공되었다. 이것은 망라적인 것이거나 본 발명을 개시된 구체적인 형태로 한정하려는 것이 아니다. 수정 및 변형이 본 개시물의 사상 및 범위에서 벗어나지 않으면서 이루어질 수도 있다.

Claims (37)

  1. 로봇 시스템용 제어 디바이스로서,
    상기 제어 디바이스는 조직적 포인트 클라우드(organised point cloud) 생성기, 및 석션컵 엔드 이펙터(suction cup end effector)를 포함하는 로봇 시스템에 연결가능하고,
    상기 조직적 포인트 클라우드 생성기는, 적어도 하나의 대상물을 보관하도록 구성되는 적어도 하나의 보관 수단의 조직적 포인트 클라우드를 생성하도록 구성되며,
    상기 로봇 시스템은, 상기 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하도록 구성되고,
    상기 제어 디바이스는,
    상기 조직적 포인트 클라우드의 법선(normal) 및 상기 조직적 포인트 클라우드의 주곡률을 계산하도록 구성되는 표면 계산 수단; 및
    상기 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하기 위한 상기 로봇 시스템의 석션컵 엔드 이펙터에 대한 파지점을, 상기 조직적 포인트 클라우드, 상기 조직적 포인트 클라우드의 계산된 법선, 상기 조직적 포인트 클라우드의 계산된 주곡률 및 상기 보관 수단의 하면의 법선에 기반하여 계산하도록 구성되는 파지점 계산 수단을 포함하는, 로봇 시스템용 제어 디바이스.
  2. 제 1 항에 있어서,
    상기 제어 디바이스는,
    상기 조직적 포인트 클라우드에 기반하여 세그멘트를 생성하도록 구성되는 세그멘트화 수단을 더 포함하고,
    상기 파지점 계산 수단은, 상기 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하기 위한 상기 로봇 시스템의 석션컵 엔드 이펙터에 대한 파지점을, 생성된 세그멘트에 기반하여 계산하도록 더 구성되는, 로봇 시스템용 제어 디바이스.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 표면 계산 수단은, 평탄화된 조직적 포인트 클라우드를 계산하도록 더 구성되고,
    상기 파지점 계산 수단은, 계산된 평탄화된 조직적 포인트 클라우드에 기반하여 상기 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하기 위한 상기 로봇 시스템의 석션컵 엔드 이펙터에 대한 파지점을 계산하도록 더 구성되는, 로봇 시스템용 제어 디바이스.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 파지점 계산 수단이 파지점을 계산할 수 없는 경우, 제어기는, 상기 적어도 하나의 보관 수단이 비어 있다는 표시를 생성하고, 및/또는 상기 파지점 계산 수단이 적어도 하나의 세그멘트를 무시하면서 파지점을 재계산하게 하도록 구성되는, 로봇 시스템용 제어 디바이스.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 파지점 계산 수단은,
    반경이 상기 석션컵 엔드 이펙터의 반경보다 큰 세그멘트를 선택하도록 구성되는 반경 선택 수단;
    파지점 후보를, 반경이 선택된 세그멘트, 상기 조직적 포인트 클라우드의 계산된 법선, 상기 계산된 평탄화된 조직적 포인트 클라우드 및 상기 조직적 포인트 클라우드의 계산된 주곡률에 기반하여 계산하도록 구성되는 후보 계산 수단;
    계산된 파지점 후보의 세그멘트를, 선택된 세그멘트의 크기 및 상기 선택된 세그멘트의 상기 보관 수단의 하면으로부터의 거리에 기반하여 선택하도록 구성되는 크기 및 높이 선택 수단; 및
    상기 조직적 포인트 클라우드의 계산된 주곡률에 기반하여, 크기와 높이가 선택된 세그멘트를 파지점 후보의 이웃 평평도(neighbourhood flatness)에 따라 정렬하도록 구성되고, 상기 로봇 시스템에 대한 파지점을 선택하도록 구성되는 정렬 수단을 포함하는, 로봇 시스템용 제어 디바이스.
  6. 제 5 항에 있어서,
    상기 반경 선택 수단은,
    각각의 세그멘트 내의 도심을 위치결정하도록 구성되는 도심 탐색 수단;
    세그멘트 도심과 상기 세그멘트의 경계 상에서 상기 도심까지 가장 먼 포인트 사이의, 각각의 세그멘트 내의 거리를 계산하도록 구성되는 거리 계산 수단; 및
    계산된 거리가 상기 석션컵 엔드 이펙터의 반경보다 긴지 여부를 결정하도록 구성되는 거리 경계화(thresholding) 수단을 포함하는, 로봇 시스템용 제어 디바이스.
  7. 제 5 항 또는 제 6 항에 있어서,
    상기 후보 계산 수단은,
    주곡률 임계를, 선택된 세그멘트 전부의 모든 주곡률 놈(norm) 중의 미리 결정된 백분위수(percentile)로서 계산하도록 구성되는 임계 계산 수단;
    선택 수단으로서,
    파지점 후보에서, 상기 파지점 후보의 세그멘트의 경계까지의 거리가 미리 결정된 임계보다 긴지 여부,
    상기 파지점 후보의 주곡률 놈이 상기 임계 계산 수단에 의해 계산된 임계보다 작은지 여부,
    상기 파지점 후보의 법선과 상기 적어도 하나의 보관 수단의 하면의 법선 사이의 각도가 미리 결정된 임계보다 작은지 여부, 및
    상기 파지점 후보에서, 상기 파지점 후보의 세그멘트의 도심까지의 거리가 미리 결정된 임계보다 짧은지 여부 중 적어도 하나에 기반하여, 파지점 후보를 선택하도록 구성되는, 선택 수단;
    선택된 파지점 후보의 각각의 세그멘트의 도심과 세그멘트의 표면에 걸쳐 측정된 경계점 사이의 거리의 최소값을 계산하도록 구성되고, 계산된 거리에 기반하여 평균 거리를 생성하도록 구성되며, 상기 계산된 거리가 계산된 평균과 미리 결정된 값의 곱보다 짧은 세그멘트를 선택하도록 구성되는, 큰 세그멘트 폐기 수단; 및
    선택된 파지점 후보의 법선과 상기 적어도 하나의 보관 수단의 하면의 법선 사이의 각도를 계산하고, 계산된 각도에 기반하여 각도 임계를 생성하며, 계산된 각도가 계산된 각도 임계보다 작은 세그멘트를 선택하도록 구성되는 경사면 영역 검출 수단을 포함하는, 로봇 시스템용 제어 디바이스.
  8. 제 5 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 크기 및 높이 선택 수단은,
    상기 파지점 계산 수단에 의해 선택된 파지점 후보를 포함하는 각각의 세그멘트에 대하여, 상기 적어도 하나의 보관 수단의 하면으로부터의 평균 거리를 계산하도록 구성되고, 상기 파지점 계산 수단에 의해 선택된 파지점 후보를 포함하는 모든 세그멘트에 대하여, 상기 적어도 하나의 보관 수단의 하면으로부터의 평균 거리를 계산하도록 구성되며, 상기 파지점 계산 수단에 의해 선택된 파지점 후보를 포함하는 각각의 세그멘트에 대한 평균 크기를 계산하도록 구성되고, 상기 파지점 계산 수단에 의해 선택된 파지점 후보를 포함하는 모든 세그멘트에 대한 평균 크기를 계산하도록 구성되는, 평균 높이 및 크기 계산 수단; 및
    상기 적어도 하나의 보관 수단의 하면으로부터의 계산된 평균 거리가, 모든 세그멘트에 대한 상기 적어도 하나의 보관 수단의 하면으로부터의 계산된 평균 거리의 백분위수보다 긴 세그멘트 및/또는 계산된 평균 크기가, 모든 세그멘트에 대한 계산된 평균 크기와 미리 결정된 인자의 곱보다 긴 세그멘트를 선택하도록 구성되는 높이 및 크기 경계화 수단을 포함하는, 로봇 시스템용 제어 디바이스.
  9. 제 5 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 정렬 수단은,
    파지점 후보의 서브세트 내의 각각의 포인트에 대한 평평도 등급을, 상기 세그멘트 내의 각 포인트에서의 주곡률 놈 및 상기 파지점 후보와 세그멘트 포인트 사이의 거리에 기반하여 결정하도록 구성되는 평평도 계산 수단;
    후보 파지점 서브세트 모두의 평평도 등급의 분포를 조절하도록 구성되는 등화 수단;
    파지점 후보가 위치되는 세그멘트의 도심에 대하여 각각의 등화된 평평도 등급을 가중하도록 구성되는 가중 수단; 및
    선택된 세그멘트 중에서 최대 가중된 평평도 등급을 가지는 파지점 후보를 선택하도록 구성되는 평평도 선택 수단을 포함하는, 로봇 시스템용 제어 디바이스.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 세그멘트화 수단은,
    상기 조직적 포인트 클라우드의 법선, 평탄화된 조직적 포인트 클라우드, 상기 조직적 포인트 클라우드의 제 1 및 제 2 도함수, 상기 조직적 포인트 클라우드의 주곡률 및 신뢰도 맵을 계산하도록 구성되는, 조직적 포인트 클라우드 계산 수단;
    계산된 제 1 도함수, 최대 주곡률 및 신뢰도 맵으로부터 세그멘트 가능 이미지를 계산하도록 구성되는 이미지 계산 수단; 및
    시드 세그멘트를 생성하도록 구성되는 시딩(seeding) 수단을 포함하는, 로봇 시스템용 제어 디바이스.
  11. 제 10 항에 있어서,
    상기 조직적 포인트 클라우드 계산 수단 및 상기 표면 계산 수단은 함께 일체화되어 형성되는, 로봇 시스템용 제어 디바이스.
  12. 제 10 항 또는 제 11 항에 있어서,
    상기 조직적 포인트 클라우드 계산 수단은, 상기 조직적 포인트 클라우드의 법선, 평탄화된 포인트 클라우드, 상기 조직적 포인트 클라우드의 제 1 및 제 2 도함수, 상기 조직적 포인트 클라우드의 주곡률 및 신뢰도 맵을, 다항식을 미리 결정된 반경의 조직적 포인트 클라우드 윈도우의 1차원 슬라이스에 근사화함으로써 계산하도록 구성되는, 로봇 시스템용 제어 디바이스.
  13. 제 10 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 이미지 계산 수단은, 상기 세그멘트 가능 이미지를,
    최대 주곡률 이미지의 등화된 부정(equalised negation), 조직적 포인트 클라우드 구배 놈 이미지(gradient norms image)의 등화된 부정 및 신뢰도 맵의 픽셀단위 멱(pixelwise power)의 픽셀단위 곱(pixelwise product)으로서 계산하도록 구성되고,
    상기 최대 주곡률 이미지의 등화된 부정은, 상기 조직적 포인트 클라우드 골 내의 최소값 및 마루에서의 최대값을 포함하고,
    상기 조직적 포인트 클라우드 구배 놈 이미지의 등화된 부정은, 경사면 상의 최소값 및 수평면 상의 최대값을 포함하는, 로봇 시스템용 제어 디바이스.
  14. 제 10 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 시딩 수단은, 세그멘트 가능 이미지 값이 미리 결정된 임계를 초과하는 상기 세그멘트 가능 이미지의 영역을 식별함으로써, 시드 세그멘트를 생성하도록 구성되는, 로봇 시스템용 제어 디바이스.
  15. 제 10 항 내지 제 14 항 중 어느 한 항에 있어서,
    상기 제어 디바이스는,
    세그멘트가 초과하여 성장될 수 없는 한계를 각각의 시딩된(seeded) 세그멘트의 경계에 부과하도록 구성되는 한정 수단을 더 포함하는, 로봇 시스템용 제어 디바이스.
  16. 제 10 항 내지 제 15 항 중 어느 한 항에 있어서,
    상기 제어 디바이스는,
    상기 시드 세그멘트를 성장시키도록 구성되는 성장 수단; 및
    성장된 세그멘트들을 병합하도록 구성되는 병합 수단을 더 포함하는, 로봇 시스템용 제어 디바이스.
  17. 제 16 항에 있어서,
    상기 병합 수단은,
    성장된 두 세그멘트들 사이의 계면의 길이의 성장된 두 세그멘트의 둘레의 길이에 대한 비율이 미리 결정된 임계보다 크고,
    상기 계면에 따른 이미지 값의 분포가 상기 세그멘트들 양자 모두 내의 이미지 값의 분포와 유사하면, 성장된 두 세그멘트들을 병합하도록 구성되는, 로봇 시스템용 제어 디바이스.
  18. 시스템으로서,
    적어도 하나의 대상물을 포함하는 적어도 하나의 보관 수단의 조직적 포인트 클라우드를 생성하도록 구성되는 조직적 포인트 클라우드 생성기;
    상기 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하도록 구성되는 석션컵 엔드 이펙터를 포함하는 로봇 시스템; 및
    계산된 파지점에 기반하여 상기 로봇 시스템을 제어하도록 구성되는, 제 1 항 내지 제 17 항 중 어느 한 항에 따른 제어 디바이스를 포함하는, 시스템.
  19. 식료품 쇼핑 포장 시스템으로서,
    동일한 제품의 다수의 대상물을 보관하도록 구성되는 제 1 보관 수단;
    상이한 제품의 다수의 대상물을 보관하도록 구성되는 제 2 보관 수단; 및
    제 18 항에 따른 시스템을 포함하고,
    상기 로봇 시스템은 상기 제 1 보관 수단으로부터의 적어도 하나의 대상물을 상기 제 2 보관 수단 내로 이동시키도록 구성되는, 식료품 쇼핑 포장 시스템.
  20. 보관 시스템으로서,
    복수 개의 격자 공간을 포함하는 격자 패턴을 형성하도록, 실질적으로 수평인 평면에서 X-방향으로 연장되는 평행 레일 또는 트랙의 제 1 세트, 및 상기 제 1 세트를 가로질러 Y-방향으로 연장되는 평행 레일 또는 트랙의 제 2 세트;
    레일들 아래에 위치되고, 각각의 스택이 단일 격자 공간의 점유공간 내에 위치되도록 배치되는, 컨테이너의 복수 개의 스택;
    적어도 하나의 수송 디바이스로서, 레일들 상의 스택 위에서 X 및/또는 Y 방향으로 선택적으로 이동하도록 구성되고, 컨테이너를 수송하도록 구성되는, 적어도 하나의 수송 디바이스;
    상기 적어도 하나의 수송 디바이스에 의해 수송되는 컨테이너를 수용하도록 구성되는 픽업(picking) 스테이션; 및
    제 18 항 또는 제 19 항에 따른 시스템으로서, 컨테이너로부터 대상물을 파지하도록 구성되는, 시스템을 포함하는, 보관 시스템.
  21. 제 20 항에 있어서,
    상기 적어도 하나의 수송 디바이스는, 하나의 격자 공간을 점유하는 수송 디바이스가 X 및 Y 방향으로 인접한 격자 공간을 점유하거나 가로지르는 수송 디바이스를 방해하지 않도록, 상기 보관 시스템 내의 단일 격자 공간만을 점유하는 점유공간을 가지는, 보관 시스템.
  22. 로봇 시스템을 제어하는 방법으로서,
    상기 로봇 시스템은 석션컵 엔드 이펙터를 포함하고, 적어도 하나의 대상물을 보관하도록 구성된 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하도록 구성되며, 상기 방법은,
    상기 적어도 하나의 보관 수단의 조직적 포인트 클라우드를 수신하는 단계;
    상기 조직적 포인트 클라우드의 법선 및 상기 조직적 포인트 클라우드의 주곡률을 계산하는 단계; 및
    상기 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하기 위한 상기 로봇 시스템의 석션컵 엔드 이펙터에 대한 파지점을, 상기 조직적 포인트 클라우드, 상기 조직적 포인트 클라우드의 계산된 법선, 상기 조직적 포인트 클라우드의 계산된 주곡률 및 상기 보관 수단의 하면의 법선에 기반하여 계산하는 단계를 포함하는, 로봇 시스템 제어 방법.
  23. 제 22 항에 있어서,
    상기 방법은,
    상기 조직적 포인트 클라우드에 기반하여 세그멘트를 생성하는 단계를 더 포함하고,
    상기 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하기 위한 상기 로봇 시스템의 석션컵 엔드 이펙터에 대한 파지점은, 생성된 세그멘트에 기반하여 계산되는, 로봇 시스템 제어 방법.
  24. 제 22 항 또는 제 23 항에 있어서,
    상기 방법은,
    평탄화된 조직적 포인트 클라우드를 계산하는 단계를 더 포함하고,
    상기 적어도 하나의 보관 수단으로부터 적어도 하나의 대상물을 파지하기 위한 상기 로봇 시스템의 석션컵 엔드 이펙터에 대한 파지점은, 계산된 평탄화된 조직적 포인트 클라우드에 기반하여 계산되는, 로봇 시스템 제어 방법.
  25. 제 22 항 내지 제 24 항 중 어느 한 항에 있어서,
    상기 파지점을 계산하는 단계가 파지점을 계산할 수 없으면, 상기 방법은,
    상기 적어도 하나의 보관 수단이 비어 있다는 표시를 생성하는 단계; 및
    적어도 하나의 세그멘트를 무시하면서 파지점을 재계산하는 단계 중 적어도 하나를 더 포함하는, 로봇 시스템 제어 방법.
  26. 제 22 항 내지 제 25 항 중 어느 한 항에 있어서,
    상기 파지점을 계산하는 단계는,
    반경이 상기 석션컵 엔드 이펙터의 반경보다 큰 세그멘트를 선택하는 단계;
    파지점 후보를, 반경이 선택된 세그멘트, 상기 조직적 포인트 클라우드의 계산된 법선, 상기 계산된 평탄화된 조직적 포인트 클라우드 및 상기 조직적 포인트 클라우드의 계산된 주곡률에 기반하여 계산하는 단계;
    계산된 파지점 후보의 세그멘트를, 선택된 세그멘트의 크기 및 상기 적어도 하나의 보관 수단의 하면으로부터의 상기 선택된 세그멘트의 거리에 기반하여 선택하는 단계;
    상기 조직적 포인트 클라우드의 계산된 주곡률에 기반하여, 크기와 거리가 선택된 세그멘트를 파지점 후보의 이웃 평평도에 따라 정렬하는 단계; 및
    상기 로봇 시스템에 대한 파지점을 선택하는 단계를 포함하는, 로봇 시스템 제어 방법.
  27. 제 26 항에 있어서,
    반경이 상기 석션컵 엔드 이펙터의 반경보다 큰 세그멘트를 선택하는 단계는,
    각각의 세그멘트 내의 도심을 위치결정하는 단계;
    세그멘트 도심과 상기 세그멘트의 경계 상에서 상기 도심까지 가장 먼 포인트 사이의, 각각의 세그멘트 내의 거리를 계산하는 단계; 및
    계산된 거리가 상기 석션컵 엔드 이펙터의 반경보다 긴지 여부를 결정하는 단계를 포함하는, 로봇 시스템 제어 방법.
  28. 제 26 항 또는 제 27 항에 있어서,
    상기 파지점 후보를 계산하는 단계는,
    주곡률 임계를, 선택된 세그멘트 전부의 모든 주곡률 놈 중의 미리 결정된 백분위수로서 계산하는 단계;
    파지점 후보를 선택하는 단계로서,
    파지점 후보에서, 상기 파지점 후보의 세그멘트의 경계까지의 거리가 미리 결정된 임계보다 긴지 여부,
    상기 파지점 후보의 주곡률 놈이 상기 임계 계산 단계에 의해 계산된 임계보다 작은지 여부,
    상기 파지점 후보의 법선과 상기 적어도 하나의 보관 수단의 하면의 법선 사이의 각도가 미리 결정된 임계보다 작은지 여부, 및
    상기 파지점 후보에서, 상기 파지점 후보의 세그멘트의 도심까지의 거리가 미리 결정된 임계보다 짧은지 여부 중 적어도 하나에 기반하여, 파지점 후보를 선택하는 단계;
    선택된 파지점 후보의 각각의 세그멘트의 도심과 세그멘트의 표면에 걸쳐 측정된 경계점 사이의 거리의 최소값을 계산하는 단계;
    계산된 거리에 기반하여 평균 거리를 생성하는 단계;
    계산된 거리가 계산된 평균과 미리 결정된 값의 곱보다 짧은 세그멘트를 선택하는 단계;
    선택된 파지점 후보의 법선과 상기 적어도 하나의 보관 수단의 하면의 법선 사이의 각도를 계산하는 단계;
    계산된 각도에 기반하여 각도 임계를 생성하는 단계; 및
    계산된 각도가 계산된 각도 임계보다 작은 세그멘트를 선택하는 단계를 포함하는, 로봇 시스템 제어 방법.
  29. 제 26 항 내지 제 28 항 중 어느 한 항에 있어서,
    계산된 파지점 후보의 세그멘트를, 선택된 세그멘트의 크기 및 상기 적어도 하나의 보관 수단의 하면으로부터의 상기 선택된 세그멘트의 거리에 기반하여 선택하는 단계는,
    상기 파지점 계산 단계에 의해 선택된 파지점 후보를 포함하는 각각의 세그멘트에 대하여, 상기 적어도 하나의 보관 수단의 하면으로부터의 평균 거리를 계산하는 단계;
    상기 파지점 계산 단계에 의해 선택된 파지점 후보를 포함하는 모든 세그멘트에 대하여, 상기 적어도 하나의 보관 수단의 하면으로부터의 평균 거리를 계산하는 단계;
    상기 파지점 계산 단계에 의해 선택된 파지점 후보를 포함하는 각각의 세그멘트에 대한 평균 크기를 계산하는 단계;
    상기 파지점 계산 단계에 의해 선택된 파지점 후보를 포함하는 모든 세그멘트에 대한 평균 크기를 계산하는 단계;
    상기 적어도 하나의 보관 수단의 하면으로부터의 계산된 평균 거리가, 모든 세그멘트에 대한 상기 적어도 하나의 보관 수단의 하면으로부터의 계산된 평균 거리의 백분위수보다 긴 세그멘트를 선택하고 및/또는 계산된 평균 크기가, 모든 세그멘트에 대한 계산된 평균 크기와 미리 결정된 인자의 곱보다 긴 세그멘트를 선택하는 단계를 포함하는, 로봇 시스템 제어 방법.
  30. 제 26 항 내지 제 29 항 중 어느 한 항에 있어서,
    상기 정렬 단계는,
    파지점 후보의 서브세트 내의 각각의 포인트에 대한 평평도 등급을, 상기 세그멘트 내의 각 포인트에서의 주곡률 놈 및 상기 파지점 후보와 세그멘트 포인트 사이의 거리에 기반하여 결정하는 단계;
    후보 파지점 서브세트 모두의 평평도 등급의 분포를 조절하는 단계;
    파지점 후보가 위치되는 세그멘트의 도심에 대하여 각각의 등화된 평평도 등급을 가중하는 단계; 및
    선택된 세그멘트 중에서 최대 가중된 평평도 등급을 가지는 파지점 후보를 선택하는 단계를 포함하는, 로봇 시스템 제어 방법.
  31. 제 23 항 내지 제 30 항 중 어느 한 항에 있어서,
    상기 세그멘트 생성 단계는,
    상기 조직적 포인트 클라우드의 법선, 평탄화된 조직적 포인트 클라우드, 상기 조직적 포인트 클라우드의 제 1 및 제 2 도함수, 상기 조직적 포인트 클라우드의 주곡률 및 신뢰도 맵을 계산하는 단계;
    계산된 제 1 도함수, 최대 주곡률 및 신뢰도 맵으로부터 세그멘트 가능 이미지를 결정하는 단계; 및
    시드 세그멘트를 생성하는 단계를 포함하는, 로봇 시스템 제어 방법.
  32. 제 31 항에 있어서,
    상기 계산하는 단계는,
    상기 조직적 포인트 클라우드의 법선, 평탄화된 포인트 클라우드, 상기 조직적 포인트 클라우드의 제 1 및 제 2 도함수, 상기 조직적 포인트 클라우드의 주곡률 및 신뢰도 맵을, 다항식을 미리 결정된 반경의 조직적 포인트 클라우드 윈도우의 1차원 슬라이스에 근사화함으로써 계산하는 단계를 포함하는, 로봇 시스템 제어 방법.
  33. 제 31 항 또는 제 32 항에 있어서,
    상기 결정하는 단계는,
    상기 세그멘트 가능 이미지를,
    최대 주곡률 이미지의 등화된 부정, 조직적 포인트 클라우드 구배 놈 이미지의 등화된 부정 및 신뢰도 맵의 픽셀단위 멱의 픽셀단위 곱으로서 계산하는 단계를 포함하고,
    상기 최대 주곡률 이미지의 등화된 부정은, 상기 조직적 포인트 클라우드 골 내의 최소값 및 마루에서의 최대값을 포함하며,
    상기 조직적 포인트 클라우드 구배 놈 이미지의 등화된 부정은, 경사면 상의 최소값 및 수평면 상의 최대값을 포함하는, 로봇 시스템 제어 방법.
  34. 제 31 항 내지 제 33 항 중 어느 한 항에 있어서,
    시드를 생성하는 단계는,
    세그멘트 가능 이미지 값이 미리 결정된 임계를 초과하는 상기 세그멘트 가능 이미지의 영역을 식별함으로써, 시드 세그멘트를 생성하는 단계를 포함하는, 로봇 시스템 제어 방법.
  35. 제 31 항 내지 제 34 항 중 어느 한 항에 있어서,
    상기 방법은,
    세그멘트가 초과하여 성장될 수 없는 한계를 각각의 시딩된 세그멘트의 경계에 부과하는 단계를 더 포함하는, 로봇 시스템 제어 방법.
  36. 제 31 항 내지 제 35 항 중 어느 한 항에 있어서,
    상기 방법은,
    상기 시드 세그멘트를 성장시키는 단계; 및
    성장된 세그멘트들을 병합하는 단계를 더 포함하는, 로봇 시스템 제어 방법.
  37. 제 36 항에 있어서,
    상기 병합하는 단계는,
    성장된 두 세그멘트들 사이의 계면의 길이의 성장된 두 세그멘트의 둘레의 길이에 대한 비율이 미리 결정된 임계보다 크고,
    상기 계면에 따른 이미지 값의 분포가 상기 세그멘트들 양자 모두 내의 이미지 값의 분포와 유사하면, 성장된 두 세그멘트들을 병합하는 단계를 포함하는, 로봇 시스템 제어 방법.
KR1020207014929A 2017-11-17 2018-11-16 대상물의 위치를 결정하고 각각의 대상물에 대한 적절한 파지점을 계산하기 위한 로봇 시스템용 제어 디바이스 및 방법 KR102399745B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB1719058.8A GB201719058D0 (en) 2017-11-17 2017-11-17 Control device and method for a robot system
GB1719058.8 2017-11-17
PCT/EP2018/081589 WO2019097004A1 (en) 2017-11-17 2018-11-16 Control device and method for a robot system for locating objects and calculating appropriate grasp points for each object

Publications (2)

Publication Number Publication Date
KR20200071763A true KR20200071763A (ko) 2020-06-19
KR102399745B1 KR102399745B1 (ko) 2022-05-18

Family

ID=60805722

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207014929A KR102399745B1 (ko) 2017-11-17 2018-11-16 대상물의 위치를 결정하고 각각의 대상물에 대한 적절한 파지점을 계산하기 위한 로봇 시스템용 제어 디바이스 및 방법

Country Status (10)

Country Link
US (2) US11787631B2 (ko)
EP (1) EP3710208A1 (ko)
JP (2) JP7030978B2 (ko)
KR (1) KR102399745B1 (ko)
CN (1) CN111344118B (ko)
AU (2) AU2018368575B2 (ko)
CA (1) CA3078850C (ko)
GB (2) GB201719058D0 (ko)
MX (1) MX2020005125A (ko)
WO (1) WO2019097004A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102358037B1 (ko) * 2021-03-11 2022-02-08 (주)로파 전기차 폐배터리의 학습기반 해체로봇 자동화시스템
WO2023101218A1 (ko) * 2021-11-30 2023-06-08 한국전자통신연구원 온실환경에서 이동로봇의 자율주행을 위한 레일 탐지 장치 및 방법

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102267514B1 (ko) * 2019-07-29 2021-06-21 한국기계연구원 작업대상물의 피킹 및 플레이스 방법
CN112684728B (zh) * 2019-10-17 2021-09-28 广东原点智能技术有限公司 一种基于激光slam的机器人码垛控制方法
US11724401B2 (en) * 2019-11-13 2023-08-15 Nvidia Corporation Grasp determination for an object in clutter
CN113219900B (zh) * 2019-12-12 2022-03-29 牧今科技 基于相机生成的图像信息执行运动规划的方法和计算系统
US11103998B2 (en) * 2019-12-12 2021-08-31 Mujin, Inc. Method and computing system for performing motion planning based on image information generated by a camera
CN113043282B (zh) * 2019-12-12 2022-03-29 牧今科技 用于物体检测或机器人交互规划的方法和系统
US11273552B2 (en) 2020-07-14 2022-03-15 Vicarious Fpc, Inc. Method and system for object grasping
US11541534B2 (en) 2020-07-14 2023-01-03 Intrinsic Innovation Llc Method and system for object grasping
US11559885B2 (en) 2020-07-14 2023-01-24 Intrinsic Innovation Llc Method and system for grasping an object
CN112025701B (zh) * 2020-08-11 2022-02-18 浙江大华技术股份有限公司 抓取物体的方法、装置、计算设备和存储介质
GB202012459D0 (en) * 2020-08-11 2020-09-23 Ocado Innovation Ltd A selector for robot-retrievable items
CN112077842B (zh) * 2020-08-21 2021-07-23 上海明略人工智能(集团)有限公司 一种夹取方法、夹取系统及存储介质
CN112873205A (zh) * 2021-01-15 2021-06-01 陕西工业职业技术学院 基于双夹具实时切换的工业机器人无序抓取方法
CN113298866B (zh) * 2021-06-11 2024-01-23 梅卡曼德(北京)机器人科技有限公司 物体分类方法及装置
CA3227645A1 (en) 2021-08-04 2023-02-09 Rajat BHAGERIA System and/or method for robotic foodstuff assembly
WO2023089065A1 (en) 2021-11-17 2023-05-25 Ocado Innovation Limited Camera unit
GB202116558D0 (en) 2021-11-17 2021-12-29 Ocado Innovation Ltd Camera unit
CN114083535B (zh) * 2021-11-18 2023-06-13 清华大学 一种机器手抓取姿势质量的物理度量方法及装置
CN116175542B (zh) * 2021-11-28 2024-01-26 梅卡曼德(北京)机器人科技有限公司 确定夹具抓取顺序的方法、装置、电子设备和存储介质
CN114590131B (zh) * 2022-01-21 2023-09-08 北方工业大学 制动能量回收控制方法、装置及车辆
CN114407015A (zh) * 2022-01-28 2022-04-29 青岛理工大学 一种基于数字孪生的遥操作机器人在线示教系统及方法
CN115258508A (zh) * 2022-07-21 2022-11-01 京东科技控股股份有限公司 物品拣选方法及装置、计算机可读存储介质
CN114918928B (zh) * 2022-07-22 2022-10-28 杭州柳叶刀机器人有限公司 手术机械臂精准定位方法、装置、控制终端及存储介质
CN116197913B (zh) * 2023-03-23 2023-12-05 广东技术师范大学 一种基于点云处理的机器人加工路径规划方法和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140065058A (ko) * 2012-11-21 2014-05-29 주식회사 에스에프에이 멀티태스킹 스토커 시스템
JP2017202549A (ja) * 2016-05-11 2017-11-16 セイコーエプソン株式会社 ロボット制御装置、ロボット、及びロボットシステム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO972004D0 (no) 1997-04-30 1997-04-30 Hatteland Electronic As Jacob Metode for organisering av vareflyt for en horisontalt lagdelt og dypstablet lagerbeholdning med uensartede komponenter, samt forflytningsutstyr for standariserte beholdere til formålet
NO317366B1 (no) 1999-07-01 2004-10-18 Autostore As Lagringsanlegg med fjernstyrte vogner med to hjulsett og heisinnretning for drift på skinner anlagt i kryss over kolonner av lagringsenheter som er adskilt med vertikale profilstolper
JP4418390B2 (ja) 2005-03-22 2010-02-17 三菱重工業株式会社 3次元形状処理装置及び曲面生成プログラム並びに方法
CN100536653C (zh) * 2005-07-15 2009-09-09 南京航空航天大学 基于计算机视觉的作物需水信息检测新方法
JP2011167815A (ja) 2010-02-19 2011-09-01 Ihi Corp 物体認識ロボットシステム
US8929612B2 (en) * 2011-06-06 2015-01-06 Microsoft Corporation System for recognizing an open or closed hand
US11195057B2 (en) * 2014-03-18 2021-12-07 Z Advanced Computing, Inc. System and method for extremely efficient image and pattern recognition and artificial intelligence platform
US11914674B2 (en) * 2011-09-24 2024-02-27 Z Advanced Computing, Inc. System and method for extremely efficient image and pattern recognition and artificial intelligence platform
JP5895767B2 (ja) 2012-08-23 2016-03-30 トヨタ自動車株式会社 ロボットハンド、制御方法及び制御プログラム
JP5670397B2 (ja) 2012-08-29 2015-02-18 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法
CN102982557B (zh) 2012-11-06 2015-03-25 桂林电子科技大学 基于深度相机的空间手势姿态指令处理方法
US20140320629A1 (en) * 2013-01-24 2014-10-30 University Of Washington Through Its Center For Commericialization Haptically-Enabled Co-Robotics for Underwater Tasks
JP2014205209A (ja) 2013-04-11 2014-10-30 三菱電機株式会社 ロボットシステム、及びロボットシステムの制御方法
JP6016716B2 (ja) 2013-06-12 2016-10-26 三菱電機株式会社 ビンピッキング性能評価装置及び方法
GB201314313D0 (en) 2013-08-09 2013-09-25 Ocado Ltd Apparatus for retrieving units from a storage system
SG2013069893A (en) 2013-09-13 2015-04-29 Jcs Echigo Pte Ltd Material handling system and method
GB201409883D0 (en) 2014-06-03 2014-07-16 Ocado Ltd Methods, systems, and apparatus for controlling movement of transporting devices
DE102014218140B3 (de) * 2014-09-10 2016-03-10 Ait Austrian Institute Of Technology Gmbh Verfahren und Vorrichtung zur Bestimmung des zeitlichen Verlaufs der Atemtiefe einer Person
CN105598965B (zh) 2015-11-26 2018-03-16 哈尔滨工业大学 基于立体视觉的机器人欠驱动手自主抓取方法
US20170178341A1 (en) * 2015-12-21 2017-06-22 Uti Limited Partnership Single Parameter Segmentation of Images
EP3426015A4 (en) * 2016-03-07 2019-12-04 Queensland University Of Technology ROBOTIC RENOVATION MACHINE
CN107138432B (zh) 2017-04-05 2020-03-13 杭州迦智科技有限公司 非刚性物体分拣方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140065058A (ko) * 2012-11-21 2014-05-29 주식회사 에스에프에이 멀티태스킹 스토커 시스템
JP2017202549A (ja) * 2016-05-11 2017-11-16 セイコーエプソン株式会社 ロボット制御装置、ロボット、及びロボットシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102358037B1 (ko) * 2021-03-11 2022-02-08 (주)로파 전기차 폐배터리의 학습기반 해체로봇 자동화시스템
WO2023101218A1 (ko) * 2021-11-30 2023-06-08 한국전자통신연구원 온실환경에서 이동로봇의 자율주행을 위한 레일 탐지 장치 및 방법

Also Published As

Publication number Publication date
GB201818701D0 (en) 2019-01-02
CA3078850C (en) 2023-02-21
US11787631B2 (en) 2023-10-17
WO2019097004A1 (en) 2019-05-23
AU2018368575B2 (en) 2021-08-19
CA3078850A1 (en) 2019-05-23
MX2020005125A (es) 2020-07-28
AU2021266348A1 (en) 2021-12-09
GB201719058D0 (en) 2018-01-03
EP3710208A1 (en) 2020-09-23
AU2018368575A1 (en) 2020-04-16
CN111344118A (zh) 2020-06-26
CN111344118B (zh) 2023-06-16
JP2022109904A (ja) 2022-07-28
JP2021503651A (ja) 2021-02-12
AU2021266348B2 (en) 2023-08-03
JP7030978B2 (ja) 2022-03-07
US20240025639A1 (en) 2024-01-25
GB2570373A (en) 2019-07-24
US20210171283A1 (en) 2021-06-10
GB2570373B (en) 2021-09-15
JP7395631B2 (ja) 2023-12-11
KR102399745B1 (ko) 2022-05-18

Similar Documents

Publication Publication Date Title
KR102399745B1 (ko) 대상물의 위치를 결정하고 각각의 대상물에 대한 적절한 파지점을 계산하기 위한 로봇 시스템용 제어 디바이스 및 방법
US10518410B2 (en) Object pickup strategies for a robotic device
AU2015289915B2 (en) Multiple suction cup control
US9205562B1 (en) Integration of depth points into a height map
EP3802014B1 (en) Control device and method for item verification
US20220016779A1 (en) Autonomous Robot Packaging of Arbitrary Objects
KR20210056702A (ko) 적재물 다중 하역 매니퓰레이터
US20230356403A1 (en) A Selector for Robot-Retrievable Items
CN113298866A (zh) 物体分类方法及装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant