CN114683299B - Robot tool and method of operating the same - Google Patents
Robot tool and method of operating the same Download PDFInfo
- Publication number
- CN114683299B CN114683299B CN202210215933.7A CN202210215933A CN114683299B CN 114683299 B CN114683299 B CN 114683299B CN 202210215933 A CN202210215933 A CN 202210215933A CN 114683299 B CN114683299 B CN 114683299B
- Authority
- CN
- China
- Prior art keywords
- tool
- objects
- plan
- handling
- plans
- 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.)
- Active
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
-
- 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/02—Gripping heads and other end effectors servo-actuated
-
- 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
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- 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/1679—Programme controls characterised by the tasks executed
-
- 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
-
- 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
- B65G37/00—Combinations of mechanical conveyors of the same kind, or of different kinds, of interest apart from their application in particular machines or use in particular manufacturing processes
-
- 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
- B65G43/00—Control devices, e.g. for safety, warning or fault-correcting
-
- 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
- B65G47/00—Article or material-handling devices associated with conveyors; Methods employing such devices
- B65G47/74—Feeding, transfer, or discharging devices of particular kinds or types
- B65G47/90—Devices for picking-up and depositing articles or materials
- B65G47/902—Devices for picking-up and depositing articles or materials provided with drive systems incorporating rotary and rectilinear movements
-
- 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
- B65G47/00—Article or material-handling devices associated with conveyors; Methods employing such devices
- B65G47/74—Feeding, transfer, or discharging devices of particular kinds or types
- B65G47/90—Devices for picking-up and depositing articles or materials
- B65G47/91—Devices for picking-up and depositing articles or materials incorporating pneumatic, e.g. suction, grippers
-
- 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
- B65G67/00—Loading or unloading vehicles
- B65G67/02—Loading or unloading land vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Aviation & Aerospace Engineering (AREA)
- Manipulator (AREA)
Abstract
Description
本申请是中国申请CN202180004739.8的分案申请,该申请日期为2021年11月03日,发明名称为“机器人工具及其操作方法”。This application is a divisional application of Chinese application CN202180004739.8. The application date is November 3, 2021, and the invention is titled “Robot Tool and Its Operation Method”.
相关申请的交叉引用Cross-references to related applications
本申请要求2020年11月5日提交的美国临时专利申请序列号63/109,870的权益,所述临时专利申请以引用的方式整体并入本文。This application claims the benefit of U.S. Provisional Patent Application Serial No. 63/109,870, filed on November 5, 2020, which is incorporated by reference in its entirety.
技术领域Technical field
本技术总体涉及机器人系统,并且更具体地,涉及被配置来抓握并保持物体的机器人工具。The present technology relates generally to robotic systems, and more specifically, to robotic tools configured to grasp and hold objects.
背景技术Background technique
机器人(例如,被配置来自动地/自主地执行物理动作的机器)现在广泛用于许多领域。机器人例如可用于在制造、包装、运输和/或装运等中执行各种任务(例如,操纵或搬运物体)。在执行任务时,机器人能够复制人类动作,由此替换或减少执行危险或重复性任务原本所需的人类参与。机器人往往缺乏复制执行更复杂任务所需的人类敏感性和/或适应性所必需的复杂程度。例如,机器人在某些次最佳位置或姿势下往往难以抓持物体。因此,仍需要用于使用抓持工具组搬运物体的改进的机器人系统和技术。Robots (eg, machines configured to perform physical actions automatically/autonomously) are now widely used in many fields. Robots may be used, for example, to perform various tasks (eg, manipulate or handle objects) in manufacturing, packaging, transportation and/or shipping, etc. Robots are capable of replicating human movements when performing tasks, thereby replacing or reducing the human involvement that would otherwise be required to perform dangerous or repetitive tasks. Robots often lack the level of sophistication necessary to replicate the human sensitivity and/or adaptability required to perform more complex tasks. For example, robots often have difficulty grasping objects in certain suboptimal positions or postures. Therefore, there remains a need for improved robotic systems and techniques for handling objects using sets of grasping tools.
附图说明Description of the drawings
图1是根据本技术的一个或多个实施方案的机器人系统在其中运输物体的示例性环境的图示。Figure 1 is an illustration of an exemplary environment in which a robotic system transports objects in accordance with one or more embodiments of the present technology.
图2是示出根据本技术的一个或多个实施方案的机器人系统的框图。Figure 2 is a block diagram illustrating a robotic system in accordance with one or more embodiments of the present technology.
图3是根据本技术的一个或多个实施方案的机器人系统的顶视图。Figure 3 is a top view of a robotic system in accordance with one or more embodiments of the present technology.
图4A是根据本技术的一个或多个实施方案的示例性搬运单元的图示。Figure 4A is an illustration of an exemplary handling unit in accordance with one or more embodiments of the present technology.
图4B是根据本技术的一个或多个实施方案的示例性工具组的图示。Figure 4B is an illustration of an exemplary tool set in accordance with one or more embodiments of the present technology.
图5A是根据本技术的一个或多个实施方案的标准抓握场景的图示。Figure 5A is an illustration of a standard grasping scenario in accordance with one or more embodiments of the present technology.
图5B是根据本技术的一个或多个实施方案的成角度抓握场景的图示。Figure 5B is an illustration of an angled grip scenario in accordance with one or more embodiments of the present technology.
图6A是根据本技术的一个或多个实施方案的标准释放场景的图示。Figure 6A is an illustration of a standard release scenario in accordance with one or more embodiments of the present technology.
图6B是根据本技术的一个或多个实施方案的第一成角度释放场景的图示。Figure 6B is an illustration of a first angled release scenario in accordance with one or more embodiments of the present technology.
图6C是根据本技术的一个或多个实施方案的第二成角度释放场景的图示。Figure 6C is an illustration of a second angled release scenario in accordance with one or more embodiments of the present technology.
图7是根据本技术的一个或多个实施方案的示例性时序图。Figure 7 is an example timing diagram in accordance with one or more implementations of the present technology.
图8是根据本技术的一些实施方案的用于操作机器人系统的流程图。Figure 8 is a flow diagram for operating a robotic system in accordance with some embodiments of the present technology.
具体实施方式Detailed ways
本文描述了用于选择、改变和使用端部执行器工具组的系统和方法。例如,机器人系统可包括被配置来选择性地连接到端部执行器工具的运输机器人。机器人系统可选择并连接到不同端部执行器工具以抓握并搬运物体。机器人系统可访问工具组并从中进行选择。在一些实施方案中,工具组可包括标准固定工具、固定角工具和/或柔性头工具。标准固定工具可具有刚性地附接到工具臂的端部执行器。标准固定工具可被配置来抓持具有正交于工具臂的取向的一般取向或顶表面的物体。固定角工具可被配置来在工具臂与抓持器头/界面之间具有非正交角。柔性或可调节工具头可被配置成使得工具臂与抓持器头/界面之间的相对角度/取向可根据目标物体的姿势进行调节。This article describes systems and methods for selecting, changing, and using end effector tool sets. For example, a robotic system may include a transport robot configured to selectively connect to an end effector tool. Robotic systems can be selected and connected to different end effector tools to grasp and handle objects. Robotic systems can access and select from tool sets. In some embodiments, the tool set may include standard fixed tools, fixed angle tools, and/or flexible head tools. Standard stationary tools may have end effectors rigidly attached to the tool arm. Standard stationary tools can be configured to grip objects with a general orientation or top surface that is orthogonal to the orientation of the tool arm. Fixed angle tools can be configured to have non-orthogonal angles between the tool arm and the gripper head/interface. The flexible or adjustable tool head can be configured such that the relative angle/orientation between the tool arm and the gripper head/interface can be adjusted based on the posture of the target object.
在一些实施方案中,机器人系统可基于以下项选择端部执行器工具:根据所选工具模拟和/或计划物体的搬运;导出搬运的量度(例如,成本和/或收益);针对一组目标物体编写一组计划;和/或选择优化对应量度(例如,总搬运时间和/或估计丢失/误差率)的计划的组合/序列。另外或替代地,机器人系统可与对后续物体的计划导出并行地实现所选计划。In some embodiments, the robotic system may select an end effector tool based on: simulating and/or planning the handling of the object based on the selected tool; deriving a measure of the handling (e.g., costs and/or benefits); targeting a set of goals The object writes a set of plans; and/or selects a combination/sequence of plans that optimizes a corresponding metric (eg, total handling time and/or estimated loss/error rate). Additionally or alternatively, the robotic system may implement the selected plan in parallel with the derivation of the plan for subsequent objects.
工具组(例如,多个可选择工具)和/或对一组物体的协调计划和工具用法(例如,而非在单独物体被检测到时基于所述单独物体)实现减小的资源消耗和/或减小的误差。在一些实施方案中,计划和验证过程可在短于执行/实现计划所必需的持续时间(例如,一至五秒)和/或改变工具所必需的持续时间(例如,五至十秒)的持续时间(例如,一秒或更少)中完成。因此,通过针对一组多个物体计划搬运(例如,而非一次针对一个物体计划),机器人系统可导出使具有最高成本(例如,时间/持续时间)的动作诸如工具改变操作最小化的一组计划。Tool groups (e.g., multiple selectable tools) and/or coordinated planning and tool usage of a group of objects (e.g., rather than based on individual objects as they are detected) enable reduced resource consumption and/or or reduced error. In some embodiments, the planning and verification process may last less than the duration necessary to execute/implement the plan (e.g., one to five seconds) and/or the duration necessary to change tools (e.g., five to ten seconds). time (e.g., one second or less). Thus, by planning handling for a set of multiple objects (eg, rather than planning for one object at a time), the robotic system can derive a set of actions that minimize the highest cost (eg, time/duration) such as tool change operations. plan.
在下文中,阐述众多具体细节来提供对当前所公开技术的透彻理解。在其他实施方案中,此处所引入的技术可在没有这些具体细节的情况下实践。在其他情况下,不详细描述诸如具体函数或例程的公知特征,以便避免不必要地使本公开晦涩难懂。此说明中对“实施方案”、“一个实施方案”或类似用语的引用意指所描述的特定特征、结构、材料或特性包括在本公开的至少一个实施方案中。因此,本说明书中此类短语的出现不一定都指代同一实施方案。另一方面,此类引用也不一定相互排斥。此外,特定特征、结构、材料或特性可以任何合适的方式在一个或多个实施方案中加以组合。应理解,图中所示的多种实施方案仅是说明性代表并且不一定按比例绘制。In the following, numerous specific details are set forth to provide a thorough understanding of the presently disclosed technology. In other embodiments, the techniques introduced herein may be practiced without these specific details. In other instances, well-known features such as specific functions or routines have not been described in detail in order to avoid unnecessarily obscuring the disclosure. Reference in this description to "an embodiment," "one embodiment," or similar language means that a particular feature, structure, material or characteristic described is included in at least one embodiment of the present disclosure. Accordingly, the appearances of such phrases in the specification are not necessarily all referring to the same embodiment. On the other hand, such references are not necessarily mutually exclusive. Furthermore, the particular features, structures, materials, or characteristics may be combined in any suitable manner in one or more embodiments. It should be understood that the various embodiments shown in the figures are illustrative representations only and are not necessarily drawn to scale.
出于简洁的目的,在以下描述中未阐述描述公知且往往与机器人系统和子系统相关联并且可能不必要地使所公开技术的一些重要方面晦涩难懂的结构或过程的若干细节。此外,虽然以下公开内容阐述本技术的不同方面的若干实施方案,但若干其他实施方案可具有不同于此章节中所述的那些的配置或组成部分。因此,所公开的技术可具有带有另外的元件或没有下文所述元件中的若干的其他实施方案。For purposes of brevity, several details are not set forth in the following description that describe structures or processes that are well known and often associated with robotic systems and subsystems and that may unnecessarily obscure some important aspects of the disclosed technology. Furthermore, while the following disclosure sets forth several embodiments of different aspects of the technology, several other embodiments may have different configurations or components than those described in this section. Accordingly, the disclosed technology may have other embodiments with additional elements or without several of the elements described below.
下文所述的本公开的许多实施方案或方面可呈计算机或控制器可执行指令(包括由可编程计算机或控制器执行的例程)的形式。相关领域技术人员应理解,所公开的技术可在下文所示和所述的那些之外的计算机或控制器系统上实践。本文所述的技术可在专门编程、配置或构造为执行下文所述的计算机可执行指令中的一者或多者的专用计算机或数据处理器中体现。因此,如本文一般所用的术语“计算机”和“控制器”指代任何数据处理器并且可包括互联网用具和手持式装置(包括掌上计算机、可穿戴计算机、蜂窝或移动电话、多处理器系统、基于处理器的或可编程消费者电子器件、网络计算机、迷你计算机等)。由这些计算机和控制器处理的信息可在任何合适的显示介质(包括液晶显示器(LCD))处呈现。用于执行计算机或控制器可执行任务的指令可存储在任何合适的计算机可读介质(包括硬件、固件,或硬件和固件的组合)中或上。指令可包含在任何合适的存储器装置(包括例如闪存驱动器、USB装置和/或其他合适的介质,包括有形的非暂时性计算机可读介质)中。Many embodiments or aspects of the disclosure described below may be in the form of computer or controller executable instructions, including routines executed by a programmable computer or controller. Those skilled in the relevant art will understand that the disclosed technology may be practiced on computer or controller systems other than those shown and described below. The techniques described herein may be embodied in a special purpose computer or data processor specifically programmed, configured, or constructed to execute one or more of the computer-executable instructions described below. Thus, the terms "computer" and "controller" as used generally herein refer to any data processor and may include Internet appliances and handheld devices (including handheld computers, wearable computers, cellular or mobile phones, multi-processor systems, Processor-based or programmable consumer electronics, network computers, minicomputers, etc.). Information processed by these computers and controllers may be presented at any suitable display medium, including liquid crystal displays (LCDs). Instructions for performing computer or controller-executable tasks may be stored in or on any suitable computer-readable medium, including hardware, firmware, or a combination of hardware and firmware. Instructions may be contained in any suitable memory device (including, for example, a flash drive, USB device, and/or other suitable media, including tangible, non-transitory computer-readable media).
术语“耦接”和“连接”以及它们的派生词可在本文中用来描述组成部分之间的结构关系。应理解,这些术语并不意图作为彼此的同义词。而是,在特定实施方案中,“连接”可用于表示两个或更多个元件彼此直接接触。除非在上下文中另外阐明,否则术语“耦接”可用于表示两个或更多个元件彼此直接或间接(在其间具有其他干预元件)接触,或者两个或更多个元件彼此配合或交互(例如,如呈因果关系,诸如用于信号发射/接收或用于函数调用),或两者。The terms "coupled" and "connected" and their derivatives may be used herein to describe structural relationships between components. It should be understood that these terms are not intended as synonyms for each other. Rather, in particular embodiments, "connected" may be used to mean that two or more elements are in direct contact with each other. Unless the context clearly dictates otherwise, the term "coupled" may be used to mean that two or more elements are in direct or indirect contact with each other (with other intervening elements in between), or that two or more elements cooperate or interact with each other ( For example, if in a causal relationship, such as for signal transmission/reception or for function calling), or both.
合适的环境suitable environment
图1是根据本技术的一个或多个实施方案的机器人系统100在其中运输物体的示例性环境的图示。机器人系统100可包括被配置来执行一个或多个任务的一个或多个单元(例如,机器人)和/或与所述一个或多个单元通信。工具选择和用法的各方面可由各种单元来实践或实现。Figure 1 is an illustration of an exemplary environment in which a robotic system 100 transports objects in accordance with one or more embodiments of the present technology. Robotic system 100 may include one or more units (eg, robots) configured to perform one or more tasks and/or communicate with the one or more units. Aspects of tool selection and usage can be practiced or implemented by various units.
对于图1所示的实例,机器人系统100可包括位于仓库或分配/装运枢纽中的卸载单元102、搬运单元104(例如,码垛机器人和/或拾件机器人)、运输单元106、装载单元108、或它们的组合。机器人系统100中的单元中的每一个可被配置来执行一个或多个任务。任务可按顺序组合以执行实现目标(诸如从卡车或货车卸载物体并将它们存储在仓库中,或者从存储位置卸载物体并将它们准备用于装运)的操作。再如,任务可包括将物体放置在目标位置上(例如,放置在货盘顶部上和/或仓/笼/盒/箱内部)。如下文所述,机器人系统可导出用于放置和/或堆叠物体的计划(例如,放置位置/取向、用于搬运物体的序列和/或对应运动计划)。单元中的每一个可被配置来根据执行任务的所导出计划中的一个或多个来执行动作序列(例如通过在其中操作一个或多个部件)以执行任务。For the example shown in FIG. 1 , the robotic system 100 may include an unloading unit 102 , a handling unit 104 (eg, a palletizing robot and/or a picking robot), a transport unit 106 , a loading unit 108 located in a warehouse or distribution/shipping hub. , or their combination. Each of the units in robotic system 100 may be configured to perform one or more tasks. Tasks may be combined in sequence to perform operations that achieve a goal, such as unloading objects from a truck or van and storing them in a warehouse, or unloading objects from a storage location and preparing them for shipping. As another example, the task may include placing an object at a target location (eg, on top of a pallet and/or inside a bin/cage/box/box). As described below, the robotic system may derive a plan for placing and/or stacking objects (eg, placement locations/orientations, sequences for handling objects, and/or corresponding motion plans). Each of the units may be configured to perform a sequence of actions (eg, by operating one or more components therein) to perform the task according to one or more of the derived plans for performing the task.
在一些实施方案中,任务可包括操纵(例如,移动和/或重新定向)目标物体112(例如,对应于正在执行的任务的包装件、盒、箱、笼、货盘等中的一者),诸如将目标物体112从起始位置114移动到任务位置116。例如,卸载单元102(例如,拆箱机器人)可被配置来将目标物体112从载具(例如,卡车)中的位置搬运到输送带上的位置。另外,搬运单元104可被配置来将目标物体112从一个位置(例如,输送带、货盘或仓)搬运到另一位置(例如,货盘、仓等)。再如,搬运单元104(例如,码垛机器人)可被配置来将目标物体112从源位置(例如,货盘、拾取区域和/或输送机)搬运到目的地货盘。在完成操作时,运输单元106可将目标物体112从与搬运单元104相关联的区域搬运到与装载单元108相关联的区域,并且装载单元108可将来自搬运单元104的目标物体112(例如通过移动承载目标物体112的货盘)搬运到存储位置(例如,货架上的位置)。下文描述关于任务和相关联动作的细节。In some embodiments, the task may include manipulating (eg, moving and/or reorienting) target object 112 (eg, one of a package, box, bin, cage, pallet, etc. corresponding to the task being performed) , such as moving target object 112 from starting position 114 to task position 116 . For example, the unloading unit 102 (eg, an unpacking robot) may be configured to transport the target object 112 from a location in a carrier (eg, a truck) to a location on a conveyor belt. Additionally, the handling unit 104 may be configured to handle the target object 112 from one location (eg, a conveyor belt, a pallet, or a bin) to another location (eg, a pallet, a bin, etc.). As another example, the handling unit 104 (eg, a palletizing robot) may be configured to handle the target object 112 from a source location (eg, a pallet, a pick area, and/or a conveyor) to a destination pallet. Upon completion of the operation, the transport unit 106 may transport the target object 112 from an area associated with the handling unit 104 to an area associated with the loading unit 108 , and the loading unit 108 may transport the target object 112 from the handling unit 104 (e.g., via The pallet carrying the target object 112 is moved to a storage location (eg, a location on a shelf). Details regarding tasks and associated actions are described below.
出于说明性目的,机器人系统100是在装运中心的上下文中描述的;然而,应理解,机器人系统100可被配置来在其他环境中/出于其他目的(诸如为了制造、组装、包装、健康护理和/或其他类型的自动化)执行任务。还应理解,机器人系统100可包括图1未示出的其他单元,诸如操纵器、服务机器人、模块化机器人等。例如,在一些实施方案中,机器人系统100可包括用于将物体从笼车或货盘搬运到输送机或其他货盘上的去码垛单元、用于将物体从一个容器搬运到另一容器的容器交换单元、用于包裹物体的包装单元、用于根据物体的一个或多个特性对它们进行分组的分类单元、用于根据物体的一个或多个特性以不同方式对物体进行操纵(例如,分类、分组和/或搬运)的拾件单元、或它们的组合。For illustrative purposes, robotic system 100 is described in the context of a shipping center; however, it is understood that robotic system 100 may be configured to operate in other environments/for other purposes (such as for manufacturing, assembly, packaging, health care, etc.) care and/or other types of automation) to perform tasks. It should also be understood that the robotic system 100 may include other units not shown in Figure 1, such as manipulators, service robots, modular robots, and the like. For example, in some embodiments, the robotic system 100 may include a depalletizing unit for moving objects from a cage or pallet onto a conveyor or other pallet, a depalletizing unit for moving objects from one container to another. Container exchange units, packaging units for wrapping objects, classification units for grouping objects according to one or more properties of the objects, for manipulating objects in different ways according to one or more properties of the objects (e.g. , sorting, grouping and/or handling) pickup units, or their combination.
机器人系统100可包括和/或耦接到在关节处连接以用于运动(例如,旋转和/或平移位移)的物理或结构构件(例如,机器人操纵器臂)。结构构件和关节可形成被配置来操纵端部执行器(例如,抓持器)的动力链,所述端部执行器被配置来根据机器人系统100的用途/操作来执行一个或多个任务(例如,抓持、自旋、焊接等)。机器人系统100可包括被配置来关于对应的关节或在对应的关节处对结构构件进行驱动或操纵(例如,移位和/或重新定向)的致动装置(例如,马达、致动器、线材、人工肌肉、电活性聚合物等)。在一些实施方案中,机器人系统100可包括被配置来到处运输对应的单元/底架的运输马达。Robotic system 100 may include and/or be coupled to physical or structural members (eg, robotic manipulator arms) connected at joints for movement (eg, rotational and/or translational displacement). Structural members and joints may form a kinetic chain configured to manipulate end effectors (e.g., grippers) configured to perform one or more tasks depending on the purpose/operation of robotic system 100 ( For example, grasping, spinning, welding, etc.). Robotic system 100 may include actuation devices (e.g., motors, actuators, wires) configured to drive or manipulate (e.g., displace and/or reorient) structural members about or at corresponding joints. , artificial muscles, electroactive polymers, etc.). In some embodiments, the robotic system 100 may include transport motors configured to transport corresponding units/chassis around.
机器人系统100可包括被配置来获得用于实现任务(诸如用于操纵结构构件和/或用于运输机器人单元)的信息的传感器。传感器可包括被配置来检测或测量机器人系统100的一个或多个物理特性(例如,其一个或多个结构构件/关节的状态、状况和/或位置)和/或周围环境的一个或多个物理特性的装置。传感器的一些实例可包括加速度计、陀螺仪、力传感器、应变计、触觉传感器、扭矩传感器、位置编码器等。Robotic system 100 may include sensors configured to obtain information for performing tasks, such as for manipulating structural members and/or for transporting robotic cells. Sensors may include one or more physical characteristics of the robotic system 100 (e.g., the state, condition, and/or position of one or more of its structural members/joints) and/or the surrounding environment. Physical properties of the device. Some examples of sensors may include accelerometers, gyroscopes, force sensors, strain gauges, tactile sensors, torque sensors, position encoders, etc.
在一些实施方案中,例如,传感器可包括被配置来检测周围环境的一个或多个成像装置(例如,视觉和/或红外相机、2D和/或3D成像相机、诸如激光雷达或雷达的距离测量装置等)。成像装置可生成所检测环境的可通过机器/计算机视觉来处理(例如,用于自动化检查、机器人引导或其他机器人应用)的代表,诸如数字图像和/或点云。机器人系统100可处理数字图像和/或点云,以标识目标物体112、起始位置114、任务位置116、目标物体112的姿势、或它们的组合。In some embodiments, for example, a sensor may include one or more imaging devices configured to detect the surrounding environment (e.g., visual and/or infrared cameras, 2D and/or 3D imaging cameras, distance measurements such as lidar or radar devices, etc.). The imaging device may generate a representation of the detected environment, such as a digital image and/or point cloud, that may be processed by machine/computer vision (eg, for automated inspection, robot guidance, or other robotic applications). Robotic system 100 may process digital images and/or point clouds to identify target object 112, starting location 114, task location 116, pose of target object 112, or a combination thereof.
对于操纵目标物体112,机器人系统100可捕获并分析指定区域(例如,拾取位置,诸如卡车内部或输送带上)的图像,以标识目标物体112及其起始位置114。类似地,机器人系统100可捕获并分析另一指定区域(例如,用于将物体放置在输送机上的投放位置、用于将物体放置在容器内部的位置,或货盘上用于堆叠目的的位置)的图像,以标识任务位置116。例如,成像装置可包括被配置来生成拾取区域的图像的一个或多个相机和/或被配置来生成任务区域(例如,投放区域)的图像的一个或多个相机。如下文所述,基于所捕获图像,机器人系统100可确定起始位置114、任务位置116、相关联姿势、打包/放置计划、搬运/打包顺序和/或其他处理结果。For manipulating target object 112 , robotic system 100 may capture and analyze images of a designated area (eg, a pickup location, such as the interior of a truck or on a conveyor belt) to identify target object 112 and its starting location 114 . Similarly, the robotic system 100 may capture and analyze another designated area (e.g., a drop location for placing an object on a conveyor, a location for placing an object inside a container, or a location on a pallet for stacking purposes). ) to identify the task location 116. For example, the imaging device may include one or more cameras configured to generate images of the pickup area and/or one or more cameras configured to generate images of the task area (eg, drop area). As described below, based on the captured images, the robotic system 100 may determine the starting position 114, the task position 116, associated poses, packing/placement plans, handling/packing sequences, and/or other processing results.
在一些实施方案中,例如,传感器可包括被配置来检测机器人系统100的结构构件(例如,机器人臂和/或端部执行器)和/或对应关节的位置的位置传感器。机器人系统100可使用位置传感器来在任务的执行期间跟踪结构构件和/或关节的位置和/或取向。In some embodiments, for example, the sensors may include position sensors configured to detect the position of structural members of the robotic system 100 (eg, robotic arms and/or end effectors) and/or corresponding joints. Robotic system 100 may use position sensors to track the position and/or orientation of structural members and/or joints during performance of a task.
机器人系统robotic system
图2是示出根据本技术的一个或多个实施方案的机器人系统100的框图。在一些实施方案中,例如,机器人系统100(例如,在上文所述的单元和/或机器人中的一者或多者处)可包括电子/电气装置,诸如一个或多个处理器202、一个或多个存储装置204、一个或多个通信装置206、一个或多个输入-输出装置208、一个或多个致动装置212、一个或多个运输马达214、一个或多个传感器216、或它们的组合。多种装置可通过有线连接和/或无线连接彼此耦接。例如,机器人系统100可包括总线,诸如系统总线、外围部件互连(PCI)总线或PCI快速总线、超传输或工业标准架构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、IIC(I2C)总线,或电子电器工程师协会(IEEE)标准1394总线(也称为“火线”)。另外,例如,机器人系统100可包括桥接器、适配器、处理器,或用于在装置之间提供有线连接的其他信号相关的装置。无线连接可基于例如蜂窝通信协议(例如,3G、4G、LTE、5G等)、无线局域网(LAN)协议(例如,无线保真(WIFI))、对等或装置间通信协议(例如,蓝牙、近场通信(NFC)等)、物联网(IoT)协议(例如,NB-IoT、LTE-M等)和/或其他无线通信协议。Figure 2 is a block diagram illustrating a robotic system 100 in accordance with one or more embodiments of the present technology. In some embodiments, for example, robotic system 100 (eg, at one or more of the units and/or robots described above) may include electronic/electrical devices, such as one or more processors 202, One or more storage devices 204, one or more communication devices 206, one or more input-output devices 208, one or more actuating devices 212, one or more transport motors 214, one or more sensors 216, or a combination of them. Various devices may be coupled to each other through wired connections and/or wireless connections. For example, the robotic system 100 may include a bus such as a system bus, a Peripheral Component Interconnect (PCI) bus or a PCI Express bus, a HyperTransport or Industry Standard Architecture (ISA) bus, a Small Computer System Interface (SCSI) bus, a Universal Serial Bus (USB), IIC (I2C) bus, or Institute of Electrical and Electronics Engineers (IEEE) standard 1394 bus (also known as "FireWire"). Additionally, for example, the robotic system 100 may include a bridge, adapter, processor, or other signal-related device for providing wired connections between devices. Wireless connections may be based on, for example, cellular communication protocols (e.g., 3G, 4G, LTE, 5G, etc.), wireless local area network (LAN) protocols (e.g., Wireless Fidelity (WIFI)), peer-to-peer or inter-device communication protocols (e.g., Bluetooth, Near field communication (NFC), etc.), Internet of Things (IoT) protocols (e.g., NB-IoT, LTE-M, etc.) and/or other wireless communication protocols.
处理器202可包括被配置来执行存储在存储装置204(例如,计算机存储器)上的指令(例如,软件指令)的数据处理器(例如,中央处理单元(CPU)、专用计算机和/或机载服务器)。在一些实施方案中,处理器202可包括在可操作地耦接到图2所示的其他电子/电气装置和/或图1所示的机器人单元的单独/独立控制器中。处理器202可实现控制其他装置/与其交互的程序指令,从而致使机器人系统100执行动作、任务和/或操作。Processor 202 may include a data processor (eg, central processing unit (CPU), special purpose computer, and/or onboard computer) configured to execute instructions (eg, software instructions) stored on storage device 204 (eg, computer memory). server). In some embodiments, processor 202 may be included in a separate/stand-alone controller operatively coupled to other electronic/electrical devices shown in FIG. 2 and/or the robotic unit shown in FIG. 1 . The processor 202 may implement program instructions that control/interact with other devices, thereby causing the robotic system 100 to perform actions, tasks, and/or operations.
存储装置204可包括其上存储有程序指令(例如,软件)的非暂时性计算机可读介质。存储装置204的一些实例可包括易失性存储器(例如,高速缓存和/或随机存取存储器(RAM))和/或非易失性存储器(例如,闪速存储器和/或磁盘驱动器)。存储装置204的其他实例可包括便携式存储器驱动器和/或云存储装置。Storage device 204 may include non-transitory computer-readable media having program instructions (eg, software) stored thereon. Some examples of storage 204 may include volatile memory (eg, cache and/or random access memory (RAM)) and/or non-volatile memory (eg, flash memory and/or disk drives). Other examples of storage 204 may include portable memory drives and/or cloud storage.
在一些实施方案中,存储装置204可用于进一步存储处理结果和/或预定数据/阈值并提供对它们的访问。例如,存储装置204可存储包括对可由机器人系统100操纵的物体(例如,盒、箱和/或产品)的描述的主数据。在一个或多个实施方案中,主数据可包括针对每个这种物体的登记数据。登记数据可包括预期由机器人系统100操纵的物体的尺寸、形状(例如,潜在姿势的模板和/或用于识别呈不同姿势的物体的计算机生成的模型)、颜色方案、图像、标识信息(例如,条形码、快速响应(QR)码、标志等和/或其预期位置)、预期重量、其他物理/视觉特性、或它们的组合。在一些实施方案中,主数据可包括关于物体的操纵相关的信息,诸如物体中的每一个上的质心(CoM)位置或其估计、对应于一个或多个动作/操纵的预期传感器测量值(例如,针对力、扭矩、压力和/或接触测量)、或它们的组合。In some embodiments, storage 204 may be used to further store and provide access to processing results and/or predetermined data/thresholds. For example, storage device 204 may store master data including descriptions of objects (eg, boxes, bins, and/or products) that may be manipulated by robotic system 100 . In one or more embodiments, master data may include registration data for each such object. Registration data may include dimensions, shapes (e.g., templates of potential poses and/or computer-generated models for identifying objects in different poses), color schemes, images, identification information (e.g., , barcodes, Quick Response (QR) codes, logos, etc. and/or their intended location), expected weight, other physical/visual characteristics, or a combination thereof. In some embodiments, the master data may include information related to the manipulation of the objects, such as center of mass (CoM) positions or estimates thereof on each of the objects, expected sensor measurements corresponding to one or more actions/manipulations ( For example, for force, torque, pressure and/or contact measurements), or combinations thereof.
通信装置206可包括被配置来通过网络与外部或远程装置通信的电路。例如,通信装置206可包括接收器、发射器、调制器/解调器(调制解调器)、信号检测器、信号编码器/解码器、连接器端口、网卡等。通信装置206可被配置来根据一个或多个通信协议(例如,互联网协议(IP)、无线通信协议等)发送、接收和/或处理电气信号。在一些实施方案中,机器人系统100可使用通信装置206来在机器人系统100的单元之间交换信息和/或与在机器人系统100外部的系统或装置交换信息(例如,出于报告、数据采集、分析和/或故障排除目的)。Communication device 206 may include circuitry configured to communicate with external or remote devices over a network. For example, communication device 206 may include a receiver, transmitter, modulator/demodulator (modem), signal detector, signal encoder/decoder, connector port, network card, or the like. Communication device 206 may be configured to send, receive, and/or process electrical signals in accordance with one or more communication protocols (eg, Internet Protocol (IP), wireless communication protocols, etc.). In some embodiments, robotic system 100 may use communications device 206 to exchange information between elements of robotic system 100 and/or with systems or devices external to robotic system 100 (e.g., for reporting, data collection, analysis and/or troubleshooting purposes).
输入-输出装置208可包括被配置来将信息传达给人类操作员和/或从人类操作员接收信息的用户界面装置。例如,输入-输出装置208可包括显示器210和/或用于将信息传达给人类操作员的其他输出装置(例如,扬声器、触觉电路、或触觉反馈装置等)。另外,输入-输出装置208可包括控制或接收装置,诸如键盘、鼠标、触摸屏、麦克风、用户界面(UI)传感器(例如,用于接收运动命令的相机)、可穿戴输入装置等。在一些实施方案中,机器人系统100可使用输入-输出装置208来与执行动作、任务、操作、或它们的组合的人类操作员交互。Input-output devices 208 may include user interface devices configured to communicate information to and/or receive information from a human operator. For example, input-output device 208 may include display 210 and/or other output devices for communicating information to a human operator (eg, speakers, haptic circuitry, or tactile feedback devices, etc.). Additionally, input-output devices 208 may include control or receiving devices such as keyboards, mice, touch screens, microphones, user interface (UI) sensors (eg, cameras for receiving motion commands), wearable input devices, and the like. In some implementations, robotic system 100 may use input-output devices 208 to interact with a human operator performing actions, tasks, operations, or combinations thereof.
在一些实施方案中,控制器(例如,单独电子装置)可包括处理器202、存储装置204、通信装置206和/或输入-输出装置208。控制器可以是单元/组件的独立部件或零件。例如,系统100的每个卸载单元、搬运组件、运输单元和装载单元可包括一个或多个控制器。在一些实施方案中,单个控制器可控制多个单元或独立部件。In some implementations, a controller (eg, a separate electronic device) may include a processor 202 , a storage device 204 , a communication device 206 , and/or an input-output device 208 . The controller may be a separate component or part of the unit/assembly. For example, each unloading unit, handling assembly, transport unit, and loading unit of system 100 may include one or more controllers. In some embodiments, a single controller may control multiple units or independent components.
机器人系统100可包括在关节处连接以用于运动(例如,旋转和/或平移位移)的物理或结构构件(例如,机器人操纵器臂)。结构构件和关节可形成被配置来操纵端部执行器(例如,抓持器)的动力链,所述端部执行器被配置来根据机器人系统100的用途/操作来执行一个或多个任务(例如,抓持、自旋、焊接等)。机器人系统100可包括被配置来关于对应的关节或在对应的关节处对结构构件进行驱动或操纵(例如,移位和/或重新定向)的致动装置212(例如,马达、致动器、线材、人工肌肉、电活性聚合物等)。在一些实施方案中,机器人系统100可包括被配置来到处运输对应的单元/底架的运输马达214。例如,致动装置212和运输马达连接到机器人臂、线性滑动件或其他机器人部件或是它们的一部分。Robotic system 100 may include physical or structural components (eg, robotic manipulator arms) connected at joints for movement (eg, rotational and/or translational displacement). Structural members and joints may form a kinetic chain configured to manipulate end effectors (e.g., grippers) configured to perform one or more tasks depending on the purpose/operation of robotic system 100 ( For example, grasping, spinning, welding, etc.). Robotic system 100 may include an actuation device 212 (e.g., motor, actuator, Wires, artificial muscles, electroactive polymers, etc.). In some embodiments, the robotic system 100 may include a transport motor 214 configured to transport a corresponding unit/chassis around. For example, the actuation device 212 and transport motor are connected to or are part of a robotic arm, linear slide, or other robotic component.
传感器216可被配置来获得用于实现任务(诸如用于操纵结构构件和/或用于运输机器人单元)的信息的传感器。传感器216可包括被配置来检测或测量机器人系统100的一个或多个物理特性(例如,其一个或多个结构构件/关节的状态、状况和/或位置)和/或周围环境的一个或多个物理特性的装置。传感器216的一些实例可包括接触传感器、接近度传感器、加速度计、陀螺仪、力传感器、应变计、扭矩传感器、位置编码器、压力传感器、真空传感器等。Sensors 216 may be configured to obtain information for performing tasks, such as for manipulating structural members and/or for transporting robotic units. Sensors 216 may include one or more physical characteristics of the robotic system 100 (e.g., the state, condition, and/or position of one or more of its structural members/joints) and/or the surrounding environment. A device with physical characteristics. Some examples of sensors 216 may include contact sensors, proximity sensors, accelerometers, gyroscopes, force sensors, strain gauges, torque sensors, position encoders, pressure sensors, vacuum sensors, and the like.
在一些实施方案中,例如,传感器216可包括被配置来检测周围环境的一个或多个成像装置222(例如,视觉和/或红外相机、2维和/或3维成像相机、诸如激光雷达或雷达的距离测量装置等)。成像装置222可包括相机(包括视觉和/或红外相机)、激光雷达装置、雷达装置和/或其他距离测量或检测装置。成像装置222可生成所检测环境的可通过机器/计算机视觉来处理(例如,用于自动化检查、机器人引导或其他机器人应用)的代表,诸如数字图像和/或点云。In some embodiments, for example, sensors 216 may include one or more imaging devices 222 configured to detect the surrounding environment (e.g., visual and/or infrared cameras, 2- and/or 3-dimensional imaging cameras, such as lidar or radar) distance measuring device, etc.). Imaging device 222 may include cameras (including visual and/or infrared cameras), lidar devices, radar devices, and/or other distance measurement or detection devices. Imaging device 222 may generate a representation of the detected environment, such as a digital image and/or point cloud, that may be processed by machine/computer vision (eg, for automated inspection, robot guidance, or other robotic applications).
对于操纵目标物体112,机器人系统100(例如通过上文所述的各种电路/装置)可捕获并分析指定区域(例如,拾取位置,诸如卡车内部或输送机上)的图像,以标识目标物体112及其起始位置114。类似地,机器人系统100可捕获并分析另一指定区域(例如,用于将物体放置在输送机上的投放位置、用于将物体放置在容器内部的位置,或货盘上用于堆叠目的的位置)的图像,以标识任务位置116。例如,成像装置222可包括被配置来生成拾取区域的图像的一个或多个相机和/或被配置来生成任务区域(例如,投放区域)的图像的一个或多个相机。如下文所述,基于所捕获图像,机器人系统100可确定起始位置114、任务位置116、相关联姿势、打包/放置计划、搬运/打包顺序和/或其他处理结果。For manipulating target object 112 , robotic system 100 (eg, via the various circuits/devices described above) may capture and analyze images of a designated area (eg, a pickup location, such as inside a truck or on a conveyor) to identify target object 112 and its starting position 114. Similarly, the robotic system 100 may capture and analyze another designated area (e.g., a drop location for placing an object on a conveyor, a location for placing an object inside a container, or a location on a pallet for stacking purposes). ) to identify the task location 116. For example, imaging device 222 may include one or more cameras configured to generate images of the pickup area and/or one or more cameras configured to generate images of the task area (eg, drop area). As described below, based on the captured images, the robotic system 100 may determine the starting position 114, the task position 116, associated poses, packing/placement plans, handling/packing sequences, and/or other processing results.
在一些实施方案中,例如,传感器216可包括被配置来检测机器人系统100的结构构件(例如,机器人臂和/或端部执行器)和/或对应的关节的位置的位置传感器224。机器人系统100可使用位置传感器224来在任务的执行期间跟踪结构构件和/或关节的位置和/或取向。机器人系统100可使用来自传感器216的所检测位置、所跟踪位置、所跟踪取向等来导出表示图1的目标物体112和/或结构构件的当前位置和/或一组过去位置的跟踪数据。In some embodiments, for example, sensors 216 may include position sensors 224 configured to detect the position of structural members of robotic system 100 (eg, robotic arms and/or end effectors) and/or corresponding joints. Robotic system 100 may use position sensors 224 to track the position and/or orientation of structural members and/or joints during performance of a task. Robotic system 100 may use detected positions, tracked positions, tracked orientations, etc. from sensors 216 to derive tracking data representing a current position and/or a set of past positions of target object 112 and/or structural members of FIG. 1 .
图3是根据本技术的一个或多个实施方案的机器人系统100的顶视图。在一些实施方案中,机器人系统100可包括系统管理器302、计划器304和/或机器人臂306。系统管理器302和/或计划器304可被实现或包括图2所示的一个或多个电路(例如,处理器202、存储装置204、通信装置206等)。Figure 3 is a top view of a robotic system 100 in accordance with one or more embodiments of the present technology. In some implementations, robotic system 100 may include a system manager 302 , a planner 304 , and/or a robotic arm 306 . System manager 302 and/or planner 304 may be implemented or include one or more of the circuits shown in Figure 2 (eg, processor 202, storage device 204, communications device 206, etc.).
系统管理器302可包括被配置来管理一个或多个任务站和/或对应的机器人单元的总体操作的机构(例如,装置和/或软件应用程序)。例如,系统管理器302可包括诸如用于仓库或装运枢纽的设施管理系统。在管理总体操作时,系统管理器302可接收订单输入312(例如,对可由机器人系统100访问的一组物体的客户请求)。系统管理器302可导出各种任务、任务站和/或对应的机器人之间的交互/控制、相关联顺序或时序等以采集订单输入312中列出的物体。系统管理器302可进一步与机器人臂306交互以实现/执行任务。System manager 302 may include mechanisms (eg, devices and/or software applications) configured to manage the overall operation of one or more task stations and/or corresponding robotic units. For example, system manager 302 may include a facility management system such as for a warehouse or shipping hub. In managing overall operations, system manager 302 may receive order input 312 (eg, customer requests for a set of objects accessible by robotic system 100). System manager 302 may derive various tasks, interactions/controls between task stations and/or corresponding robots, associated sequences or timing, etc., to collect the objects listed in order input 312 . System manager 302 may further interact with robotic arm 306 to implement/perform tasks.
计划器304可包括被配置来导出用于操作一个或多个机器人或其中的部件的详细控制的机构(例如,装置、软件应用程序/特征、或它们的组合)。计划器304可导出详细步骤,诸如机器人的运动计划和/或与其他子系统的通信协议或序列,以操作一个或多个机器人单元并且完成由系统管理器302确定的任务。Planner 304 may include mechanisms (eg, devices, software applications/features, or combinations thereof) configured to derive detailed controls for operating one or more robots or components thereof. Planner 304 may derive detailed steps, such as motion plans for the robot and/or communication protocols or sequences with other subsystems, to operate one or more robotic units and complete tasks determined by system manager 302 .
为了操作机器人臂306,机器人系统100可使用计划器304来导出对应于用于将一个或多个物品从图1的起始位置114移动到图1的任务位置116的路径的搬运计划314。例如,机器人系统100可经由图2的成像装置222获得起始位置114和任务位置116的一个或多个图像。机器人系统100可处理图像以标识或识别起始位置114处的订购物体和/或它们在仓(例如,具有至少一个竖直壁的容器)内的姿势。类似地,机器人系统100可使用任务位置116的图像来导出或标识起始位置114处的目标物体中的每一个的放置位置。计划器304可导出搬运计划314,所述搬运计划314包括用于操作机器人臂306(例如,图2的致动装置212和/或图2的所述致动装置212的运输马达214)以在对应的位置之间搬运目标物体的路径和/或对应的命令、设置、时序等。在一些实施方案中,计划器304可通过以下方式迭代地导出搬运计划314:从放置位置开始并且在朝向目的地移动时迭代地导出下一个增量位置。下一个增量位置可以是满足一个或多个预定规则(诸如用于避免碰撞、最小化距离/时间等)的测试位置。To operate robotic arm 306 , robotic system 100 may use planner 304 to derive a handling plan 314 corresponding to a path for moving one or more items from starting location 114 of FIG. 1 to task location 116 of FIG. 1 . For example, robotic system 100 may obtain one or more images of starting location 114 and task location 116 via imaging device 222 of FIG. 2 . The robotic system 100 may process the images to identify or identify the ordered objects at the starting location 114 and/or their posture within a bin (eg, a container with at least one vertical wall). Similarly, robotic system 100 may use images of task location 116 to derive or identify placement locations for each of the target objects at starting location 114 . The planner 304 may derive a handling plan 314 that includes operating the robotic arm 306 (eg, the actuating device 212 of FIG. 2 and/or the transport motor 214 of the actuating device 212 of FIG. 2 ) to operate the robot arm 306 in order to The path for transporting the target object between corresponding positions and/or the corresponding commands, settings, timing, etc. In some implementations, the planner 304 may iteratively derive the move plan 314 by starting at a placement location and iteratively deriving the next incremental location as it moves toward the destination. The next incremental position may be a test position that satisfies one or more predetermined rules (such as for avoiding collisions, minimizing distance/time, etc.).
机器人系统100可实现搬运计划314并且相应地操作机器人臂306来搬运订单输入312中所标识的一个或多个目标物体。例如,系统管理器302可诸如通过将路径和/或搬运计划314的命令/设置传达给机器人臂306与机器人臂306交互。机器人臂306可执行所接收信息以执行任务。The robotic system 100 may implement the handling plan 314 and operate the robotic arm 306 accordingly to handle one or more target objects identified in the order input 312 . For example, the system manager 302 may interact with the robotic arm 306 such as by communicating commands/settings for the path and/or handling plan 314 to the robotic arm 306 . The robotic arm 306 can execute the received information to perform the task.
作为说明性实例,系统管理器302可与一个或多个机器人(例如,运输单元,诸如自动导引车辆(AGV)、输送机等、和/或子系统)交互以从存储区域接近其中存储有订购物体的容器(包括例如起始仓322)。因此,机器人系统100可操作运输单元将起始仓322运输到机器人臂306的起始位置114。类似地,目标容器324(例如,包装盒或目的地仓)可放置在机器人臂306的任务位置116处。替代地,任务位置116可对应于输送机或机器人(例如,AGV)上的投放或放置位置。一旦起始位置114和任务位置116准备好,系统管理器302就可根据搬运计划314与机器人臂306交互。因此,机器人臂306可抓握目标物体112(例如,订单输入312中指定的物体中的一个或多个)并且将它/它们从起始位置114搬运到任务位置116。例如,机器人臂306可从起始位置114处的一个或多个起始仓322拾取订购物体并且将它们放置在任务位置116处的一个或多个目标容器324和/或指定位置中以完成订购。As an illustrative example, system manager 302 may interact with one or more robots (e.g., transportation units such as automated guided vehicles (AGVs), conveyors, etc., and/or subsystems) to access storage areas therein Containers of ordered objects (including, for example, starting bin 322). Accordingly, the robotic system 100 may operate the transport unit to transport the starting bin 322 to the starting position 114 of the robotic arm 306 . Similarly, a destination container 324 (eg, a packaging box or a destination bin) may be placed at the task location 116 of the robotic arm 306 . Alternatively, task location 116 may correspond to a drop or placement location on a conveyor or robot (eg, AGV). Once the starting position 114 and the task position 116 are prepared, the system manager 302 can interact with the robotic arm 306 according to the handling plan 314 . Accordingly, the robotic arm 306 may grasp the target object 112 (eg, one or more of the objects specified in the order input 312 ) and carry it/them from the starting location 114 to the task location 116 . For example, the robotic arm 306 may pick up ordered objects from one or more starting bins 322 at the starting location 114 and place them in one or more target containers 324 and/or designated locations at the task location 116 to complete the order. .
在一些实施方案中,机器人臂100可利用一组工具(例如,专用端部执行器)来使用相同机器人执行不同任务和/或提高给定任务的执行。例如,机器人系统100可将机器人臂306选择性地连接到抓持器、焊接器或切割器以根据所分配任务执行对应的功能。另外,机器人系统100可根据目标物体和/或它们的周围环境的物理特性(例如,其他物体的相对位置、接近路径的可用性等)将机器人臂306选择性地连接到夹钳抓持器或真空抓持器。In some embodiments, the robotic arm 100 may utilize a set of tools (eg, specialized end effectors) to perform different tasks using the same robot and/or to improve performance of a given task. For example, the robotic system 100 may selectively connect the robotic arm 306 to a gripper, welder, or cutter to perform the corresponding function according to the assigned task. Additionally, the robotic system 100 may selectively connect the robotic arm 306 to a clamp gripper or vacuum based on the physical characteristics of the target objects and/or their surrounding environment (e.g., relative position of other objects, availability of access paths, etc.) Gripper.
在一些实施方案中,如以下详细描述,机器人系统100可根据目标物体姿势将机器人臂306选择性地连接到具有不同成角度界面的抓持器。例如,当目标物体平坦地定位在仓的底部上,呈现相对水平的顶表面和/或相对竖直的周向表面时,机器人系统100可选择第一工具。替代地,当目标物体相对于侧向平面具有成角度姿势时,诸如当目标物体具有非平行表面或放置在不均匀或非平面接触点的顶部时,机器人系统100可选择第二工具。第二工具可包括被配置来抓握此类成角度物体的接触或抓握接口。In some embodiments, as described in detail below, the robotic system 100 can selectively connect the robotic arm 306 to grippers with different angled interfaces based on the target object pose. For example, the robotic system 100 may select the first tool when the target object is positioned flat on the bottom of the bin, exhibiting a relatively horizontal top surface and/or a relatively vertical circumferential surface. Alternatively, the robotic system 100 may select the second tool when the target object has an angled posture relative to the lateral plane, such as when the target object has non-parallel surfaces or is placed on top of an uneven or non-planar contact point. The second tool may include a contact or gripping interface configured to grip such angled objects.
在利用工具组时,系统管理器302可向计划器304提供目标选择313以标识针对任务/物体中的一者或多者选择的工具和/或目标物体112。计划器304可根据目标选择313导出搬运计划314并且相应地导出反馈318。例如,当导出成功时(例如,满足一个或多个阈值状况,诸如用于避免碰撞或满足最小误差估计),反馈318可包括用于利用指定工具搬运目标物体的搬运计划314。当导出不成功时,诸如当指定工具不适于(由于例如导致碰撞事件)抓握和/或搬运目标物体时,反馈318可包括误差消息。在替代实施方案中,计划器304可选择工具并导出对应的搬运计划314而无需关于工具选择与系统管理器302交互。When utilizing a tool set, the system manager 302 may provide target selections 313 to the planner 304 to identify the tools and/or target objects 112 selected for one or more of the tasks/objects. The planner 304 may derive a handling plan 314 based on the target selection 313 and derive feedback 318 accordingly. For example, when the derivation is successful (eg, one or more threshold conditions are met, such as for collision avoidance or minimum error estimate met), feedback 318 may include a handling plan 314 for handling the target object using the designated tool. Feedback 318 may include an error message when the export is unsuccessful, such as when the specified tool is not suitable for gripping and/or handling the target object (due to, for example, causing a collision event). In alternative embodiments, planner 304 may select a tool and derive a corresponding move plan 314 without interacting with system manager 302 regarding tool selection.
当多个工具可用时,机器人系统100可作为单个组导出并评估多个任务或动作而不是单独地处理每个任务或动作。替代地或另外,机器人系统100可协调导出/评估、工具改变和计划实现之间的序列或时序以提高或使一组任务的效率最大化(例如,总体完成时间)。由于导出过程、工具改变过程和动作的实现具有不同成本和效益,因此作为组导出并评估单独任务和动作可实现总体性能的提高。例如,导出并评估搬运计划314所必需的持续时间(例如,一秒或更少)可小于改变工具所必需的持续时间(例如,五秒或更多)和/或小于在机器人臂306处实现计划所必需的持续时间(例如,一至五秒)。在一些实施方案中,改变工具可比完成一个物品的搬运所必需的平均或最大持续时间花费更长时间。When multiple tools are available, the robotic system 100 can export and evaluate multiple tasks or actions as a single group rather than processing each task or action individually. Alternatively or additionally, the robotic system 100 may coordinate the sequence or timing between derivation/evaluation, tool changes, and plan implementation to improve or maximize the efficiency (eg, overall completion time) of a set of tasks. Because export processes, tool change processes, and the implementation of actions have different costs and benefits, exporting and evaluating individual tasks and actions as a group can lead to overall performance improvements. For example, the duration necessary to derive and evaluate the handling plan 314 (eg, one second or less) may be less than the duration necessary to change tooling (eg, five seconds or more) and/or less than is implemented at the robotic arm 306 The required duration of the schedule (for example, one to five seconds). In some embodiments, changing tools may take longer than the average or maximum duration necessary to complete the handling of an item.
为了导出并评估一组任务,机器人系统100(例如,系统管理器302和/或计划器304)可确定根据适于物品的操纵的工具对所述物品进行标识或分组的基于工具的物体分组316。例如,机器人系统100可基于目标物体在起始仓322内的姿势(使用例如暴露表面相对于一个或多个预定水平/竖直线或平面的角度或取向)导出基于工具的物体分组316。机器人系统100可根据考虑到改变和利用工具的成本的一组预定规则来评估搬运计划314的不同顺序或组合。在一个或多个实施方案中,机器人系统100可计算与每个搬运计划314相关联的成本,诸如所估计搬运时间和/或所估计误差概率。机器人系统100可评估造成碰撞和/或具有超出如上所述的预定阈值的误差概率(例如,丢失可能性)的任何搬运计划,并且因此确定使用适当工具来抓握物体的计划。机器人系统100可导出所确定一组计划的不同序列,并且包括或相应地计划工具改变操作。对于每个顺序,机器人系统100可计算总体成本度量(例如,考虑到可能的误差率的总体完成时间或所估计完成时间)以进行评估。对于实现方式,机器人系统100可选择最小化总体成本度量的序列。To derive and evaluate a set of tasks, the robotic system 100 (eg, system manager 302 and/or planner 304) may determine tool-based object groupings 316 that identify or group the items according to tools appropriate for their manipulation. . For example, the robotic system 100 may derive a tool-based object grouping 316 based on the pose of the target object within the starting bin 322 (using, for example, the angle or orientation of the exposed surface relative to one or more predetermined horizontal/vertical lines or planes). The robotic system 100 may evaluate different sequences or combinations of handling plans 314 based on a set of predetermined rules that take into account the cost of changing and utilizing tools. In one or more embodiments, the robotic system 100 may calculate costs associated with each handling plan 314, such as estimated handling times and/or estimated error probabilities. The robotic system 100 may evaluate any handling plan that results in a collision and/or has a probability of error (eg, probability of loss) that exceeds a predetermined threshold as described above, and therefore determines a plan to use appropriate tools to grasp the object. The robotic system 100 may derive different sequences of the determined set of plans and include or plan tool change operations accordingly. For each sequence, the robotic system 100 may calculate an overall cost metric (eg, overall completion time or estimated completion time taking into account possible error rates) for evaluation. For implementation, the robotic system 100 may select a sequence that minimizes the overall cost metric.
在一些实施方案中,机器人系统100可通过控制计划、工具改变和计划实现的时序和并行实现来改进任务的总体性能。例如,机器人系统100可在物体被标识时或在起始仓322放置在起始位置114处时标识已经附接到机器人臂306的工具。机器人系统100可标识可用现有工具抓握的第一组目标物体。机器人系统100可选择所述群组中的物体中的一个并且导出对应的计划。一旦第一计划完成,机器人系统100就可与所述群组中的第二计划的导出并行地实现第一计划。当第一组物体的计划完成时,机器人系统100可与第一组计划和/或工具改变操作的实现并行地(例如,与之并发地/同时地)导出第二组物体的计划。In some embodiments, the robotic system 100 can improve the overall performance of a task through sequential and parallel implementation of control plans, tool changes, and plan implementation. For example, the robotic system 100 may identify a tool that has been attached to the robotic arm 306 when the object is identified or when the starting bin 322 is placed at the starting position 114 . Robotic system 100 may identify a first set of target objects that can be grasped with existing tools. Robotic system 100 may select one of the objects in the group and derive a corresponding plan. Once the first plan is completed, the robotic system 100 may implement the first plan in parallel with the derivation of the second plan in the group. When the plan for the first set of objects is completed, the robotic system 100 may derive a plan for the second set of objects in parallel with (eg, concurrently/simultaneously with) the implementation of the first set of plans and/or tool change operations.
在其他示例性实施方案中,系统管理器302可标识已经附接到机器人臂306的初始工具。系统管理器302可与计划器304交互以标识并计划可使用所附接工具抓握并搬运的第一物体。在第一计划的实现期间,系统管理器302可与计划器304交互以对第二物体进行计划。当导出失败时,系统管理器302可选择并交互以按迭代方式与先前计划的实现并行地对不同物体进行计划。当导出对于现有工具是成功的时,接下来可实现对应的物体和计划。当没有剩余目标物体也适于当前连接时,机器人系统100可计划在计划的正在进行或先前的实现结束时实现工具改变操作。在替代实施方案中,机器人系统100可导出并评估所有可用工具对每个目标物体的可行性和成本。机器人系统100可在确定优选顺序时分析全部组导出。In other exemplary embodiments, system manager 302 may identify an initial tool that has been attached to robotic arm 306 . System manager 302 can interact with planner 304 to identify and plan a first object that can be grasped and carried using the attached tool. During implementation of the first plan, system manager 302 may interact with planner 304 to plan the second object. When the export fails, the system manager 302 may select and interact to iteratively plan different objects in parallel with previously planned implementations. When the export is successful for existing tools, the corresponding objects and plans can then be implemented. When there are no remaining target objects also suitable for the current connection, the robotic system 100 may plan to implement the tool change operation while the plan is in progress or at the end of a previous implementation. In alternative embodiments, the robotic system 100 may derive and evaluate the feasibility and cost of all available tools for each target object. The robotic system 100 may analyze the entire group derivation when determining a preferred order.
示例性工具Example tools
图4A是根据本技术的一个或多个实施方案的示例性搬运单元(例如,机器人臂306)的图示。机器人臂306可以是图1的搬运单元104(例如,拾件或拾仓机器人)或其一部分。机器人臂306可包括被配置来跨操作空间操纵端部执行器(例如,抓持器)的臂部分402。臂部分402可包括一组结构构件(例如,梁、柱等)、结构构件之间的一组接头、和/或被配置来使一组结构构件围绕接头移动的对应的一组致动器/马达。Figure 4A is an illustration of an exemplary handling unit (eg, robotic arm 306) in accordance with one or more embodiments of the present technology. The robotic arm 306 may be the handling unit 104 of FIG. 1 (eg, a picking or bin-picking robot) or a portion thereof. Robotic arm 306 may include an arm portion 402 configured to manipulate an end effector (eg, a gripper) across an operating space. Arm portion 402 may include a set of structural members (e.g., beams, columns, etc.), a set of joints between the structural members, and/or a corresponding set of actuators configured to move the set of structural members about the joints. motor.
端部执行器工具404可诸如在臂部分402的远端处附接到所述臂部分402。端部执行器工具404可包括被配置来与工具接口连接并且将所述工具附接到臂部分402的工具连接器412(例如,选择性锁定/附接机构)。工具连接器412可在结构上连接到具有使端部执行器附接在相对端处的工具臂414或与所述工具臂414成一体。对于图4A所示的实例,端部执行器可包括被配置来抓握物体以进行操纵(例如,跨空间搬运或移位)的抓持器。抓持器端部执行器可包括容纳或促进抓持接口418(例如,用于基于真空的抓持器的一组吸盘)的抓持器头416。抓持接口418可用于产生将目标物体附接到抓持器头416和/或机器人臂306的附接力或机制(例如,真空)。The end effector tool 404 may be attached to the arm portion 402 such as at its distal end. The end effector tool 404 may include a tool connector 412 (eg, a selective locking/attachment mechanism) configured to interface with and attach the tool to the arm portion 402 . The tool connector 412 may be structurally connected to or integral with the tool arm 414 with end effectors attached at opposite ends. For the example shown in Figure 4A, the end effector may include a grasper configured to grasp an object for manipulation (eg, transport or displacement across space). The gripper end effector may include a gripper head 416 that houses or facilitates a gripping interface 418 (eg, a set of suction cups for a vacuum-based gripper). Gripping interface 418 may be used to generate an attachment force or mechanism (eg, vacuum) that attaches the target object to gripper head 416 and/or robotic arm 306 .
图4B是根据本技术的一个或多个实施方案的示例性工具组430的图示。工具组430可表示图1的机器人系统100可用来执行一个或多个任务的工具。在一些实施方案中440,工具组430可包括标准固定抓持工具440、固定角抓持工具450和/或可调节抓持工具460。虽然图4B未示出,但应理解,工具组430可包括其他工具,诸如基于指状物的夹捏抓持器、具有不同类型的抽吸/接触界面的抓持器、不同类别的端部执行器(例如,诸如用于焊接或切割的非抓持端部执行器)等。Figure 4B is an illustration of an exemplary tool set 430 in accordance with one or more embodiments of the present technology. Tool set 430 may represent tools that may be used by robotic system 100 of FIG. 1 to perform one or more tasks. In some embodiments 440 , the tool set 430 may include a standard fixed gripping tool 440 , a fixed angle gripping tool 450 , and/or an adjustable gripping tool 460 . Although not shown in Figure 4B, it is understood that tool set 430 may include other tools, such as finger-based pinch grippers, grippers with different types of suction/contact interfaces, different types of ends Actuators (e.g., such as non-gripping end effectors for welding or cutting), etc.
标准固定抓持工具440可被配置来抓握与起始仓322的地板相比相对平坦放置的物体。例如,标准固定抓持工具440可包括用于抓握物体的侧向定向顶表面的侧向定向抓持接口418。连接工具臂414和抓持器头416的接头可与正交于抽吸界面或平行于夹钳界面延伸的工具臂414固定在一起。The standard fixed gripping tool 440 may be configured to grip objects that are positioned relatively flat compared to the floor of the starting bin 322 . For example, a standard fixed gripping tool 440 may include a laterally oriented grip interface 418 for gripping a laterally oriented top surface of an object. The joint connecting the tool arm 414 to the gripper head 416 may be secured with the tool arm 414 extending either orthogonally to the suction interface or parallel to the clamping interface.
固定角抓持工具450可被配置来抓握与起始仓322的地板相比成角度放置的物体。例如,固定角抓持工具450可包括以非正交角度配置以用于抓握物体的非侧向顶表面的抽吸抓持接口418和工具臂414。成角度接头452可将工具臂414和抓持器头416与形成对应的非正交角或取向的结构固定的方式连接在一起。Fixed angle gripping tool 450 may be configured to grip objects positioned at an angle compared to the floor of starting bin 322 . For example, the fixed angle gripping tool 450 may include a suction gripping interface 418 and a tool arm 414 configured at non-orthogonal angles for gripping a non-lateral top surface of an object. The angled joint 452 may securely connect the tool arm 414 and the gripper head 416 together with structures forming corresponding non-orthogonal angles or orientations.
可调节抓持工具460可被配置来调节抓持器头416相对于工具臂414的取向。例如,可调节抓持工具460可包括被配置来调节抓持器头相对于工具臂414并且围绕可旋转接头462的取向的取向控制机构464,诸如操纵臂、一组线缆、致动器、马达等。因此,机器人系统100可操作取向控制机构464来根据目标物体或者其一个或多个部分(例如,暴露顶表面)的取向调节抓持接口418的姿势或取向。Adjustable gripping tool 460 may be configured to adjust the orientation of gripper head 416 relative to tool arm 414 . For example, the adjustable gripping tool 460 may include an orientation control mechanism 464 configured to adjust the orientation of the gripper head relative to the tool arm 414 and about the rotatable joint 462, such as a manipulator arm, a set of cables, an actuator, Motor etc. Accordingly, the robotic system 100 may operate the orientation control mechanism 464 to adjust the posture or orientation of the grasping interface 418 based on the orientation of the target object or one or more portions thereof (eg, the exposed top surface).
示例性工具使用Example tool usage
图5A是根据本技术的一个或多个实施方案的标准抓握场景500的图示。标准抓握场景500可用于抓持平坦姿势的物体502。平坦姿势的物体502可对应于具有平行于起始仓322的底表面的取向(例如,物体的底表面)的目标物体。因此,标准抓握场景500可对应于标准固定抓持工具440。例如,图1的机器人系统100可操作图3的机器人臂306以将标准固定抓持工具440定位在平坦姿势的物体502正上方并且降低端部执行器以抓持物体。Figure 5A is an illustration of a standard grasping scenario 500 in accordance with one or more embodiments of the present technology. A standard grasping scenario 500 may be used for grasping an object 502 in a flat pose. Flat pose object 502 may correspond to a target object having an orientation parallel to a bottom surface of starting bin 322 (eg, the bottom surface of the object). Therefore, standard gripping scenario 500 may correspond to standard fixed gripping tool 440 . For example, the robotic system 100 of FIG. 1 may operate the robotic arm 306 of FIG. 3 to position the standard fixed grasping tool 440 directly over the object 502 in a flat posture and lower the end effector to grasp the object.
图5B是根据本技术的一个或多个实施方案的成角度抓握场景510的图示。成角度抓握场景510可用于抓持成角度物体512。成角度物体512可包括倚靠或搁置在不均匀接触点上(例如,沿着非水平面搁置)的物体和/或具有非平行相对表面的物体。在一些实施方案中,成角度物体512可对应于具有相对于水平/竖直参考方向具有沿着成角度方向/平面定向的一个或多个表面的姿势。因此,成角度抓握场景510可对应于固定角抓持工具450。例如,图1的机器人系统100可操作图3的机器人臂306以将固定角抓持工具450定位在成角度物体512正上方并且降低端部执行器以抓持物体。Figure 5B is an illustration of an angled grip scenario 510 in accordance with one or more embodiments of the present technology. Angled grasp scenario 510 may be used to grasp angled objects 512 . Angled objects 512 may include objects that lean or rest on uneven contact points (eg, rest along non-horizontal surfaces) and/or objects that have non-parallel opposing surfaces. In some implementations, angled object 512 may correspond to a pose having one or more surfaces oriented along an angled direction/plane relative to a horizontal/vertical reference direction. Thus, angled grip scenario 510 may correspond to fixed angle grip tool 450 . For example, the robotic system 100 of FIG. 1 may operate the robotic arm 306 of FIG. 3 to position the fixed-angle grasping tool 450 directly over the angled object 512 and lower the end effector to grasp the object.
为了比较,标准固定抓持工具440可能不适于成角度抓握场景510。例如,为了抓持成角度物体512,标准固定抓持工具440可倾斜或成角度成使得抓持接口418平行于成角度物体512的接口连接部分取向。将标准固定抓持工具440降低为倾斜可致使工具和/或机器人臂306与起始仓322之间的碰撞事件(图5B中由‘X’所示)。For comparison, a standard fixed gripping tool 440 may not be suitable for the angled gripping scenario 510. For example, to grip the angled object 512 , the standard fixed gripping tool 440 may be tilted or angled such that the gripping interface 418 is oriented parallel to the interface connection portion of the angled object 512 . Lowering the standard fixed gripping tool 440 into a tilt may cause a collision event between the tool and/or the robotic arm 306 and the starting bin 322 (indicated by an 'X' in Figure 5B).
在一些实施方案中,机器人系统100可基于成角度物体512的表面姿势514来选择固定角抓持工具450。例如,机器人系统100可处理如由图2的成像装置222捕获的起始仓322和/或其中的成角度物体512的一个或多个图像(例如,顶视图图像)。机器人系统100可基于边缘检测机构(例如,Sobel滤波器)来标识图像中所描绘的边缘。机器人系统100可基于确定一组边缘之间的连接和/或相对取向和/或识别位于边缘之间的形状、颜色和/或设计来标识图像中所描绘的每个连续表面。机器人系统100可将表面映射到三维图像(例如,深度图)并且使用深度量度来计算每个表面的一个或多个斜率。使用一个或多个所计算斜率,机器人系统100可导出每个表面的表面姿势514。机器人系统100可基于将表面姿势514与表示水平或平坦表面的阈值进行比较来确定成角度物体512。In some implementations, robotic system 100 may select fixed angle gripping tool 450 based on surface pose 514 of angled object 512 . For example, robotic system 100 may process one or more images (eg, top view images) of starting bin 322 and/or angled objects 512 therein as captured by imaging device 222 of FIG. 2 . Robotic system 100 may identify edges depicted in images based on edge detection mechanisms (eg, Sobel filters). The robotic system 100 may identify each continuous surface depicted in the image based on determining connections and/or relative orientations between a set of edges and/or identifying shapes, colors, and/or designs located between the edges. Robotic system 100 may map the surfaces to a three-dimensional image (eg, a depth map) and use the depth measure to calculate one or more slopes for each surface. Using the one or more calculated slopes, the robotic system 100 may derive a surface pose 514 for each surface. The robotic system 100 may determine the angled object 512 based on comparing the surface pose 514 to a threshold representing a horizontal or flat surface.
图6A是根据本技术的一个或多个实施方案的标准释放场景600的图示。标准释放场景600可用于将所抓握物体(例如,图1的目标物体112)从标准固定抓持工具440释放。标准释放场景600可用于将所抓握物体(例如,图1的目标物体112)放置在任务位置116处的对应的放置位置处和/或图3的目标容器324中。标准释放场景600可对应于所抓握物体的平坦放置和/或标准固定抓持工具440的直立取向。Figure 6A is an illustration of a standard release scenario 600 in accordance with one or more embodiments of the present technology. Standard release scenario 600 may be used to release a grasped object (eg, target object 112 of FIG. 1 ) from standard fixed grasping tool 440. Standard release scenario 600 may be used to place a grasped object (eg, target object 112 of FIG. 1 ) at a corresponding placement location at task location 116 and/or in target container 324 of FIG. 3 . The standard release scenario 600 may correspond to a flat placement of the grasped object and/or an upright orientation of the standard fixed grasping tool 440 .
图6B是根据本技术的一个或多个实施方案的第一成角度释放场景610的图示。第一成角度释放场景610可用于将所抓握物体(例如,图1的目标物体112)从固定角抓持工具450释放。第一成角度释放场景610可用于将所抓握物体(例如,图1的目标物体112)放置在任务位置116处的对应的放置位置处和/或图3的目标容器324中。第一成角度释放场景610可对应于所抓握物体的平坦放置姿势612。因此,图1的机器人系统100可将固定角抓持工具450定向到成角度工具释放姿势614(例如,其中的工具臂的非竖直或倾斜取向)。工具释放姿势614可对应于固定角抓持工具450的图4B的成角度接头452。Figure 6B is an illustration of a first angled release scenario 610 in accordance with one or more embodiments of the present technology. The first angled release scenario 610 may be used to release a grasped object (eg, target object 112 of FIG. 1 ) from the fixed angle grasping tool 450. The first angled release scenario 610 may be used to place a grasped object (eg, target object 112 of FIG. 1 ) at a corresponding placement location at task location 116 and/or in target container 324 of FIG. 3 . The first angled release scene 610 may correspond to a flat lay posture 612 of the grasped object. Accordingly, the robotic system 100 of FIG. 1 may orient the fixed-angle gripping tool 450 into an angled tool release posture 614 (eg, in which the tool arm is in a non-vertical or tilted orientation). Tool release posture 614 may correspond to angled joint 452 of FIG. 4B of fixed angle gripping tool 450.
图6C是根据本技术的一个或多个实施方案的第二成角度释放场景620的图示。第二成角度释放场景620可用于将所抓握物体(例如,图1的目标物体112)从固定角抓持工具450释放。第二成角度释放场景620可用于将所抓握物体(例如,图1的目标物体112)放置在任务位置116处的对应的放置位置处和/或图3的目标容器324中。第二成角度释放场景620可对应于所抓握物体的成角度放置姿势622。因此,图1的机器人系统100可将固定角抓持工具450定向到直立工具释放姿势624(例如,其中的工具臂的竖直取向)。成角度放置姿势622可对应于固定角抓持工具450的图4B的成角度接头452。成角度放置姿势622和直立工具释放姿势624可用于释放所抓握物体而无需实现与图6B所示的工具释放姿势614和平坦放置姿势612相关联的取向操纵。因此,成角度放置姿势622和直立工具释放姿势624可对应于比工具释放姿势614和平坦放置姿势612更低的实现成本(例如,更短的实现时间)。成角度放置姿势622和直立工具释放姿势624可针对具有预定特性的物体(诸如针对不太易受冲击损坏的更柔软和/或更柔性的物体)实现。Figure 6C is an illustration of a second angled release scenario 620 in accordance with one or more embodiments of the present technology. The second angled release scenario 620 may be used to release a grasped object (eg, target object 112 of FIG. 1 ) from the fixed angle grasping tool 450. The second angled release scenario 620 may be used to place a grasped object (eg, target object 112 of FIG. 1 ) at a corresponding placement location at task location 116 and/or in target container 324 of FIG. 3 . The second angled release scene 620 may correspond to the angled placement pose 622 of the grasped object. Accordingly, the robotic system 100 of FIG. 1 can orient the fixed-angle gripping tool 450 to an upright tool release posture 624 (eg, in which the tool arm is in a vertical orientation). The angled placement position 622 may correspond to the angled joint 452 of FIG. 4B of the fixed angle gripping tool 450. The angled placement posture 622 and the upright tool release posture 624 may be used to release a grasped object without achieving the orientation manipulation associated with the tool release posture 614 and the flat placement posture 612 shown in Figure 6B. Accordingly, the angled placement posture 622 and the upright tool release posture 624 may correspond to lower implementation costs (eg, shorter implementation time) than the tool release posture 614 and the flat placement posture 612 . The angled position 622 and the upright tool release position 624 may be implemented for objects with predetermined characteristics, such as for softer and/or more flexible objects that are less susceptible to impact damage.
示例性任务时序Example task sequence
图7是根据本技术的一个或多个实施方案的示例性时序图700。时序图700可表示图1的机器人系统100(例如,图3的系统管理器302、图3的计划器304、和/或图3的机器人臂306)的操作和/或过程的序列或时间关系。例如,时序图700可示出计划进度表702与实现进度表704之间的时间关系。计划进度表702可表示各自导出图3的搬运计划314的情况(诸如用于搬运具有如由图3的目标选择313指定的所分配工具的目标物体)的过程序列。实现进度表704可表示机器人臂306处/由机器人臂306进行的计划实现/执行序列。Figure 7 is an example timing diagram 700 in accordance with one or more implementations of the present technology. Timing diagram 700 may represent a sequence or temporal relationship of operations and/or processes of robotic system 100 of FIG. 1 (eg, system manager 302 of FIG. 3, planner 304 of FIG. 3, and/or robotic arm 306 of FIG. 3). . For example, timing diagram 700 may show the temporal relationship between planning schedule 702 and implementation schedule 704 . The plan schedule 702 may represent a sequence of processes for each scenario in which the handling plan 314 of FIG. 3 is derived, such as for handling a target object with assigned tooling as specified by the target selection 313 of FIG. 3 . Implementation schedule 704 may represent a planned implementation/execution sequence at/by robotic arm 306 .
机器人系统100可与提高总体效率并减少总体任务执行时间并行地进行计划导出过程和计划实现过程。对于图7所示的实例,系统管理器302可发送标识要使用零件1(例如,图4B的标准固定抓持工具440)抓握和搬运的物体1的第一物体选择(例如,目标选择313的情况)。响应于第一物体选择,计划器304可导出用于用零件1抓握和搬运物体1的第一物体计划712。在成功导出时,计划器304可通过图3的对应反馈318将第一物体计划712传达到系统管理器302,并且系统管理器302可与机器人臂306交互以实现第一物体计划712。实现进度表704的第一物体搬运732可表示第一物体计划712在机器人臂306处的实现。The robotic system 100 can perform the plan derivation process and the plan implementation process in parallel with improving overall efficiency and reducing overall task execution time. For the example shown in Figure 7, system manager 302 may send a first object selection (eg, target selection 313) identifying Object 1 to be grasped and handled using Part 1 (eg, standard fixed gripping tool 440 of Figure 4B) Case). In response to the first object selection, planner 304 may derive a first object plan 712 for gripping and handling object 1 with part 1 . Upon successful export, planner 304 may communicate first object plan 712 to system manager 302 via corresponding feedback 318 of FIG. 3 , and system manager 302 may interact with robotic arm 306 to implement first object plan 712 . Implementation of first object handling 732 of schedule 704 may represent implementation of first object plan 712 at robotic arm 306 .
另外,在成功导出时,系统管理器302可发送标识要使用所连接零件1抓握和搬运的物体2的第二物体选择(目标选择313的新的情况)。响应于第二物体选择,计划器304可诸如使用上述示例性迭代过程导出第二物体计划714。当第二物体是图5B的成角度物体512时,计划器304可返回表示诸如由于在试图抓握物体时发生的所估计碰撞事件而无法导出成功的计划的失败状态。计划器304可诸如通过对应的反馈318将失败状态传达到系统管理器302。在一些实施方案中,系统管理器302可标识要被视为用当前连接的工具来计划的其他目标物体。诸如当利用当前连接的工具和/或抓持器头取向无法抓握任何剩余物体时,系统管理器302可利用更新工具选择(例如,图4B的固定角抓持工具450和/或图4B的可调节抓持工具460的替代头角)标识第二物体进行计划。利用所更新工具,计划器304可导出所更新第二物体计划716。实现进度表704的第二物体搬运736可表示所更新第二物体计划716在机器人臂306处的实现。各种计划过程可与实现进度表704并行地(例如,独立地)发生。Additionally, upon successful export, the system manager 302 may send a second object selection identifying the object 2 to be grasped and carried using the connected part 1 (a new case of target selection 313). In response to the second object selection, planner 304 may derive a second object plan 714, such as using the exemplary iterative process described above. When the second object is the angled object 512 of Figure 5B, the planner 304 may return a failure status indicating that a successful plan cannot be derived, such as due to an estimated collision event that occurred while attempting to grasp the object. Planner 304 may communicate the failure status to system manager 302, such as through corresponding feedback 318. In some implementations, system manager 302 may identify other target objects to be considered for planning with the currently connected tool. Such as when any remaining objects cannot be grasped with the currently attached tool and/or gripper head orientation, the system manager 302 may utilize updated tool selections (e.g., fixed angle gripping tool 450 of FIG. 4B and/or the The alternative head angle of the adjustable gripping tool 460) identifies the second object for planning. Using the updated tools, planner 304 may derive an updated second object plan 716 . Implementation of second object handling 736 of schedule 704 may represent implementation of updated second object plan 716 at robotic arm 306 . Various planning processes may occur in parallel with (eg, independently of) implementation schedule 704 .
在成功地导出后续计划时,系统管理器302可将其实现在实现进度表704中排队。当成功的导出是基于在目标选择313中提供诸如用于所更新第二物体计划716的更新工具时,系统管理器302可将工具改变734包括在实现进度表704中。When a follow-up plan is successfully exported, system manager 302 may queue its implementation in implementation schedule 704 . When a successful export is based on providing an updated tool, such as for the updated second object plan 716 , in target selection 313 , system manager 302 may include tool changes 734 in implementation schedule 704 .
在一些实施方案中,(位于例如系统管理器302和/或计划器304处的)机器人系统100可估计各种实现的实现量度。例如,机器人系统100可导出第一物体计划712的第一计划量度722(例如,包括拾取和/或放置物体的总执行时间)、所更新第二物体计划716的第二计划量度726、和/或工具改变734的工具改变量度724(例如,所需最大和/或平均时间)。机器人系统100可使用实现量度来导出最小化所组合量度的计划序列。在一些实施方案中,工具改变量度724可表示与在充当标准固定抓持工具440与固定角抓持工具450之间切换抓持接口418在可调节抓持工具460上的姿势相关联的成本。工具改变量度724还可包括或考虑到与实现工具释放姿势614(例如,与从标准固定抓持工具的标准释放相比另外的操纵)相关联的成本(例如,失败估计的时间和/或改变)。另外,工具改变量度724还可包括或考虑到诸如由于减少拖拽的成角度抓持和/或另外的操纵所致的与拖拽改变相关联的成本或与表面积相对于移动方向的改变相关联的空气阻力。In some embodiments, robotic system 100 (located, for example, at system manager 302 and/or planner 304) may estimate implementation metrics for various implementations. For example, the robotic system 100 may derive a first plan metric 722 for the first object plan 712 (e.g., including the total execution time to pick and/or place the object), a second plan metric 726 for the updated second object plan 716, and/or or a tool change measure 724 of the tool change 734 (eg, maximum and/or average time required). Robotic system 100 may use the achieved metrics to derive a plan sequence that minimizes the combined metrics. In some embodiments, the tool change measure 724 may represent the cost associated with switching the posture of the gripping interface 418 on the adjustable gripping tool 460 between functioning as a standard fixed gripping tool 440 and a fixed angle gripping tool 450 . Tool change metrics 724 may also include or take into account costs (eg, time to failure and/or change) associated with achieving tool release gesture 614 (eg, additional maneuvers compared to standard release from a standard fixed grip tool). ). Additionally, tool change measure 724 may also include or take into account costs associated with drag changes, such as due to angled gripping and/or additional manipulation that reduces drag or associated with changes in surface area relative to the direction of movement. air resistance.
作为说明性实例,机器人系统100可导出用于将多个物体从起始位置(例如,仓)搬运到目标位置(例如,不同仓或输送机)的计划进度表702。机器人系统100可导出用于使用对应工具来搬运物体中的一个或多个的估计实现量度。所估计量度可考虑到不同工具的任何速度改变、另外的操纵和/或所调节拾取/投放操纵或姿势。在一些实施方案中,所估计量度可进一步考虑到与对应物体工具组合相关联的预期误差率。例如,所估计量度可包括增加了所计算量以考虑到将在误差情况下(例如,件丢失)部署的补救措施的搬运时间。另外的调节可基于通过与物体工具组合和/或对应移动设置(例如,速度)相关联的误差率对补救措施的平均持续时间进行加权来计算。因此,机器人系统100可相对于(2)改变工具以使用最佳工具来搬运物体的成本以及工具改变在搬运其他物体时的影响来平衡(1)用于利用次最佳工具来搬运物体的任何消极调节。因此,机器人系统100可评估运动计划的不同组合的总体成本并且选择最小化搬运目标物体中的一个或多个或全部的成本的一个运动计划。在一些实施方案中,所估计量度可被表示为使用同一机器人单元的每分钟或每小时拾取量。As an illustrative example, robotic system 100 may derive a planned schedule 702 for moving multiple objects from a starting location (eg, a bin) to a destination location (eg, a different bin or conveyor). Robotic system 100 may derive estimated implementation metrics for handling one or more of the objects using the corresponding tool. The estimated measurements may take into account any speed changes of different tools, additional manipulations, and/or adjusted pick/drop manipulations or gestures. In some implementations, the estimated metrics may further take into account expected error rates associated with corresponding object tool combinations. For example, the estimated measure may include handling time with the calculated amount increased to account for remedial measures to be deployed in the event of an error (eg, lost piece). Additional adjustments may be calculated based on weighting the average duration of the remediation action by the error rate associated with the object tool combination and/or corresponding movement settings (eg, speed). Thus, the robotic system 100 may balance (1) any cost of using a suboptimal tool to handle an object against (2) the cost of changing tooling to use the optimal tool to handle the object and the impact of the tool change in handling other objects. Negative conditioning. Accordingly, the robotic system 100 may evaluate the overall cost of different combinations of motion plans and select one motion plan that minimizes the cost of handling one or more or all of the target objects. In some embodiments, the estimated measure may be expressed as picks per minute or hour using the same robotic unit.
操作流程Operating procedures
图8是根据本公开的一个或多个实施方案的用于操作机器人系统(例如,图1的机器人系统100)的方法800的流程图。方法800可使用上述装置中的一个或多个(诸如图3的系统管理器302、图3的计划器304和/或图3的机器人臂306)来实现。方法800可使用上述部件中的一个或多个(诸如图2的处理器202、图2的存储装置204等)来实现。方法800可用于使用工具组(例如,图4B的工具组430)来计划并实现任务(例如,搬运物体)。如以下详细描述,方法800可对应于并行地计划并实现任务和/或根据用于最小化图7的工具改变734的适当工具分组地处理物体。8 is a flowchart of a method 800 for operating a robotic system (eg, robotic system 100 of FIG. 1 ) in accordance with one or more embodiments of the present disclosure. Method 800 may be implemented using one or more of the devices described above, such as system manager 302 of Figure 3, planner 304 of Figure 3, and/or robotic arm 306 of Figure 3. Method 800 may be implemented using one or more of the components described above (such as processor 202 of Figure 2, storage device 204 of Figure 2, etc.). Method 800 may be used to plan and implement a task (eg, move an object) using a tool set (eg, tool set 430 of Figure 4B). As described in detail below, method 800 may correspond to planning and implementing tasks in parallel and/or processing objects in groups according to appropriate tools for minimizing tool changes 734 of FIG. 7 .
在框802处,机器人系统100可接收对一组物品的订单(例如,图3的订单输入312)。例如,机器人系统100(经由例如图2的通信装置206)可接收来自客户或请求仓库的订单输入312。另外,订单输入312可对应于内部生成的订单以对物品进行重新包装或重新分组以便存储,诸如以重新布置/组合物体并减少存储容器。因此,机器人系统100可标识需要从存储位置移动到不同位置(例如,离开的容器)的一组物体以满足订单。At block 802, the robotic system 100 may receive an order for a set of items (eg, order input 312 of Figure 3). For example, robotic system 100 (via communication device 206, such as FIG. 2) may receive order input 312 from a customer or requesting warehouse. Additionally, order input 312 may correspond to internally generated orders to repackage or regroup items for storage, such as to rearrange/combine objects and reduce storage containers. Thus, the robotic system 100 may identify a set of objects that need to be moved from a storage location to a different location (eg, an outgoing container) to fulfill an order.
在框804处,机器人系统100可协调对订购物体的获取。机器人系统100(经由例如图3的系统管理器302)可标识订购物体的一个或多个存储位置。例如,机器人系统100可将订单输入312与所存储/可获取物体的记录进行比较。因此,机器人系统100标识对应于图框805处所示的订单输入312的仓和/或物体。机器人系统100可确定其中存储有订购物体的容器的存储位置和/或标识符。At block 804, the robotic system 100 may coordinate the retrieval of the ordered object. The robotic system 100 (via, for example, the system manager 302 of Figure 3) may identify one or more storage locations for the ordered objects. For example, the robotic system 100 may compare the order input 312 to a record of stored/available objects. Accordingly, the robotic system 100 identifies the bin and/or object corresponding to the order input 312 shown at block 805 . The robotic system 100 may determine the storage location and/or identifier of the container in which the ordered object is stored.
机器人系统100可使用所确定位置和/或容器标识符来协调对订购物体的获取。例如,机器人系统100可直接操作一个或多个运输单元(例如,AGV和/或输送机)来为图3的机器人臂306将目标容器从存储位置运输到图1的起始位置114。机器人系统100可类似地操作运输单元来将图3的目标容器324从其存储位置运输到图1的任务位置116。另外或替代地,机器人系统100可与一个或多个子系统(例如,存储访问系统)交互或通信以将一个或多个目标容器和/或目标容器324放置在它们的相应位置处。The robotic system 100 may use the determined location and/or container identifier to coordinate retrieval of the ordered object. For example, the robotic system 100 may directly operate one or more transport units (eg, AGVs and/or conveyors) to transport target containers from the storage location to the starting location 114 of FIG. 1 for the robotic arm 306 of FIG. 3 . The robotic system 100 may similarly operate the transport unit to transport the target container 324 of FIG. 3 from its storage location to the task location 116 of FIG. 1 . Additionally or alternatively, robotic system 100 may interact or communicate with one or more subsystems (eg, a storage access system) to place one or more target containers and/or target containers 324 at their respective locations.
在框806处,机器人系统100可获得图像数据。例如,机器人系统100可使用图2的成像装置222来获得描绘起始位置处的存储容器的二维和/或三维图像。因此,所获得图像数据可实时地描绘存储在存储容器内的订购物体中的一个或多个。At block 806, the robotic system 100 may obtain image data. For example, robotic system 100 may use imaging device 222 of FIG. 2 to obtain two- and/or three-dimensional images depicting the storage container at the starting location. Thus, the image data obtained may depict one or more of the ordered objects stored within the storage container in real time.
在框808处,机器人系统100可标识物体(例如,目标或订购物体)在存储容器中的分组。机器人系统100可处理所获得图像数据以检测或识别起始仓322内的物体。例如,机器人系统100可基于检测线(经由例如Sobel检测机构)和所检测线之间的连接/布置来标识表面。机器人系统100可将所描绘图像或其部分(例如,表面内的部分)与主数据中的表面图像数据进行比较。另外或替代地,机器人系统100可将所标识表面的尺寸与存储在主数据中的物体尺寸进行比较。机器人系统100可基于所描绘图像和/或所测量尺寸与存储在主数据中的对应图像和/或预定尺寸的匹配来标识物体。At block 808, the robotic system 100 may identify groupings of objects (eg, target or order objects) in the storage container. The robotic system 100 may process the obtained image data to detect or identify objects within the starting bin 322 . For example, the robotic system 100 may identify surfaces based on detection lines (via, for example, a Sobel detection mechanism) and connections/arrangements between the detected lines. Robotic system 100 may compare the depicted image or portions thereof (eg, portions within the surface) to surface image data in the master data. Additionally or alternatively, the robotic system 100 may compare the dimensions of the identified surface to the object dimensions stored in the master data. Robotic system 100 may identify objects based on a match of the depicted image and/or measured dimensions with corresponding images and/or predetermined dimensions stored in the master data.
机器人系统100可将起始仓322中的所标识的一组物体与订单输入312的目标或预期部分进行比较。因此,机器人系统100可定位起始仓322中的目标物体。机器人系统100可进一步处理目标物体以根据工具组430来对物体进行分类/分组,由此确定图3的基于工具的物体分组316。例如,机器人系统100可确定目标物体中的每一个是图5A的平坦姿势的物体502还是图5B的成角度物体512。机器人系统100可使用与所描绘表面相关联的深度量度来计算一个或多个斜率。机器人系统100可使用所计算斜率来导出目标物体中的每一个的图5B的表面姿势514。表面姿势514可用于根据适当的或被分配来操纵对应物体的工具来对物体进行分类或分组,所述物体诸如平坦姿势的物体502、成角度物体512等。The robotic system 100 may compare the identified set of objects in the starting bin 322 to the target or expected portion of the order input 312 . Therefore, the robotic system 100 can locate the target object in the starting bin 322 . The robotic system 100 may further process the target objects to classify/group the objects according to the tool group 430 , thereby determining the tool-based object grouping 316 of FIG. 3 . For example, the robotic system 100 may determine whether each of the target objects is the flat pose object 502 of FIG. 5A or the angled object 512 of FIG. 5B. Robotic system 100 may calculate one or more slopes using depth measurements associated with the depicted surface. Robotic system 100 may use the calculated slopes to derive surface pose 514 of FIG. 5B for each of the target objects. Surface pose 514 may be used to classify or group objects, such as flat pose objects 502, angled objects 512, etc., according to tools that are appropriate or assigned to manipulate the corresponding objects.
机器人系统100可进一步根据对应于不同端部执行器和/或目标任务的其他特征来对物体进行分类/分组。例如,机器人系统100可根据与不同类型的抓持器(例如,不同类型的接触界面,诸如抽吸抓持器、吸盘大小/位置、基于指状物的抓持器等)相关联的结构刚度和/或外表面材料(例如,盒、塑料包裹物、袋等)、总体形状等来对物体进行分组。另外,机器人系统100可与其他未绑定物体分开地对绑定在一起、由此需要切割工具的物体进行分组。因此,所分组物体可对应于基于工具的物体分组316。The robotic system 100 may further classify/group objects based on other characteristics corresponding to different end effectors and/or target tasks. For example, the robotic system 100 may respond based on structural stiffness associated with different types of grippers (e.g., different types of contact interfaces such as suction grippers, suction cup size/location, finger-based grippers, etc.) and/or outer surface material (e.g., boxes, plastic wraps, bags, etc.), overall shape, etc. to group objects. Additionally, the robotic system 100 may group objects that are bound together and thus require a cutting tool separately from other unbound objects. Accordingly, the grouped objects may correspond to tool-based object grouping 316 .
作为说明性实例,机器人系统100可基于描绘起始仓322内的物体的图像数据来确定至少第一组物体(例如,一组平坦姿势的物体502)和第二组物体(一组成角度的物体512)。第一组物体可具有对应于第一工具的特性(例如,抓持接口418的角度/取向)的一个或多个方面(例如,姿势),并且第二组物体可具有对应于第二工具的特性(例如,抓持接口418的角度/取向)的一个或多个方面。平坦姿势的物体502可各自具有平行于起始仓322的底表面的顶部部分,因此对应于标准固定抓持工具440。成角度物体512可各自具有相对于起始仓322的底表面形成角度的顶部部分表面,由此对应于固定角抓持工具450。As an illustrative example, robotic system 100 may determine at least a first set of objects (e.g., a set of flat-posed objects 502 ) and a second set of objects (eg, a set of angled objects) based on image data depicting objects within starting bin 322 512). A first set of objects may have one or more aspects (e.g., posture) that correspond to characteristics of the first tool (e.g., angle/orientation of gripping interface 418), and a second set of objects may have features that correspond to the second tool. One or more aspects of a characteristic (eg, angle/orientation of gripping interface 418). The flat posture objects 502 may each have a top portion parallel to the bottom surface of the starting bin 322 , thus corresponding to a standard fixed gripping tool 440 . The angled objects 512 may each have a top portion surface that is angled relative to the bottom surface of the starting bin 322 , thereby corresponding to the fixed angle gripping tool 450 .
在框810处,机器人系统100可跟踪和/或更新所连接工具。机器人系统100可使用内部机构(例如,射频标识(RFID)电路、硬编码标识符等)来动态地检测连接到机器人臂306的工具。另外或替代地,机器人系统100可跟踪工具改变操作和工具选择以跟踪所连接工具。At block 810, the robotic system 100 may track and/or update the connected tool. Robotic system 100 may use internal mechanisms (eg, radio frequency identification (RFID) circuitry, hard-coded identifiers, etc.) to dynamically detect tools connected to robotic arm 306 . Additionally or alternatively, the robotic system 100 may track tool change operations and tool selections to track connected tools.
在跟踪和/或更新所连接工具时,机器人系统100可访问或确定机器人系统100可用的工具组。例如,机器人系统100可访问关于工具的预定数据和/或机器人臂306可用的工具组430的对应特性(例如,抓持接口418的姿势)。另外或替代地,机器人系统100可动态地跟踪(例如,实时地)所使用的或连接到机器人臂的工具。因此,机器人系统100可确定剩余的(例如,未连接到任何其他机器人臂)并且可供用于获取/连接的工具。机器人系统100可进一步访问预定或先前测量的数据以确定与在操纵目标物体时在工具之间切换(例如,从一个工具断开并且连接到不同工具)相关联的图7的工具改变量度724(例如,成本,诸如时间)。在一些实施方案中,工具改变量度724可表示与诸如通过操纵图4的取向控制机构464来改变用于可调节抓持工具460的抓持接口418的姿势相关联的成本。In tracking and/or updating connected tools, the robotic system 100 may access or determine the set of tools available to the robotic system 100 . For example, the robotic system 100 may access predetermined data regarding the tools and/or corresponding characteristics of the tool set 430 available to the robotic arm 306 (eg, the posture of the grasping interface 418). Additionally or alternatively, the robotic system 100 may dynamically track (eg, in real time) the tool being used or connected to the robotic arm. Thus, the robotic system 100 may determine tools that are remaining (eg, not connected to any other robotic arms) and available for acquisition/connection. The robotic system 100 may further access predetermined or previously measured data to determine tool change measures 724 of FIG. 7 associated with switching between tools (e.g., disconnecting from one tool and connecting to a different tool) while manipulating the target object. For example, costs such as time). In some embodiments, tool change measure 724 may represent the cost associated with changing the posture of gripping interface 418 for adjustable gripping tool 460, such as by manipulating orientation control mechanism 464 of FIG. 4 .
另外,在框810处,机器人系统100可诸如根据下述状态确定(例如,决策框820)来更新所连接工具。例如,当根据状态确定需要新的工具来操纵/搬运物体时,机器人系统100可操作机器人臂306来断开所连接工具并且连接到适于后续搬运的新的工具。机器人系统100可更新所跟踪工具信息。在一些实施方案中,机器人系统100可调度工具更新(例如,工具改变734)并且在工具改变734被实现时更新所跟踪信息。Additionally, at block 810, the robotic system 100 may update the connected tool, such as based on a status determination described below (eg, decision block 820). For example, when it is determined based on the status that a new tool is needed to manipulate/handle an object, the robotic system 100 may operate the robotic arm 306 to disconnect the attached tool and connect to a new tool suitable for subsequent handling. Robotic system 100 may update tracked tool information. In some implementations, robotic system 100 may schedule tool updates (eg, tool changes 734 ) and update tracked information when tool changes 734 are implemented.
在框812处,机器人系统100可选择一个或多个物体以用于计划。机器人系统100可从对应于连接到机器人臂306的工具的分组进行选择。在所选择分组内,机器人臂100可迭代地选择一个物体以用于搬运。机器人系统100可基于一组预定选择规则(诸如用于首先选择更高定位的物体和/或更靠近定位的物体)进行选择。At block 812, the robotic system 100 may select one or more objects for planning. Robotic system 100 may select from groupings corresponding to tools connected to robotic arm 306 . Within the selected group, the robotic arm 100 may iteratively select an object for handling. The robotic system 100 may make selections based on a set of predetermined selection rules (such as for selecting higher positioned objects first and/or more closely positioned objects).
在框814处,机器人系统100(经由例如计划器304)可导出一个或多个计划(例如,搬运计划314)以用于选择。例如,系统管理器302可根据所选择物体和/或所连接工具向计划器304提供目标选择313。在一些实施方案中,机器人系统100可向一个群组提供物体列表。作为响应,计划器304可导出每个物体的一个或多个搬运计划。当计划导出成功时,计划器304可通过反馈318向系统管理器302提供所得搬运计划314。否则,当计划导出不成功时(由于例如由不恰当工具分配所致的所估计碰撞),计划器304可提供报告不成功状态(例如,所分配工具与目标物体之间的不恰当匹配的指示)的反馈318。At block 814, the robotic system 100 (via, eg, the planner 304) may derive one or more plans (eg, the handling plan 314) for selection. For example, system manager 302 may provide target selections 313 to planner 304 based on the selected object and/or connected tool. In some implementations, robotic system 100 may provide a list of objects to a group. In response, planner 304 may derive one or more handling plans for each object. When the plan export is successful, planner 304 may provide the resulting move plan 314 to system manager 302 via feedback 318 . Otherwise, when plan derivation is unsuccessful (due to estimated collisions, e.g., due to improper tool assignment), the planner 304 may provide an indication of reporting an unsuccessful status (e.g., an inappropriate match between the assigned tool and the target object). ) feedback318.
因此,机器人系统100可导出用于根据工具搬运目标物体的一组搬运计划314。在一些实施方案中,例如,机器人系统100可遵循用于基于工具改变量度724(根据例如一组规则和/或用于使总体搬运成本/时间最小化的架构)来计划搬运的过程。对于工具改变具有比计划过程和/或计划实现更大的平均/最小量度的系统,机器人系统100可将搬运计划为最小化工具改变。作为实例,机器人系统100可使用所连接工具计划并调度其对可应用物体/分组的实现,之后对一组不同物体进行计划。在一些实施方案中,机器人系统100可迭代地进行选择和导出过程并且相应地实现所导出计划。在其他实施方案中,机器人系统100可导出物体的一个或多个分组的计划并且根据用于使最小化总体成本最小化的一组规则对计划进行布置/排队。Accordingly, the robotic system 100 may derive a set of handling plans 314 for handling target objects based on the tool. In some embodiments, for example, the robotic system 100 may follow a process for planning handling based on tool change metrics 724 (according to, for example, a set of rules and/or a framework for minimizing overall handling cost/time). For systems where tool changes have a larger average/minimum magnitude than the planned process and/or planned implementation, the robotic system 100 may plan the handling to minimize tool changes. As an example, the robotic system 100 may use connected tools to plan and schedule its implementation of applicable objects/groups, and then plan for a set of different objects. In some embodiments, the robotic system 100 may iterate through the selection and derivation process and implement the derived plan accordingly. In other embodiments, the robotic system 100 may derive plans for one or more groupings of objects and arrange/queue the plans according to a set of rules for minimizing overall cost.
在导出计划时,机器人系统100可计算如框816处所示的量度(例如,图7的计划量度720)。例如,机器人系统100可基于所计算行进距离、操纵次数和/或类型、对应设置等来计算每个搬运计划的所估计持续时间。In deriving the plan, the robotic system 100 may calculate the metrics as shown at block 816 (eg, plan metrics 720 of Figure 7). For example, the robotic system 100 may calculate an estimated duration for each handling plan based on the calculated distance traveled, number and/or type of maneuvers, corresponding settings, and/or the like.
对于图8所示的实例,机器人系统100可基于在处理另一个分组之前对一个分组中的物体进行迭代地选择和计划来导出一组计划。在决策框818处,计划器304可确定计划导出是否成功并且将对应反馈318提供给系统管理器302。当计划导出不成功时,机器人系统100可确定在当前处理的物体分组中是否剩余任何物体,诸如决策框820处所示。当物体剩余在当前选择/处理的分组中时,流程可进行到框812,并且机器人系统100可选择分组中的下一个物体。当分组中不再剩余任何物体时(例如,基于工具的物体分组316为空),流程可传到框810,并且机器人系统100可更新所连接工具(通过例如执行工具改变734)。机器人系统100可根据仓中的剩余物体和一个或多个对应工具来选择并连接到新的工具。连同工具改变,机器人系统100可导出与新的工具相关联的不同分组的计划。For the example shown in Figure 8, the robotic system 100 may derive a set of plans based on iteratively selecting and planning objects in one grouping before processing another grouping. At decision block 818, planner 304 may determine whether the plan derivation was successful and provide corresponding feedback 318 to system manager 302. When the plan derivation is unsuccessful, the robotic system 100 may determine whether any objects remain in the currently processed object grouping, such as shown at decision block 820 . When an object remains in the currently selected/processed group, flow may proceed to block 812 and the robotic system 100 may select the next object in the group. When there are no more objects remaining in the group (eg, tool-based object group 316 is empty), flow may pass to block 810 and the robotic system 100 may update the connected tool (eg, by performing tool change 734). The robotic system 100 may select and connect a new tool based on the remaining objects in the bin and one or more corresponding tools. Along with tool changes, the robotic system 100 may derive plans for different groups associated with the new tools.
在一些实施方案中,当计划器304导出计划时,机器人系统100可导出和/或更新用于实现计划的序列。例如,系统管理器302可诸如通过将计划在系统管理器302或机器人臂306处排队来调度计划的实现。In some embodiments, when planner 304 derives a plan, robotic system 100 may derive and/or update a sequence for implementing the plan. For example, system manager 302 may schedule implementation of plans, such as by queuing the plans at system manager 302 or robotic arm 306 .
在一个或多个替代实施方案中,机器人系统100可导出每个物体的多个计划(例如,每个可用工具一个计划)。在框822处,机器人系统100可基于对应计划量度和工具改变量度724来导出计划的顺序/组合。机器人系统100可选择并调度具有最低总体成体(例如,总体实现/搬运时间)的序列。In one or more alternative embodiments, robotic system 100 may derive multiple plans for each object (eg, one plan for each available tool). At block 822 , the robotic system 100 may derive the planned sequence/combination based on the corresponding plan metrics and tool change metrics 724 . The robotic system 100 may select and schedule the sequence with the lowest overall cost (eg, overall implementation/handling time).
作为框808-822的说明性实例,机器人系统100可标识在搬运起始仓322中的一组目标物体之前连接到机器人臂306的第一工具(例如,标准固定抓持工具440)。机器人系统100可确定并选择对应于第一工具的第一物体组(例如,基于工具的物体分组316的情况,诸如平坦姿势的物体502)。机器人系统可迭代地导出用于操作机器人臂306来搬运第一组物体的第一组计划。在一些实施方案中,机器人系统100可基于选择组中的物体、导出所选择物体的测试计划以及确定测试计划对于实现是否可行来导出第一组计划。在导出第一组计划之后,机器人系统100可调度工具改变734以在第一组中遵循最后计划。因此,在搬运第一组物体之后,机器人系统100可调度将第二工具(例如,固定角抓持工具450)连接到机器人臂306。机器人系统100可继续导出第二组物体的计划。As an illustrative example of blocks 808-822, robotic system 100 may identify a first tool (eg, standard fixed gripping tool 440) connected to robotic arm 306 prior to handling a set of target objects in starting bin 322. Robotic system 100 may determine and select a first group of objects corresponding to a first tool (eg, in the case of tool-based object grouping 316 , such as flat pose objects 502 ). The robotic system may iteratively derive a first set of plans for operating the robotic arm 306 to handle the first set of objects. In some implementations, robotic system 100 may derive a first set of plans based on selecting objects in the set, deriving test plans for the selected objects, and determining whether the test plans are feasible for implementation. After deriving the first set of plans, the robotic system 100 may schedule tool changes 734 to follow the final plan in the first set. Accordingly, after handling the first set of objects, the robotic system 100 may schedule a second tool (eg, fixed angle gripping tool 450 ) to be connected to the robotic arm 306 . Robotic system 100 may continue to derive a plan for the second set of objects.
在框824处,机器人系统100(经由例如系统管理器302)可实现所调度计划。换句话讲,机器人系统100可操作机器人臂306并且根据所导出搬运计划和它们的调度顺序来搬运物体。计划可与后续导出过程并行地(例如,独立地)实现。例如,系统管理器302可在将目标选择313提供给计划器304以发起第二物体的计划导出之前或之后立即在机器人臂306处发起第一计划的实现。因此,用于第二物体或任何后续物体的导出过程可在机器人臂306搬运第一物体的同时发生。因此,机器人系统100可连续导出并实现运动计划,直到起始位置或所述一组目标物体为空为止,如框826处所示。At block 824, the robotic system 100 (via, for example, the system manager 302) may implement the scheduled plan. In other words, the robotic system 100 can operate the robotic arm 306 and handle objects according to the derived handling plans and their scheduling sequence. The plan can be implemented in parallel (eg, independently) with the subsequent export process. For example, the system manager 302 may initiate implementation of the first plan at the robotic arm 306 immediately before or after providing the target selection 313 to the planner 304 to initiate plan derivation for the second object. Therefore, the derivation process for the second object or any subsequent objects may occur while the robot arm 306 is handling the first object. Accordingly, the robotic system 100 may continuously derive and implement motion plans until the starting position or the set of target objects is empty, as shown at block 826 .
在一些实施方案中,机器人系统100可在搬运计划中包括用于减少可调节抓持工具460的取向控制机构464的张力的操作。机器人系统100可包括(1)在使对应物体与抓持接口的至少一部分接触之后和/或(2)在抓持对应物体之前的对应命令和/或设置。因此,在实现期间,抓持接口418可移位和/或旋转并增大与目标物体的暴露表面的接触面积。换句话讲,抓持接口418可围绕可旋转接头162旋转或调节并且匹配目标物体的表面姿势514。减小的张力可在抓持接口418(例如,吸盘)的启动之前或期间发生,以便改进抓持接口418与目标物体之间建立的抓持。In some embodiments, the robotic system 100 may include operations for reducing tension in the orientation control mechanism 464 of the adjustable gripping tool 460 in the handling plan. The robotic system 100 may include corresponding commands and/or settings (1) after bringing the corresponding object into contact with at least a portion of the grasping interface and/or (2) before grasping the corresponding object. Accordingly, during implementation, the gripping interface 418 may shift and/or rotate and increase the contact area with the exposed surface of the target object. In other words, the gripping interface 418 can rotate or adjust about the rotatable joint 162 and match the surface pose 514 of the target object. The reduced tension may occur before or during activation of the gripping interface 418 (eg, suction cup) in order to improve the grip established between the gripping interface 418 and the target object.
结论in conclusion
所公开技术的实例的上文具体实施方式并不意图是详尽的或将所公开技术限于以上所公开的确切形式。虽然出于说明性目的描述了所公开技术的具体实例,但如相关领域技术人员应认识到,在所公开技术的范围内多种等效修改也是可能的。例如,虽然过程或框是以给定次序呈现的,但替代实现方式可以不同次序执行具有步骤的例程或采用具有框的系统,并且可删除、移动、添加、细分、组合和/或修改一些过程或框来提供替代方案或子组合。这些过程或框中的每一个可以各种不同方式来实现。另外,虽然过程或框有时被示出为串联执行,但这些过程或框可替代地并行执行或实现,或者可在不同时间执行。此外,本文所指出的任何具体数目仅是实例;替代实现方式可采用不同值或范围。The above detailed description of examples of the disclosed technology is not intended to be exhaustive or to limit the disclosed technology to the precise forms disclosed. Although specific examples of the disclosed technology are described for illustrative purposes, those skilled in the relevant art will recognize that various equivalent modifications are possible within the scope of the disclosed technology. For example, although processes or blocks are presented in a given order, alternative implementations may perform routines with steps or employ systems with blocks in a different order, and may be deleted, moved, added, subdivided, combined, and/or modified Some processes or boxes to provide alternatives or subcombinations. Each of these processes or boxes can be implemented in a variety of different ways. Additionally, although processes or blocks are sometimes shown being executed in series, these processes or blocks may instead be executed or implemented in parallel, or may be executed at different times. Furthermore, any specific numbers noted herein are examples only; alternative implementations may employ different values or ranges.
根据上文具体实施方式,可对所公开技术进行这些和其他改变。虽然具体实施方式描述了所公开技术的某些实例以及所设想的最佳模式,但所公开技术可以许多方式来实践,而无论文中上文描述呈现的如何详细。系统的细节可在其具体实现方式中相差甚大,但仍由本文所公开的技术涵盖。如上文所指出,在描述所公开技术的某些特征或方面时所用的特定术语不应被视为暗示本文中将术语重新定义为限于所公开技术的与所述技术相关联的任何具体特性、特征或方面。因此,除所附权利要求之外,本发明不受限制。一般来说,以下权利要求中所用的术语不应被视为将所公开技术限于说明书中所公开的具体实例,除非上文具体实施方式章节明确地限定了此类术语。These and other changes may be made to the disclosed technology in light of the above detailed description. While the detailed description describes certain examples of the disclosed technology and the best mode contemplated, the disclosed technology may be practiced in many ways, no matter how detailed the above description may appear. The details of the systems may vary widely in their specific implementations but are still covered by the technology disclosed herein. As noted above, the use of specific terms in describing certain features or aspects of the disclosed technology should not be taken to imply that the terms are redefined herein to be limited to any specific features associated with the disclosed technology. Characteristics or aspects. Accordingly, the invention is not limited except by the appended claims. In general, the terms used in the following claims should not be construed as limiting the disclosed technology to the specific examples disclosed in the specification, unless such terms are expressly defined in the Detailed Description section above.
虽然本发明的某些方面在下文是以某些权利要求的形式呈现的,但本申请人可设想呈任何数目的权利要求形式的本发明的各种方面。因此,本申请人保留在提交本申请之后追加附加权利要求以在本申请中或在接续申请中追加此类附加权利要求形式的权利。Although certain aspects of the invention are presented below in the form of certain claims, the applicant may contemplate various aspects of the invention in the form of any number of claims. Accordingly, the applicant reserves the right to add additional claims after filing this application, either in this application or in a successor application in the form of such additional claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210215933.7A CN114683299B (en) | 2020-11-05 | 2021-11-03 | Robot tool and method of operating the same |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063109870P | 2020-11-05 | 2020-11-05 | |
US63/109,870 | 2020-11-05 | ||
US17/392,108 | 2021-08-02 | ||
US17/392,108 US11981518B2 (en) | 2020-11-05 | 2021-08-02 | Robotic tools and methods for operating the same |
PCT/US2021/057831 WO2022098706A1 (en) | 2020-11-05 | 2021-11-03 | Robotic tools and methods for operating same |
CN202180004739.8A CN114746224A (en) | 2020-11-05 | 2021-11-03 | Robotic tools and how to operate them |
CN202210215933.7A CN114683299B (en) | 2020-11-05 | 2021-11-03 | Robot tool and method of operating the same |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180004739.8A Division CN114746224A (en) | 2020-11-05 | 2021-11-03 | Robotic tools and how to operate them |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114683299A CN114683299A (en) | 2022-07-01 |
CN114683299B true CN114683299B (en) | 2023-12-29 |
Family
ID=82156262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210215933.7A Active CN114683299B (en) | 2020-11-05 | 2021-11-03 | Robot tool and method of operating the same |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114683299B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08174389A (en) * | 1994-12-27 | 1996-07-09 | Omron Corp | Work programing method and device |
JP2006309577A (en) * | 2005-04-28 | 2006-11-09 | Fuji Electric Systems Co Ltd | Production planning system |
CN108241336A (en) * | 2016-12-27 | 2018-07-03 | 发那科株式会社 | Production plan device |
CN110494258A (en) * | 2017-04-04 | 2019-11-22 | 牧今科技 | Control device, picking up system, logistics system, program, control method and production method |
CN111699501A (en) * | 2019-01-14 | 2020-09-22 | 牧今科技 | Robot system with coordination mechanism and operation method thereof |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006025352A1 (en) * | 2006-05-31 | 2007-12-06 | Advanced Micro Devices, Inc., Sunnyvale | A method and system for determining the utilization of process equipment in a manufacturing environment based on automated material handling system properties |
US9238304B1 (en) * | 2013-03-15 | 2016-01-19 | Industrial Perception, Inc. | Continuous updating of plan for robotic object manipulation based on received sensor data |
-
2021
- 2021-11-03 CN CN202210215933.7A patent/CN114683299B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08174389A (en) * | 1994-12-27 | 1996-07-09 | Omron Corp | Work programing method and device |
JP2006309577A (en) * | 2005-04-28 | 2006-11-09 | Fuji Electric Systems Co Ltd | Production planning system |
CN108241336A (en) * | 2016-12-27 | 2018-07-03 | 发那科株式会社 | Production plan device |
CN110494258A (en) * | 2017-04-04 | 2019-11-22 | 牧今科技 | Control device, picking up system, logistics system, program, control method and production method |
CN111699501A (en) * | 2019-01-14 | 2020-09-22 | 牧今科技 | Robot system with coordination mechanism and operation method thereof |
Also Published As
Publication number | Publication date |
---|---|
CN114683299A (en) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7617577B2 (en) | Robot system with piece loss management mechanism | |
US11413753B2 (en) | Robotic system control method and controller | |
JP7191354B2 (en) | ROBOT TOOL AND METHOD OF OPERATION THEREOF | |
US20210339955A1 (en) | Controller and control method for robot system | |
US20210260762A1 (en) | Controller and control method for robotic system | |
JP6765741B1 (en) | Non-temporary computer-readable storage media, how to operate robot systems and object transfer systems | |
JP6697204B1 (en) | Robot system control method, non-transitory computer-readable recording medium, and robot system control device | |
JP7175487B1 (en) | Robotic system with image-based sizing mechanism and method for operating the robotic system | |
CN114683299B (en) | Robot tool and method of operating the same | |
JP7218881B1 (en) | ROBOT SYSTEM WITH OBJECT UPDATE MECHANISM AND METHOD FOR OPERATING ROBOT SYSTEM | |
CN111618852B (en) | Robot system with coordinated transfer mechanism | |
CN115258510A (en) | Robotic system with object update mechanism and method for operating the same |
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 |