CN117377559A - 用于抓取稳定性的路径约束的自动生成 - Google Patents

用于抓取稳定性的路径约束的自动生成 Download PDF

Info

Publication number
CN117377559A
CN117377559A CN202180098661.0A CN202180098661A CN117377559A CN 117377559 A CN117377559 A CN 117377559A CN 202180098661 A CN202180098661 A CN 202180098661A CN 117377559 A CN117377559 A CN 117377559A
Authority
CN
China
Prior art keywords
robot
acceleration
constraint
autonomous system
grasp
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.)
Pending
Application number
CN202180098661.0A
Other languages
English (en)
Inventor
胡安·L·阿帕里西奥·奥赫亚
海科·克劳森
伊内斯·乌加尔德·迪亚斯
戈克尔·纳拉亚南·沙迪亚·纳拉亚南
欧根·索洛乔
温成涛
夏魏喜
亚什·沙普尔卡尔
沙尚克·塔马斯卡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of CN117377559A publication Critical patent/CN117377559A/zh
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40454Max velocity, acceleration limit for workpiece and arm jerk rate as constraints

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

在一些情况下,能够实现抓取点算法,以便计算能够实现稳定抓取的物体上的抓取点。然而,在此认识到,在实践中,当在所计算的稳定抓取点处抓取物体时,处于运动中的机器人能够掉落该物体或者具有抓取问题。在生成用于机器人的轨迹的同时,生成能够基于给定物体而不同的路径约束,以便确保在机器人的整个运动中抓取保持稳定。

Description

用于抓取稳定性的路径约束的自动生成
背景技术
人工智能(AI)和机器人技术是用于使工厂设置内外的任务自主化的强大组合。动态环境中的自主操作可应用于大规模定制(例如,高混合、低体积制造)、智能工厂中的按需灵活制造过程、智能商店中的仓库自主化、智能物流中来自分配中心的自主递送等。例如,工业机械手或机器人广泛用于需要抓取各种负载和物体的料箱拾取和材料处理应用中。这种机器人通常需要专业知识来实现对单个使用案例的抓取,这可能是耗时且昂贵的。
在一些情况下,能够实现抓取点算法,以便计算能够实现稳定抓取的物体上的抓取点。然而,在此认识到,在实践中,当在所计算的稳定抓取点处抓取物体时,处于运动中的机器人能够掉落该物体或者具有抓取问题。
发明内容
本发明的实施例通过提供用于解决与机器人的运动相关联的抓取稳定性问题的方法、系统和设备来解决和克服在此描述的缺点或技术问题中的一个或多个。具体地,能够在生成机器人的轨迹的同时生成能够基于给定物体而不同的约束,以便确保抓取在机器人的整个运动中保持稳定。
在一个实例方面,计算系统能够检索目标物体的模型。所述模型能够指示所述物体的一个或多个物理特性。计算系统还能够接收与物体所位于的机器人单元相关联的机器人配置数据。此外,计算系统能够获得与物体相关联的抓取点数据。基于机器人配置数据、物体的一个或多个物理特性以及抓取点数据,系统能够选定用于将物体从第一位置移动到第二位置的路径约束,以便限定已选定的路径约束。已选定的路径约束能够限定特定机器人携带物体的抓取姿态、与以抓取姿态移动物体相关联的速度,以及与以抓取姿态移动物体相关联的加速度。
附图说明
当结合附图阅读时,从下面的详细描述中能够最好地理解本发明的上述和其它方面。为了说明本发明,在附图中示出了目前优选的实施例,然而,应当理解,本发明不限于所公开的特定手段。附图中包括下列附图:
图1示出了根据示例性实施例的在包括各种物体的示例性物理环境中包括自主机器的示例性系统。
图2示出了根据示例性实施例的配置用于确定机器人操作的路径约束的示例性计算系统。
图3示出了根据另一示例性实施例的被配置为确定机器人操作的路径约束的另一示例性计算系统。
图4示出了其中能够实现本公开的实施例的计算环境。
具体实施方式
在此认识到,即使在稳定的抓取点处抓取物体之后,由于机器人在移动物体时所涉及的运动,物体也能够从机器人的端部执行器落下。例如,在其他夹持器中,用真空夹持器抓取的物体能够由于物体的姿态、速度和/或加速度而掉落。在此认识到,用于设计能够安全地传送物体的系统的当前方法通常涉及机器人程序员在试错的基础上分别为各个物体设计约束。在其它方法中,使用端到端强化学习。在此还认识到,这种现有方法不能解决复杂的任务和/或过度耗时。在此描述的实施例能够自主地生成与机器人运动相关联的路径约束(例如,姿态、速度、加速度),以便使得能够在多个点之间安全且有效地运输多个物体。
现在参考图1,示出了示例性工业或物理环境100。如这里所使用的,物理环境能够指任何未知的或动态的工业环境。重建或模型能够限定物理环境100或物理环境100内的一个或多个物体106的虚拟表示。物理环境100能够包括被配置为执行一个或多个制造操作(例如组装、运输等)的计算机化的自主系统102。自主系统102能够包括一个或多个机器人装置或自主机器,例如自主机器或机器人装置104,其被配置为执行一个或多个工业任务,如仓拾取、抓取等。系统102能够包括一个或多个计算处理器,该一个或多个计算处理器被配置为处理信息并且控制系统102(具体是自主机器104)的操作。自主机器104能够包括一个或多个处理器,例如处理器108,其被配置为处理信息和/或控制与自主机器104相关联的各种操作。用于在物理环境内操作自主机器的自主系统还能够包括用于存储模块的存储器。所述处理器可还被配置为执行所述模块以便处理信息并基于所述信息生成模型。应当理解,为了示例的目的,简化了所示的环境100和系统102。环境100和系统102能够根据需要改变,并且所有这样的系统和环境都被认为在本公开的范围内。
仍参见图1,自主机器104能够还包括机器人臂或操纵器110以及被配置为用于支撑该机器人操纵器110的底座112。底座112能够包括轮子114,或者能够被配置为在物理环境100内移动。自主机器104能够还包括附接至机器人操纵器110上的端部执行器116。端部执行器116能够包括一个或多个被配置为抓取和/或移动物体106的工具。示例性端部执行器116包括手指夹持器或基于真空的夹持器。机器人操纵器110能够被配置为移动以便改变端部执行器116的位置,例如以便在物理环境100内放置或移动物体106。系统102还能够包括一个或多个相机或传感器,例如三维(3D)点云相机118,其被配置为检测或记录物理环境100内的物体106。相机118能够安装到机器人操纵器110或以其他方式安装在物理环境100内,以便生成给定场景(例如物理环境100)的3D点云。可替换地或附加地,系统102的一个或多个相机能够包括一个或多个标准二维(2D)相机,其能够记录或捕获来自不同视点的图像(例如,RGB图像或深度图像)。这些图像可用于构建3D图像。例如,2D相机能够被安装到机器人操纵器110上以便从沿着由操纵器110限定的给定轨迹的视角捕获图像。
继续参见图1,在一个示例中,一个或多个相机能够被定位在自主机器104上方,或者能够以其他方式被布置以便连续地监测环境100内的任何物体。例如,当物体(例如物体106之一)在环境100内被布置或移动时,相机118能够检测该物体。在一个示例中,处理器108能够确定所检测的给定物体是否被自主系统102识别,以便确定物体被分类为已知还是未知(新的)。
现在参考图2,根据各种实施例,计算系统200能够被配置为确定路径约束,以便在各种制造或工业应用中限定用于机器人抓取物体的路径。计算系统200能够包括其上存储有应用程序、代理和计算机程序模块的一个或多个处理器和存储器,包括例如机器人姿态生成器202、约束制定模块204、约束优化求解器206和比较器模块208。应了解,图2中所描绘的程序模块、应用程序、计算机可执行指令、代码等仅为说明性的且并非详尽的,且描述为由任何特定模块支持的处理可替代地分布在多个模块上或由不同模块执行。此外,能够提供各种程序模块、脚本、插件、应用编程接口(API)或任何其他合适的计算机可执行代码来支持由图2中描绘的程序模块、应用或计算机可执行代码提供的功能和/或附加或替换功能。此外,功能能够被不同地模块化,使得描述为由图2中描绘的程序模块集合共同支持的处理能够由更少或更多数量的模块来执行,或者描述为由任何特定模块支持的功能能够至少部分地由另一模块来支持。此外,支持这里描述的功能的程序模块可形成可根据诸如客户机-服务器模型、对等模型等任何合适的计算模型在任何数量的系统或装置上执行的一个或多个应用程序的一部分。此外,被描述为由图2中描绘的任何程序模块支持的任何功能能够至少部分地以硬件和/或固件在任何数量的装置上实现。
继续参考图2,计算系统200能够存储或以其他方式获得计算系统200能够用来生成与机器人运动相关联的各种路径约束的各种数据。例如,计算系统200能够通信地耦合到存储用于生成路径约束的数据的数据库。附加地或替换地,计算系统200能够限定从中获得数据的一个或多个机器人单元。机器人单元能够指其中一个或多个机器人操作的物理环境或系统。作为示例,自主系统102能够限定通信地耦合到计算系统200或作为计算系统200的一部分的机器人单元。数据能够包括例如物体模型210、抓取点数据212和机器人配置数据214。
机器人配置数据214能够标识在特定机器人单元或自主系统中可用的特定机器人。机器人配置数据214可还指示与特定单元或系统中可用的机器人相关联的抓握模态或端部执行器类型(例如,真空抽吸、手指夹紧)。此外,机器人配置数据214能够指示与各个机器人相关联的各种规范,诸如位置、速度和加速度限制。这种限制能够统称为接头限制,并且通常是指与机器人相关联的最大值。接头限制能够由给定机器人的制造商限定,并且能够从机器人的规格获得。特别地,作为示例而非限制,给定的规格能够限定机器人的最大速度、加速度和各种位置公差,例如吸力强度或抓取宽度。可由制造商限定或以其他方式在机器人配置数据214中提供的另一接头限制是扭矩限制。扭矩限制是指给定接头可承受的最大旋转力。类似地,在某些情况下能够根据机器人配置数据计算跳动限制。跳动限制能够指与接头的跳动或突然加速相关的限制。另外地或可选地,机器人配置数据214能够包括机器人在机器人单元内的位置、机器人的有效负载(例如,机器人能够承载的最大重量),以及给定机器人能够承载的夹持器或工具更换器的类型的指示。机器人配置数据214还能够包括与给定机器人单元内的机器人相关联的各种模型。这样的模型能够包括例如但不限于机器人的碰撞模型或机器人的运动学模型。作为示例,碰撞模型能够限定机器人臂(例如操纵器110)的CAD模型,该CAD模型能够用于确定机器人是否与机器人单元内的其他物体或装备碰撞。运动学模型可用于将机器人姿态从接头空间转换到笛卡尔空间,反之亦然。
抓取点数据212可包括与用特定端部执行器抓取特定物体相关联的一个或多个位置坐标。因此,特定物体的抓取点数据可基于机器人的端部执行器的类型而变化。历史抓取点能够存储在机器人姿态生成器202可访问的数据库中,以供将来使用。附加地或可选地,用于特定物体的抓取点数据212可由在各种其它物体上训练的抓取神经网络生成。物体模型210能够包括目标为抓取和移动的物体的一个或多个模型,例如计算机辅助设计(CAD)模型。从各个物体模型210,系统200能够提取或获得由各个模型210表示的物体的各种特性。例如,系统200能够提取物体的质量分布和各种尺寸。作为另一个示例,系统200能够使用模型210来确定物体的材料成分,例如表面纹理或孔隙度。
继续参考图2,给定的机器人单元或自主系统能够配备有多种机器人臂和夹持器。与这种机器人臂和夹持器相关联的信息能够包括在机器人配置数据214中。例如,当触发拾取和放置操作时,机器人配置数据214能够被发送到机器人姿态生成器202和约束制定模块204。在一些情况下,所获得的机器人配置数据214基于正在为其生成路径约束216的特定机器人单元。例如,机器人配置数据214能够存储在数据库中,并基于其相关联的机器人单元来识别。特别地,机器人姿态生成器202能够获得给定机器人的端部执行器类型(例如,真空、手指夹持器等)。类似地,机器人姿态生成器202能够检索抓取点数据212,抓取点数据212能够包括操作(例如拾取和放置操作)中涉及的物体的抓取点。基于与目标物体相关联的抓取点和与操作中涉及的机器人相关联的端部执行器类型,机器人姿态生成器202能够确定与抓取物体相关的机器人姿态。当机器人抓取并移动目标物体时,用于抓取物体的机器人姿态能够限定端部执行器116的位置和取向。在一些示例中,基于抓取点数据212通过线性关系直接计算端部执行器的位置值。例如,为了生成端部执行器的取向,机器人姿态生成器202能够利用基于采样的方法。特别地,在一个示例中,机器人姿态生成器202能够采样多个端部执行器取向,同时拒绝无效的端部执行器取向。由于碰撞和/或奇点等原因,取向可能无效。继续该示例,因为机器人姿态生成器202能够实现基于样本的方法,在一些情况下,所需姿态的最小数量能够最初被限定为系统参数。来自机器人姿态生成器202的输出能够包括6D(例如,位置和取向)坐标系中的机器人姿态的列表。
基于机器人操作中涉及的物体(目标物体),表示物体的物体模型210可由约束制定模块204检索。这种物体模型210能够指示目标物体的各种物理特性,诸如质量、几何尺寸、重量分布、物体的材料等。此外,基于操作中涉及的机器人,约束制定模块204能够检索与机器人相关联的机器人配置数据214。检索到的机器人配置数据214能够包括机器人的限制,例如机器人接头的最大位置、速度、加速度和扭矩。限制还能够包括与机器人的接头有关的跳动限制。另外地或可选地,端部执行器的类型及其规格可从机器人配置数据214获得或检索。作为示例而非限制,这里给出了能够从机器人配置数据214获得或确定的值,以说明一个示例:最大接头位置=+/-3.14rad;最大接头速度=+/-1.5rad/sec;最大接头加速度=+/-1.0rad/sec2;最大接头跳动=+/-0.8rad/sec3;最大接头扭矩=20N/m;端部执行器类型=抽吸;最大吸入进料压力=5巴。
继续该示例,基于由机器人姿态生成器202生成的机器人姿态、目标物体的物理特性以及操作中涉及的机器人的接头限制,约束制定模块204能够生成约束优化问题。特别地,约束制定模块204能够生成目标函数和约束方程,其能够被提供给约束优化求解器206。通过示例而非限制的方式来说明,示例约束能够包括:端部执行器速度约束‘X1’=-2.1<X1<2.1,端部执行器加速度约束‘X2’=-1.5<X2<1.5,力约束‘X3’=0<X3<7;实例目标函数能够限定包含变量(X1,X2,X3)的多项式方程。
使用约束制定化模块204生成的约束和目标函数,约束优化求解器206可解出目标函数,以最大化每个抓取姿态的端部执行器的速度和加速度,同时确保力、惯性和接头限制在它们各自的约束内。因此,约束优化求解器206可生成限定端部执行器可操作的最大速度和加速度的速度和加速度值,同时在整个机器人运动中维持对目标物体的稳定抓取。约束优化求解器206能够为与每个抓取点(抓取姿态)相关联的每个机器人姿态生成最大速度和加速度值。因此,约束优化求解器206能够向比较器模块208提供与各种(例如所有)机器人姿态相关联的多个加速度和速度值对。比较器模块208能够比较针对不同抓取姿态生成的速度和加速度值对并且选定最佳组合,以便确定路径约束216。在一些情况下,比较器模块208选定与最大速度和加速度值相关联的姿态。可替换地或附加地,比较器模块208能够将其选定基于用户限定的规范。例如,这种用户限定的规范可用于解析联系或区分某些组合的优先级。
因此,路径约束216可包括在涉及移动目标物体的机器人操作期间对端部执行器的速度、加速度和姿态的约束。基于路径约束216,系统200能够确定用于操作机器人以移动目标物体的轨迹。在一些情况下,比较器模块208能够以指令的形式将路径约束216发送到相关联的机器人单元,使得所选机器人根据路径约束216执行操作,例如拾取和放置操作。
现在参考图3,根据另一实施例,计算系统300能够被配置为确定路径约束314,以便在各种制造或工业应用中限定用于机器人抓取物体的路径。计算系统300能够包括其上存储有应用程序、代理和计算机程序模块的一个或多个处理器和存储器。计算系统300能够存储或以其他方式获得计算系统300能够用来生成与机器人运动相关联的各种路径约束的各种数据。例如,计算系统300能够通信地耦合到存储用于生成路径约束的数据的数据库。附加地或替换地,计算系统300能够限定从中获得数据的一个或多个机器人单元。数据能够包括例如但不限于机器人模型310和物体数据312。
机器人模型310能够识别在特定机器人单元或自主系统中可用的特定机器人。机器人模型310可还指示与特定单元或系统中可用的机器人相关联的抓握模态或端部执行器类型(例如,真空抽吸、手指夹紧)。此外,如上所述,机器人模型310能够指示与各个机器人相关联的各种规范,诸如机器人接头的位置、速度和加速度限制。这种限制能够统称为接头限制,并且通常是指与机器人接头相关联的最大值。物体数据312能够限定合成物体数据集,该合成物体数据集能够包括与目标为抓取和移动的物体相关联的数据。
继续参考图3,在302,基于机器人模型310和物体数据312,计算系统200能够生成模拟环境。在各种示例中,在302生成的模拟环境能够限定具有接触的多接头动力学(MuJoCo)环境或基于子弹物理学的(PyBullet)环境。例如,所生成的模拟环境能够看起来类似于自主系统102。由机器人模型310之一表示的机器人能够在模拟环境中以预定的6D坐标姿态产生。类似地,能够以预定的6D坐标姿态产生支撑物体的桌子或其他平台。然后,在一些情况下,来自物体数据312的一个或多个物体能够被选定并以随机生成的物体姿态在表格上产生。计算系统300的模拟模块301可被配置成在生成的模拟环境内执行模拟。例如,在304,模拟模块301可生成用于给定端部执行器的不同抓取姿态以抓取目标物体。在306,使用所生成的抓取姿态,模拟模块301能够在目标物体上执行所生成的抓取姿态中的每一个。如果通过给定的抓取姿态成功地抓取了物体,则模拟能够进行到308,其中沿着一个或多个轨迹模拟给定的抓取姿态。轨迹能够限定各种速度和加速度分布。如果在304处的模拟期间没有成功地抓取物体,则模拟能够返回到302,在302处能够生成一个或多个附加抓取姿态。
继续参考图3,在310,执行一个或多个轨迹模拟。在轨迹模拟期间,模拟模块301可在目标物体已被抓取并沿轨迹移动之后确定端部执行器是否正固持物体。此外,模拟模块301能够测量物体的抓取姿态与物体已经沿着轨迹移动到其目的地之后的物体的姿态之间的偏差。此外,在310,模拟模块301能够基于轨迹模拟的性能奖励值。在各种示例中,奖励值限定诸如速度、加速度、跳动、物体位置偏差和轨迹成功状态的轨迹参数的加权函数。例如,如果物体被掉落,则模拟模块301能够将负奖励分配给特定轨迹模拟。在其他示例中,如果物体成功地从其抓取位置运输到其最终目的地,则奖励值能够基于姿态偏差和轨迹参数(例如速度和加速度)而变化。例如,限定比由第二成功轨迹限定的速度和/或加速度更高的速度和/或加速度的第一成功轨迹能够被分配比分配给第二成功轨迹的奖励值更高的奖励值。在一些情况下,奖励函数可由用户限定,使得特定路径约束可根据特定焦点接收额外权重或较少权重。基于奖励值,模拟模块301能够学习各种物体的各种抓取姿态和轨迹参数。
另外,能够利用奖励值来引导搜索空间,同时对路径约束的值进行采样。为了举例说明,考虑五个不同的路径约束,其中它们都具有固定的速度(例如,2.0m/s),但是加速度值在一个范围(例如,1m/s2到3m/s2)内变化。此外,考虑在执行模拟之后所有上述路径约束的奖励值被计算为负的情形。根据该信息,系统能够推断采样的速度和加速度空间不好。基于此学习,模拟模块301可自主改变取样方向以生成与特定机器人和物体相关联的更好的约束314。具体地,路径约束314能够限定特定物体的抓取姿态和轨迹参数(速度和加速度)。因此,能够生成抓取姿态和用于抓取姿态的轨迹参数以用于目标物体的安全运输。轨迹参数能够限定物体能够在特定抓取中安全移动的最大速度和最大加速度。
因此,计算系统200和300可自主生成新物体的路径约束,以确保该物体被安全地处理和运输。不受理论的约束,在此认识到,轨迹分析的现有方法典型地依赖于确定成功的抓取姿态,而在此描述的系统考虑了各种机器人运动(例如,速度、加速度),同时实现不同的抓取姿态。
如在此所描述的,根据不同的实施例,自主系统能够包括机器人单元内的机器人。该机器人能够限定端部执行器,该端部执行器被配置为用于在物理环境内抓取物体。该自主系统能够还包括一个或多个处理器,以及存储指令的存储器,在由该一个或多个处理器执行这些指令时,这些指令使该自主系统检索该物体的模型。所述模型能够指示所述物体的一个或多个物理特性。该自主系统能够还接收与该机器人单元相关联的机器人配置数据,并且获得与该物体相关联的抓取点数据。基于该机器人配置数据、该物体的一个或多个物理特性,以及该抓取点数据,该自主系统能够选定用于将该物体从第一位置移动到第二位置的路径约束,以便限定已选定的路径约束。已选定的路径约束能够限定机器人携带物体的抓取姿态、与以抓取姿态移动物体相关联的速度,以及与以抓取姿态移动物体相关联的加速度。该自主系统能够还被配置为从该机器人配置数据中提取该机器人被设计成行进的最大速度值和最大加速度值。
在一些情况下,已选定的路径约束的速度和已选定的路径约束的加速度中的至少一个分别等于最大速度值和最大加速度值。可替代地,在一些情况下,已选定的路径约束的速度小于最大速度值,并且已选定的路径约束的加速度小于最大加速度值。该自主系统能够还被配置为用于确定限定多个抓取姿态的多个路径约束,在这些抓取姿态中该机器人能够将该物体从该第一位置移动到该第二位置而不使该物体掉落,并且基于该已选定的路径约束的速度和加速度从该多个路径约束中选定该已选定的路径约束。在一些情况下,为了确定路径约束,自主系统基于机器人配置数据、物体的一个或多个物理特性以及抓取点数据来制定并解决约束优化问题。在其他示例中,为了确定该路径约束,该自主系统基于该机器人配置数据、该物体的一个或多个物理特性,以及该抓取点数据来模拟多个轨迹。此外,为了确定该路径约束,该自主系统能够基于速度值、加速度值,以及与相应轨迹相关联的抓取姿态来向该多个轨迹中的每一个轨迹分配奖励值。在选定了已选定的路径约束之后,自主系统(特别是机器人)能够以已选定的路径约束的抓取姿态将物体从第一位置移动到第二位置。
图4示出了其中能够实现本公开的实施例的计算环境的示例。计算环境400包括计算机系统410,其可包括诸如系统总线421的通信机制或用于在计算机系统410内传送信息的其它通信机制。计算机系统410还包括与系统总线421耦合的用于处理信息的一个或多个处理器420。自治系统102、计算系统200和计算系统300能够包括或耦合到一个或多个处理器420。
处理器420能够包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)或本领域已知的任何其他处理器。更一般地,这里描述的处理器是用于执行存储在计算机可读介质上的机器可读指令的装置,用于执行任务,并且能够包括硬件和固件中的任何一个或其组合。处理器还能够包括存储可执行用于执行任务的机器可读指令的存储器。处理器通过操纵、分析、修改、转换或传输由可执行程序或信息装置使用的信息和/或通过将信息路由到输出装置来对信息起作用。处理器能够使用或包括例如计算机、控制器或微处理器的能力,并且使用可执行指令来调节以执行不由通用计算机执行的专用功能。处理器能够包括任何类型的适当处理单元,包括但不限于中央处理单元、微处理器、精简指令集计算机(RISC)微处理器、复杂指令集计算机(CISC)微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上系统(SoC)、数字信号处理器(DSP)等。此外,处理器420能够具有任何合适的微体系结构设计,其包括任何数量的构成部件,例如寄存器、多路复用器、算术逻辑单元、用于控制对高速缓冲存储器的读/写操作的高速缓存控制器、分支预测器等。处理器的微体系结构设计能够支持多种指令集中的任何指令集。处理器能够与能够在其间进行交互和/或通信的任何其它处理器耦合(电耦合和/或包括可执行部件)。用户接口处理器或生成器是已知的元件,包括用于生成显示图像或其部分的电子电路或软件或两者的组合。用户界面包括使用户能够与处理器或其它装置交互的一个或多个显示图像。
系统总线421能够包括系统总线、存储器总线、地址总线或消息总线中的至少一个,并且能够允许在计算机系统410的各个部件之间交换信息(例如,数据(包括计算机可执行代码)、信令等)。系统总线421能够包括但不限于存储器总线或存储器控制器、外围总线、加速图形端口等。系统总线421能够与任何合适的总线体系结构相关联,包括但不限于工业标准体系结构(ISA)、微通道体系结构(MCA)、增强型ISA(EISA)、视频电子标准协会(VESA)体系结构、加速图形端口(AGP)体系结构、外围部件互连(PCI)体系结构、PCI-Express体系结构、个人计算机存储卡国际协会(PCMCIA)体系结构、通用串行总线(USB)体系结构等。
继续参考图4,计算机系统410还能够包括耦合到系统总线421的系统存储器430,用于存储要由处理器420执行的信息和指令。系统存储器430能够包括易失性和/或非易失性存储器形式的计算机可读存储介质,诸如只读存储器(ROM)431和/或随机存取存储器(RAM)432。RAM 432能够包括其它动态存储装置(例如,动态RAM、静态RAM和同步DRAM)。ROM431可包括其它静态存储装置(例如,可编程ROM、可擦除PROM和电可擦除PROM)。另外,系统存储器430可用于在处理器420执行指令期间存储临时变量或其它中间信息。基本输入/输出系统433(BIOS)包含有助于诸如在启动期间在计算机系统410内的元件之间传递信息的基本例程,它能够存储在ROM 431中。RAM 432能够包含可由处理器420立即访问和/或当前正由处理器620操作的数据和/或程序模块。系统存储器430可另外包括例如操作系统434、应用程序435和其它程序模块436。应用程序435还能够包括用于开发应用程序的用户门户,允许输入参数并根据需要修改。
操作系统434能够被加载到存储器430中,并且能够提供在计算机系统410上执行的其他应用软件与计算机系统410的硬件资源之间的接口。更具体地,操作系统434可包括一组计算机可执行指令,用于管理计算机系统410的硬件资源并向其它应用程序提供公共服务(例如,管理各种应用程序之间的存储器分配)。在某些示例性实施例中,操作系统434能够控制被描绘为存储在数据存储装置440中的一个或多个程序模块的执行。操作系统434可包括现在已知或将来可开发的任何操作系统,包括但不限于任何服务器操作系统,任何主机操作系统,或任何其它专有或非专有操作系统。
计算机系统410还能够包括耦合到系统总线421以控制用于存储信息和指令的一个或多个存储装置的盘/介质控制器443,诸如磁硬盘441和/或可移动介质驱动器442(例如,软盘驱动器、光盘驱动器、磁带驱动器、闪存驱动器和/或固态驱动器)。能够使用适当的装置接口(例如,小型计算机系统接口(SCSI)、集成装置电子设备(IDE)、通用串行总线(USB)或火线)将存储装置440添加到计算机系统410。存储装置441、442能够在计算机系统410的外部。
计算机系统410还能够包括耦合到系统总线421的现场设备接口465,以控制现场设备466,诸如在生产线中使用的设备。计算机系统410能够包括用户输入接口或GUI 461,其能够包括一个或多个输入装置,诸如键盘、触摸屏、输入板和/或定点装置,用于与计算机用户交互并向处理器420提供信息。
计算机系统410能够响应于处理器420执行包含在诸如系统存储器430的存储器中的一个或多个指令的一个或多个序列来执行本发明实施例的处理步骤的一部分或全部。这样的指令能够从存储装置440的另一计算机可读介质(诸如磁硬盘441或可移动介质驱动器442)读入系统存储器430。磁硬盘441(或固态驱动器)和/或可移动介质驱动器442能够包含本公开的实施例所使用的一个或多个数据存储和数据文件。数据存储440能够包括但不限于数据库(例如,关系型、面向物体的等)、文件系统、平面文件、其中数据存储在计算机网络的多于一个节点上的分布式数据存储、对等网络数据存储等。数据存储能够存储各种类型的数据,例如技能数据、传感器数据或根据本公开的实施例生成的任何其他数据。数据存储内容和数据文件能够被加密以提高安全性。处理器420还能够用在多处理布置中,以执行包含在系统存储器430中的一个或多个指令序列。在替换实施例中,硬连线电路能够代替软件指令或与软件指令结合使用。因此,实施例不限于硬件电路和软件的任何特定组合。
如上所述,计算机系统410能够包括至少一个计算机可读介质或存储器,用于保存根据本发明的实施例编程的指令,并且用于包含数据结构、表、记录或这里描述的其它数据。这里使用的术语“计算机可读介质”是指参与向处理器420提供指令以供执行的任何介质。计算机可读介质能够采用许多形式,包括但不限于非瞬态、非易失性介质、易失性介质和传输介质。非易失性介质的非限制性示例包括光盘、固态驱动器、磁盘和磁光盘,诸如磁硬盘441或可移动介质驱动器442。易失性介质的非限制性示例包括动态存储器,诸如系统存储器430。传输介质的非限制性示例包括同轴电缆、铜线和光纤,包括构成系统总线421的导线。传输介质也能够采用声波或光波的形式,例如在无线电波和红外数据通信期间生成的声波或光波。
用于执行本公开的操作的计算机可读介质指令能够是汇编指令、指令集体系结构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任何组合编写的源代码或目标代码,其包括诸如Smalltalk、C++等的面向物体的编程语言,以及诸如“C”编程语言或类似编程语言的常规过程编程语言。计算机可读程序指令能够完全在用户的计算机上,部分在用户的计算机上,作为独立的软件包,部分在用户的计算机上和部分在远程计算机上或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机能够通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者能够连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路能够通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本公开的各方面。
本文参考根据本公开的实施例的方法、设备(系统)和计算机程序产品的流程图和/或框图来描述本公开的各方面。应当理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合能够由计算机可读介质指令来实现。
计算环境400还可包括使用到诸如远程计算装置480等一个或多个远程计算机的逻辑连接在联网环境中操作的计算机系统410。网络接口470能够实现例如经由网络471与其它远程装置480或系统和/或存储装置441、442的通信。远程计算装置480能够是个人计算机(膝上型或桌上型)、移动装置、服务器、网关、路由器、网络PC、对等装置或其它公共网络节点,并且通常包括以上相对于计算机系统410描述的许多或所有元件。当在联网环境中使用时,计算机系统410能够包括调制解调器472,用于在诸如因特网的网络471上建立通信。调制解调器472可经由用户网络接口470或经由另一适当机构连接到系统总线421。
网络471能够是本领域中通常已知的任何网络或系统,包括因特网、内联网、局域网(LAN)、广域网(WAN)、城域网(MAN)、直接连接或一系列连接、蜂窝电话网络,或能够促进计算机系统410与其它计算机(例如,远程计算装置480)之间的通信的任何其它网络或介质。网络471能够是有线的、无线的或其组合。有线连接能够使用以太网、通用串行总线(USB)、RJ-6或本领域公知的任何其它有线连接来实现。无线连接能够使用Wi-Fi、WiMAX和蓝牙、红外、蜂窝网络、卫星或本领域公知的任何其它无线连接方法来实现。另外,若干网络可单独工作或彼此通信以促进网络471中的通信。
应当理解,在图4中描述为存储在系统存储器430中的程序模块、应用程序、计算机可执行指令、代码等仅仅是说明性的而不是穷举性的,并且描述为由任何特定模块支持的处理能够可替换地分布在多个模块上或者由不同的模块执行。此外,能够提供各种程序模块、脚本、插件、应用程序编程接口(API),或在计算机系统410、远程装置480上本地托管的和/或在可经由一个或多个网络471访问的其它计算装置上托管的任何其它合适的计算机可执行代码,以支持由图4中描绘的程序模块、应用程序或计算机可执行代码提供的功能和/或附加或替换功能。此外,功能能够被不同地模块化,使得描述为由图4中描绘的程序模块集合共同支持的处理能够由更少或更多数量的模块来执行,或者描述为由任何特定模块支持的功能能够至少部分地由另一模块来支持。此外,支持这里描述的功能的程序模块可形成可根据诸如客户机-服务器模型、对等模型等任何合适的计算模型在任何数量的系统或装置上执行的一个或多个应用程序的一部分。此外,被描述为由图4中描绘的任何程序模块支持的任何功能能够至少部分地以硬件和/或固件在任何数量的装置上实现。
还应当理解,在不脱离本公开的范围的情况下,计算机系统410能够包括所描述或描绘的之外的替代和/或附加硬件、软件或固件部件。更具体地,应当理解,被描绘为形成计算机系统410的一部分的软件、固件或硬件部件仅仅是说明性的,并且在各种实施例中能够不存在某些部件或者能够提供附加部件。虽然已将各种说明性程序模块描绘和描述为存储在系统存储器430中的软件模块,但应了解,描述为由程序模块支持的功能性可由硬件、软件和/或固件的任何组合来启用。应还了解,在各种实施例中,上述模块中的每一个可表示所支持功能的逻辑分区。该逻辑分区是为了便于解释功能而描绘的,并且能够不代表用于实现该功能的软件、硬件和/或固件的结构。因此,应了解,在各种实施例中,描述为由特定模块提供的功能性可至少部分地由一个或多个其它模块提供。此外,在某些实施例中可不存在一个或多个所描绘的模块,而在其它实施例中,可存在未描绘的额外模块且可支持所述功能性和/或额外功能性的至少一部分。此外,虽然某些模块可被描绘和描述为另一模块的子模块,但在某些实施例中,此类模块可被提供为独立模块或其他模块的子模块。
虽然已经描述了本公开的特定实施例,但是本领域的普通技术人员将认识到,在本公开的范围内存在许多其它修改和替换实施例。例如,关于特定装置或部件描述的任何功能和/或处理能力能够由任何其他装置或部件来执行。此外,虽然已经根据本公开的实施例描述了各种说明性实施方式和架构,但是本领域普通技术人员将理解,对本文描述的说明性实施方式和架构的许多其他修改也在本公开的范围内。另外,应了解,本文中描述为基于另一操作、元件、部件、数据等的任何操作、元件、部件、数据等可另外基于一个或多个其它操作、元件、部件、数据等。因此,短语“基于”或其变体应被解释为“至少部分地基于”。
虽然已经用结构特征和/或方法动作专用的语言描述了实施例,但是应当理解,本公开不必限于所描述的具体特征或动作。相反,这些具体特征和动作是作为实现这些实施例的说明性形式而公开的。条件性语言,例如“能够”、“能”、“可”或“可能”等,除非另外具体说明或在所使用的上下文中另外理解,通常旨在传达某些实施例可包括而其他实施例不包括某些特征、元件和/或步骤。因此,这种条件语言通常不是要暗示特征、元件和/或步骤以任何方式对于一个或多个实施例是必需的,或者一个或多个实施例必须包括用于在有或没有用户输入或提示的情况下决定这些特征、元件和/或步骤是否被包括在任何特定实施例中或者是否将在任何特定实施例中执行的逻辑。
图中的流程图和框图示出了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框能够表示指令的模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些可替换的实施方式中,方框中指出的功能能够不按附图中指出的序列发生。例如,根据所涉及的功能,连续示出的两个框实际上能够基本上同时执行,或者这些框有时能够以相反的序列执行。还将注意到,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合能够由执行指定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。

Claims (17)

1.一种由机器人移动物体的方法,所述方法包括:
检索所述物体的模型,所述模型指示所述物体的一个或多个物理特性;
接收与机器人单元相关联的机器人配置数据;
获得与所述物体相关联的抓取点数据;以及
基于所述机器人配置数据、所述物体的所述一个或多个物理特性以及所述抓取点数据,选定用于将所述物体从第一位置移动到第二位置的路径约束,以便限定已选定的路径约束,所述已选定的路径约束限定了所述机器人携带所述物体的抓取姿态、与以所述抓取姿态移动所述物体相关联的速度以及与以所述抓取姿态移动所述物体相关联的加速度。
2.根据权利要求1所述的方法,所述方法还包括:
从所述机器人配置数据中提取所述机器人被设计用于行进的最大速度值和最大加速度值。
3.根据权利要求2所述的方法,其中,所述已选定的路径约束的速度和所述已选定的路径约束的加速度中的至少一个分别等于最大速度值和最大加速度值。
4.根据权利要求3所述的方法,其中,所述已选定的路径约束的速度小于最大速度值,并且所述已选定的路径约束的加速度小于最大加速度值。
5.根据权利要求1所述的方法,所述方法还包括:
确定限定多个抓取姿态的多个路径约束,在所述抓取姿态中,所述机器人能够将所述物体从所述第一位置移动到所述第二位置而不使所述物体掉落;以及
基于所述已选定的路径约束的速度和加速度,从多个路径约束中选定所述已选定的路径约束。
6.根据权利要求5所述的方法,其中,确定多个路径约束还包括:
基于所述机器人配置数据、所述物体的一个或多个物理特性以及所述抓取点数据,制定并解决约束优化问题。
7.根据权利要求5所述的方法,其中,确定多个路径约束还包括:
基于所述机器人配置数据、所述物体的所述一个或多个物理特性以及所述抓取点数据,模拟多个轨迹;以及
基于与相应的轨迹相关联的速度值、加速度值和抓取姿态,向多个轨迹中的每一个轨迹分配奖励值。
8.根据前述权利要求中任一项所述的方法,所述方法还包括:
在所述已选定的路径约束的所述抓取姿态中,由所述机器人将所述物体从所述第一位置移动到所述第二位置。
9.一种自主系统,包括:
机器人单元内的机器人,所述机器人限定端部执行器,所述端部执行器配置用于抓取物理环境内的物体;
一个或多个处理器;和
存储指令的存储器,在由所述一个或多个处理器执行所述指令时,所述指令使所述自主系统:
检索所述物体的模型,所述模型指示所述物体的一个或多个物理特性;
接收与所述机器人单元相关联的机器人配置数据;
获得与所述物体相关联的抓取点数据;以及
基于所述机器人配置数据、所述物体的一个或多个物理特性以及所述抓取点数据,选定用于将所述物体从第一位置移动到第二位置的路径约束,以便限定已选定的路径约束,所述已选定的路径约束限定所述机器人携带所述物体的抓取姿态、与以所述抓取姿态移动所述物体相关联的速度以及与以所述抓取姿态移动所述物体相关联的加速度。
10.根据权利要求9所述的自主系统,所述存储器还存储指令,在由所述一个或多个处理器执行所述指令时,所述指令还使所述自主系统:从所述机器人配置数据中提取所述机器人被设计用于行进的最大速度值和最大加速度值。
11.根据权利要求10所述的自主系统,其中,所述已选定的路径约束的速度和所述已选定的路径约束的加速度中的至少一个分别等于最大速度值和最大加速度值。
12.根据权利要求11所述的自主系统,其中,所述已选定的路径约束的速度小于所述最大速度值,并且所述已选定的路径约束的加速度小于所述最大加速度值。
13.根据权利要求9所述的自主系统,所述存储器还存储指令,在由所述一个或多个处理器执行所述指令时,所述指令还使所述自主系统:确定限定多个抓取姿态的多个路径约束,在所述抓取姿态中,所述机器人能够将所述物体从所述第一位置移动到所述第二位置而不使所述物体掉落;以及
基于所述已选定的路径约束的速度和加速度,从多个路径约束中选定所述已选定的路径约束。
14.根据权利要求13所述的自主系统,所述存储器还存储指令,在由所述一个或多个处理器执行所述指令时,所述指令还使所述自主系统:基于所述机器人配置数据、所述物体的一个或多个物理特性以及所述抓取点数据,制定并解决约束优化问题。
15.根据权利要求9所述的自主系统,所述存储器还存储指令,在由所述一个或多个处理器执行所述指令时,所述指令还使所述自主系统:
基于所述机器人配置数据、所述物体的一个或多个物理特性以及所述抓取点数据,模拟多个轨迹;以及
基于与相应的轨迹相关联的速度值、加速度值和抓取姿态,向多个轨迹中的每一个轨迹分配奖励值。
16.根据权利要求9至15中任一项所述的自主系统,所述存储器还存储指令,在由所述一个或多个处理器执行所述指令时,所述指令还使所述自主系统:
在所述已选定的路径约束的所述抓取姿态中,由所述机器人将所述物体从所述第一位置移动到所述第二位置。
17.一种包括指令的非暂时性计算机可读存储介质,在由计算系统处理所述指令时,所述指令使所述计算系统执行根据权利要求1至8中任一项所述的方法。
CN202180098661.0A 2021-05-25 2021-05-25 用于抓取稳定性的路径约束的自动生成 Pending CN117377559A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/034035 WO2022250659A1 (en) 2021-05-25 2021-05-25 Auto-generation of path constraints for grasp stability

Publications (1)

Publication Number Publication Date
CN117377559A true CN117377559A (zh) 2024-01-09

Family

ID=76601711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180098661.0A Pending CN117377559A (zh) 2021-05-25 2021-05-25 用于抓取稳定性的路径约束的自动生成

Country Status (4)

Country Link
US (1) US20240198526A1 (zh)
EP (1) EP4326496A1 (zh)
CN (1) CN117377559A (zh)
WO (1) WO2022250659A1 (zh)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6931457B2 (ja) * 2017-07-14 2021-09-08 オムロン株式会社 モーション生成方法、モーション生成装置、システム及びコンピュータプログラム

Also Published As

Publication number Publication date
WO2022250659A1 (en) 2022-12-01
US20240198526A1 (en) 2024-06-20
EP4326496A1 (en) 2024-02-28

Similar Documents

Publication Publication Date Title
CN114728412B (zh) 使用视觉数据的机器人的运动路径的优化
WO2020154542A1 (en) Efficient adaption of robot control policy for new task using meta-learning based on meta-imitation learning and meta-reinforcement learning
CN109760040B (zh) 干扰判定方法、干扰判定系统以及存储介质
Asadi et al. Automated object manipulation using vision-based mobile robotic system for construction applications
CN113561171B (zh) 具有动态运动调整机制的机器人系统及其操作方法
US12049010B2 (en) Trajectory optimization using neural networks
WO2020012712A1 (ja) 把持姿勢評価装置及び把持姿勢評価プログラム
WO2020231319A1 (en) Robot cell setup system and process
CN115461199A (zh) 用于自主机器人操作的面向任务的3d重构
CN115038554A (zh) 基于传感器的用于自主机器的复杂场景的构建
US20230330858A1 (en) Fine-grained industrial robotic assemblies
Maeda et al. Sensorless in-hand caging manipulation
Bogue Bin picking: A review of recent developments
US20240208069A1 (en) Automatic pick and place system
Gonnochenko et al. Coinbot: Intelligent robotic coin bag manipulation using artificial brain
CN114800512B (zh) 一种基于深度强化学习的机器人推拨装箱方法及系统
CN117377559A (zh) 用于抓取稳定性的路径约束的自动生成
Nambiar et al. Automation of unstructured production environment by applying reinforcement learning
KR20230128502A (ko) 동작 계획
WO2024019701A1 (en) Bin wall collision detection for robotic bin picking
Chen et al. Robotic pick-and-handover maneuvers with camera-based intelligent object detection and impedance control
EP4175795B1 (en) Transfer between tasks in different domains
WO2023033814A1 (en) Robotic task planning
Gonnochenko et al. Coinbot: Intelligent robotic coin bag manipulation using deep reinforcement learning and machine teaching
Azpiri Advances in flexible manipulation through the application of AI-based techniques

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