CN111344118A - 用于定位物品和为每个物品计算适当抓取点的机器人系统的控制设备和方法 - Google Patents
用于定位物品和为每个物品计算适当抓取点的机器人系统的控制设备和方法 Download PDFInfo
- Publication number
- CN111344118A CN111344118A CN201880074013.XA CN201880074013A CN111344118A CN 111344118 A CN111344118 A CN 111344118A CN 201880074013 A CN201880074013 A CN 201880074013A CN 111344118 A CN111344118 A CN 111344118A
- Authority
- CN
- China
- Prior art keywords
- tool
- point cloud
- segment
- point
- grab
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G1/00—Storing articles, individually or in orderly arrangement, in warehouses or magazines
- B65G1/02—Storage devices
- B65G1/04—Storage devices mechanical
- B65G1/0464—Storage devices mechanical with access from above
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62L—BRAKES SPECIALLY ADAPTED FOR CYCLES
- B62L3/00—Brake-actuating mechanisms; Arrangements thereof
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1669—Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION 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/00—Electrodynamic brake systems for vehicles in general
- B60L7/10—Dynamic electric regenerative braking
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION 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/00—Electrodynamic brake systems for vehicles in general
- B60L7/24—Electrodynamic brake systems for vehicles in general with additional mechanical or electromagnetic braking
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60T—VEHICLE 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/00—Arrangements for adjusting wheel-braking force to meet varying vehicular or ground-surface conditions, e.g. limiting or varying distribution of braking force
- B60T8/17—Using electrical or electronic regulation means to control braking
- B60T8/1701—Braking or traction control means specially adapted for particular types of vehicles
- B60T8/1706—Braking or traction control means specially adapted for particular types of vehicles for single-track vehicles, e.g. motorcycles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62J—CYCLE SADDLES OR SEATS; AUXILIARY DEVICES OR ACCESSORIES SPECIALLY ADAPTED TO CYCLES AND NOT OTHERWISE PROVIDED FOR, e.g. ARTICLE CARRIERS OR CYCLE PROTECTORS
- B62J27/00—Safety equipment
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G1/00—Storing articles, individually or in orderly arrangement, in warehouses or magazines
- B65G1/02—Storage devices
- B65G1/04—Storage devices mechanical
- B65G1/0492—Storage devices mechanical with cars adapted to travel in storage aisles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/187—Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J15/00—Gripping heads and other end effectors
- B25J15/06—Gripping heads and other end effectors with vacuum or magnetic holding means
- B25J15/0616—Gripping heads and other end effectors with vacuum or magnetic holding means with vacuum
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION 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/00—Driver interactions
- B60L2250/18—Driver interactions by enquiring driving style
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60T—VEHICLE 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/00—Monitoring, detecting driver behaviour; Signalling thereof; Counteracting thereof
- B60T2220/02—Driver type; Driving style; Driver adaptive features
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60T—VEHICLE 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/00—Further aspects of brake control systems not otherwise provided for
- B60T2270/60—Regenerative braking
- B60T2270/604—Merging friction therewith; Adjusting their repartition
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39484—Locate, reach and grasp, visual guided grasping
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40053—Pick 3-D object from pile of objects
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40563—Object detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20156—Automatic seed setting
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
- Y02T90/10—Technologies relating to charging of electric vehicles
- Y02T90/16—Information 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)
- Orthopedic Medicine & Surgery (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (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日申请的No.1719058.8号英国专利申请的优先权,该申请的全部内容借引用并入于此。
技术领域
本申请通常涉及机器人系统领域,具体来说涉及一种控制设备和方法,用于控制机器人系统,以及杂货店商品包装系统和存储系统。
背景技术
在计算机视觉和机器人学领域,定位成像对象并指示机器人系统抓取成像对象的概念是正在发展中的领域。通常,这通过使用基于模型的方法实现,其中数据库存储将要抓取对象的模型,并指示对象上可由机器人系统成功抓取的部位。因此,可以将数据库模型与成像场景进行比较,以定位场景中已知的建模对象。然后,机器人系统的任务可以是使用模型所识别的抓取点来抓取所定位对象。
然而,这种方法依赖于将对象的精确模型存储在数据库中,而当对象类型众多或特定对象类型的外观有很大变化时,建模变得困难,使得将对象的精确模型存储在数据库中不切实际。
因此,人们的关注点转向了无模型拣选的概念,其中数据库中不存储模型,取而代之的是,控制器从成像场景确定场景中可见对象的部位和至少一个对象的适当抓取点。
面对抓取紧凑装放在容器等中的物品的问题,本发明发明者选择将吸盘端执行器用于机器人系统。此外,吸盘端执行器的选择易于机械实现,同时具有稳健性和可靠性。然后,本发明发明者的关注转向在其他物品密度较高的区域中的物品选择合适的抓取点。
在奥马尔·阿西夫(Umar Asif)等人的《未知堆垛物品的无模型分割和抓取选择》中,公开了一种利用平行钳夹持器抓取物品的无模型方法。相应地,公开了一种利用反射对称性生成抓取点对的抓取计算算法。然而,其假设物品位于自由空间内,这时对于容器中的物品,通常需要视觉系统执行路径规划,以便为端执行器找到物品的无碰撞路线。
类似地,安德里亚斯·邓帕斯(Andreas ten Pas)等人的《点云抓取位姿检测》也公开了一种在机器人系统上使用平行钳夹持器的无模型方法。但是他们的方法不分割物品,因此可能将多个物品检测为单个物品。
上述两篇论文都公开了平行钳夹持器的使用,但由于环境中其他物品的干扰,该夹持器不能够在紧凑包装环境中运行。因此,计算出的抓取点不能为吸盘端执行器抓取物品提供有效位置。
因此,需要一种更适当的抓取点确定和控制装置以及方法,来为物品确定适当抓取点,而无需使用传统的基于模型的方法,并且适用于吸盘端执行器。
发明内容
鉴于已知的无模型方法中的问题,本发明旨在提供一种能够可靠地定位物品并为每个物品计算适当抓取点的装置和方法,以有效控制机器人系统。
概括来说,本发明介绍了至少基于将由机器人系统抓取的物品的表面特性而进行的抓取点计算,以更加有效地计算物品表面的抓取点。
本发明提供一种用于机器人系统的控制设备,控制设备可连接至结构点云生成器和包括吸盘端执行器的机器人系统,结构点云生成器用于生成至少一个存储工具的结构点云,至少一个存储工具用于含有至少一个物品,机器人系统用于从至少一个存储工具抓取至少一个物品。控制设备包括表面计算工具,表面计算工具用于计算结构点云的法向和结构点云的主曲率。控制设备还包括抓取点计算工具,抓取点计算工具用于基于结构点云、计算出的结构点云的法向、计算出的结构点云的主曲率和存储工具下表面的法向,计算抓取点,供机器人系统的吸盘端执行器从至少一个存储工具抓取至少一个物品。
本发明还提供了一种系统。系统包括结构点云生成器,结构点云生成器用于生成至少一个存储工具的结构点云,至少一个存储工具包括至少一个物品。系统还包括机器人系统,机器人系统包括吸盘端执行器,吸盘端执行器用于从至少一个存储工具抓取至少一个物品。系统还包括如前所述的控制设备,控制设备用于基于计算出的抓取点控制机器人系统。
本发明还提供了一种杂货店商品包装系统。杂货店商品包装系统包括第一存储工具、第二存储工具以及如前所述的系统,第一存储工具用于含有为相同产品的大量物品,第二存储工具用于含有为不同产品的大量物品。机器人系统用于将至少一个物品从第一存储工具移动至第二存储工具。
本发明还提供了一种存储系统。存储系统包括在X方向延伸的第一组平行轨路或轨道和在Y方向延伸的第二组平行轨路或轨道,第二组平行轨路或轨道在大致水平面上横切第一组,形成包括复数个网格空间的网格图案。复数个容器堆垛位于轨路下方,布置为使得每个堆垛位于单个网格空间的覆盖区之内。至少一个运输设备,至少一个运输设备用于在堆垛上方、选择性地在轨路上沿X方向和Y方向移动,还用于运输容器。存储系统还包括拣选站,拣选站用于接收至少一个运输设备运输的容器,存储系统还包括如前所述的系统,其中系统用于从容器抓取物品。
本发明还提供了一种控制机器人系统的方法,机器人系统包括吸盘端执行器,机器人系统用于从至少一个存储工具抓取至少一个物品,至少一个存储工具含有至少一个物品。方法包括接收至少一个存储工具的结构点云的步骤。方法还包括计算结构点云的法向和结构点云的主曲率的步骤。方法包括基于结构点云、计算出的结构点云的法向、计算出的结构点云的主曲率和存储工具下表面的法向,计算抓取点,供机器人系统的吸盘端执行器从至少一个存储工具抓取至少一个物品。
附图说明
现将参考附图以举例的方式描述本发明的实施方式,附图中类似的附图标记表示相同或对应的部分,在附图中:
图1为根据本发明第一实施方式的抓取设置的示意图,抓取设置包括结构点云生成器、具有数个物品的容器、机器人系统和控制器;
图2为详细框图,显示根据第一实施方式的控制器的分割工具;
图3为详细框图,显示根据第一实施方式的控制器的表面计算工具;
图4为详细框图,显示根据第一实施方式的控制器的抓取点计算工具;
图5为详细框图,显示根据第一实施方式的控制器的抓取点计算工具的半径选择工具;
图6为详细框图,显示根据第一实施方式的控制器的抓取点计算工具的候选计算工具;
图7为详细框图,显示根据第一实施方式的控制器的抓取点计算工具的尺寸和高度选择工具;
图8为详细框图,显示根据第一实施方式的控制器的抓取点计算工具的排序工具;
图9为流程图,显示了根据图1所示第一实施方式的控制器执行的流程;
图10为流程图,显示了如图2所示的分割工具所执行的流程;
图11为流程图,显示了如图3所示的表面计算工具所执行的流程;
图12为流程图,显示了如图4所示的抓取点计算工具所执行的流程;
图13为流程图,显示了如图5所示的半径选择工具所执行的流程;
图14为流程图,显示了如图6所示的候选计算工具所执行的流程;
图15为流程图,显示了如图7所示的尺寸和高度选择工具所执行的流程;
图16为流程图,显示了如图8所示的排序工具所执行的流程;
图17为根据已知系统的框架结构示意图;
图18为俯视示意图,显示布置在图17框架结构内的储物箱堆垛;
图19(a)和图19(b)是存放储物箱的装载处理设备的示意透视图,图19(c)是抬升储物箱的装载处理设备的前向示意透视图;
图20为系统示意图,显示在框架结构上运行的装载处理设备。
具体实施方式
第一实施方式
图1描述了根据本发明的第一实施方式,从容器4抓取物品的系统以及控制器1。该系统中,从顶层设置一个容器4,该容器4被安排为存储至少一个物品。结构点云生成器2设置在一个位置,用来生成容器和物品(如果容器4中存储了物品的话)的结构点云。按照第一实施方式,将结构点云输入至控制器1,控制器1用于为容器4内的物品计算抓取点。机器人系统被连接至控制器1,以从控制器1接收抓取点,然后在识别的抓取点处抓取物品。
更详细地,图示的容器4含有三个物品,需要由机器人系统3从容器4移动这三个物品。应理解,容器4能含有任意数目的物品或根本不含物品。容器一般包括下表面,也就是地板,用来支撑物品和壁,例如防止物品掉落的四面壁。但应理解,为了安放物品,容器可以是任意尺寸或配置,例如,包括三面壁、五面壁等。
理想状态下,容器4所含物品位于壁的顶端以下,但第一实施方式可同样应用于其中的物品延伸高出壁顶端的容器,例如由于容器4中放置了大型物品或由于容器4中堆放了大量物品。
结构点云生成器2被定位为查看容器4内所容之物。典型设置中,容器4的下表面水平布置,结构点云生成器2设在容器4之上,结构点云生成器2的传感器垂直向下,以查看容器4内所容之物。适当的结构点云生成器2的例子为结构光设备,如第一代微软Kinect设备、飞行时间设备、超声设备、立体照相机对和激光剥离器。这些设备通常生成深度图图像,其为包括设备查看场景的深度信息的图像。本领域中通常校准深度图图像,以确定设备透镜和传感器中的像差。一旦校准,深度图能被转换为一组度量三维点,又称为点云。优选地,点云为结构点云,这意味着每个三维点均位于不同像素的视线上,从而在三维点和像素之间形成一一的对应。结构是可取的,因为它使更高效的点云处理成为可能。在校准过程的另一部分中,确定了结构点云生成器相对机器人系统3的参考帧的位姿,即其位置和定向(例如,参考帧可以是机器人系统的基数,但是任何已知的参考帧都能胜任,例如,位于机器人系统腕关节的参考帧)。相应地,基于深度图和关于用于生成深度图的透镜和传感器的信息,生成结构点云。视需要,可将生成的深度图转换为机器人系统3的参考帧。因此,结构点云生成器2可包括深度图生成工具(未示出)和深度图校准工具(未示出),深度图生成工具用来生成包括容器4和物品的深度信息的图像,深度图校准工具用于校准生成的深度图,来基于关于深度图生成工具的透镜和传感器的信息,生成结构点云。为了简单起见,结构点云生成器2在图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包括表面计算工具12和抓取点计算工具12。可选地,控制器1包括分割工具11。以这种方式,通常表面计算工具12计算结构点生成器2成像的表面的某些特性,这些特性与容器4内所容之物对应。抓取点计算工具13接着基于计算出的表面特性和生成的结构点云,计算抓取点。
图2更加详细地显示了本发明发明者在第一实施方式的控制器1中利用的可选的分割工具11。分割工具11可用于将结构点云生成器2生成的表面分为至少一个分割表面(又称为片段),其与生成的结构点云的至少部分对应。通常,分割表面与容器4内的单个物品对应。例如根据图1,将生成与容器4内的每个物品对应(即两个圆柱体和一个立方体)的三个片段。但分割工具11并非必需,这是因为,即使分割工具11未生成容器4的分割表面,抓取点计算工具13也生成容器4内物品的有效抓取点。实际上,没有分割工具11时,整个生成的结构点云被视为单独的分割表面。但因为这种表面具有的有效特性,可以通过表面计算工具12和抓取点计算工具13来生成抓取点,所以就认为分割工具11是可选的。如上所述,有利地,可运用分割工具11来更加有效地计算与容器4中单个物品大致对应的抓取点。
分割工具11接收结构点云,并用其生成分割表面,又称为片段。理想状态下,结构点云中展现的容器4中每个物品由从结构点云生成器2可见的数个表面识别为。一个示例中,分割工具11用于将包括凸形表面的物品识别为单表面,例如图1所示的容器4中的圆柱体将被识别为单表面。单表面指示圆柱体的顶端平表面和圆柱体的环形主体,它们以凸形方式连接在一起。类似地,图1中所示容器4中的立方体物品将被识别为与圆柱体不同的单表面。另一方面,以凹形方式连接的表面被视为分离表面。例如,立方体物品和圆柱体物品之间有一个凹形区域。因此,当被界定为两个物品之间的空间的凹形区域与两个生成表面之间的表面边界对应时,分割工具11可被设为生成两个分割表面,一个与立方体对应,一个与圆柱体对应。
应理解,尽管图2图示了分割工具11的一个具体实施例,本实施方式被设想为还包括将结构点云分割为分割表面的其他工具。
例如,瑞兹菲德(Richtsfeld)等人的《室内环境中未知对象的分割》(该论文借引用合并与此)通过拟合平面和NURBS表面执行分割,来估算表面面片,然后利用支持向量机(SVM)定义的成对能量(在手动注释的数据上训练),使用图形分割将面片合并在一起。应理解,第一实施方式中还设想了分割结构点云的其他工具。
图2中显示了分割结构点云的一个具体工具。该特定实施例的特定优势将在下文描述。分割工具11包括结构点云计算工具111、图像计算工具112和播种工具(seedingmeans)113。可选地,设置了成长工具(growing means)115和合并工具116。另一个可选特征是,可设置限制工具114。
平滑的结构点云可用于减少生成的结构点云中的伪影(artefacts)。为了简单起见,以下部分将假设使用了平滑的结构点云,来对可选的分割工具11的运行进行描述,尽管这并非必需,并且可以替代的使用了非平滑的结构点云,即生成的结构点云。
结构点云计算工具111用于计算结构点云的点的法向、平滑的结构点云、结构点云的第一和第二导数、结构点云的主曲率,以及置信图。相应地,结构点云计算工具111计算结构点云的微分几何特性。
图像计算工具112接收微分几何特性,换言之,结构点云的点的法向、平滑的结构点云、结构点云的第一和第二导数、结构点云的主曲率,以及置信图。图像计算工具用于基于第一导数、最大主曲率和置信图,生成可分割图像。
播种工具113从图像计算工具112接收可分割图像,并被设为生成种子片段。一个特定实施方式中,种子片段可用作对其执行抓取点计算的片段。其他实施方式中,设置了可选的其他工具(如下文所述),这些工具对种子片段进一步细化。
可选地,种子片段可受限制工具114的限制,限制工具114用于对每个片段的边界施加限制,超出了限制片段就无法扩展。
另一可选的特征组为成长工具115和合并工具116。成长工具115接收播种工具113和限制工具114(如果使用了的话)的输出。成长工具115用于扩展种子片段,直到不能再将更多像素添加到扩展的片段中。
输出的扩展片段被输入至合并工具116,合并工具116用于在适当时将扩展片段合并到一起。
接着合并片段作为结构点云的识别片段从分割工具11输出。
更详细地,结构点云计算工具的一个具体实施例中,微分几何特性的计算分两个阶段。第一阶段中,基于结构点云,计算平滑的结构点云、结构点云的第一和第二导数,以及置信图。第二阶段中,基于容器下表面的法向,以及第一阶段中计算出的平滑的结构点云和结构点云的第一和第二导数,生成结构点云的主曲率和法向,容器下表面的法向与点云生成器2的查看方向一致。通过使用主曲率,分割工具11能够区分位于脊或高峰的点和位于低谷或谷口的点。一般来说,主曲率通过符号和数字对的大小来表示脊/高峰和低谷/谷口(craters)之间的区别。
更详细地,使用一维多项式拟合来计算平滑的结构点云(又可能称为结构点云的第零个导数)。尤其,一个非限制性实施例中,多项式被拟合到结构点云的一维切片上,再细分为重叠窗口,其中每个窗口的半径都是预定的。更具体地说,多项式拟被合到结构点云的X方向切片内的一维重叠窗口,重叠窗口的半径是预定的。类似地,多项式还被拟合到结构点云的y方向切片内的一维重叠窗口,重叠窗口的半径是预定的。通过将多项式重新拟合到先前的拟合结果和这些结果的导数,同时在x方向重新拟合和y方向重新拟合之间交替,生成结构点云及其导数的更平滑估计,还去除了仅在一个方向拟合导致的伪像,伪像将对后续处理阶段不利。另外,拟合过程可以加权,从而避免了表面不连续的平滑。此外,权重可用于生成置信图。置信图表示多项式拟合到结构点云的点的置信度。
此外,x方向和y方向的一阶导数可与容器下表面的法向一起用于计算每个点的法向和称为第一基本形式的三个值。借此,可基于至每一点的法向、第一基本形式和第二导数,计算主曲率。
至于图像计算工具112,其用于基于结构点云计算工具111的输出的单个像素,计算可分割图像。尤其,作为以下各项的像素乘积:最大主曲率图像的均衡否定、结构点云梯度范数图像的均衡否定,以及置信图的像素级幂。一个非限制性实施例中,最大主曲率图像的均衡否定包括结构点云低谷处的最小值和高峰处的最大值。类似地,结构点云梯度范数图像的均衡否定包括陡峭表面上的最小值和水平表面上的最大值。
播种工具113用于计算种子片段。一个非限制性示例中,使用预定阈值来计算种子片段。附加地或可选择地,播种工具113可通过定位可分割图像中最亮的斑点并将其用作种子片段,来计算种子片段。这里,术语“斑点(blob)”被认为是指像素坐标的连续集合。应当理解,可以使用这种集合的任何展现。一个非限制性实施方式中,斑点由二值图像展现,其中属于斑点的像素具有一个值,而所有其他像素具有另一个值。我们将这些值分别称为“白”和“黑”,但应理解,相应的值可以是任意值,前提是它们是不同的。一个非限制性实施方式中,按整个可分割图像的至少部分各处的像素值的(具有预定的秩)百分位数计算阈值,且该阈值用于定位最亮的斑点。例如,根据上述二值图像表示,如果对应的可分割图像像素的值具有大于阈值,则像素将被赋予白色值,像素因此被视为斑点的部分。所有其他像素将被赋予黑色值。换句话说,每一像素不是被赋予第一值就是被赋予第二值。以这种方式识别确定的区域。此外,可确定整个可分割图像的至少部分与整个可分割图像的感兴趣区域对应,其中可通过估算容器的四个位姿并隔离其所容之物来计算感兴趣区域。
作为下一个阶段,通过识别不与任何种子片段相交,但只被一个种子片段完全围住的区域,来填充生成的种子片段中的孔。例如,二值图像表示中,用白色填充被白值区完全包围的黑值区。因此,白值像素用于去除黑值像素的孤立体。以这种方式纠正初始播种中的错误。
现在转向可选的限制工具114,首先确定可分割图像中的所有区的掩模(mask),并且将阈值确定为,与可分割图像中像素对应的掩模中的所有像素的累积分布函数的百分位数。如果像素的值小于预定阈值,则从掩模中去除该像素。以这种方式,对每个片段施加边界限制,超出边界限制片段就无法扩展。一个示例中,掩模与就播种工具113描述的感兴趣区域对应,感兴趣区域的计算通过估算容器的四个位姿并隔离其所容之物来进行。
这方面,掩模与种子片段相同,可由二值图像表示。这方面,在本发明整个详细说明中提及的所有二值图像,都被设想为由两个任意值表示,其中两个任意值中的每一个都不同。换言之,二值图像中每个像素不是被赋予第一值就是被赋予第二值。
将可分割图像、种子片段和可分割图像的累积分布函数提供至可选的成长工具115。成长工具115用于,基于对邻近一个或多个片段且尚未被添加到任何片段的像素是否为适合被纳入到给定片段的候选像素的评估,来迭代地扩展种子片段的边界。基于对候选像素的可分割图像值与片段内可分割图像值的分布之间的相似性的考虑,以及对候选像素可分割图像值与已经属于片段的相邻像素的可分割图像值之间的差异的考虑,确定候选像素是否适合纳入。当候选像素可分割图像值至少与这些相邻像素中的一个或多个一样大时,将候选像素添加到具有在上述可分割图像值分布方面与其最为相似的像素的片段中。与片段相邻的所有其它候选像素,按照与它们最相似的相邻片段相似度下降的顺序对它们进行排序,并按此顺序对它们进行以下测试。如果候选像素的纳入不会使片段的可分割图像值分布改变超过预定阈值,则将其添加到与其最相似的相邻片段。一旦候选像素未通过此测试,则此边界扩展过程的迭代中不再考虑其他候选像素。迭代以填充新扩展的片段中的洞而结束。种子片段是扩展的,直到没有更多的像素通过纳入适合性评估。
可选的合并工具116用于接收扩展的片段,并用于在适当时将片段合并到一起。尤其,该实施例中使用了两个条件来确定是否要合并片段。尤其是,当两个片段之间的界面的长度小于预定比例因子与具有最短周长的片段的长度的乘积时,则满足第一个条件。此外,当可分割图像值沿两个片段之间界面的分布类似于可分割图像值在两个片段内的分布时,则满足第二个条件。当满足第一和第二个条件时,合并片段。
图3详细描述了表面计算工具12的运行。表面计算工具12接收结构点云生成器2生成的结构点云。另外,表面计算工具12接收到容器4下表面的法向的指示。这方面,容器4下表面的法向有效提供了结构点云生成器2相对于容器4的方向的指示。相应地,结构点云生成器2相对于容器4处于固定方向时,容器4下表面的法向是固定常数。
表面计算工具12用于输出结构点云的第一和第二导数、置信图、结构点云的主曲率和结构点云的点的法向。可选地,表面计算工具12还用于输出平滑的结构点云,又称为结构点云的第零个导数。
优选实施方案中,利用平滑的结构点云的输出从生成的结构点云去除伪影。然而,在许多情形中,生成的结构点云足够平滑,能够为机器人系统3准确有效地计算抓取点,而无需平滑结构点云。
表面计算工具12在非限制性实施例中包括导数和置信图计算工具121以及主曲率和法向计算工具122。
一个特定实施方式中,分割工具11的结构点云计算工具111以及表面计算工具12以相似方式运行。
尤其,使用一维多项式拟合来计算可选的的平滑的结构点云。尤其,在一个非限制性实施例中,多项式拟合到结构点云的一维切片上,细分为重叠窗口,其中每个窗口的半径都是预定的。更具体地说,多项式拟合到结构点云的X方向切片内的一维重叠窗口,重叠窗口的半径是预定的。类似地,多项式还拟合到结构点云的y方向切片内的一维重叠窗口,重叠窗口的半径是预定的。通过重新拟合多项式到先前的拟合结果和这些结果的导数,同时在x方向重新拟合和y方向重新拟合之间交替,生成了结构点云的更平滑估算及其导数,借此去除了仅在一个方向拟合而导致的伪影,伪影会对后续处理阶段不利。另外,拟合过程可以加权,从而避免了表面不连续的平滑。此外,权重可用于生成置信图。
主曲率和法向计算工具122用于基于平滑的结构点云和结构点云的第一和第二导数,计算结构点云的主曲率和法向。
此外,主曲率和法向计算工具122可使用x方向和y方向的一阶导数以及容器下表面的法向,计算每个点的法向和又称为第一基本形式的三个值。借此,可基于每一点的法向、第一基本形式和第二导数,计算主曲率。
一个非限制性示例中,结构点云计算工具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接收选择半径的片段,候选计算工具132用于通过在半径选择工具131所选的那些片段中结构点云的特定点上运行,去除那些不符合特定条件集的点,来选择特定的候选抓取点。相应地,候选计算工具132选择所选择半径的片段的那些符合特定条件集的点。此外,在选择特定候选抓取点的过程中,候选计算工具132可从某一片段丢弃所有潜在的候选抓取点,相应地该片段中也就没有剩余候选抓取点。这种例子中,候选计算工具132可用于通过丢弃该片段来从未来运行中去除该片段。相应地,候选计算工具132用于输出候选抓取点和候选抓取点所在的片段。
尺寸和高度选择工具133用于接收所选的候选抓取点及其所在的片段,尺寸和高度选择工具133还用于基于片段尺寸条件和距容器4下表面的高度来去除那些片段。以这种方式,尺寸和高度选择工具133用于选择那些尺寸大于某一尺寸的片段或那些距容器4下表面的距离(也就是高度)大于某一距离的片段(也选择同时满足这两个条件的片段)。
排序工具134用与所选尺寸和高度的片段对应的候选抓取点来接收所选尺寸和高度的片段,排序工具134还用于基于点周围区域的平坦度及该点距形心的距离,计算候选抓取点的平坦度等级。此外,排序工具134用于基于每个候选抓取点到其所在片段的形心的距离,来加权平坦度等级。相应地,排序工具134选择最终抓取点。以这种方式,所选的最终抓取点位于相对于其他候选抓取点是平的(换言之,候选抓取点和周围点的曲率相对较低),且相对其他候选抓取点与其各自片段的形心在距离上接近的片段的区域中。机器人系统3可基于最终抓取点,在最终抓取点上抓取容器中的物品。
图5描述了半径选择工具131的运行,半径选择工具131包括形心寻找工具1311、距离计算工具1312和距离阈值化工具1313。
形心寻找工具1311用在片段表面上测量的距离来为每一片段定位片段各自的形心,也就是片段表面上距该片段内所有点最近的点。一个可选择的实施方式中,将与片段点平均值最接近的片段点近似为形心。这种近似的计算可能效率更高,但当片段非常弯曲时会给出不准确的结果。
距离计算工具1312用于计算每一片段的从形心到片段边界(或周长)上的点之间的距离,如在片段表面上测量的距离(而不是对应于两个三维点之间的直线距离的欧几里德距离)。以这种方式确定了形心和边界之间最长距离,使得能够丢弃不可能被抓取的表面。一个非限制性示例中,距离按从边界到形心的所有距离的预定百分位数计算,例如第99个百分位数距离,其中第100个百分位数将会是至边界的最长距离。可采用这一步骤来排除结构点云中存在的噪声或伪影,噪声或伪影可导致到形心的错误的长距离。
距离阈值化工具1313用于为每一片段比较形心与边界上距形心最远的点之间计算出的距离和机器人系统3的吸盘端执行器的预定半径。形心与边界上距形心最远的点之间的距离大于吸盘端执行器的预定半径时,距离阈值化工具1313用于选择或保留片段,并将其输出至候选计算工具132。反过来,形心与边界上距形心最远的点之间的距离小于或等于吸盘端执行器的预定半径时,距离阈值化工具1313用于丢弃片段,理由是片段太小以至于不能支持吸盘端执行器的运行。应理解,吸盘端执行器依赖于吸盘端执行器边缘和物品表面之间的密封,来确保吸气特征正常工作以抓握物品。因此,距离阈值化工具1313丢弃那些不能有效地提供该密封的片段,原因是这些片段在面积太小,从形心到边界上距形心最远的点的距离表明了这一点。换言之,从形心到边界上距形心最远的点的距离和吸盘端执行器的半径分别用作表明片段的面积和吸盘端执行器的面积的测量。以这种方式,半径选择工具131选择了那些半径大于预定阈值的片段。
图6描述了候选计算工具132的运行,候选计算工具132包括阈值计算工具1321、选择工具1322、大片段丢弃工具1323和倾斜表面区域检测工具1324。
尤其,阈值计算工具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的下表面,设想包括与结构点云生成器2的视图垂直放置的任何表面,以向结构点云生成器2提供容器内侧及其所容之物的视图。但应理解,也可设想视图的其他角度。而唯一的要求是视图包括容器4内部的视图。更具体地说,若视图是由容器侧面(和底座上方)形成的无限圆锥体/棱柱体内的任何位置,则视图将包括容器在任何方向上的内部,前提是容器保持位于摄像机的视场内。可以想象,容器4的视图可能彼此成一个角度。尺寸能被确定为在表面上测量的片段的形心和其边界点之间的距离的最小值,平均值可按中位数计算。
优选实施方案中,平均值被确定为片段点的中位数高度和片段点的中位数尺寸。此外,平均高度和尺寸计算工具1331用于为每一片段确定片段的点的平均高度和片段的点的平均尺寸。优选实施方案中,平均值被确定为中位数高度和中位数尺寸。
高度和尺寸阈值化工具1332用于比较片段点的平均高度和这些平均高度的(具有预定的秩)百分位数,其相对于大片段丢弃工具1323选择的剩余片段计算得出。此外,将高度和尺寸阈值化工具1332所选片段的平均尺寸与所有片段的计算出的平均值乘以预定因子进行比较。
当片段的点的平均高度超过百分位数时,维持该片段。此外,当每一片段中的候选抓取点的平均尺寸超过高度和尺寸阈值化工具1332所选的所有剩余片段的平均尺寸预定百分位数时,维持该片段。
但是,当片段的点的平均高度小于或等于百分位数并且片段的点的平均尺寸小于或等于百分位数时,丢弃该片段。以这种方式,选择大于某一尺寸且最接近容器4的顶端的片段(离容器4下表面最远的那些片段)。换言之,既过低又过小的片段会被丢弃。
图8描述了排序工具134的运行。排序工具134包括平坦度计算工具1341、均衡工具1342、加权工具1343和平坦度选择工具1344。
平坦度计算工具1341用于为平均高度和尺寸选择工具133所选的剩余片段中的剩余候选抓取点的子集确定平坦度等级。为了确定平坦度等级,基于将随机生成的点尽可能远离其他点的准则,为每个片段生成候选抓取点的子集。以这种方式,通过在小数量的候选抓取点上操作,可以最小化平坦度计算工具1341的计算强度,同时仍然在片段中的各个点处提供足够密集的平坦度测量。基于片段中每个点的主曲率范数(也称为“平均绝对曲率”,如候选计算工具132中所使用的)以及候选抓取点与片段点之间的距离,生成候选抓取点子集内每个点的平坦度等级。一个可选择的实施方式中,基于片段中每个点的主曲率范数以及候选抓取点与片段点之间的最短路径长度,生成子集内每个候选抓取点的平坦度等级。以这种方式,基于邻域平坦度计算候选抓取点子集内的每个点的平坦度等级,片段中那些距候选抓取点距离最远的点对计算出的平坦度等级影响最小,而那些离候选抓取点更近的点,对计算出的平坦度等级影响最大。
均衡工具1342用于调整所有候选抓取点子集的平坦度等级分布,使得这些等级的影响不会矮化加权工具1343,或被加权工具1343所矮化。例如,一个实施方式中,平坦度等级可替换为其百分位数秩,因此100%的值表示平坦的邻域,而0%的值表示显示出最大曲率的邻域(与所有其他邻域相比),中间值表示曲率中等的邻域。
加权工具1343用于基于每个候选抓取点到其所在片段的形心的距离,来加权均衡的平坦度等级。以这种方式,因为从更接近质心的点(且一般更接近片段形心)抓取物品使机器人系统3的抓取更容易,因此那些更接近其所在的片段形心的候选抓取点权重更高。
选择工具1344用于选择将由机器人系统3使用的最终抓取点。一个示例中,选择工具1344可选择具有最高加权均衡平坦度等级的候选抓取点,换言之,抓取点的特征为等级倾向于更接近形心,具有更平坦邻域。
总之,排序工具134基于每个候选抓取点的邻域平坦度及其与片段形心的邻近度来确定抓取点。相应地,所选的抓取点经过优化,可与吸盘端执行器一起使用。
图9显示了根据图1所示第一实施方式的控制器1执行的流程。尤其是,流程图显示了基于输入的结构点云信息生成抓取点的过程。
参照图9,在可选步骤S901,分割工具11基于从结构点云生成器2接收到的结构点云,可选地生成片段。结构点云是结构点云生成器2查看场景的代表,一般是含有物品的容器4。结构点云提供容器4和物品距结构点云生成器2的距离信息,换言之,提供关于场景的深度信息。片段表示分割工具11确定的分割表面。以这种方式,分割工具11将结构点云生成器2查看的场景分成单独的物品,并进一步分成这些物品的单独表面。
在下文描述中,为了简单起见,将假设步骤S901被用于生成结构点云的片段。但是,也可不必使用步骤S901,相反,结构点云生成器生成的整个场景可以被视为单个片段/分割表面。以这种方式,仍然可以为机器人系统3生成有效抓取点,但容器4中的单独物品并没有被区分,这是步骤S901带来的特征。
在步骤S902,表面计算工具12从结构点云生成器2接收结构点云,并计算关于结构点云的场景的信息。尤其,表面计算工具12计算结构点云的法向和结构点云的主曲率。可选地,表面计算工具12还能够计算平滑的结构点云。
在下文描述中,为了简单起见,假设使用步骤S902来生成平滑的结构点云。但是,不是必需生成平滑的结构点云,相反,可能使用生成的不平滑的结构点云,并对其进行足够平滑的处理,以生成抓取点。使用不平滑的结构点云仍能为机器人系统3生成有效的抓取点,然而在某些情况下,结构点云中可能存在伪影,而该伪影在使用平滑结构点云时会被消除。
在步骤S903,抓取点计算工具13接收分割工具11生成的可选的片段,以及表面计算工具12计算的关于场景的信息。基于接收的信息,抓取点计算工具11计算抓取点,供机器人系统的吸盘端执行器从容器4中抓取至少一个物品。
一些示例中,抓取点计算工具13将不能计算抓取点。这种情形下,方法执行下列步骤中的一项或两项:方法生成容器4为空的指示,和/或不考虑分割工具11生成的至少一个片段,而重新计算抓取点。换言之,不使用从分割工具11接收的所有信息,再次执行抓取点计算。
总之,从第一实施方式的说明应理解,基于关于分割表面(片段),尤其是关于点云的法向、平滑的结构点云和计算出的结构点云的主曲率的有关信息,执行抓取点计算。以这种方式,吸气端执行器被配置为在处于最佳位置以供抓取的片段上运行,例如,片段上那些最小的弯曲位置能确保实现良好抓取。
图10显示了如图2所示的分割工具11所执行的流程。尤其是,流程图显示了基于输入的结构点云信息生成片段的过程。
参照图10,在步骤S1001,分割工具11从结构点云生成器2接收结构点云。分割工具11计算结构点云的法向、可选的平滑的点云、结构点云的第一和第二导数、结构点云的主曲率,以及基于结构点云的置信图。一个实施例中,步骤S1001通过拟合多项式到结构点云窗口的一维切片,计算结构点云的特性,结构点云窗口半径是预定的。
在步骤S1002,基于步骤S1001计算的信息,计算可分割图像。可分割图像可能是突出点云低谷的二值图像。一个实施例中,可按三个图像的像素级积计算可分割图像。更具体地说,三个图像可能是最大主曲率图像的均衡否定、深度图梯度范数的均衡否定,以及置信图的像素级幂。最大主曲率图像的均衡否定可能是值在点云低谷处接近零、在高峰处接近1的图像。深度图梯度范数的均衡否定可能是值在陡峭表面上接近零、在水平表面上接近1的图像。
在步骤S1003,基于可分割图像,通过比较可分割图像中的像素值和预定阈值,生成种子片段。步骤S1003还填充生成的种子片段中的任何间隙,以确保表一致面。一些实施方式中,步骤S1003的输出用作对其执行抓取点计算的片段。
可执行可选的步骤S1004来基于掩模限制播种的片段,为每一片段界定边界。步骤S1004为对每一片段的边界施加限制,超出了限制片段就无法扩展。
可执行可选的步骤S1005。在步骤S1005,播种(和可选地受限制的)的片段是扩展的。尤其,片段是扩展的,直到不能再将像素添加到所有片段中。
可执行可选的步骤S1006。在步骤S1006,在适当时候合并扩展的片段。尤其,当满足两个条件时,合并片段。更具体地说,当两个扩展片段的界面长度与两个扩展片段的周边长度之比大于预定阈值时,则满足第一个条件。当图像值沿界面的分布类似于图像值在两个片段内的分布时,则满足第二个条件。
总之,方法S1000基于关于结构点云的信息有利地执行了结构点云的分割,关于结构点云的信息具体为结构点云的第一和第二导数和主曲率。这带来了更有效的分割。
图11显示了如图3所示的表面计算工具12所执行的流程。尤其,流程图显示了生成输入的结构点云信息的导数、置信图、主曲率和法向的过程。
参照图11,在步骤S1101,表面计算工具12接收结构点云生成器2生成的结构点云,以及容器4下表面的法向的指示。表面计算工具12计算结构点云的导数和置信图。在一个非限制性实施例中,S1101拟合结构点云的一维切片,被细分为重叠窗口,其中每个窗口的半径都是预定的。
在步骤S1102,计算出的导数和置信图用于计算主曲率和法向。尤其,基于每一点的法向和第一基本形式,计算主曲率。
总之,方法S1100计算结构点云的各种特性,尤其是从结构点云确定的表面的特性。
图12显示了如图4所示的抓取点计算工具13所执行的流程。尤其,流程图显示了基于输入片段和片段表面特性生成抓取点的过程,片段表面特性如置信图、主曲率、结构点云的法向和容器4下表面的法向。
参照图12,在步骤S1201,抓取点计算工具13接收分割工具11生成的片段,以及表面计算工具12计算的结构点云的特性。基于接收的信息,S1202选择那些半径大于吸气端执行器半径的片段。以这种方式,丢弃小片段,换言之,丢弃那些无法支持吸盘端执行器的片段。
在步骤S1202,接收所选择半径的片段。当各种条件匹配时,选择所选择半径的片段中结构点云的一个点。尤其是基于在S1100计算的表面特性来计算每个被称为候选抓取点的点。借此,S1202输出与条件匹配的候选抓取点以及它们所在的片段。
在步骤S1203,基于片段尺寸和片段距容器下表面的距离,选择来自S1202的片段输出。这方面,距容器下表面的距离是距结构点云生成器2距离的补数。相应地,选择那些更接近结构点云生成器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使用候选抓取点的子集确定平坦度等级。生成的候选抓取点的子集尽可能相互远离,并包括每个片段中候选抓取点的随机抽样。基于片段中每个点的主曲率范数以及候选抓取点与片段点之间的距离,生成候选抓取点子集内每个点的平坦度等级。距离可按从候选抓取点到片段点的三维距离计算,或按片段表面上的距离计算。相应地,基于候选抓取点的局部区域的平坦度,为每一候选抓取点生成平坦度等级。
在步骤S1602,针对所有候选抓取点子集调整在步骤S1601计算的平坦度等级分布,使得这些等级的影响不会矮化加权步骤S1603,或被加权步骤S1603所矮化。
在步骤S1603,相对于候选抓取点到其所在片段的形心的距离,加权均衡平坦度等级。
在步骤S1604,排序加权平坦度等级,将具有最高等级的候选抓取点选择为机器人系统3的抓取点。
修改和变更
在不脱离本发明范围的前提下,可对上述实施方式进行众多修改和变更。
应理解,可以设想多种不同形式的容器4。例如,容器4可能是提包或板条箱。容器4仅是存储物品的一种方式,它通常有壁,但在某些情况下并非如此。例如,如果要容纳的物品大体上是平的并且容易堆叠,则不需要壁,因此容器4将是一个托盘,其上堆叠着将由机器人系统3抓取的物品。以托盘的形式,如整个说明书所涉及的,只有下表面的容器4,在展现中其没有从下表面延伸的壁。因此,将容器4设想为,用于存储至少一个物品的任意存储工具。
对于半径选择工具131和步骤S1201,本发明发明者还考虑了一个可选择的实施例,该实施例与半径选择工具131和步骤S1201不同,其能够区分太薄了以至于无法抓取的凸形片段和既具有足够大以抓取的区域又具有太薄了以至于无法抓取的区域的凹形片段。在该可选择的实施例中,不测量从边界点到形心的片段表面上的距离,而是在片段表面上测量从每一片段点到片段的最接近边界点的距离,当这些距离中的最大值小于吸盘端执行器半径时,丢弃片段。
尽管抓取点计算工具13被描述为按指定顺序从一个单元到另一个单元的线性流操作,但是本发明发明者设想,运行顺序可根据实施例的选择而采用许多不同的集合来执行,并且稍加修改。例如,图4在候选计算工具之前显示半径选择工具。然而,设想中半径选择工具可在候选计算工具之后执行。类似地,尺寸和高度选择工具可在半径选择工具之前执行。应理解,关于候选抓取点选择的运行顺序不受限制,设想到了任何合适便利的顺序。
此外,排序工具134用于根据加权均衡平坦度等级排序。尽管这是一个选项,根据不同标准排序和以其它方式运用加权均衡平坦度等级也是同样可能的。例如,排序工具134可用于选择具有最高加权均衡平坦度等级的候选抓取点。一个非限制性示例中,候选选择工具132还可进一步用于,为每一候选抓取点确定加权均衡平坦度等级,然后将加权均衡平坦度等级与预定阈值比较。预定阈值可能是绝对阈值,或基于所有片段的集合加权均衡平坦度等级的百分位数的相对阈值。以这种方式,可将加权均衡平坦度等级高于平均加权均衡平坦度等级的百分位数的候选抓取点选择为要保留的候选抓取点。或者,预定阈值可基于每一片段的平均加权均衡平坦度等级。以这种方式,可保留具有高平均加权均衡平坦度等级的片段,可丢弃剩余片段。这种情况下,使用绝对阈值时,将其与平均值比较。
此外,尺寸和高度选择工具132可不执行基于尺寸和高度的片段选择。相反,可将其用于根据含有片段的尺寸和候选抓取点的高度的标准化度量的总和,来对每个候选抓取点进行评级。如前所述,标准化可以通过直方图均衡化来执行,并且总和的尺寸和高度项的相对贡献可以通过加权因子来控制。接着,排列工具可用于选择具有最高级别的候选抓取点,以便优先选择大片段中的高点,同时允许大片段中的较低抓取点和小片段中的高抓取点。应理解,该示例中,采用与排序工具134不同的方式,在不进行排序的情况下执行平坦度等级,并且基于高度执行排序。可以看出,本发明发明者设想了与上述运行顺序不同的运行顺序。然而,有利的是,在说明书各处描述的运行顺序提供的运行在计算上成本较低,这是因为平坦度等级计算在最少的候选抓取点上执行最佳,原因是平坦度等级计算在计算上成本最高。相应地,本发明发明者在抓取点计算结束时在排序工具134实施平坦度等级计算,因为这是具有最少剩余候选抓取点的部位,半径选择工具131、候选计算工具132和尺寸和高度选择工具133已经丢弃了许多候选抓取点。
一个示例中,第一实施方式的控制器1,以及结构点云生成器2和机器人系统3可实施于杂货店商品包装系统,该系统用于将物品从含有许多物品(为同样产品)的容器移动至含有顾客所购商品(包括许多不同产品)的另一个容器。
销售多条产品线的线上零售业务,如线上杂货店和超市,需要能够存储数十条甚至数百数千条不同产品线的系统。在这种情况下使用单产品堆垛是不实际的,因为将需要非常大的占地面积来容纳所有所需堆垛。另外,对于某些货品,可能只希望少量存储,如易腐烂商品或不常订购的商品,从而使单产品堆垛成为低效的解决方案。
国际专利申请WO 98/049075A(Autostore)描述了一个容器的多产品堆垛布置在框架结构内的系统,该申请内容借引用合并于此。
PCT公开号WO2015/185628A(Ocado)描述了另一个已知的存储和订单履行系统,其中储物箱和容器的堆垛布置在框架结构内。在位于框架结构之上的轨道上运行的装载处理设备获取储物箱或容器。装载处理设备将储物箱或容器从堆垛抬出,多个装载处理设备协同运行来获取位于堆垛最低位置的储物箱或容器。此类型的系统在附图图17至图20中给出了示意图示。
如图17和图18所示,可堆叠的容器,又称储物箱50,相互堆叠组成堆垛52。堆垛52以网格框架结构54布置在仓储或制造环境中。图17为框架结构54的示意性透视图,图18为俯视图,显示布置在框架结构54内的储物箱50的堆垛52。每一储物箱50一般安放复数个产品项目(未示出),储物箱50内的产品项目可能是相同的,或可能是不同产品类型,依应用而定。
框架结构54包括支撑水平构件58、20的复数个直立构件56。第一组平行水平构件58与第二组平行水平构件20垂直,以形成直立构件56支撑的复数个水平网格结构。构件56、58、20一般由金属制成。储物箱50堆叠在框架结构54的构件56、58、20之间,使得框架结构54防止储物箱50的堆垛52进行水平移动,并引导储物箱50的垂直移动。
框架结构54的顶层包括轨路22,轨路22设于遍及堆垛52顶部的网格图案中。另外参考图19和图20,轨路22支撑复数个机器人装载处理设备30。第一组22a平行轨路22引导装载处理设备30沿第一方向(X)在框架结构54顶部穿越移动,与第一组22a垂直设置的第二组22b平行轨路22引导装载处理设备30在第二方向(Y)的移动,第二方向(Y)垂直于第一方向。以这种方式,轨路22实现了装载处理设备30在水平X-Y平面内的二维横向移动,使得装载处理设备30能够移动到任意堆垛52上方的位置。
挪威专利317366号中进一步描述了一种形式的装载处理设备30,该专利的内容借引用合并于此。图19(a)和图19(b)是存放储物箱50的装载处理设备30的示意截面图,图19(c)是抬升储物箱50的装载处理设备的前向示意透视图。然而,还有可与本文描述的系统组合使用的其它形式的装载处理设备。例如PCT专利公开号WO2015/019055(Ocado)中描述了另外一种形式的机器人装载处理设备,其中每一机器人装载处理器仅覆盖框架结构的一个网格空间,这使得装载处理器的密度能够更高,从而使给定尺寸的系统能具有更高的工作量,该专利借引用并入本发明。
每一装载处理设备30包括交通工具32,其能够在堆垛52之上、在框架结构54的轨路22上沿X和Y方向行进。第一组轮子34由交通工具32前面的一对轮子34和交通工具32后面的一对轮子34组成,第一组轮子34能够与第一组22a轨路22的两条相邻轨路接合。相似地,第二组轮子36由在交通工具32两侧的两对轮子36组成,第二组轮子36用于与第二组22b轨路22的两条相邻轨路接合。每组轮子34、36可以抬升或下降,使得第一组轮子34或第二组轮子36随时与各自的轨路22a、22b组接合。
当第一组轮子34与第一组轨路22a接合且第二组轮子36从轨路22抬走时,能够通过安置在交通工具32内的驱动机构(未示出)驱动轮子34,来沿X方向移动装载处理设备30。为了沿Y方向移动装载处理设备30,将第一组轮子34从轨路22抬走,将第二组轮子36下降至与第二组轨路22a接合。然后能够使用驱动机构驱动第二组轮子36,以实现Y方向上的移动。
装载处理设备30配备有抬升设备。抬升设备40包括通过四根缆绳38从装载处理设备32的主体悬挂的夹持板39。缆绳38连接至安置在交通工具32内的缠绕机构(未示出)。缆绳38能从装载处理设备32收绳或放绳,使得能够在Z方向调整夹持板39相对交通工具32的位置。
夹持板39适应为与储物箱50的顶部接合。例如,夹持板39可包括与构成储物箱50上表面的边沿中的相应孔(未显示)配合的销(未显示),以及可与边沿接合以夹持储物箱50的滑动夹钳(未显示)。通过安置在夹持板39内的合适驱动机构驱动夹钳,以使其与储物箱50接合,驱动机构由通过缆绳38本身或通过单独的控制缆绳(未示出)传输的信号供能和控制。
为了从堆垛52的顶部移除储物箱50,如有必要,在X和Y方向上移动装载处理设备30,以便使夹持板39位于堆垛52的上方。然后在Z方向垂直降低夹持板39,以便与堆垛52顶部的储物箱50接合,如图19(c)所示。夹持板39夹持储物箱50,然后在附接有储物箱50的情况下,由缆绳38将其向上拉动。在其垂直行程的顶部,储物箱50容纳在交通工具主体32内,并安放在轨路22的上方。以这种方式,能够将携带着储物箱50的装载处理设备30移动至X-Y平面中的不同位置,以将储物箱50运输到另一部位。缆绳38的长度足够使装载处理设备30从堆垛52的任何高位(包括地面位)取回和放置储物箱。交通工具32的重量可由为轮子34、36的驱动机构供能的电池部分组成。
如图20所示,设置了复数个相同的装载处理设备30,以使每一装载处理设备30可同时运行,提高系统的工作量。图20所示系统可包括又称端口的特定部位,能够在这些部位将储物箱50转移进入系统或从系统转移出来。附加传送机系统(未示出)与每一端口关联,使得能够通过传送机系统将装载处理设备30运输到端口的储物箱50转移到例如拣选站(未示出)的另一部位。类似地,传送机系统能将储物箱50从例如储物箱填装站(未示出)的外部部位移动至端口,并通过装载处理设备30运输至堆垛52,以补充系统中的存货。
拣选站可包括机器人系统3,机器人系统3由控制器1控制。这方面,结构点云生成器2可能位于拣选站的合适部位。机器人系统3可用于从第一容器拣选货品,第一容器由装载处理设备30移动至拣选站。可将拣选的货品重新置于在第二容器,第二容器也由装载处理设备30移动至拣选站。然后,可通过装载处理设备30将第一和第二容器均重新存储在堆垛52中。以这种方式,在自动仓库中实现了物品从一个容器到另一个容器的自动重新置放。尽管上述示例涉及拣选站,应该理解的是,也可使用针对存储系统使用的其他站,如需要移除容器内碎屑的站。机器人系统3将自动从容器移除这种碎屑。
每个装载处理设备30一次能够抬升和移动一个储物箱50。如果需要取回不在堆垛52顶部的储物箱10b(“目标储物箱”),则必须首先移动覆盖其上的储物箱50a(“非目标储物箱”),以可能获取目标储物箱10b。这在下文称为“挖掘”(digging)的操作中实现。
参照图20,在挖掘操作中,复数个装载处理设备30中的一个相继从含有目标储物箱50b的堆垛52抬升非目标储物箱50a,并将其放置在另一堆垛52内的空位上。然后目标储物箱50b能够被装载处理设备30获取,并被移动至端口,供进一步运输。
每个装载处理设备30都受中央计算机控制。系统内的每一单个的储物箱50都被追踪,以便能够在需要时取回、运输和替换适当储物箱50。例如,在挖掘操作中,记录每一非目标储物箱50a的部位,以便能够追踪非目标储物箱50a。
参照图17至20描述的系统具有众多优势,适用于范围广泛的存储和取回操作。尤其,它允许存储非常密集的产品,并且提供了一种在储物箱50中存储大量不同货品的非常经济的方式,同时在需要拣选时允许以合理的成本访问储物箱50。
但该类系统仍存在不足,这都是由上文所述的挖掘操作造成的,当目标储物箱50b不在堆垛52顶部时,必须执行挖掘操作。
已经以解释和描述为目的呈现了本发明实施方式的前述说明。前述说明并不旨在详尽无遗,或将本发明局限于公开的精确形式。在不脱离本发明的精神和范围的前提下,可进行修改和变更。
Claims (37)
1.一种机器人系统的控制设备,所述控制设备能够连接至结构点云生成器和包括吸盘端执行器的机器人系统,所述结构点云生成器用于生成至少一个存储工具的结构点云,所述至少一个存储工具用于存储至少一个物品,所述机器人系统用于从所述至少一个存储工具抓取至少一个物品,所述控制设备包括:
表面计算工具,用于计算所述结构点云的法向和所述结构点云的主曲率;以及
抓取点计算工具,用于基于所述结构点云、计算出的所述结构点云的法向、计算出的所述结构点云的主曲率和所述存储工具下表面的法向,计算抓取点,供所述机器人系统的所述吸盘端执行器从所述至少一个存储工具抓取至少一个物品。
2.根据权利要求1所述的控制设备,所述控制设备还包括:
分割工具,用于基于所述结构点云生成片段;
其中,所述抓取点计算工具还能够基于生成的片段计算所述抓取点,供所述机器人系统的所述吸盘端执行器从所述至少一个存储工具抓取至少一个物品。
3.根据前述任意一项权利要求所述的控制设备,其特征在于,所述表面计算工具还用于计算平滑的结构点云;
其中,所述抓取点计算工具还能够基于计算出的平滑的结构点云,计算所述抓取点,供所述机器人系统的所述吸盘端执行器从所述至少一个存储工具抓取至少一个物品。
4.根据前述任意一项权利要求所述的控制设备,其特征在于,当所述抓取点计算工具不能计算抓取点时,所述控制器用于生成所述至少一个存储工具为空的指示和/或使所述抓取点计算工具不考虑至少一个片段,重新计算抓取点。
5.根据前述任意一项权利要求所述的控制设备,其特征在于,所述抓取点计算工具包括:
半径选择工具,用于选择半径大于所述吸盘端执行器半径的片段;
候选计算工具,用于基于所选择半径的片段、所述计算出的所述结构点云的法向、所述计算出的平滑的结构点云和所述计算出的所述结构点云的主曲率,计算候选抓取点;
尺寸和高度选择工具,用于基于所选片段的尺寸和所述所选片段距所述存储工具下表面的距离,选择计算出的候选抓取点的片段;
排序工具,用于基于所述计算出的所述结构点云的主曲率,根据候选抓取点的邻域平坦度,排序所选择尺寸和高度的片段,还能够为所述机器人系统选择抓取点。
6.根据权利要求5所述的控制设备,其特征在于,所述半径选择工具包括:
形心寻找工具,用于定位每个片段中的形心;
距离计算工具,用于计算每个片段中片段形心与所述片段边界上距所述形心最远的点之间的距离;以及
距离阈值化工具,用于确定计算出的距离是否大于所述吸盘端执行器的半径。
7.根据权利要求5或6所述的控制设备,其特征在于,所述候选计算工具包括:
阈值计算工具,用于按所有所述所选片段的所有主曲率范数的预定百分位数计算主曲率阈值;
选择工具,用于基于是否有下列各项中至少一项来选择候选抓取点:
候选抓取点到其片段边界的距离大于预定阈值,
所述候选抓取点的主曲率范数小于所述阈值计算工具计算出的阈值,
所述候选抓取点的所述法向和所述至少一个存储工具下表面的法向之间的角小于预定阈值,以及
所述候选抓取点到其片段的形心的距离小于预定阈值;
大片段丢弃工具,用于计算在表面上测量的所选候选抓取点的每个片段的形心到其边界点之间的距离的最小值,用于基于计算出的距离生成平均距离,还用于选择计算出的距离小于计算出的平均值乘以预定值的片段;以及
倾斜表面区域检测工具,用于计算所选候选抓取点的法向和所述至少一个存储工具的所述下表面的法向之间的角,基于计算出的角生成角阈值,还用于选择计算出的角小于计算出的角阈值的片段。
8.根据权利要求5至权利要求7中任意一项所述的控制设备,其特征在于,所述尺寸和高度选择工具包括:
平均高度和尺寸计算工具,用于计算所述至少一个存储工具下表面到每个片段的平均距离,所述每个片段包括由所述抓取点计算工具所选的候选抓取点;用于计算所述至少一个存储工具下表面到所有片段的平均距离,所述所有片段包括由所述抓取点计算工具所选的候选抓取点;用于计算包括由所述抓取点计算工具所选的候选抓取点的每个片段的平均尺寸,用于计算包括由所述抓取点计算工具所选的候选抓取点的所有片段的平均尺寸;
高度和尺寸阈值化工具,用于选择:到所述至少一个存储工具的所述下表面而计算出的平均距离大于所有片段的到所述至少一个存储工具的所述下表面的计算出的平均距离百分位数的片段,和/或计算出的平均尺寸大于所有片段的计算出的平均尺寸乘以预定因子的片段。
9.根据权利要求5至权利要求8中任意一项所述的控制设备,其特征在于,所述排序工具包括:
平坦度计算工具,用于基于所述片段中每个点的主曲率范数以及所述候选抓取点与所述片段点之间的距离,确定所述候选抓取点子集内每个点的平坦度等级;
均衡工具,用于调整所有所述候选抓取点子集的平坦度等级分布;
加权工具,用于相对所述候选抓取点所在片段的形心,来加权每个均衡的平坦度等级;以及
平坦度选择工具,用于从所选片段选择具有最大加权平坦度等级的候选抓取点。
10.根据前述任意一项权利要求所述的控制设备,其特征在于,所述分割工具包括:
结构点云计算工具,用于计算所述结构点云的法向、平滑的结构点云、所述结构点云的第一和第二导数、所述结构点云的主曲率,以及置信图;
图像计算工具,用于根据计算出的第一导数、最大主曲率和所述置信图,计算可分割图像;以及
播种工具,用于生成种子片段。
11.根据权利要求10所述的控制设备,其特征在于,所述结构点云计算工具和所述表面计算工具一体形成。
12.根据权利要求10或权利要求11所述的控制设备,其特征在于,所述结构点云计算工具用于通过拟合多项式到预定半径的结构点云窗口的一维切片,计算所述结构点云的法向、平滑的点云、所述结构点云的第一和第二导数、所述结构点云的主曲率,以及置信图。
13.根据权利要求10至权利要求12中任意一项所述的控制设备,其特征在于,所述图像计算工具用于按下列各项计算所述可分割图像的像素级积:最大主曲率图像的均衡否定、结构点云梯度范数图像的均衡否定,以及置信图的像素级幂,其中
最大主曲率图像的所述均衡否定包括结构点云低谷处的最小值和高峰处的最大值,以及
结构点云梯度范数图像的所述均衡否定包括陡峭表面上的最小值和水平表面上的最大值。
14.根据权利要求10至权利要求13中任意一项所述的控制设备,其特征在于,所述播种工具用于通过识别可分割图像的区域生成种子片段,其中可分割图像的可分割图像值超过预定阈值。
15.根据权利要求10至权利要求14中任意一项所述的控制设备,还包括限制工具,所述限制工具用于对每一播种片段的边界施加限制,超出所述限制所述片段就无法扩展。
16.根据权利要求10至权利要求15中任意一项所述的控制设备,还包括:
生长工具,用于使所述种子片段扩展;以及
合并工具,用于合并扩展片段。
17.根据权利要求16所述的控制设备,其特征在于,所述合并工具用于在以下情况下合并两个扩展片段:
当两个扩展片段之间的界面长度与两个扩展片段的周边长度之比大于预定阈值时;以及
当图像值沿所述界面的分布类似于图像值在所述两个片段内的分布时。
18.一种系统,包括:
结构点云生成器,用于生成至少一个存储工具的结构点云,所述至少一个存储工具包括至少一个物品;
机器人系统,包括吸盘端执行器,用于从所述至少一个存储工具抓取至少一个物品;以及
根据前述任意一项权利要求的控制设备,用于基于计算出的抓取点控制所述机器人系统。
19.一种杂货店商品包装系统,包括:
第一存储工具,用于存储为相同产品的大量物品;
第二存储工具,用于存储为不同产品的大量物品;以及
根据权利要求18的系统,其中所述机器人系统用于将至少一个物品从所述第一存储工具移动到所述第二存储工具内。
20.一种存储系统,包括:
在X方向延伸的第一组平行轨路或轨道和在Y方向延伸的第二组平行轨路或轨道,所述第二组平行轨路或轨道在大致水平面上横切所述第一组,形成包括复数个网格空间的网格图案;
位于所述轨路下方的复数个容器堆垛,用于使得每个堆垛位于单个网格空间的覆盖区之内;
至少一个运输设备,所述至少一个运输设备用于在所述堆垛上方、在所述轨路上选择性地沿所述X方向和Y方向移动,并用于运输容器;
拣选站,用于接收所述至少一个运输设备运输的容器;以及
根据权利要求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中任意一项所述的方法,其特征在于,片段生成步骤包括:
计算所述结构点云的法向、平滑的结构点云、所述结构点云的第一和第二导数、所述结构点云的主曲率,以及置信图;
根据计算出的第一导数、最大主曲率和所述置信图确定可分割图像;以及
生成种子片段。
32.根据权利要求31所述的方法,其特征在于,计算步骤包括,通过拟合多项式到预定半径的结构点云窗口的一维切片,计算所述结构点云的法向、平滑的结构点云、所述结构点云的第一和第二导数、所述结构点云的主曲率,以及置信图。
33.根据权利要求31或权利要求32所述的方法,其特征在于,确定步骤包括按以下各项计算可分割图像的像素级积:最大主曲率图像的均衡否定、结构点云梯度范数图像的均衡否定,以及置信图的像素级幂,其中
最大主曲率图像的所述均衡否定包括结构点云低谷处的最小值和高峰处的最大值,以及
结构点云梯度范数图像的所述均衡否定包括陡峭表面上的最小值和水平表面上的最大值。
34.根据权利要求31至权利要求33中任意一项所述的方法,其特征在于,种子生成步骤包括,通过识别可分割图像的区域生成种子片段,其中可分割图像的可分割图像值超过预定阈值。
35.根据权利要求31至权利要求34中任意一项所述的方法,还包括以下步骤:
对每个播种片段的边界施加限制,超出限制片段就无法扩展。
36.根据权利要求31至权利要求35中任意一项所述的方法,其特征在于,所述方法还包括以下步骤:
使所述种子片段扩展;以及
合并扩展片段。
37.根据权利要求36所述的方法,其特征在于,合并步骤包括在以下情况下合并两个扩展片段:
当两个扩展片段之间的界面长度与两个扩展片段的周边长度之比大于预定阈值时;以及
当图像值沿所述界面的分布类似于图像值在所述两个片段内的分布时。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1719058.8 | 2017-11-17 | ||
GBGB1719058.8A GB201719058D0 (en) | 2017-11-17 | 2017-11-17 | Control device and method for a robot system |
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 |
---|---|
CN111344118A true CN111344118A (zh) | 2020-06-26 |
CN111344118B CN111344118B (zh) | 2023-06-16 |
Family
ID=60805722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880074013.XA Active CN111344118B (zh) | 2017-11-17 | 2018-11-16 | 机器人系统的控制设备和方法 |
Country Status (10)
Country | Link |
---|---|
US (2) | US11787631B2 (zh) |
EP (1) | EP3710208A1 (zh) |
JP (2) | JP7030978B2 (zh) |
KR (1) | KR102399745B1 (zh) |
CN (1) | CN111344118B (zh) |
AU (2) | AU2018368575B2 (zh) |
CA (1) | CA3078850C (zh) |
GB (2) | GB201719058D0 (zh) |
MX (1) | MX2020005125A (zh) |
WO (1) | WO2019097004A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112025701A (zh) * | 2020-08-11 | 2020-12-04 | 浙江大华技术股份有限公司 | 抓取物体的方法、装置、计算设备和存储介质 |
CN112077842A (zh) * | 2020-08-21 | 2020-12-15 | 上海明略人工智能(集团)有限公司 | 一种夹取方法、夹取系统及存储介质 |
CN113298866A (zh) * | 2021-06-11 | 2021-08-24 | 梅卡曼德(北京)机器人科技有限公司 | 物体分类方法及装置 |
CN114083535A (zh) * | 2021-11-18 | 2022-02-25 | 清华大学 | 一种机器手抓取姿势质量的物理度量方法及装置 |
CN115147488A (zh) * | 2022-07-06 | 2022-10-04 | 湖南大学 | 一种基于密集预测的工件位姿估计方法与抓取系统 |
CN116175542A (zh) * | 2021-11-28 | 2023-05-30 | 梅卡曼德(北京)机器人科技有限公司 | 抓取控制方法、装置、电子设备和存储介质 |
CN117162576A (zh) * | 2023-09-08 | 2023-12-05 | 昆山汇欣德智能科技有限公司 | 一种冲压机械手取放料调节方法 |
WO2024016633A1 (zh) * | 2022-07-21 | 2024-01-25 | 京东科技控股股份有限公司 | 物品拣选方法及装置、计算机可读存储介质 |
Families Citing this family (20)
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 |
CN113272106A (zh) * | 2019-12-12 | 2021-08-17 | 牧今科技 | 基于由相机生成的图像信息执行运动规划的方法和计算系统 |
CN113043282B (zh) * | 2019-12-12 | 2022-03-29 | 牧今科技 | 用于物体检测或机器人交互规划的方法和系统 |
CN113219900B (zh) * | 2019-12-12 | 2022-03-29 | 牧今科技 | 基于相机生成的图像信息执行运动规划的方法和计算系统 |
US11541534B2 (en) | 2020-07-14 | 2023-01-03 | Intrinsic Innovation Llc | Method and system for object grasping |
US11273552B2 (en) | 2020-07-14 | 2022-03-15 | Vicarious Fpc, Inc. | Method and system for object grasping |
US11559885B2 (en) | 2020-07-14 | 2023-01-24 | Intrinsic Innovation Llc | Method and system for grasping an object |
GB202012459D0 (en) * | 2020-08-11 | 2020-09-23 | Ocado Innovation Ltd | A selector for robot-retrievable items |
CN112873205A (zh) * | 2021-01-15 | 2021-06-01 | 陕西工业职业技术学院 | 基于双夹具实时切换的工业机器人无序抓取方法 |
KR102358037B1 (ko) * | 2021-03-11 | 2022-02-08 | (주)로파 | 전기차 폐배터리의 학습기반 해체로봇 자동화시스템 |
CA3227645A1 (en) | 2021-08-04 | 2023-02-09 | Rajat BHAGERIA | System and/or method for robotic foodstuff assembly |
GB202116558D0 (en) | 2021-11-17 | 2021-12-29 | Ocado Innovation Ltd | Camera unit |
WO2023089065A1 (en) | 2021-11-17 | 2023-05-25 | Ocado Innovation Limited | Camera unit |
KR20230081247A (ko) * | 2021-11-30 | 2023-06-07 | 한국전자통신연구원 | 온실환경에서 이동로봇의 자율주행을 위한 레일 탐지 장치 및 방법 |
CN114590131B (zh) * | 2022-01-21 | 2023-09-08 | 北方工业大学 | 制动能量回收控制方法、装置及车辆 |
CN114407015A (zh) * | 2022-01-28 | 2022-04-29 | 青岛理工大学 | 一种基于数字孪生的遥操作机器人在线示教系统及方法 |
CN114918928B (zh) * | 2022-07-22 | 2022-10-28 | 杭州柳叶刀机器人有限公司 | 手术机械臂精准定位方法、装置、控制终端及存储介质 |
CN116197913B (zh) * | 2023-03-23 | 2023-12-05 | 广东技术师范大学 | 一种基于点云处理的机器人加工路径规划方法和存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1895025A (zh) * | 2005-07-15 | 2007-01-17 | 南京航空航天大学 | 基于计算机视觉的作物需水信息检测新方法 |
US20120308140A1 (en) * | 2011-06-06 | 2012-12-06 | Microsoft Corporation | System for recognizing an open or closed hand |
CN102982557A (zh) * | 2012-11-06 | 2013-03-20 | 桂林电子科技大学 | 基于深度相机的空间手势姿态指令处理方法 |
KR20140065058A (ko) * | 2012-11-21 | 2014-05-29 | 주식회사 에스에프에이 | 멀티태스킹 스토커 시스템 |
WO2015019055A1 (en) * | 2013-08-09 | 2015-02-12 | Ocado Innovation Limited | Apparatus for retrieving units from a storage system |
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 |
US20170178341A1 (en) * | 2015-12-21 | 2017-06-22 | Uti Limited Partnership | Single Parameter Segmentation of Images |
CN107138432A (zh) * | 2017-04-05 | 2017-09-08 | 杭州迦智科技有限公司 | 非刚性物体分拣方法和装置 |
WO2017152224A1 (en) * | 2016-03-07 | 2017-09-14 | Queensland University Of Technology | A robotic harvester |
JP2017202549A (ja) * | 2016-05-11 | 2017-11-16 | セイコーエプソン株式会社 | ロボット制御装置、ロボット、及びロボットシステム |
Family Cites Families (14)
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次元形状処理装置及び曲面生成プログラム並びに方法 |
JP2011167815A (ja) | 2010-02-19 | 2011-09-01 | Ihi Corp | 物体認識ロボットシステム |
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 |
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 |
JP5895767B2 (ja) | 2012-08-23 | 2016-03-30 | トヨタ自動車株式会社 | ロボットハンド、制御方法及び制御プログラム |
JP5670397B2 (ja) | 2012-08-29 | 2015-02-18 | ファナック株式会社 | バラ積みされた物品をロボットで取出す装置及び方法 |
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 | 三菱電機株式会社 | ビンピッキング性能評価装置及び方法 |
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 |
CN105598965B (zh) * | 2015-11-26 | 2018-03-16 | 哈尔滨工业大学 | 基于立体视觉的机器人欠驱动手自主抓取方法 |
-
2017
- 2017-11-17 GB GBGB1719058.8A patent/GB201719058D0/en not_active Ceased
-
2018
- 2018-11-16 MX MX2020005125A patent/MX2020005125A/es unknown
- 2018-11-16 CA CA3078850A patent/CA3078850C/en active Active
- 2018-11-16 KR KR1020207014929A patent/KR102399745B1/ko active IP Right Grant
- 2018-11-16 GB GB1818701.3A patent/GB2570373B/en active Active
- 2018-11-16 CN CN201880074013.XA patent/CN111344118B/zh active Active
- 2018-11-16 JP JP2020526617A patent/JP7030978B2/ja active Active
- 2018-11-16 EP EP18807252.4A patent/EP3710208A1/en active Pending
- 2018-11-16 WO PCT/EP2018/081589 patent/WO2019097004A1/en unknown
- 2018-11-16 US US16/764,724 patent/US11787631B2/en active Active
- 2018-11-16 AU AU2018368575A patent/AU2018368575B2/en active Active
-
2021
- 2021-11-12 AU AU2021266348A patent/AU2021266348B2/en active Active
-
2022
- 2022-02-22 JP JP2022025729A patent/JP7395631B2/ja active Active
-
2023
- 2023-09-29 US US18/477,806 patent/US20240025639A1/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1895025A (zh) * | 2005-07-15 | 2007-01-17 | 南京航空航天大学 | 基于计算机视觉的作物需水信息检测新方法 |
US20120308140A1 (en) * | 2011-06-06 | 2012-12-06 | Microsoft Corporation | System for recognizing an open or closed hand |
CN102982557A (zh) * | 2012-11-06 | 2013-03-20 | 桂林电子科技大学 | 基于深度相机的空间手势姿态指令处理方法 |
KR20140065058A (ko) * | 2012-11-21 | 2014-05-29 | 주식회사 에스에프에이 | 멀티태스킹 스토커 시스템 |
WO2015019055A1 (en) * | 2013-08-09 | 2015-02-12 | Ocado Innovation Limited | Apparatus for retrieving units from a storage system |
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 |
US20170178341A1 (en) * | 2015-12-21 | 2017-06-22 | Uti Limited Partnership | Single Parameter Segmentation of Images |
WO2017152224A1 (en) * | 2016-03-07 | 2017-09-14 | Queensland University Of Technology | A robotic harvester |
JP2017202549A (ja) * | 2016-05-11 | 2017-11-16 | セイコーエプソン株式会社 | ロボット制御装置、ロボット、及びロボットシステム |
CN107138432A (zh) * | 2017-04-05 | 2017-09-08 | 杭州迦智科技有限公司 | 非刚性物体分拣方法和装置 |
Non-Patent Citations (1)
Title |
---|
SWAGAT KUMAR ET AL: "Design and Development of an automated Robotic Pick & Stow System for an e-Commerce Warehouse", 《ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112025701A (zh) * | 2020-08-11 | 2020-12-04 | 浙江大华技术股份有限公司 | 抓取物体的方法、装置、计算设备和存储介质 |
CN112077842A (zh) * | 2020-08-21 | 2020-12-15 | 上海明略人工智能(集团)有限公司 | 一种夹取方法、夹取系统及存储介质 |
CN113298866A (zh) * | 2021-06-11 | 2021-08-24 | 梅卡曼德(北京)机器人科技有限公司 | 物体分类方法及装置 |
CN113298866B (zh) * | 2021-06-11 | 2024-01-23 | 梅卡曼德(北京)机器人科技有限公司 | 物体分类方法及装置 |
CN114083535A (zh) * | 2021-11-18 | 2022-02-25 | 清华大学 | 一种机器手抓取姿势质量的物理度量方法及装置 |
CN116175542A (zh) * | 2021-11-28 | 2023-05-30 | 梅卡曼德(北京)机器人科技有限公司 | 抓取控制方法、装置、电子设备和存储介质 |
CN116175542B (zh) * | 2021-11-28 | 2024-01-26 | 梅卡曼德(北京)机器人科技有限公司 | 确定夹具抓取顺序的方法、装置、电子设备和存储介质 |
CN115147488A (zh) * | 2022-07-06 | 2022-10-04 | 湖南大学 | 一种基于密集预测的工件位姿估计方法与抓取系统 |
WO2024016633A1 (zh) * | 2022-07-21 | 2024-01-25 | 京东科技控股股份有限公司 | 物品拣选方法及装置、计算机可读存储介质 |
CN117162576A (zh) * | 2023-09-08 | 2023-12-05 | 昆山汇欣德智能科技有限公司 | 一种冲压机械手取放料调节方法 |
Also Published As
Publication number | Publication date |
---|---|
KR102399745B1 (ko) | 2022-05-18 |
CA3078850A1 (en) | 2019-05-23 |
GB201719058D0 (en) | 2018-01-03 |
GB2570373A (en) | 2019-07-24 |
GB2570373B (en) | 2021-09-15 |
MX2020005125A (es) | 2020-07-28 |
EP3710208A1 (en) | 2020-09-23 |
US20240025639A1 (en) | 2024-01-25 |
JP2022109904A (ja) | 2022-07-28 |
US20210171283A1 (en) | 2021-06-10 |
JP7030978B2 (ja) | 2022-03-07 |
AU2018368575B2 (en) | 2021-08-19 |
GB201818701D0 (en) | 2019-01-02 |
JP2021503651A (ja) | 2021-02-12 |
WO2019097004A1 (en) | 2019-05-23 |
KR20200071763A (ko) | 2020-06-19 |
CA3078850C (en) | 2023-02-21 |
AU2021266348A1 (en) | 2021-12-09 |
US11787631B2 (en) | 2023-10-17 |
CN111344118B (zh) | 2023-06-16 |
AU2021266348B2 (en) | 2023-08-03 |
JP7395631B2 (ja) | 2023-12-11 |
AU2018368575A1 (en) | 2020-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111344118B (zh) | 机器人系统的控制设备和方法 | |
US11383380B2 (en) | Object pickup strategies for a robotic device | |
US11891247B2 (en) | Control device and method for item verification | |
US20220016779A1 (en) | Autonomous Robot Packaging of Arbitrary Objects | |
CN113351522A (zh) | 物品分拣方法、装置及系统 | |
JP2023540999A (ja) | ロボット水平選別のためのシステムおよび方法 | |
US20240199349A1 (en) | Systems and methods for automated packaging and processing with static and dynamic payload guards | |
CN116692389A (zh) | 一种多类别多自由度机械臂卸货方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |