具有动态运动调整机制的机器人系统及其操作方法与流程

文档序号:26541751发布日期:2021-09-07 22:06阅读:174来源:国知局
具有动态运动调整机制的机器人系统及其操作方法与流程
具有动态运动调整机制的机器人系统及其操作方法
1.相关申请的交叉引用
2.本技术要求于2020年1月5日申请的第62/957,282号的美国临时专利申请案的权益,所述临时专利申请案的内容以引用方式全部并入本文中。
技术领域
3.本技术总体上涉及机器人系统,并且更具体地涉及用于动态地调整即将到来的机器人动作的系统、过程和技术。


背景技术:

4.随着性能的不断增强和成本的降低,许多机器人(例如,被配置为自动地/自主地执行物理动作的机器)现在广泛用于许多领域。例如,机器人可用于在制造和/组装、打包和/或包装、运输和/或装运等中执行多种任务(例如,跨空间操纵或搬运物体)。在执行任务时,机器人可复制人类动作,从而替换或减少执行危险或重复性任务原本所需的人类参与。
5.然而,尽管技术不断进步,但是机器人往往缺乏复制执行更错综复杂任务所需的人类敏感性和/或适应性所必需的复杂程度。例如,机器人通常缺乏诸如响应于真实世界状况和/或其动态变化而动态地(例如,在执行正在进行的操作/任务期间)调整为机器人调度的即将到来的动作所需的控制粒度和灵活性。因此,仍然需要用于控制和管理机器人的多个方面以不管多种真实世界因素如何都完成任务的改进的技术和系统。
附图说明
6.图1是具有动态运动调整机制的机器人系统可在其中操作的示例性环境的图示。
7.图2是示出根据本技术的一个或多个实施方案的机器人系统的框图。
8.图3是根据本技术的一个或多个实施方案的机器人系统的图示。
9.图4是根据本技术的一个或多个实施方案的执行示例性任务的机器人系统的俯视图。
10.图5a是根据本技术的一个或多个实施方案的响应轮廓的图示。
11.图5b是根据本技术的一个或多个实施方案的示例性调整的图示。
12.图6是根据本技术的一个或多个实施方案的用于操作图1的机器人系统的示例性方法的流程图。
13.图7a至图7d是根据本技术的一个或多个实施方案的示例性调整机制的图示。
具体实施方式
14.本文描述了用于具有动态运动调整机制的机器人系统的系统和方法。根据一些实施方案配置的机器人控制系统(例如,执行一个或多个指定任务的装置的集成系统)基于根据真实世界状况或其动态变化动态地调整即将到来的机器人动作而提供减少的资源消耗、减少的任务完成时间、提高的效率、减少的错误率等。
15.一些常规的系统使用离线打包模拟器来预定打包顺序/布置。传统的打包模拟器处理一组预定的或估计的箱的物体信息(例如,箱形状/大小)以生成打包计划。一旦被确定,打包计划就指示和/或要求目的地处的物体(例如,货盘、仓、笼、盒等)的特定放置位置/姿势、用于放置的预定义顺序和/或预定运动计划。根据预定打包计划,打包模拟器可以导出匹配或实现打包计划的源要求(例如,物体的顺序和/或放置)。
16.当离线开发打包计划时,所述计划独立于实际的打包操作/状况、物品到达和/或其他系统实施。因此,总体操作/实施将要求所接收包裹(例如,在起始/拾取位置)遵循与预定打包计划匹配的固定顺序。这样,系统无法适应所接收包装中的实时状况和/或偏差(例如,不同的顺序、位置和/或取向)、意外错误(例如,碰撞、丢件和/或不同的包装状况)、实时打包要求(例如,所接收次序)和/或实施离线开发的打包计划期间的其他实时因素。
17.与常规系统相比,本文描述的机器人系统可以根据实时因素动态地调整打包计划、对应的运动计划和/或其实施。作为说明性示例,机器人系统可以使用机器人单元(例如,搬运单元,诸如机器人臂)实施所计划轨迹(例如,运动计划)。所计划轨迹可以包括所计划路径点,其定义在物体移动期间的目标位置。
18.机器人系统可以跟踪沿所计划轨迹的进度,并动态地调整与所计划轨迹的一个或多个剩余部分相对应的即将到来的机器人动作(例如,速度、设置、状态等)。为了进行更新,机器人系统可以导出一组新的更新后路径点,以替换所计划路径点。更新后路径点可以在所计划轨迹上或沿所计划轨迹,并且对应于对任务实施的动态调整,诸如例如用于停止、恢复和/或取消机器人和/或由机器人所保持/携带的目标物体的移动和/或用于调整机器人和目标物体的移动速度。
19.在一些实施方案中,机器人系统可以响应于输入/输出状态(诸如所接收命令、错误检测和/或与所计划/所实施轨迹相关联的情景或环境的其他变化)而导出沿所计划轨迹的可行性区域。机器人系统可以根据对应机器人(例如,实施/遵循所计划轨迹的机器人)的响应轮廓(例如,能力和/或延迟)来导出可行性区域。机器人系统可以使用现有的所计划轨迹并导出一个或多个更新后路径点以替换所计划路径点。可以根据一个或多个实时参数,将更新后路径点中的第一个路径点导出为可行性区域内的位置。替代地或另外,机器人系统可以迭代地更新可行性区域和一个或多个实时参数以达到目标最终状态。因此,机器人系统可以动态地调整操作机器人的一个或多个方面,以实施/遵循所计划轨迹的一个或多个剩余部分。
20.在以下描述中,阐述众多具体细节以提供对当前公开技术的彻底理解。在其他实施方案中,此处所引入的技术可在没有这些具体细节的情况下实践。在其他情况下,不详细描述诸如具体函数或例程的公知特征,以便避免不必要地使本公开晦涩难懂。此说明中对“实施方案”或“一个实施方案”或类似用语的引用意指所描述的特定特征、结构、材料或特性包括在本公开的至少一个实施方案中。因此,本说明书中此类短语的出现不一定都指代同一实施方案。另一方面,此类引用也不一定相互排斥。此外,特定特征、结构、材料或特性可以任何合适的方式在一个或多个实施方案中加以组合。应当理解,图中所示的多种实施方案仅是说明性代表并且不一定按比例绘制。
21.出于简洁的目的,在以下描述中年未阐述描述公知且往往与机器人系统和子系统相关联并且可能不必要地使所公开技术的一些重要方面晦涩难懂的结构或过程的若干细
节。此外,尽管以下公开内容阐述本技术的不同方面的若干实施方案,但若干其他实施方案可具有不同于此章节中所述的那些的配置或组成部分。因此,所公开的技术可具有带有附加元件或没有下文所述元件中的若干的其他实施方案。
22.下文所述的本公开的许多实施方案或方面可呈计算机或处理器可执行指令(包括由可编程计算机或处理器执行的例程)的形式。相关领域技术人员应当理解,所公开的技术可在下文所示和所述的那些之外的计算机或处理器系统上实践。本文所述的技术可在专门编程、配置或构造为执行下文所述的计算机可执行指令中的一者或多者的专用计算机或数据处理器中体现。因此,如本文一般所用的术语“计算机”和“处理器”指代任何数据处理器并且可以包括互联网用具和手持式装置(包括掌上计算机、可穿戴计算机、蜂窝或移动电话、多处理器系统、基于处理器的或可编程消费者电子器件、网络计算机、迷你计算机等)。由这些计算机和处理器处理的信息可在任何合适的显示介质(包括液晶显示器(lcd))处呈现。用于执行计算机或处理器可执行任务的指令可存储在任何合适的计算机可读介质(包括硬件、固件,或硬件和固件的组合)中或上。指令可包含在任何合适的存储器装置(包括例如闪存驱动器和/或其他合适的介质)中。
23.术语“耦接”和“连接”以及它们的派生词可在本文中用来描述组成部分之间的结构关系。应当理解,这些术语并不意图作为彼此的同义词。而是,在特定实施方案中,“连接”可用于表示两个或更多个元件彼此直接接触。除非在情境中另外阐明,否则术语“耦接”可用于表示两个或更多个元件彼此直接或间接(在其间具有其他干预元件)接触,或者两个或更多个元件彼此配合或交互(例如,如呈因果关系,诸如用于信号传输/接收或用于函数调用),或两者。
24.合适的环境
25.图1是具有动态运动调整机制的机器人系统100可在其中操作的示例性环境的图示。机器人系统100可包括被配置为执行一个或多个任务的一个或多个单元(例如,机器人)和/或与所述一个或多个单元通信。动态运动调整机制的多个方面可由多种单元来实践或实施。
26.对于图1所示的示例,机器人系统100可包括位于仓库或分配/装运枢纽中的卸载单元102、搬运单元104(例如,码垛机器人和/或拾件机器人)、运输单元106、装载单元108,或它们的组合。机器人系统100中的单元中的每一个可被配置为执行一个或多个任务。任务可按顺序组合以执行实现目标(诸如从卡车或货车卸载物体并将它们存储在仓库中,或者从存储位置卸载物体并将它们准备用于装运)的操作。再如,任务可包括将物体放置在目标位置上(例如,放置在货盘顶部上和/或仓/笼/盒/箱内部)。如下文所述,机器人系统可导出用于放置和/或堆叠物体的计划(例如,放置位置/取向、用于搬运物体的顺序和/或对应运动计划)。单元中的每一者可以被配置为根据所导出计划中的一者或多者来执行一系列动作(例如,操作其中的一个或多个组成部分)以执行任务。
27.在一些实施方案中,任务可包括操纵(例如,移动和/或重新取向)目标物体112(例如,与正在执行的任务相对应的包裹、盒、箱、笼、货盘等中的一者),诸如将目标物体112从起始位置114移动到任务位置116。例如,卸载单元102(例如,拆箱机器人)可被配置为将目标物体112从载具(例如,卡车)中的位置搬运到输送带上的位置。另外,搬运单元104可被配置为将目标物体112从一个位置(例如,输送带、货盘或仓)搬运到另一位置(例如,货盘、仓
等)。再如,搬运单元104(例如,码垛机器人)可被配置为将目标物体112从源位置(例如,货盘、拾取区域和/或输送机)搬运到目的地货盘。在完成操作时,运输单元106可将目标物体112从与搬运单元104相关联的区域搬运到与装载单元108相关联的区域,并且装载单元108可将目标物体112(例如通过移动承载目标物体112的货盘)从搬运单元104搬运到存储位置(例如,架子上的位置)。下文描述关于任务和相关联动作的细节。
28.出于说明性目的,机器人系统100是在装运中心的情境中描述的;然而,应当理解,机器人系统100可被配置为在其他环境中/出于其他目的(诸如用于制造、组装、包装、健康护理和/或其他类型的自动化)执行任务。还应当理解,机器人系统100可包括图1未示出的其他单元,诸如操纵器、服务机器人、模块化机器人等。例如,在一些实施方案中,机器人系统100可包括用于将物体从笼车或货盘搬运到输送机或其他货盘上的去码垛单元、用于将物体从一个容器搬运到另一个的容器交换单元、用于包裹物体的包装单元、用于根据物体的一个或多个特性对它们进行分组的分类单元、用于根据物体的一个或多个特性以不同方式对物体进行操纵(例如,分类、分组和/或搬运)的拾件单元,或它们的组合。
29.机器人系统100可以包括和/或耦接到在关节处连接以用于运动(例如,旋转和/或平移移位)的物理或结构构件(例如,机器人操纵器臂)。结构构件和关节可形成被配置为操纵端部执行器(例如,夹持器)的动力链,所述端部执行器被配置为根据机器人系统100的用途/操作来执行一个或多个任务(例如,夹持、自旋、焊接等)。机器人系统100可以包括致动装置(例如,马达、致动器、线材、人工肌肉、电活性聚合物等),所述致动装置被配置为围绕对应关节或在对应关节处驱动或操纵(例如,移位和/或重新取向)结构构件。在一些实施方案中,机器人系统100可以包括被配置为到处运输对应单元/底架的运输马达。
30.机器人系统100可以包括被配置为获得用于实施任务(诸如操纵结构构件和/或运输机器人单元)的信息的传感器。传感器可以包括被配置为检测或测量机器人系统100的一个或多个物理特性(例如,其一个或多个结构构件/关节的状态、条件和/或位置)和/或周围环境的一个或多个物理特性的装置。传感器的一些示例可以包括加速度计、陀螺仪、力传感器、应变计、触觉传感器、扭矩传感器、位置编码器等。
31.例如,在一些实施方案中,传感器可以包括被配置为检测周围环境的一个或多个成像装置(例如,视觉和/或红外摄像头、2d和/或3d成像摄像头、距离测量装置,诸如激光雷达或雷达等)。成像装置可以生成所检测环境的代表,诸如数字图像和/或点云,所述代表可以经由机器/计算机视觉来处理(例如,用于自动检查、机器人导引或其他机器人应用)。如下面进一步详细描述的,机器人系统100可以处理数字图像和/或点云以标识目标物体112、起始位置114、任务位置116、目标物体112的姿势、关于起始位置114和/或姿势的置信量度,或它们的组合。
32.为了操纵目标物体112,机器人系统100可以捕获并分析指定区域(例如,诸如卡车内部或输送带上的拾取位置)的图像,以标识目标物体112和其起始位置114。类似地,机器人系统100可捕获并分析另一个指定区域(例如,用于将物体放置在输送机上的投放位置、用于将物体放置在容器内部的位置,或货盘上用于堆叠目的的位置)的图像,以标识任务位置116。例如,成像装置可以包括被配置为生成拾取区域的图像的一个或多个摄像头和/或被配置为生成任务区域(例如,投放区域)的图像的一个或多个摄像头。如下文所述,基于所捕获图像,机器人系统100可确定起始位置114、任务位置116、相关联姿势、打包/放置计划、
搬运/打包顺序和/或其他处理结果。
33.在一些实施方案中,例如,传感器可以包括位置传感器(例如,位置编码器、电位计等),所述位置传感器被配置为检测结构构件(例如,机器人臂和/或端部执行器)和/或机器人系统100的对应关节的位置。机器人系统100可使用位置传感器来在任务的执行期间跟踪结构构件和/或关节的位置和/或取向。
34.合适的系统
35.图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等)和/或其他无线通信协议。
36.处理器202可包括被配置为执行存储在存储装置204(例如,计算机存储器)上的指令(例如,软件指令)的数据处理器(例如,中央处理单元(cpu)、专用计算机和/或机载服务器)。在一些实施方案中,处理器202可包括在可操作地耦接到图2所示的其他电子/电气装置和/或图1所示的机器人单元的单独/独立控制器中。处理器202可实施控制其他装置/与其交互的程序指令,从而致使机器人系统100执行动作、任务和/或操作。
37.存储装置204可包括其上存储有程序指令(例如,软件)的非暂时性计算机可读介质。存储装置204的一些示例可包括易失性存储器(例如,高速缓存和/或随机存取存储器(ram))和/或非易失性存储器(例如,闪速存储器和/或磁盘驱动器)。存储装置204的其他示例可包括便携式存储器驱动器和/或云存储装置。
38.在一些实施方案中,存储装置204可用于进一步存储处理结果和/或预定数据/阈值并提供对它们的访问。例如,存储装置204可存储包括对可由机器人系统100操纵的物体(例如,盒、箱和/或产品)的描述的主数据252。在一个或多个实施方案中,主数据252可以包括用于每个这样的物体的登记数据。登记数据可以包括预期由机器人系统100操纵的物体的尺寸、形状(例如,潜在姿势的模板和/或用于标识呈不同姿势的物体的计算机生成的模型)、颜色方案、图像、标识信息(例如,条形码、快速响应(qr)码、标志等和/或其预期位置)、预期重量、其他物理/视觉特性,或它们的组合。在一些实施方案中,主数据252可以包括关于物体的操纵相关信息,诸如物体中的每一者上的质心(com)位置或其估计值、对应于一个或多个动作/操作的预期传感器测量值(例如,针对力、扭矩、压力和/或接触测量),或它们的组合。
39.通信装置206可包括被配置为通过网络与外部或远程装置通信的电路。例如,通信装置206可包括接收器、发射器、调制器/解调器(调制解调器)、信号检测器、信号编码器/解
码器、连接器端口、网卡等。通信装置206可被配置为根据一种或多种通信协议(例如,互联网协议(ip)、无线通信协议等)发送、接收和/或处理电信号。在一些实施方案中,机器人系统100可使用通信装置206来在机器人系统100的单元之间交换信息和/或与在机器人系统100外部的系统或装置交换信息(例如,出于报告、数据采集、分析和/或故障排除目的)。
40.输入

输出装置208可包括被配置为将信息传达给人类操作员和/或从人类操作员接收信息的用户接口装置。例如,输入

输出装置208可包括显示器210和/或用于将信息传达给人类操作员的其他输出装置(例如,扬声器、触觉电路、或触觉反馈装置等)。另外,输入

输出装置208可包括控制或接收装置,诸如键盘、鼠标、触摸屏、传声器、用户接口(ui)传感器(例如,用于接收运动命令的摄像机)、可穿戴输入装置等。在一些实施方案中,机器人系统100可使用输入

输出装置208来在执行动作、任务、操作或它们的组合时与人类操作员交互。
41.机器人系统100可包括在关节处连接以用于运动(例如,旋转和/或平移移位)的物理或结构构件(例如,机器人操纵器臂)。结构构件和关节可形成被配置为操纵端部执行器(例如,夹持器)的动力链,所述端部执行器被配置为根据机器人系统100的用途/操作来执行一个或多个任务(例如,夹持、自旋、焊接等)。机器人系统100可包括被配置为关于对应关节或在对应关节处对结构构件进行驱动或操纵(例如,移位和/或重新定向)的致动装置212(例如,马达、致动器、线材、人工肌肉、电活性聚合物等)。在一些实施方案中,机器人系统100可包括被配置为到处运输对应单元/底架的运输马达214。
42.机器人系统100可包括被配置为获得用于实施任务(诸如操纵结构构件和/或运输机器人单元)的信息的传感器216。传感器216括被配置为检测或测量机器人系统100的一个或多个物理特性(例如,其一个或多个结构构件/关节的状态、条件和/或位置)和/或周围环境的一个或多个物理特性的装置。传感器216的一些示例可包括加速度计、陀螺仪、力传感器、应变计、触觉传感器、扭矩传感器、位置编码器等。
43.在一些实施方案中,例如,传感器216可包括被配置为检测周围环境的一个或多个成像装置222(例如,视觉和/或红外摄像机、2d和/或3d成像摄像机、诸如激光雷达或雷达的距离测量装置等)。成像装置222可生成所检测环境的可通过机器/计算机视觉来处理(例如,用于自动化检查、机器人引导或其他机器人应用)的代表,诸如数字图像和/或点云。
44.对于操纵目标物体112,机器人系统100(例如通过上文所述的多种电路/装置)可捕获并分析指定区域(例如,拾取位置,诸如卡车内部或输送带上)的图像,以标识目标物体112及其起始位置114。类似地,机器人系统100可捕获并分析另一个指定区域(例如,用于将物体放置在输送机上的投放位置、用于将物体放置在容器内部的位置,或货盘上用于堆叠目的的位置)的图像,以标识任务位置116。例如,成像装置222可包括被配置为生成拾取区域的图像的一个或多个摄像机和/或被配置为生成任务区域(例如,投放区域)的图像的一个或多个摄像机。如下文所述,基于所捕获图像,机器人系统100可确定起始位置114、任务位置116、相关联姿势、打包/放置计划、搬运/打包顺序和/或其他处理结果。
45.在一些实施方案中,例如,传感器216可包括被配置为检测机器人系统100的结构构件(例如,机器人臂和/或端部执行器)和/或对应关节的位置的位置传感器224。机器人系统100可使用位置传感器224来在任务的执行期间跟踪结构构件和/或关节的位置和/或取向。机器人系统100可以使用来自传感器216的所检测位置、所跟踪位置、所跟踪取向等,以
导出跟踪数据254,所述跟踪数据代表图1的目标物体112的当前的和/或一组过去的位置和/或结构构件。
46.示例性系统架构
47.图3是根据本技术的一个或多个实施方案的图1的机器人系统100的图示。机器人系统100可以包括运动计划器电路302、桥电路304和/或机器人306。
48.运动计划器电路302(例如,图2的处理器202中的一者或多者和/或与单独的装置/外壳相对应的电路)可以被配置为导出所计划轨迹322,以用于操作机器人306来实施对应任务。例如,每个所计划轨迹322可以用于操作机器人306(例如,图1的搬运单元104)以将图1的对应目标物体112从图1的起始位置114操纵或移动到图1的任务位置116。在一些实施方案中,运动计划器电路302可以获得并处理来自图2的成像装置222的数据,以标识并定位目标物体112和任务位置116。运动计划器电路302可以基于迭代地导出目标物体112从任务位置116到起始位置114的路径段来导出所计划轨迹322。运动计划器电路302可以根据预定规则和/或过程来导出路径段和对应的所计划轨迹322。所计划轨迹322可以代表目标物体112和/或一个或多个机器人部件(例如,端部执行器和/或机器人臂)遵循来完成对应任务的路径或一组路径段、速度、一组操纵或它们的组合)。运动计划器电路302可以将所计划轨迹322传达到桥电路304。例如,运动计划器电路302可以向桥电路304发送命令轨迹,所述命令轨迹代表要由机器人306执行以完成对应任务的移动。
49.桥电路304(例如,处理器202中的一者或多者)可以被配置为在实施所计划轨迹322时与机器人306交互。在一些实施方案中,桥电路304可以被实施为机器人系统控制器,所述机器人系统控制器协调/控制多个机器人(例如,仓库或装运枢纽内的机器人)的动作以控制和实施各自包括由一组机器人/跨一组机器人执行的单独任务的链接序列的操作。因此,桥电路304可以控制用于机器人306实施所计划轨迹322的各个部分/方面的时序。
50.机器人306可以被配置为实施所计划轨迹322并根据来自桥电路304的命令和/或设置(例如,所计划轨迹322或其部分的代表)执行对应任务。例如,机器人306可以操作图2的致动装置212和/或图2的运输马达214以操纵机器人臂和/或端部执行器以夹持、搬运和/或释放目标物体112。作为说明性示例,机器人306可以遵循所计划轨迹322并移动机器人臂以将端部执行器放置在起始位置114处围绕目标物体112的夹持位置处。在经由端部执行器在夹持位置处夹持目标物体112之后,机器人306可以根据与所计划轨迹322相对应的路径、速度、一组操纵等来搬运目标物体112。
51.在实施所计划轨迹322时,桥电路304和机器人306可以彼此迭代地通信以完成任务。例如,桥电路304可以确定机器人306的初始位置342(例如,机器人臂、端部执行器、其一部分或它们的组合的实时位置)和/或所搬运目标物体112的初始位置。桥电路304可以基于来自机器人306的传出通信(例如,命令、设置等)和/或反馈数据362,在实施所计划轨迹322之前确定初始位置342。作为说明性示例,桥电路304可以使用航位推算机制并根据先前执行/实施的命令、设置、运动计划等来导出初始位置342。另外或替代地,桥电路304可以基于包括在反馈数据362中的机器人跟踪的/报告的位置来确定初始位置342。桥电路304可以类似地确定和跟踪在所计划轨迹322的实施期间机器人306、其一部分和/或目标物体112的实时位置。
52.而且,桥电路304可以跟踪用于实施所计划轨迹322的一个或多个输入/输出(i/o)
状态344。i/o状态344可以代表机器人306的操作状态和/或与实施所计划轨迹322相关联的相应进度/状态。例如,i/o状态344可以包括在实施所计划轨迹322时的暂停、恢复和/或取消状态。而且,i/o状态344可以包括用于调整最初与所计划轨迹322相关联的速度或移动速率的速度变化状态。速度变化状态可以包括与速度变化相关联的命令/设置的传达、更新后速度的导出和/或速度设置之间的转变。下面描述关于速度变化的细节。
53.桥电路304可以进一步跟踪与所计划轨迹322的实施相关联的错误状态346。例如,桥电路304可以基于反馈数据362报告机器人检测到的错误(例如,丢件状态)来跟踪错误状态346。而且,桥电路304可以基于将所报告数据(例如,反馈数据362)与所计划轨迹322的预期状态/进度和/或所计划轨迹的更新(例如,速度变化)进行比较来确定错误状态346。
54.桥电路304可以包括轨迹调整器305。轨迹调整器305可以包括被配置为调整所计划轨迹322和/或其实施的一个或多个电路和/或功能。轨迹调整器305可以跟踪i/o状态344、错误状态346、夹持强度或状态、包裹标识信息或状态、沿所计划轨迹322的一个或多个点处的实时状况和/或所计划轨迹322的实施期间的其他实时参数。当所跟踪信息偏离操作状况和/或与调整状况匹配时,轨迹调整器305可以动态地调整所计划轨迹322。在一些实施方案中,轨迹调整器305可以使用所计划轨迹322,从而保留所计划行进路径,并动态地更新/替换其中的一个或多个路径点以调整所计划轨迹322的实施。下面描述关于动态的细节。
55.示例性任务执行
56.图4是根据本技术的一个或多个实施方案的执行示例性任务的机器人系统100的俯视图。所示的示例性任务可以包括将目标物体112从起始位置114搬运到任务位置116。如上所述,图3的运动计划器电路302可以导出用于实施任务的所计划轨迹322。
57.在一些实施方案中,所计划轨迹322可以包括一个或多个所计划路径点402。根据一个或多个系统或机器人操作参数,所计划路径点402可以包括沿所计划轨迹322的目标位置。例如,所计划路径点402可以代表与每个处理周期404(t)相对应的被跟踪构件(例如,机器人306的一个或多个部分,诸如端部执行器和/或目标物体112)的目标位置。换句话说,图3的桥电路304和/或机器人306可以在每个处理周期期间将被跟踪的构件迭代地移动到下一所计划路径点。在一个或多个实施方案中,被跟踪构件的移动在一对所计划路径点402之间可以是线性的和/或具有恒定速度的。所计划路径点402可以代表用于诸如通过改变移动的方向或速度或通过旋转被跟踪构件而改变被跟踪构件的移动的位置。
58.作为说明性示例,机器人系统100(经由例如桥电路304)可以跟踪被跟踪构件的当前位置406。当机器人306在任务和对应的所计划轨迹的实施期间和/或之间搬运目标物体112时,机器人系统100可以跟踪当前位置406。因此,当接收到针对新任务的所计划轨迹322时,桥电路304可以知道端部执行器的当前位置406。桥电路304可以将当前位置406设置为图3的初始位置342。因此,桥电路304可以向机器人306发送数据和/或命令以实施所计划轨迹322。例如,桥电路304可以将数据和/或命令发送到机器人306,以在每个处理周期404中将被跟踪部分迭代地移动到所计划路径点402中的下一个。
59.在所计划轨迹322的实施期间,机器人系统100可以监视实时状况。实时状况的一些示例可以包括代表丢件(例如,目标物体112掉落)、对目标物体112的夹持不足、机器人306和/或目标物体112与另一个物体/结构之间的意外/非计划接触(例如,碰撞事件)、预定
的取消状况、传感器值不匹配、起始/结束位置处的意外状况、机器人306的操作和/或机械故障等的错误状况。实时状况的其他示例可以包括由其他装置/系统提供的命令,诸如来自外部源(例如,图3的运动计划器电路302)和/或内部源(例如,图3的轨迹调整器305)的暂停、恢复、取消和/或速度调整命令。桥电路304可以检测图3的i/o状态344和/或图3的错误状态346并基于监视实时状况来设置这些状态。
60.对于每个处理周期404,桥电路304和/或机器人306可以检查i/o状态344。当i/o状态344指示所计划轨迹322继续实施时(例如,恢复状态和/或不存在暂停/取消/速度变化),桥电路304和/或机器人306可以进行操作以使被跟踪部分(例如,端部执行器和/或目标物体112)前进到计划路径点402中的下一个。桥电路304和/或机器人306可以继续检查错误状况,同时使被跟踪部分前进到下一路径点。当检测到错误状况并且设置/检测到错误状态346时,桥电路304可以反转、取消、调整和/或重新开始所计划轨迹322的实施。在所计划轨迹322的反转、取消等中,桥电路304(经由例如轨迹调整器305)可以调整移动速度和/或路径点。因此,桥电路304可以通过以减少导致其他故障的突然移动/冲击的平稳/无缝方式和/或根据机器人306的硬件/物理能力来实施对所计划轨迹322的改变。
61.图5a是根据本技术的一个或多个实施方案的响应轮廓502的图示。响应轮廓502可以代表在执行命令时机器人306处的物理反应或实施。对于图5a所示的示例,响应轮廓502可以代表端部执行器响应于停止命令或暂停状态的速度。竖直轴可以代表端部执行器的速度,而水平轴可以代表时间。响应轮廓502可以代表触发事件504,诸如在机器人306处接收到停止命令/暂停状态,以及机器人306的对应响应。机器人306可以诸如通过停止端部执行器的移动来响应触发事件504并实施完成事件。机器人306可能需要机器人处理延迟508来接收和处理触发事件504。在触发事件504和/或其处理之后,机器人306可以诸如通过减慢端部执行器的移动来实施物理变化,以实现完成事件506。
62.机器人系统100(例如,桥电路304)可以使用响应轮廓502来调整所计划轨迹322的实施。换句话说,机器人系统100可以在调整所计划轨迹322的实施时考虑机器人306的物理或表现特性。在一些实施方案中,机器人系统100可以使用响应轮廓502来导出替换所计划路径点402的更新后路径点。
63.图5b是根据本技术的一个或多个实施方案的示例性调整520的图示。如图5所示,图1的机器人系统100(经由例如图3的桥电路304和/或图3的机器人306)可以实施附图的所计划轨迹322,以将目标物体112从起始位置114搬运到任务位置116。在实施期间,机器人系统100可以跟踪目标部分(例如,图1的端部执行器和/或目标物体112)的当前位置406。
64.当机器人系统100确定状态变化(诸如图3的i/o状态344和/或图3的错误状态346的状态变化)时,机器人系统100可以确定所计划路径点402中的一个或多个有效路径点522(例如,第一即将到来点522a和/或第二即将到来点522b)。有效路径点522可以包括相对于当前位置406已超出或即将到来的所计划路径点402的实例,并且不包括已经经过目标部分或已经被目标部分穿越的所计划路径点402的实例(例如,当前位置406后面的路径点)。在一些实施方案中,机器人系统100可以操作机器人306以将其代表部分(例如,端部执行器)和/或目标物体112沿所计划路径段524迭代地移动,所述所计划路径段在所计划路径点402中的相邻路径点之间延伸。
65.此外,响应于所确定状态变化,机器人系统100可以访问和/或分析与状态变化相
对应的图5的响应轮廓502。例如,机器人系统100(例如,桥电路304)可以确定机器人306执行和完成与状态变化相对应的动作的能力。因此,机器人系统100可以导出可行性区域530,所述可行性区域代表沿所计划轨迹322的可以在其中完成调整动作(例如,响应于状态变化而采取的动作)的位置。可行性区域530可以代表沿所计划轨迹322的在其中可以完成调整动作(例如,调整可以开始或首次生效)的最近/最早位置和/或最远/最迟位置。
66.机器人系统100(例如,图3的轨迹调整器305)可以基于可行性区域530来导出一个或多个更新后路径点532。更新后路径点532可以沿所计划轨迹322。更新后路径点532可以用于替换所计划路径点402。一个或多个更新后路径点532可以与所计划路径点402中的对应的一个或多个所计划路径点重合。在一些实施方案中,机器人系统100可以操作机器人306以将其代表部分(例如,端部执行器)和/或目标物体112沿更新后路径段534迭代地移动,所述更新后路径段在更新后路径点532中的相邻路径点之间延伸。
67.机器人系统100可以导出可行性区域530内的更新后路径点532中的一者或多者。机器人系统100可以在当前位置406处启动调整动作,使得被跟踪部分可以在下一更新后路径点(例如,可行性区域530内的路径点)处完成调整动作。作为说明性示例,机器人系统100可以将端部执行器和/或所携带目标物体112停止在下一更新后路径点处。而且,机器人系统100可以通过下一更新后路径点实现目标速度(例如,与所计划速度相比,移动速度的增加或减小)。机器人系统100可以使用多个更新后路径点532(诸如通过迭代地增加或减小移动速度)来实现期望的最终状态。在导出更新后路径点532时,机器人系统100可以考虑更新后移动速度。图4的处理周期404可以保持恒定,并且关于恒定处理周期404,更新后路径点532可以对应于更新后移动速度。例如,当更新后移动速度较慢时,与所计划路径点402相比,更新后路径点532之间的距离/间隔可以减小。
68.在一些实施方案中,响应轮廓502可以对应于(1)机器人306的最大反向速度(例如,在一个处理周期404或其剩余部分期间的最大负移动速度变化)和(2)机器人306的最大正向速度(例如,一个处理周期404或其剩余部分期间的最大正移动速度变化)。最大反向速度可以被表示为而最大正向速度可以被表示为代表部分的位置可以被标示为q,对应速度(例如,位置的一阶导数)可以被标示为而对应加速度(例如,位置的二阶导数)可以被标示为当前路径段(例如,包含当前位置406的路径段)的初始位置/路径点可以被标示为q
i

69.可行性区域530可以由(1)相对于即将到来的所计划路径点(例如,第一即将到来点522a)的反向边界和(2)正向边界来定义。可以根据最大反向速度即将到来的所计划路径点(q
i+1
)和处理周期404(t)导出反向边界。例如,可以基于导出反向边界。可以根据最大反向速度即将到来的所计划路径点(q
i+1
)和处理周期404(t)导出正向边界。例如,可以基于导出正向边界。
70.机器人系统100可以导出更新后路径点532中位于可行性区域530内的第一更新后路径点。在导出第一更新后路径点时,机器人系统100可以确定目标速度。目标速度可以由
最大反向速度和最大正向速度界定。在一些实施方案中,可以基于评估在处理周期404(t)中下一路径段的初始位置(例如,第一即将到来点522a)与第二后续路径段的初始位置(例如,第二即将到来点522b)之间的差异来导出目标速度。因此,目标速度可以被表示为其中下一路径段的初始位置被标示为q
i+1
,并且第二后续路径段的初始位置被标示为q
i+2
。当响应命令延伸到可行性区域530之外时,可以将第一更新后路径点截断或调整为在可行性区域530内,诸如在其边界处。可以基于在一个处理周期中实施目标速度和/或对应加速度来导出更新后路径点532中的第一个路径点。
71.在一个或多个实施方案中,机器人系统100可以计算当前/所计划速度与目标速度之间的一个或多个中间速度。当在一个处理周期内无法达到目标速度时,机器人系统100可以根据最大正向/反向速度或加速度来计算中间速度。因此,机器人系统100在多个处理周期/路径点中迭代地实施并达到中间速度,直到目标速度为止。机器人系统100可以在每个对应的处理周期中根据中间/目标速度和/或对应加速度来导出更新后路径点532。
72.示例性控制流程
73.图6是根据本技术的一个或多个实施方案的用于操作图1的机器人系统100的示例性方法600的流程图。方法600可以用于动态地调整图3的所计划轨迹322或其实施(例如,在导出所计划轨迹之后和/或在实施所计划轨迹期间)。可以使用图3的桥电路304、图3的运动计划器电路302和/或图3的机器人306来实施方法600。方法600可以基于利用图2的处理器202中的一者或多者执行存储在图2的存储装置204中的一者或多者上的指令来实施。可以基于使用通信装置206传达所计划轨迹322、图5b的调整520、图3的反馈数据362和/或对应的命令/设置来实施方法600。所传达命令/设置可以在机器人306处执行,从而实施与所计划轨迹322和/或对其的调整520相对应的任务。在一些实施方案中,方法600可以使用一个或多个状态机来实施。
74.在框602处,机器人系统100可以传达被配置为执行任务的初始所计划轨迹。例如,运动计划器电路302可以导出所计划轨迹322以用于完成需要操纵图1的目标物体112的任务,诸如用于将目标物体112从图1的起始位置114搬运到图1的任务位置116的任务。在一些实施方案中,运动计划器电路302可以通过确定目标物体112在任务位置116处的目标姿势并迭代确定连接到起始位置114的路径段来导出所计划轨迹322。
75.运动计划器电路302可以将导出的所计划轨迹322传达到桥电路304,并且桥电路304可以接收初始所计划轨迹322。如下面进一步详细描述的,桥电路304可以控制任务的执行和/或对任务的实时/动态调整。
76.在框604处,机器人系统100可以标识与所计划轨迹322相关联的图4的一个或多个所计划路径点402。所计划路径点402可以包括沿所计划轨迹322的针对图4的一组处理周期404以迭代/递增为目标的位置。换句话说,机器人系统100可以操作机器人306以在对应的处理周期404结束时将代表部分(例如,端部执行器)和/或目标物体112放置在所计划路径点402处。在一些实施方案中,标识所计划路径点402可以包括桥电路304访问在运动计划器电路302处导出并从所接收信息中包括的所计划路径点402。在其他实施方案中,标识所计划路径点402可以包括桥电路304根据处理周期404(例如,每个周期的预设持续时间)和与所计划轨迹322相关联的速度设置(例如,连同所计划轨迹322一起提供的信息)确定沿所计
划轨迹322的位置。
77.在框606处,机器人系统100可以启动任务实施。例如,机器人系统100可以基于桥电路304将命令/设置传达到机器人306来启动任务实施,以开始任务执行过程,启动对应协议等。桥电路304可以进一步确定机器人306((诸如机器人的代表部分)(例如,端部执行器))在图3中的初始位置342和/或操作机器人306以将代表部分操纵到预定位置(例如,由所计划轨迹322标识用于抓握目标物体112的夹持位置)。在完成操纵后,预定位置可以用作初始位置342。
78.在判定框608处,机器人系统100可以根据所计划轨迹322来确定任务的实施是否已经结束(例如,与目标物体112被放置在任务位置116处的终止状态)。如下文详细描述的,机器人系统100可以沿所计划轨迹322迭代地搬运目标物体112。机器人系统100可以针对每次移动迭代确定任务的实施是否已经结束。在一些实施方案中,当目标物体112被放置在任务位置116处时和/或当已经执行/完成了与所计划轨迹322相对应的所有命令/设置时,机器人系统可以确定任务已经结束。当任务已经结束时,机器人系统100可以标识下一任务,如框610中所代表的那样,并且如到框602的反馈循环所示传达对应的下一所计划轨迹。
79.当任务尚未结束时,机器人系统100可以如框612所示标识下一路径点。机器人系统100(例如,桥电路304)可以基于将当前位置406(例如,第一次迭代的初始位置342)与一组当前维护/有效的路径点进行比较来标识下一路径点。所述一组维护/有效的路径点可以最初包括所计划路径点402。在调整520之后或基于所述调整,所述一组维护/有效的路径点可以包括图5b的更新后路径点532,而不是所计划路径点402。基于所述比较,机器人系统100可以将下一路径点标识为沿移动方向与当前位置406相邻(例如,紧接在当前位置前面)的路径点。
80.在框614处,机器人系统100可以实施机器人306的代表部分和/或目标物体112到所标识的下一路径点的移动。例如,桥电路304可以通过传达用于操作机器人306以使目标物体112或机器人306的代表部分遵循所计划轨迹322到达下一路径点的一组命令和/或设置来实施移动。机器人306可以接收并执行这组命令和/或设置,以将机器人306的代表部分和/或目标物体112移动/移位到所标识的下一路径点。
81.在框616处,机器人系统100可以在任务实施期间监视真实世界状况。例如,机器人系统100可以接收和分析来自图2的传感器216的实时数据以监视真实世界状况。而且,机器人系统100可以使用来自运动计划器电路302、机器人单元(例如,来自机器人306的反馈数据362)和/或用于监视功能的其他通信地耦接的装置/系统(例如,仓库管理系统)的实时数据(例如,命令和/或其他消息)。
82.在一些实施方案中,机器人系统100可以基于在代表部分和/或目标物体112移动到下一路径点时(例如,在对应路径段移动的实施期间)监视图3的i/o状态344来监视真实世界状况。i/o状态344可以对应于分析实时传感器数据和/或所接收通信数据的结果,并且代表机器人系统100(例如,机器人306)完成任务实施并操纵目标物体112的能力。机器人系统100(例如,桥电路304)可以通过检测暂停状态、恢复状态、取消状态、速度变化状态、错误状态346和/或其变化来监视i/o状态344。
83.在判定框618处,机器人系统100可以确定受监视的真实世界状况是否与用于调整正在进行的任务的触发匹配。触发可以代表需要改变任务的状况,诸如与上述一种或多种
状态相对应的状况。作为说明性示例,机器人系统100可以检测并应对在任务实施期间发生的较低夹持强度、丢件、碰撞和/或其他意外状况。
84.当受监视的真实世界状况与触发状况不匹配时,机器人系统100可以根据如反馈循环所代表的初始所计划轨迹322继续实施任务。因此,机器人系统100可以实施上文针对框608至616描述的过程,并标识所计划轨迹322中的下一路径点,并且按照最初计划的方式迭代地实施任务。
85.当受监视的真实世界状况与触发状况匹配时,机器人系统100可以如框620所代表的那样动态地导出一个或多个任务调整(例如,图5b的调整520)。在一些实施方案中,机器人系统100可以基于i/o状态344诸如通过导出图5b的更新后路径点532来动态地导出调整520。例如,响应于检测到暂停状态、恢复状态、取消状态、速度变化状态和/或错误状态,机器人系统100可以动态地导出(例如,在任务的实施期间,诸如当机器人306的代表部分位于起始位置114与任务位置116之间时)沿所计划轨迹322的更新后路径点532。更新后路径点532可以被配置为替换包括即将到来/剩余路径点中的一者或多者的所计划路径点402。更新后路径点532可以对应于处理周期404,使得每个路径点代表目标物体112或代表部分在对应的处理周期404结束时要到达的目标位置。
86.在一些实施方案中,如框622中所示,机器人系统100可以基于标识与所检测触发相关联的图5a的响应轮廓502来动态地导出任务调整。例如,机器人系统100可以标识用于减慢、加快和/或停止机器人306的代表部分的移动的响应轮廓502。机器人系统100可以基于访问关于机器人306的预定/已知信息(例如,存储在图2的存储装置204中的信息,诸如存储在图2的主数据252内的信息)和/或基于利用机器人306传达响应轮廓502来标识所述轮廓。因此,机器人系统100可以标识机器人执行调整或其一部分(例如,加快、减慢、停止等)的物理能力的代表,诸如与对应的响应轮廓502相关联的最大反向速度和/或最大正向速度。
87.在框624处,机器人系统100可以基于响应轮廓502来确定可行性区域530。机器人系统100(经由例如桥电路304)可以确定沿所计划轨迹322并且在代表目标物体112和/或机器人306的代表部分的当前位置406前面的可行性区域530。机器人系统100可以基于根据更新后命令/设置的预计正时以及基于速度/时间外推的距可行性区域530的位置/距离来映射响应轮廓502而确定可行性区域530。因此,机器人系统100可以基于分别导出与最大反向速度和/或最大正向速度相关联的反向边界和/或正向边界来确定可行性区域530。反向边界和正向边界可以用于定义可行性区域530(例如,反向边界与正向边界之间的区域)。机器人系统100可以使用可行性区域530来标识/代表沿所计划轨迹322的调整520可以在其中首次生效的位置。
88.在框626处,机器人系统100可以确定所检测触发的目标速度。例如,当受监视状况对应于预定状态(诸如停止、取消和/或反转)时,机器人系统100可以将目标速度确定为零或停止移动状态。而且,机器人系统100可以将目标速度确定为与速度变化阶段和/或反向状态相关联和/或以速度阶段和/或反向状态为目标的速度(例如,确定为沿所计划轨迹322的具有相反方向的矢量)。此外,机器人系统100可以响应于检测到错误状态346而根据一个或多个预定过程和/或方程来确定目标速度。
89.目标速度可以不同于与初始所计划轨迹322或其即将到来的部分相关联的所计划
速度。换句话说,目标速度可以对应于用于对所计划轨迹322和/或其实施的经动态导出的调整的结束状态/状况。
90.在判定框628处,机器人系统100(经由例如桥电路304)可以确定在一个处理周期内是否可以可行地实施对目标速度的改变。例如,机器人系统100可以将目标速度和/或当前速度与目标速度之间的差异与和响应轮廓502相关联的最大/边界速度进行比较。当目标速度在一个处理周期内不可行时(例如,当目标速度超过与机器人306相关联的最大速度变化时),机器人系统100可以如框630所代表的那样确定一个或多个中间速度。换句话说,机器人系统100可以使用多个处理周期来逐步达到中间速度并达到目标速度。在一些实施方案中,机器人系统100可以将中间速度确定为最接近目标速度的最大/边界速度。在其他实施方案中,机器人系统100可以确定达到目标速度所必需的处理周期/迭代的最小数量。机器人系统100可以基于目标速度除以所确定最小数量来计算中间速度。中间速度可以包括当前速度与目标速度之间的值/设置。
91.在框632处,机器人系统100可以基于所导出速度(例如,目标速度和/或中间速度)来导出更新后路径点。在一些实施方案中,桥电路304可以根据上述可行性确定来设置标志。桥电路304可以使用针对第一/下一即将到来的路径段的所确定速度,以导出更新后路径点532中的第一个路径点。可以基于由与如上所述的响应轮廓502相关联的最大速度/调整界定的即将到来速度来导出第一路径点。因此,机器人系统100可以导出第一路径点作为可行性区域530内的位置。
92.作为说明性示例,机器人系统100可以确定将在当前位置406前面的下一即将到来的路径点(例如,图5b的第一即将到来的路径点522a)处实施改变。因此,响应轮廓502可以被映射到第一即将到来的路径点522a之后的路径段。由于响应轮廓502描述了可以在一个处理周期中实施的改变,所以可行性区域530可以包括图5b的第一即将到来的路径点522a与第二即将到来的路径点522b之间的子路径段。机器人系统100可以诸如根据目标速度和/或最接近目标速度的位置来将第一更新后路径点导出为可行性区域530内的位置。例如,如果机器人306可以在即将到来的处理周期内实施期望的改变,则机器人系统100可以基于对目标调整的实施进行外推(例如,基于将最大加速度/减速度外推到距离/位置的一个或多个预定过程)来导出第一更新后路径点。如果机器人306需要一个以上的处理周期来实施改变,则机器人系统306可以导出第一更新后路径点作为可行性区域530的最远边界或如上所述的相对于第一到达点522a的划分位置。
93.在一些实施方案中,机器人系统100可以基于目标速度和/或中间速度来导出一组剩余的更新后路径点532。在其他实施方案中,机器人系统100可以每次迭代导出一个即将到来的更新后路径点。
94.机器人系统100可以使用更新后路径点532来实施如反馈循环所代表的调整520。因此,基于i/o状态344,机器人系统100(经由例如桥电路304)可以根据更新后路径点532而不是所计划路径点402来对用于操纵目标物体112的任务实施调整520。对于所计划轨迹322的剩余部分,桥电路304可以生成用于操作机器人306以在后续处理周期中以即将到来的路径点532为目标/遵循即将到来的路径点而不是所计划路径点402的命令/设置。因此,桥电路304可以操作机器人306以跨一个或多个更新后路径点和对应的处理周期从当前速度转变为目标移动速度。例如,在可行时,桥电路304可以在所检测触发状况/状态之后的初始处
理周期期间操作机器人306以从当前速度转变为目标速度。而且,如果在一个周期/一次迭代中不可行,则桥电路304可以在初始处理周期中操作机器人306以从当前速度转变到中间速度。桥电路304可以在后续处理周期中操作机器人306以从中间速度转变到目标速度。桥电路304可以迭代地移动目标物体112和/或代表部分以实施任务和随后对所述任务的调整520。因此,桥电路304可以操作机器人306以停止、反转和/或调整用于移动目标物体112和/或代表部分的速度。
95.示例性实施细节
96.图7a至图7g是根据本技术的一个或多个实施方案的示例性调整机制(例如,状态机)的图示。图7a示出了轨迹执行机制702(例如,图3的桥电路304、图2的处理器202中的一者或多者,或它们的组合)。轨迹执行机制702可以被配置为监督用于调整图3的所计划轨迹322的实施的总体流程。轨迹执行机制702可以对应于图6的方法600/其一部分或替代实施方案。
97.轨迹执行机制702可以根据图4的处理周期404来实施。轨迹执行机制702可以针对在

x

处开始和结束的每个处理周期在以下描述的各种状态中转变。
98.对于每个周期或刻度,轨迹执行机制702可以如“检查io”框所代表的那样检查图3的i/o状态344。轨迹执行机制702可以检查i/o状态344或其变化,如上文针对图6的框616所述。例如,轨迹执行机制702可以检测到暂停状态、恢复状态、取消状态、速度变化状态等的发生或改变。
99.在检查了i/o之后,轨迹执行机制702可以如“移动机器人”框所代表的那样移动机器人。轨迹执行机制702可以根据当前维护的轨迹(诸如图3的所计划轨迹322(其具有图4的所计划路径点402)或图5b的调整520(其具有图5b的更新后路径点532))来操作图3的机器人306。例如,轨迹执行机制702可以对应于上文针对图6的框614所述的过程。
100.在一些实施方案中,轨迹执行机制702可以如“检查错误”框所代表的那样检查错误(例如,图3的错误状态346)。轨迹执行机制702可以类似于上文针对框616所描述的方式检查错误状态346。换句话说,轨迹执行机制702可以划分对真实世界状况的监视,使得在移动之前/期间检查状况的一部分(例如,i/o状态344),并且在移动之后检查错误。例如,轨迹执行机制702可以通过评估所实施的移动来检查错误。所评估错误状况的一些示例可以包括目标物体112和/或所代表部分与另一个物体或结构之间的意外/非计划接触、目标物体掉落(“丢件”)、一个或多个预定取消状况(例如,目标位置处的物体移位)、传感器值不匹配等。轨迹执行机制702可以使用预定过程来确定与所检测错误相对应的响应动作。响应动作可以包括反转移动、取消任务、重新启动任务等。
101.随后,轨迹执行机制702可以如“计划下一次移动”框代表的那样确定下一次移动。轨迹执行机制702可以类似于上文针对图6的框612、618和620所描述的那样计划下一次移动。例如,轨迹执行机制702可以确定在先前步骤中是否已经标记或检测到i/o状态344和/或错误状态346。当尚未检测到任何触发状况时,所计划的下一次移动可以对应于继续执行现有计划。如果已经检测到一个或多个触发状况,则轨迹执行机制702可以确定下一次移动是取消任务实施、完成任务实施和/或减慢移动。
102.轨迹执行机制702可以根据所计划的下一次移动来计算节点(joint)信息(例如,用于执行下一次移动的细节)。如果尚未检测到触发状况,则轨迹执行机制702可以基于根
据剩余的/现有的一组路径点标识下一路径点和对应的移动速度来导出下一次移动。如果已经检测到一个或多个触发状况,则轨迹执行机制702可以启动图3的轨迹调整器305。轨迹调整器305可以对应于框620,并且动态地导出用于偏离剩余/现有路径点的任务调整的细节(例如,图5b的更新后路径点532)。例如,轨迹调整器305可以确定与所计划的下一次移动相对应的新的目标速度和/或一组对应的中间速度。在一些实施方案中,图3的轨迹调整器305和/或运动计划器电路302可以基于触发状况来重新导出轨迹。
103.图7b示出了用于图7a的轨迹执行机制702的示例性命令流程704(例如,状态机流程)。流程704可以代表图3的桥电路304的各种命令状态以及命令状态之间的转变。换句话说,流程704可以代表可以在图3的机器人306处实施的命令/动作以及实施状态之间的转变。
104.流程704可以包括tr流传输状态,所述tr流传输状态代表数据和/或命令到桥电路304的传达。基于tr流传输状态,流程704可以代表不同轨迹类型之间的流程。在一些实施方案中,轨迹类型可以包括t

命令、t

连接、t

取消和/或t

反向连接。
105.t

命令类型可以被配置为输入轨迹。例如,图3的桥电路304可以接收图3的所计划轨迹322,如图6的框602所示。t

命令类型可以对应于由图3的轨迹调整器305导出的图3的初始所计划轨迹322。桥电路304可以继续执行最初针对t

命令类型导出的所计划轨迹322。
106.响应于实时状况(例如,图3的i/o状态344和/或图3的错误状态346),流程704可以转变为不同的轨迹类型或状态。例如,对暂停、恢复和/或速度变化状况的确定可以使轨迹调整器305从t

命令转变为t

连接。t

连接类型的轨迹可以包括图5b的调整520。对于暂停状况,t

连接可以对应于到0速度的减速命令,而对于恢复状况,t

连接可以对应于到先前或正在进行的速度的加速命令。对于速度变化状况,轨迹调整器305可以计算用于使机器人306的代表部分加速/减速的实施计划。在一些实施方案中,实施计划可以包括当前行进速度乘数(ctsm),其被配置为引导每次迭代的速度变化直到目标速度为止。实施计划还可以包括从另一装置/系统接收的外部行进速度乘数(etsm)。在一些实施方案中,所述更新可以被存储为现有/正在进行的轨迹,并且流程704可以从t

连接转变回t

命令以用于更新后轨迹的后续实施。
107.t

取消类型可以用于取消轨迹实施。可以响应于所检测错误状况(例如,图3的错误状态346)和/或在所检测错误状况期间生成t

取消轨迹类型。t

取消轨迹类型可以对应于停止为0速度的一个或多个命令。在一些实施方案中,t

取消类型可以对应于完成任务。例如,当机器人306完成对目标物体112的操纵(通过例如放置在任务位置116处)时,可以生成t

取消类型以在开始新任务之前从处理流程中去除已完成的所计划轨迹322。因此,当t

取消没有任何错误或触发状况时,流程704可以进入tr完成状态。替代地,对于一个或多个预定触发状况,t

取消可以由于不可恢复的错误状况(例如,丢件)而在转变到tr退出阶段之前清除有问题的所计划轨迹322。
108.t

反向连接类型的轨迹可以对应于一个或多个预定错误状况。例如,可以响应于机器人306在搬运移动期间和/或在拾取/放置操作期间撞击或干扰一个或多个物体而生成t

反向连接。而且,当机器人306的所计划位置(例如,端部执行器的姿势)与机器人306的所检测位置不匹配时,可以生成t

反向连接。
109.图7c示出了用于图7a的轨迹执行机制702的示例性执行流程706。执行流程706可
以代表上述(例如,在图7b中)轨迹类型中的每一者的不同状态和转变。对于每个命令/动作,常规流传输状态(regularstreaming)可以代表图1的机器人系统100(经由例如图3的桥电路304和图3的机器人306)遵循一组当前的路径点(例如,最初是图4的所计划路径点402,以及在图5b的调整520之后图5b的更新后路径点532)。
110.机器人系统100可以应对和桥电路304与机器人306之间的通信以及对应的处理时间相关联的延迟或滞后。例如,桥电路304和/或机器人306可以实施等待最终位置(waitforfinalpos)并等待直到机器人执行命令的动作的状态。可以通过桥电路304在动作结束之前获得机器人306的最终位置。机器人306可以发送图3的反馈数据362,所述反馈数据报告结束等待状态的最终位置。替代地或另外,桥电路304可以基于命令的动作和/或反馈数据362(例如,完成状态报告)来计算最终位置以结束等待状态。
111.在一些实施方案中,机器人系统100可以包括被配置为响应预定错误状况的错误恢复机制。例如,错误恢复机制可以对应于如上所述自动地反转移动(例如,图7b的t

反向连接)。机器人系统100可以从常规流传输状态和/或从等待状态转变到错误恢复机制。机器人系统100可以从错误恢复状态转变回常规流传输状态和/或等待状态。
112.机器人系统100还可以应对机器人306处的编码器或处理延迟。例如,桥电路304和/或机器人306可以实施等待编码器处的处理延迟或收敛(waitforencodconvrg)的状态。在移动结束时,机器人306的编码器可以在机器人306到达最终目标位置之后停止。
113.机器人306可以基于遵循到达其终点的轨迹而到达最终位置处。如果机器人系统100确定在到达终点之前沿轨迹的错误状况,则桥电路304可以停止机器人306的移动。响应于所述错误,桥电路304可以撤回与最终位置相关联的命令。执行流程706可以从常规传输流状态直接转变为收敛等待状态。
114.机器人系统100可以将机器人306停止并退出状态机,桥电路304可以等待编码器收敛,以确保机器人306处在距指定位置的预定距离处或以内。一旦机器人306停止,机器人系统100就可以使用停止点来重新计算下一轨迹。
115.图7d示出了用于图7a的轨迹执行机制702的示例性轨迹流程708。轨迹流程708可以示出不同轨迹转变之间的关系。轨迹流程708可以在判定轨迹类型作为所述转变的目标之前确定所述转变。因此,图1的机器人系统100可以优先考虑应当遵循哪个事件,并提供不同转变之间的层次。不同的状态转变可以用于做出交换或选择转变的不同种类的决策。
116.轨迹流程708可以对应于上文针对图7b的命令流程704所描述的状态。例如,图7d中的tr流传输状态可以对应于图7b中的tr流传输状态和t

命令状态。tr

暂停、tr

恢复、tr取消、tr速度变化和tr反向可以对应于图7b中描述的转变触发。tr完成状态可以对应于向图7b的tr完成状态的转变(例如,在操纵期间没有错误地到达完成位置)。
117.机器人系统100可以使用动态调整520来平稳且无缝地应对真实世界状况。由于使用图3的运动计划器电路302重新导出轨迹所需的时间和资源相对较多,所以机器人系统100可以使用桥电路304动态地导出沿初始所计划轨迹322的更新后路径点532。例如,响应于真实世界状况而立即停止或反转机器人306的移动可能导致机器人306急动或震动,这可能增加引起进一步的不期望错误的可能性。替代地,不管真实世界状况(例如,错误)如何,持续实施初始所计划轨迹都可能导致附加的错误(例如,碰撞)和/或浪费资源(例如,在丢件之后)。这样,通过用更新后路径点532替换所计划路径点404,机器人系统100可以在提高
总体效率和改善错误率的同时实用地实施动态调整。此外,如上所述的机器人系统100(经由例如图6的方法600和/或示例性状态机)可以在应对和调整真实世界状况的同时实用地地实施任务。
118.总结
119.所公开技术的示例的上文具体实施方式并不意图是详尽的或将所公开技术限于所公开的确切形式。虽然出于说明性目的描述了所公开技术的具体示例,但如相关领域技术人员应认识到,在所公开技术的范围内多种等效修改也是可能的。例如,虽然过程或框是以给定次序呈现的,但替代实现方式可以不同次序执行具有步骤的例程或采用具有框的系统,并且可删除、移动、添加、细分、组合和/或修改一些过程或框来提供替代方案或子组合。这些过程或框中的每一个可以多种不同方式来实施。另外,虽然过程或框有时被示出为串行执行,但这些过程或框可替代地并行执行或实现,或者可在不同时间执行。此外,本文所指出的任何具体数目仅是示例;替代实现方式可采用不同的值或范围。
120.根据上文具体实施方式,可对所公开技术进行这些和其他改变。虽然具体实施方式描述了所公开技术的某些示例以及所设想的最佳模式,但所公开技术可以许多方式来实践,而无论文中上文描述呈现的如何详细。系统的细节可在其具体实现方式中相差甚大,但仍由本文所公开的技术涵盖。如上文所指出,在描述所公开技术的某些特征或方面时所用的特定术语不应被视为暗示本文中将术语重新定义为限于所公开技术的与所述技术相关联的任何具体特性、特征或方面。因此,除所附权利要求之外,本发明不受限制。一般来说,以下权利要求中所用的术语不应被视为将所公开技术限于说明书中所公开的具体实例,除非上文具体实施方式章节明确地限定了此类术语。
121.虽然本发明的某些方面在下文是以某些权利要求的形式呈现的,但本技术人设想了呈任何数目的权利要求形式的本发明的多个方面。因此,本技术人保留在提交本技术之后追加附加权利要求以在本技术中或在接续申请中追加此类附加权利要求形式的权利。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1