CN116568465A - 用于机器人单元的改进的自动校准的方法和系统 - Google Patents

用于机器人单元的改进的自动校准的方法和系统 Download PDF

Info

Publication number
CN116568465A
CN116568465A CN202180079561.3A CN202180079561A CN116568465A CN 116568465 A CN116568465 A CN 116568465A CN 202180079561 A CN202180079561 A CN 202180079561A CN 116568465 A CN116568465 A CN 116568465A
Authority
CN
China
Prior art keywords
robotic
calibration
arm
unit
robotic arm
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
CN202180079561.3A
Other languages
English (en)
Inventor
R·珀尔曼
B·克拉克
O·阿克曼
M·布朗
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.)
Guangming Machine Co
Original Assignee
Guangming Machine Co
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 Guangming Machine Co filed Critical Guangming Machine Co
Publication of CN116568465A publication Critical patent/CN116568465A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • 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/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39008Fixed camera detects reference pattern held by end effector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39016Simultaneous calibration of manipulator and camera

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

本发明公开了一种机器人单元校准方法,包括提供机器人单元系统,该机器人单元系统具有包括以下的元件:一个或多个相机、一个或多个传感器、部件和一个机器人臂。该方法包括:使用公共坐标系相对于该机器人臂的位置定位该一个或多个相机和这些部件的位置;使该机器人臂以移动模式移动,并且在该移动期间使用这些相机和这些传感器来多次确定机器人臂位置。该方法包括:实时识别机器人臂位置在预测位置和所确定的位置之间的差异;以及由自动校准器计算对所识别的差异的补偿,该自动校准器将该机器人单元系统中的这些元件作为系统进行求解。该方法包括:基于该补偿来在该移动期间实时修改该机器人臂的动作。

Description

用于机器人单元的改进的自动校准的方法和系统
相关申请
本申请要求2020年11月10日提交的美国临时申请第63/198,757号的优先权,并且将该优先权申请的全部内容并入。
技术领域
本发明涉及校准,并且更具体地涉及机器人单元的自动校准。
背景技术
随着各种类型的设备自动装配,机器人装配正变得普遍。然而,设置和维护此类机器人装配系统仍然需要由专家进行校准。
机器人装配单元通常包括大量零件,零件中的每个零件必须被校准。这些元件中的每个元件通常具有必须运行的单独的校准例程。然后必须协调这些校准,以校准所有事物。
这是一种缓慢且高精度的过程,耗时且需要专门技术。
附图说明
在附图的图中以示例而非限制的方式示出了本发明,并且在附图中相同的附图标号是指相似的元件,并且在附图中:
图1A是用于机器人工厂的系统的概述框图。
图1B是包括多个机器人单元的微型工厂的一个实施方案的图示。
图1C是机器人单元的一个实施方案的图示。
图1D是包括多个基准的工作空间的一部分的一个实施方案的图示。
图1E是示出限定工作空间整体视图的元件的一个实施方案的图。
图2是机器人单元和自动校准系统的一个实施方案的框图。
图3是自动校准的一个实施方案的概述流程图。
图4是校准和使用的整体表示途径的一个实施方案的概述流程图。
图5是使用中重新校准的一个实施方案的概述流程图。
图6是初始校准过程的一个实施方案的流程图。
图7是使用中再处理和校准的一个实施方案的流程图。
图8是利用传感器和校准设置机器人单元的一个实施方案的流程图。
图9是设置工作空间的一个实施方案的概述流程图。
图10是误差最小化的一个实施方案的流程图。
图11是示出设置并使用机器人单元的一个实施方案的工艺流程。
图12是可与本申请一起使用的计算机系统的一个实施方案的框图。
具体实施方式
描述了用于制造或装配的机器人单元的自动校准。出于本说明书的目的,“机器人单元”是计算机控制的任何装配或制造机器。例如,机器人单元可以是用于装配的模块化机器人系统、计算机数字控制(CNC)机器、3D打印机、自动化光学检查(AOI)系统、焊膏检查(SPI)、自动化x射线检查(AXI)机器或者包括至少一个相机并由计算机控制的任何其他设备。该系统可用于替换先前由集成者手动完成的工作,将零件装配到机器人单元并在制造期间监控机器人单元。
通过建立机器人单元及其工作区域的整体或系统视图,自动校准系统可提供高准确度和精度、迭代反馈回路、持续姿态精化和相机精化。此外,在一个实施方案中,自动校准系统可用现成件而不是定制的组件来实现这一点。在一个实施方案中,可结合几何基准约束使用多个低成本相机来在降低的成本和复杂性下提供高准确度。自动校准可用于涵盖整个机器人单元环境,该机器人单元环境包括系统中的所有元件,也称为整体视图、系统视图或作为系统进行求解。例如,在模块化机器人装配系统中,这可包括一个或多个相机和/或其他传感器、机器人臂、臂端工具、零件和附加工具位于其上的托盘、将工件移入和移出机器人装配系统的传送装置以及单独的工件。在一个实施方案中,工作区域的整体视图包括所有元件,无论它们是静止的还是可移动的,并且跟踪和/或校准所有元件。
在一个实施方案中,自动校准是可能的,其使用相机镜头校准、坐标系配准、臂端工具接触校准、机器人姿态误差补偿和校准监控的组合,并使用前馈控制和持续校正来随时间推移维持校准。相机镜头校准校准相机的传感器和镜头失真及误差,这用于其他元件的校准。坐标系配准建立工作空间内的所有事物相对于彼此或相对于共享坐标系的相对位置和取向。在一个实施方案中,臂端工具接触校准被称为工具中心点(TCP)校准,其校准感兴趣的工具末端定位、或感兴趣的工具线、或将工具与产品或工件对接的感兴趣的工具接触平面。臂端工具接触校准可具有空间位置以及取向。部件的所有感兴趣位置和取向的组合被称为姿态。接触点可以是动态流体或等离子体,如在钎焊或焊接中。机器人姿态误差补偿提供调整以补偿制造的累积不准确、磨损以及机器人臂的部件或其他部件中的不准确的其他原因的影响。机器人姿态误差可由多种来源(诸如机械滞后、反冲、热膨胀和负载)引起。在一个实施方案中,校准监控提供机器人单元系统的校准状态的连续监控,以及持续校正。因此,系统校准机器人单元中的动态和静态部件,并且使用学习过程来对动态和静态部件进行建模。
在一个实施方案中,机器人单元结构包括框架、机器人臂和由存在机器人臂和在其上工作的零件的空间体积限定的工作区域。框架通常是机器人单元的最刚性部分中的一个部分,其可用作相机的位置以及原点或根。在一个实施方案中,系统被设计成创建工作区域的整体表示,该整体表示包括机器人单元本身的元件以及结构内的产品或工件。
在一个实施方案中,可从工作区域中的各个有利位置观察到的一个或多个基准附接于机器人单元结构。在一个实施方案中,基准遍布于工作区域(或体积分布),使得除了机器人臂和/或校准板或由机器人臂保持的其他装配元件上的任何基准之外,每个相机总是看到附接于工作区域的至少一个基准。然而,即使此类“刚性”部分也不是真正刚性的,因为机器人单元被物理地移动,或者有人可能撞击单元或者以某种方式移位机器人单元结构以使刚性部分位移。另外,磨损可能导致移动或位移。在一个实施方案中,本系统可识别此类位移,使得当这种移位发生时可重新校准机器人单元结构。
在一个实施方案中,代替基准或除了基准之外,系统可利用机器人单元内的自然特征。自然特征可以是在机器人单元的工作区域内可见的任何视觉上可观察的自然或人造元素,诸如表面孔、产品边缘、拐角、在大理石、木纹、油漆斑点、印刷图案中发现的形状等。
除了基准或框架结构上所识别的自然特征之外,系统可包括多个其他基准或所识别的自然特征,包括在臂端处。在一个实施方案中,为了校准,还可使用由机器人臂移动的一个或多个校准板或件。在一个实施方案中,基准是几何基准约束。在一个实施方案中,机器人臂包括多个基准/图案以用于进行校准。基准可定位在每个链节上、相对于臂端工具接触件定位在工具上、定位在每个关节附近。在一个实施方案中,通过识别基准的中心点并使用中心点进行校准和测量来使用基准。在另一个实施方案中,可通过使用基准的另一个特征来使用基准。一般来讲,可使用任何一致识别的点,无论是直接识别还是相对于另一个点识别,无论是在基准上还是作为自然特征。
在一个实施方案中,机器人单元系统还包括多个相机。机器人单元至少包括一个相机。在一个实施方案中,相机在顶部、侧面和其他位置刚性地安装到框架的最刚性部分。在另一个实施方案中,相机可安装在其他位置。在一个实施方案中,相机可安装在臂端处。在一个实施方案中,每个相机的视场可观察体积布局中的最小基准组。在一个实施方案中,工作区域内的所有位置和定位可由至少两个相机观察。在一个实施方案中,校准相机以确定失真模型。在一个实施方案中,系统利用一组相机来提供工作空间的整体视图。在一个实施方案中,来自相机的数据经整合以提供立体视图或多相机视图以提供3D空间视图,而不是单独的2D图像。在另一个实施方案中,单目相机可用于工作空间。
在一个实施方案中,除了相机之外,诸如磁传感器、红外(IR)传感器和其他传感器的附加传感器也可安装在机器人单元内或之外以监控工作区域。可以是机器人单元的一部分的其他传感器可包括声音传感器、振动传感器、电机扭矩传感器、力传感器(负载单元)、用于感测速度和/或加速度的运动传感器、光传感器以及温度传感器中的一者或多者。在一个实施方案中,系统整合所有该传感器数据中的所有传感器数据以将环境准确地表示为系统表示。
在一个实施方案中,系统为单元设置参考系原点(0,0,0),所有定位都参考该原点。在一个实施方案中,相对于单元的最刚性部分设置原点。该原点是单元的参考点。在一个实施方案中,使用框架的最刚性部分上的基准以及附接到框架的最刚性部分的一个或多个相机来建立原点。在一个实施方案中,附加相机可安装在机器人单元的其他部分上。在一个实施方案中,系统利用概述和/或内部测量技术来获取基准的中心的精确坐标定位。在另一个实施方案中,系统可利用自然或人造视觉特征,或基准的其他点。在一个实施方案中,基准的坐标定位相对于原点参照系,该原点参照系也被称为虚拟原点坐标系(0,0,0)。
系统使用虚拟原点坐标系来相对于机器人单元在空间中定位相机。在一个实施方案中,该过程然后创建包括准确度对精度曲线的图。在一个实施方案中,该图被连续更新。
在一个实施方案中,系统在机器人臂在变化的负载下执行不同的任务、以变化的速度行进以及沿着变化的路径移动时利用所定位的相机和传感器来观察单元,以在给定不同环境状态下创建单元操作的模型。在一个实施方案中,也可改变其他因素,诸如由机器人臂保持的工具或板的重量分布、温度和其他因素,以更完整地对单元操作进行建模。
在一个实施方案中,系统提供机器人单元的系统级或整体视图,包括工作区域和机器人臂。在一个实施方案中,这部分地通过使用虚拟原点坐标系作为单元的坐标系上的恒定参考点进行所有计算和位置确定来完成。在一个实施方案中,系统建立准确度图,利用准确度度量来定位整个机器人单元中的元件。通过使用来自校准的度量来映射准确度,并且连续地更新该映射,系统可确定单元的区域的准确度图是否随时间推移而改变。然后,在计算单元内元件的移动和位置时可考虑这些种类的改变。
在一个实施方案中,使用校准过程,该校准过程自动地找到相机的视场中的基准并且确定机器人单元的工作区域内的所有元件的姿态和身份。“姿态”包括位置(xyz)和围绕该位置的取向(俯仰、偏航、滚动)。然后,相对于虚拟原点坐标系定位相机。
在一个实施方案中,该过程为机器人臂创建可从相机观察到的路径。该过程可利用误差最小化框架来选择路径以计算在单元的可观察体积中可见的内容的最佳可能定位。换句话讲,选择有利于各种可移动部件(机器人、工具、托盘、零件和托板,和/或机器人安装的相机)中的一者或多者的移动的路径,使得可捕获数据(相机图像,或来自其他传感器的数据)。
生态系统具有多种潜在的误差源,例如每个相机的镜头失真、机器人运动反冲、滞后、热膨胀等。自动校准系统在考虑来自所有潜在误差源的贡献的情况下,作为生态系统整体地在系统级解决这些误差。例如,如果工具不在其预期位置,则误差可能是由于镜头失真,或由于机器人运动反冲,或两者引起的。为了决定由镜头对反冲引起的误差有多大,系统可利用来自系统中其他传感器的数据,但是这些其他传感器可具有它们自己的误差。因此,解决一个误差的来源取决于具有其他误差的其他传感器。这是联立方程和约束系统。
约束可以是系统可假设基准在平坦表面上-这使得能够核实是否存在镜头失真。如果镜头失真,它将会使基准看起来像是在非平坦表面上。然后,系统可校正镜头失真。算法可通过一系列多个传感器观察和约束作为全局生态系统来求解复合系统,并且(迭代地和/或直接地)精化。描述这一点的一种方式是“通过对跨多个感兴趣对象和特征的观察和约束的整体数学分析的全局误差最小化和优化”。该框架可用于相机、机器人和臂端工具接触校准。在一个实施方案中,该框架用于通过姿态误差最小化和重投影误差最小化进行优化。
系统利用每个对象的模型诸如约束、重量和属性,计算概率,并且应用几何和结构分析。一组校正参数被应用于每个传感器,并且系统对每个工具/部件/对象/特征的机械行为进行建模,使得校正后的观察是严格的并且彼此一致并且与现实一致。
在一个实施方案中,该框架可对基准使用约束,诸如定位(利用准确度图)、取向、静态/动态(框架上的基准对机器人臂上的基准)、平面性等。
在一个实施方案中,系统连续地执行小型校准。在一个实施方案中,这是在处理器的空闲周期期间完成的,其中数据由相机和/或传感器捕获。在一个实施方案中,看门狗过程监控小型校准以识别何时需要完全重新校准。在一个实施方案中,随时间推移,在机器学习系统中使用数据来在需要校准时进行微调,并识别什么改变或发生导致需要重新校准。这可用于改进机器人单元本身,或解决使单元敲离校准的问题。在一个实施方案中,用户界面提供了显示校准输出和统计的方式。随时间推移,这可导致改进的单元设计,因为导致单元变得不稳定或需要重新校准的问题被识别和消除。
在一个实施方案中,校准数据被存储并用于机器人的稳态操作中。
在一个实施方案中,机器人单元一旦被校准就使用状态相关机器学习前馈模型来操作。
本发明的实施方案的以下详细描述参考了附图,在附图中,相同的附图标号指示相似的元件,从而以例证方式示出了实践本发明的具体实施方案。对这些实施方案的描述足够详细到使得本领域的技术人员能够实践本发明。本领域的技术人员应理解,可利用其他实施方案,并且可在不脱离本发明的范围的情况下进行逻辑、机械、电气、功能和其他改变。因此,以下详细描述不应被理解为限制性的,并且本发明的范围仅由所附权利要求限定。
图1A是用于机器人工厂的系统的概述框图。图1A是其中可实现机器人单元的系统的一个实施方案的简化框图。在一个实施方案中,机器人单元A10包括一起形成软件定义的生产线或微型工厂A12的一个或多个单独的机器人单元。在一个实施方案中,单独的机器人单元A10可经由传送装置和反向传送装置联结,使得通过微型工厂制造或装配的单个项目穿过一个或多个机器人单元A10(或多次穿过一个或多个单元A10)。机器人单元A10可提供产品的制造、装配、检查和/或测试。为了简单起见,将使用术语“制造”,然而应当理解,该术语用于作为制造产品的一部分的任何过程,包括检查、制造、验证和测试。
在一个实施方案中,机器人单元A10由软件控制。在一个实施方案中,用于机器人单元A10的配置和控制数据从存储器A20应用于单元。在一个实施方案中,存储器A20可以是经由网络A05耦接到机器人单元A10的远程系统的一部分。配置数据A25定义用于每个机器人单元A10和生产线的软件配置。每个机器人单元在使用前进行校准。在一个实施方案中,机器人单元A10还被连续地校准,如将在下文更详细地描述。
在一个实施方案中,机器人单元A10在被校准、测试和使用的同时收集操作数据。该操作数据A30存储在存储器A20中并且由机器学习系统A35使用。在一个实施方案中,本地存储装置A15为机器人单元的配置数据以及由机器人单元处于使用中时产生的操作数据提供备份。在一个实施方案中,本地存储装置A15充当存储器A20的缓冲器。在一个实施方案中,如果机器人单元A10变为从网络A05断开,则其可使用本地存储装置A15继续操作并且收集实时操作数据。这还使得能够离线操作机器人单元A10。
在一个实施方案中,由于单元是软件配置的,因此单个机器人单元A10可在制造过程中执行多个阶段并且可在制造过程期间被重新配置。在一个实施方案中,这还使得能够在制造期间在微型工厂中替换机器人单元A10而无需大量的重新配置。在一个实施方案中,这还允许将单元添加到微型工厂中。
在一个实施方案中,机器人单元A10包括本地用户界面A55,使得能够与制造底板上的机器人单元A10交互。在一个实施方案中,本地用户界面A55可提供基于操纵杆的交互,使得能够直接控制机器人单元的元件。
在一个实施方案中,除了本地UI A55之外,还可存在经由网络A05耦接到机器人单元A10的远程UI A50。远程用户界面A50可以是便携式用户界面,诸如平板电脑。远程用户界面A50可经由局域网(LAN)、个域网(PAN)或另一种类型的网络联接到机器人单元A10。在一个实施方案中,一些远程UI A50可能需要接近机器人单元A10,而其他远程UI A50可从任何地方操作。在一个实施方案中,呈现在用户界面上的功能和控制元件可基于机器人单元A10、机器人单元A10的配置、登录到用户界面中的个体的身份/资格以及与物理单元的接近度中的一者或多者变化。在一个实施方案中,本地UI A55和远程UI A50提供相同的人机界面(HMI)元件、布局和功能,从而降低操作者与机器人单元A10交互的复杂性。在一个实施方案中,用户界面提供跨所有机器人单元类型和配置的统一HMI。
在一个实施方案中,为了生产最终产品,过程从开发工具A40开始。在一个实施方案中,这些工具可被远程地提供给设计者。在一个实施方案中,可通过软件即服务(SaaS)型界面在线提供这些工具。在一个实施方案中,开发工具A40使得能够设计包括一个或多个机器人单元A10的生产线。在一个实施方案中,教导机器人单元A10具有某些能力。开发工具A10使得用户能够使用机器人单元A10中的一个或多个机器人单元来设计生产线以创建最终产品。
在一个实施方案中,CAD/生成设计工具A60可用于创建用于制造最终产品的CAD设计。在一个实施方案中,当使用CAD/生成设计工具A60时,系统可在设计最终产品时考虑机器人单元A10的制造/装配限制。在一个实施方案中,CAD/生成设计工具A60可从开发工具A40接收数据,并且可基于通过开发工具A40识别的问题来迭代最终产品设计。开发工具A40的输出是用于每个机器人单元的操作序列。
一旦生成设计,转换器A70就将操作序列转换成用于单独的机器人单元的控制命令。在一个实施方案中,开发工具A40的输出采用描述机器人单元所采取的配置和动作的语言。由于每个单独的机器人单元包括可利用不同控制语言的多个元件,因此转换是相当复杂的。此外,执行相同操作序列的不同机器人单元可具有来自不同制造商的元件,或者具有不同配置。例如,机器人臂可具有多个移动关节,并且这些关节可具有不同的限制。因此,操作序列中的单个命令可针对每个单独的机器人单元以不同方式转换。
所转换的控制命令可应用于虚拟化机器人单元A75或机器人单元系统的虚拟表示。虚拟化机器人单元A75是单独配置的机器人单元的软件表示,并且可用于测试和核实,也被称为“数字孪生”,因为在一个实施方案中,它被配置为模拟实际机器人单元。在一个实施方案中,虚拟化机器人单元A75可使用来自实际机器人单元A10的操作数据A30来使得用户能够远程地查看物理机器人单元A10的动作。在一个实施方案中,用户可在过程期间预览机器人单元的动作,可在过程期间跟踪实际动作,和/或使用虚拟化机器人单元A75在过程之后查看实际动作。
转换器A70的输出一旦被验证和核实,就被存储为配置数据A25。如上所述,配置数据A25被应用于物理机器人单元。
在一个实施方案中,使用机器学习系统A35来提供用于迭代学习的数据以及对过程的改进。
在一个实施方案中,尽管此处的元件被示出为单独的元件,但本领域技术人员将理解,设计工具A60、开发工具A40、转换器A70、虚拟化机器人单元A75和机器学习系统A35在一个或多个计算机系统上实现。计算机系统可以是通过网络A05访问的独立设备、服务器或基于云的系统。在一个实施方案中,所描述的元件可在单个服务器系统上实现。在一个实施方案中,所描述的元件可在多个不相关的计算机/服务器系统上实现。在一个实施方案中,尽管对于类似开发工具A40的元件仅示出了单个块,但实际工具可分布在多个设备上。
图1B是包括多个机器人单元的微型工厂的一个实施方案的图示。该图示出了用于执行某些动作的三个机器人单元,每个机器人单元包括机器人臂。可看出,工件可流动穿过三个机器人单元,其中每个机器人单元在过程中采取一些动作。
图1C是机器人单元的一个实施方案的图示。机器人单元包括用于传送带的开口以及相关联的托盘进给器,工件可通过该托盘进给器被提供给机器人单元。可看到机器人臂。在一个实施方案中,机器人臂是6轴臂并且具有通过整个工作空间的运动范围。在一个实施方案中,工作空间由封闭区域限定,示出为机器人臂在该封闭区域中移动。工作空间的整体视图涵盖工作空间中的部件、工件和其他项目的全部。对于机器人装配系统,工作空间可涵盖机器人臂、托盘进给器、传送带以及可在机器人单元内的相关联的工件。本系统被设计成自动校准该3D空间内的元件,以确保由机器人单元执行的过程是准确、一致和可重复的。
图1D是包括多个基准的工作空间的一部分的一个实施方案的图示。在一个实施方案中,系统包括位于机器人单元内的多个基准。如此处所示,在一个实施方案中,基准可以是AprilTag。基准和/或其他视觉特征可提供可用于定位和校准元件的镜头校准。在一个实施方案中,基准被用作初始自动校准的一部分并且用于连续反馈和校准核实,如将在下文描述的。尽管示出了AprilTag,但可使用其他类型的基准,包括QR码、其他图案或者机器人单元的可用作参考点的自然或人造视觉特征。
图1E是示出限定机器人单元的工作空间的整体视图的元件的一个实施方案的图。在一个实施方案中,工作空间由框架和外壳限定,机器人臂可在框架和外壳内移动以对工件采取动作。在一个实施方案中,工作空间包括两个或更多个相机以提供空间的立体视图或多相机三维视图。在一个实施方案中,在框架的一侧上存在附加相机。在一个实施方案中,在臂端处存在相机。也可使用附加相机。具有不同视点的不同相机给出不同的益处。
在一个实施方案中,两个顶部相机都覆盖整个工作空间。侧面相机提供臂端的更好视图,并且提供对定位的额外检查。臂上相机提供特写图像。
来自多个相机的相机数据和任选地传感器数据的组合提供工作空间的三维表示。在一个实施方案中,这使得系统能够在三维中观察机器人臂,并且创建正被监控的3D体积的表示。具有整体或系统级表示使得系统能够建立元件在工作空间中的位置的预期,并且完全理解单元配置和对象在工作空间中的定位。如果由相机检测到的现实偏离基于工作空间的整体表示建立的预期,则系统可作出反应。这提供了更精确的系统以及对机器人臂的位置和动作的理解。相比之下,现有技术系统通常使用仅校准到有限数目的二维工作平面的单目相机或多相机系统,并且使数据平坦化。
使用工作空间的3D体积的整体表示是可能的,因为自动校准以及连续反馈和重新校准确保了在系统中准确地表示机器人臂和相关工件的真实世界定位和移动。在一个实施方案中,该虚拟化机器人单元或虚拟表示可被称为“数字孪生”。在一个实施方案中,数字孪生表示可被示出为实际机器人单元的视觉反映。在另一个实施方案中,数字孪生是系统内的未在视觉上示出的整体表示。
图2是机器人单元和自动校准系统的一个实施方案的框图。在一个实施方案中,机器人单元210包括机器人臂215、相机220和基准225。在一个实施方案中,机器人臂215是来自多个制造商(诸如FANUCTM)中的任一个制造商的六轴机器人臂。在一个实施方案中,相机220包括监督工作空间的至少两个相机。在一个实施方案中,基准225包括定位在工作空间内的用于校准系统的多个基准,并且对校准执行连续反馈。在一个实施方案中,至少机器人单元210包括一个相机220和基准或(自然或人造)视觉特征以使得能够进行校准。例如,在AIO机器中,系统包括用于自主扫描被测设备以识别质量缺陷的相机。
在一个实施方案中,工作空间可包括其他元件诸如工件,以及将工件移动到机器人单元和从机器人单元移动工件的传送带226。其他元件可包括托盘227和来自托盘进给器的路径,工件或待添加到工件的其他部分位于该托盘上。其他元件可包括臂端工具228,并且如果存在其他工具则任选地包括工具开关。“工具开关”是指机器人臂上的特殊安装接口,该安装接口允许(手动地或经由软件控制自动地)改变臂端工具。这使得自动校准例程能够校准多个工具。在一个实施方案中,这还使得能够使用用于机器人的特殊校准工具,从而使得系统能够校准并且然后重新安装臂端工具。工作空间中的其他元件可包括安全系统(诸如光幕)、电气系统、照明系统、传感器、线缆管理系统以及位于机器人单元的工作空间内并且因此可被认为是机器人单元系统的一部分的其他元件。
在一个实施方案中,机器人单元210还包括一个或多个其他传感器230。这些其他传感器230可包括磁传感器232、红外传感器234、声音传感器236、振动传感器238、深度传感器、紫外传感器、激光传感器、压力传感器、电流传感器、温度传感器、偏振传感器以及其他传感器。其他传感器230还可包括感测由机器人臂施加的力的负载单元传感器240。其他传感器230还可包括位于机器人臂215上的速度和/或加速度传感器242。其他传感器230还可包括光传感器244、温度传感器246、扭矩传感器248和其他传感器。在一个实施方案中,温度传感器246可用于监控机器人单元210内的温度变化,因为温度变化影响金属和塑料零件的尺寸并且可能需要校准系统建模和调整。
机器人单元210包括附加零件,诸如网络连接、功率和信号连接、处理器、用户界面元素、用于关闭机器人的安全系统以及为了简单起见而未示出的其他零件。
机器人单元210将传感器数据发送到自动校准器250,并且从自动校准器250接收控制数据。在一个实施方案中,自动校准器250可以是在机器人单元的基础结构内实现的处理器和子例程。在另一个实施方案中,自动校准器250可远离机器人单元。在一个实施方案中,所描述的系统中的一些系统是远程的,而其他系统是本地的。
在一个实施方案中,自动校准器250由一个或多个处理器260利用存储器255来实现。在一个实施方案中,所描述的过程是被设计用于在机器人单元210的硬件上实现并配置实际硬件的软件。在一个实施方案中,看门狗例程265在初始校准之后提供对校准的连续监控,确保机器人单元保持校准,并且如果需要的话则触发重新校准。
在一个实施方案中,校准程序设计270包括路径设计272。路径设计272针对各种动作设计机器人臂的移动模式,并且校准移动模式中的预测位置和机器人臂的所测量位置之间的移动不准确或差异。机器人移动通常是高度可再现的,但不是高度准确的。由于机器人臂具有多个关节和运动零件,因此设计可观察且准确校准的路径是有用的。校准程序设计270还包括定位设计274和坐标系配准276。
定位过程274将一个或多个相机相对于单元的其他特征(诸如机器人臂和/或机器人单元内的其他元件(诸如基准、夹具、托板、零件、进给器、托盘、视觉特征、感兴趣点等))定位。在一个实施方案中,系统使用虚拟原点坐标系来相对于机器人单元在空间中定位相机。在一个实施方案中,该过程然后创建包括准确度对精度曲线的图。在一个实施方案中,该图被连续更新。坐标系配准提供位置数据。在一个实施方案中,系统提供用于计算位置数据的图像的灵活存储和检索。
反馈和精化逻辑280提供镜头失真校正282、姿态精化284和工具接触校准286。
机器学习系统290维持机器人臂的当前状态的状态逻辑292以及工作空间的整体定义。任务校准294基于校准提供对任务的调整(实现目标的一系列动作)。在一个实施方案中,反馈回路296在机器人单元处于使用中时利用来自机器人单元210和自动校准器250的连续反馈来精化和维持工作空间的整体定义。
所示出的简化元件整合到具有附加CPU、GPU、用户界面元素和网络连接的机器人单元中。尽管自动校准包250被示出为单独的逻辑,但本领域技术人员将理解,自动校准包250可整合到处理器或一组处理器中。这些设备对于机器人单元210可以是本地的,或者可以是远程的。在一个实施方案中,所描述的过程中的一些过程可在场外或在云中被利用,并且处理的数据可被返回到机器人单元210。
图3是自动校准的一个实施方案的概述流程图。过程开始于框310处。在框320处,将一个或多个机器人单元装配到微型工厂中。如上所述,微型工厂可制造、装配、检查、核实、测试或以其他方式参与制造过程。微型工厂可以是不利用机器人单元的较大系统的一部分,或者可提供自给式制造系统。
在框330处,用代码来初始化设备。在一个实施方案中,设备的初始化识别机器人单元内的元件中的每个元件,包括机器人臂、正在使用的工具、相机等。设备初始化加载机器人单元将执行的基本步骤序列。
在框340处,识别单元的校准例程。在一个实施方案中,校准例程基于生产线和单元配置。例如,对于进行拾取和放置的机器人单元,校准例程可不同于紧固螺钉的机器人单元,因为机器人臂和工件采取的运动范围和路径是不同的。执行自动校准过程。
在框350处,基于来自校准过程的数据,系统创建机器人单元的工作空间的整体概念,包括机器人臂、臂端工具、工作空间内的工件等。整体概念用于设定对移动和命令的预期。
在框355处,基于整体概念来创建机器人单元的虚拟表示。单元的虚拟表示被设计成与实际单元紧密对准,使得所映射的动作被类似地执行。这使得系统能够建立对机器人臂以及工作空间内的其他元件的位置和移动模式的预期。系统利用该预期来验证单元的操作。
在框360处,部署配方(recipe)并运行该线。在一个实施方案中,配方是发送到机器人单元以执行一个或多个动作的命令序列。配方可以是静态的或动态的、简单的或复杂的。简单的静态配方可以是“在时间X将传送装置移动Y英寸”。复杂的配方可包括从相机获得数据,以及如果零件配置正确,则有条件地插入螺钉。配方可包括整个装配过程或过程中的步骤。当配方运行时,基于整体表示的对位置和移动的预期被用于检查过程的准确度。如果识别出任何差异,则因此可立即对其进行处理。
在框370处,系统继续在过程期间监控该线。在一个实施方案中,系统利用虚拟表示来反映元件的预期位置,并且将那些预期与从相机观察到的现实进行比较。为了能够实现这一点,系统必须维持准确的校准。在一个实施方案中,系统使用空闲时间重新校准来连续地重新校准机器人单元,并且基于真实世界数据来更新整体表示并且因此更新预期。过程在框380处结束。
图4是校准和使用的系统级或整体表示途径的一个实施方案的概述流程图。过程开始于框410处。
在框420处,校准微型工厂线,其中系统具有每个机器人单元的整体概念。整体概念涵盖机器人单元作为系统,包括所有相机、传感器、机器人臂、其他部件(包括机器人单元的工作区域内的工件)。这种初始或离线校准提供了机器人单元的初始参数。
在框430处,观察单元内的部件的位置和移动。这最初作为自动校准的一部分来完成,并且随后作为使用机器人单元来完成。
在框440处,过程确定所观察的真实世界情况是否不同于基于机器人单元的整体概念的预期,即机器人臂位置在所预测的位置和所观察的位置之间是否存在差异。在一个实施方案中,系统将机器人臂、工具和/或工件的真实世界姿态和移动模式(例如,每个关节的途径向量)与基于机器人系统的整体3D概念的预期进行比较。如果差异在可接受的阈值内,则在框450处执行过程中的当前步骤。在框460处,过程确定例程是否已完成。如果否,则过程返回到框430并且继续观察部件的位置/移动。需注意,尽管这在现实世界中被示出为流程图,但监控是连续的,并且在一个实施方案中,当在预期和现实之间检测到不同之处时触发中断。
在一个实施方案中,一旦例程完成,就在框470处使用反馈回路来向系统提供反馈。反馈回路向预期和机器学习系统提供数据。如果适当的话,系统还可重新校准。在一个实施方案中,系统可利用连续微型重新校准,以保持整体概念与系统完全对准。过程然后在框475处结束。
如果在框460处系统确定例程尚未完成,则过程返回到框430以继续观察单元中的部件。
如果在框440处系统确定在所观察的情况和基于整体概念的预期之间存在不同之处,即在所观察的移动和所预测的位置之间存在差异,则过程继续到框480。在框480处,过程确定不同之处是否可被自动解决。当差异可利用附加数据或利用预期或真实世界系统的调整来解决时,不同之处可被自动解决。在一个实施方案中,如果系统可自动解决问题,则在框490处,系统改变预期或现实世界以使它们匹配。然后过程返回到框430以继续该过程。在一个实施方案中,修改预期包括执行微型自动校准或在线校准。如果不同之处不能被解决,则系统在框485处使用警报并且停止该过程。在一个实施方案中,用户可解决差异或重新设定系统,或自动校准系统以将整体概念和预期与真实世界重新对准。然后该过程结束。
图5是自动校准的一个实施方案的概述流程图。过程开始于框510处。在框520处,执行相机和镜头校准。在一个实施方案中,存在附接到机器人单元的至少一个相机。在一个实施方案中,相机附接到参考物,即机器人单元的最刚性部分。在一个实施方案中,这是外部金属框架,其最不易于变形,诸如相对于机器人单元的其余部分弯曲或改变位置。在另一个实施方案中,相机可附接到机器人单元的不同部分。
在一个实施方案中,相机和镜头校准包括利用围绕工作区域移动的具有已知图案的对象。在一个实施方案中,已知图案具有已知的视觉特征,使得系统可将所看到的与已知的实际图案属性进行比较。不同之处是相对于“基准真相”的误差。图案可以是天然存在的图案,诸如木纹,或人造图案,诸如棋盘,或基准。在另一个实施方案中,代替移动对象,系统可使用静止对象和可移动相机,或覆盖相机视场的大部分的图案来进行校准。
在一个实施方案中,镜头校准包括调整镜头失真。在一个实施方案中,相机和镜头中的每一者都被校准。在一个实施方案中,相机和镜头校准还包括校准其他传感器技术。在一个实施方案中,相机校准利用机器人单元工作区域的体积布局中的基准。
在框530处,估计相机和机器人臂的相对姿态。在一个实施方案中,相对姿态是相对于原点的。在一个实施方案中,建立工作空间内的所有事物相对于原点的相对位置被称为坐标系配准。在一个实施方案中,所有事物都相对于虚拟坐标系进行配准。在一个实施方案中,每个元件被配准到单个虚拟坐标系,或者“原点”或“根”。在一个实施方案中,根被选择为位于机器人单元的最刚性部分的一部分中。在一个实施方案中,这是围绕工作空间的金属框架。
在框535处,对机器人臂误差进行建模。误差表示机器人臂的编程姿态和实际姿态之间的偏移或差异。
在框540处,执行工具末端校准。工具末端校准确定工具末端-机器人臂的臂端工具的位置。工具末端校准对于验证机器人臂的当前位置以及对于所有命令是必要的,因为这是机器人臂的与工件交互的部分。在一个实施方案中,机器人臂的部分中的每个部分也可被校准。
在框545处,将机器人单元的其他部分相对于根和/或相对于彼此校准。机器人单元的部分可包括工件、托盘、传送带和工作空间内的任何其他元件。在一个实施方案中,校准考虑工作空间内的每个元件。
在框550处,应用机器人姿态误差校正。机器人姿态误差是由于机器人臂、工作空间或环境中的运动、负载、变形、温度变化或其他变化引起的机器人定位的移位,这导致机器人臂的实际位置和所预测的位置之间的差异。当机器人臂被发送命令以去往位置X、Y、Z(或完全多关节取向和姿态)时,机器人臂去往的实际位置(或姿态)将不同(例如X’、Y’、Z’),因为移动不是完全准确的。系统补偿该差异。确定如何移动机器人臂的运动学引擎不能完全准确。然而,通过在3D工作空间中实时观察机器人臂,系统可计算与预期目的地相比移动的偏移或不准确度。这可用于调整对臂的指令,以增加准确度。
在框560处,在使用时监控系统。在一个实施方案中,整体表示用作与这种监控的所观察位置数据的比较。在一个实施方案中,在空闲时间再处理数据以在使用期间执行小型自动校准。在一个实施方案中,周期性地提取视觉特征(基准或者自然或人造特征),以提供连续监控。系统解决了“呼吸效应”或其他不准确来源,诸如基于温度、机械反冲、滞后、偏转以及机器人臂的负载的变化。
在框570处,过程确定校准状态是否仍足够准确。如果是,则在框575处进行任何小的校正,并且系统返回到框560以继续监控。
如果校准状态不再足够准确,则在框580处,过程确定是否需要完全重新校准。如果否,则过程继续到框550以执行机器人姿态误差补偿计算。否则,过程返回到框520以重新开始全自动校准过程。以这种方式,系统连续地监控系统,并且确保系统保持处于校准状态,并且根据需要连续地调整。需注意,尽管该附图和其他附图被示出为流程图,但在一个实施方案中,这些可以是中断驱动的过程。也就是说,系统可连续地监控和确定何时需要小的调整,并且自动地进行那些小的调整。当连续监控指示问题时,系统的连续监控可触发重新计算或完全重新校准。
图6是初始校准过程的一个实施方案的流程图。过程开始于框610处。在框620处,识别单元中的相机和机器人元件。在一个实施方案中,本系统可与用于相机、机器人臂、托盘、零件、进给器、工具等的现成零件一起工作。由于自动校准过程将这些零件一起组合到整体系统中,因此无论制造商是谁,都可整合各种零件。
在框625处,识别单元的校准过程。在一个实施方案中,校准过程取决于机器人单元的当前配置和/或用例、相机和其他传感器的定位以及机器人臂的特定种类。例如,与利用6轴机器人臂的装配单元相比,机器人单元诸如AOI机器可能需要较少涉及的校准过程。
在框630处,将具有已知基准或视觉特征图案的元件附接到臂端。在一个实施方案中,元件是棋盘。在另一个实施方案中,元件可以是十二面体、二十面体或具有基准的其他多平面形状,一个或多个面向相机提供在不同平面上的多个基准的视图以提高准确度(并且任选地向误差最小化框架提供附加平面性约束)。在另一个实施方案中,附接到臂端的元件可具有未定义的特征图案,诸如木纹、划痕/污点/不均匀的光洁度,这些特征图案可从多个相机的多个视点看到,其中视觉特征被匹配和三角划分。
在框635处,使元件围绕单元移动,并且收集图像和传感器数据。在一个实施方案中,移动模式可取决于将由机器人单元实施的配方/过程。在一个实施方案中,移动确保所有的相机和传感器可从元件接收数据。
在框640处,识别每个基准,并且识别其姿态。在一个实施方案中,在框645处使用帧/相机/时间戳关联。在框650处,处理传感器和图像数据以执行相机和镜头校准655。镜头校准校正镜头失真。通过观察单元周围的对象的移动,可针对机器人单元的各个区域中的不同之处以及相机之间的不同之处来校正失真。
在框660处,计算其他部件的相对姿态。这些部件包括机器人臂和工作空间内的其他元件。
在框665处,针对机器人臂计算工具接触姿态。配准工具接触点用于执行大部分配方,因为这是机器人系统的通常与工件交互的部分。
在框670处,系统计算机器人臂的估计的姿态误差。在一个实施方案中,误差取决于机器人臂的移动、取向、负载和速度。由于臂由多个关节部分组成,因此机器人臂的任何端部姿态可通过无限数量的途径到达。因此,基于取向、负载和途径移动计算误差是必要的,以确保系统在整体表示中正确地表示机器人臂的真实世界位置。例如,该途径可校正来自多种途径向量的机械滞后和反冲。
在框675处,过程确定元件是否足够准确以满足准确度阈值。在一个实施方案中,系统可将校准精化多次。在一个实施方案中,系统可提供初始校准,并且然后测试是否满足质量阈值,并且根据需要进行精化。校准、姿态估计和误差是否在参数内的测试可在以上以及此处的任何步骤之后执行。
在一个实施方案中,一旦校准被充分精化,就在框680处执行多参数优化。
在框685处,在一个实施方案中,利用外部基准来验证系统。在一个实施方案中,这涉及利用一个或多个单独基准或自然视觉特征来核实每个相机镜头、相机姿态和工具接触点校准都是准确的,并且误差模型考虑不准确度。过程然后在框690处结束。
图7是使用中再处理和校准的一个实施方案的流程图。过程开始于框710处。
在框715处,系统从使用中单元接收传感器和图像数据。在一个实施方案中,连续地接收该传感器和图像数据。
在框720处,基于帧/时间戳将传感器和图像数据彼此相关联。
在框725处,当处理能力可用时,处理传感器和图像数据。在一个实施方案中,这发生在处理器的空闲周期中,使得再处理不影响制造工艺流程。
在框730处,执行相机和镜头校准。
在框735处,计算工作空间中的部件中的每个部件的姿态。
在框740处,计算机器人臂的工具接触点。如上所述,工具接触点可以是工具接触工件所用的工具中心点(TCP)、一个或多个线段或平面,或者具有相对于感兴趣姿态的已知相对姿态的一些其他参考物。
在框745处,估计机器人臂的误差模型。
在框750处的过程基于与根据整体表示的预期相比的真实世界数据来确定工作空间、机器人臂和工具接触点的整体表示是否足够准确。如果表示准确,则过程在框715处继续监控。
如果表示不准确,则过程在框755处确定校准是否在范围之外。如果否,则过程继续到框715。否则,在框760处再处理数据,并且收集新数据以核实结果。
如果在框765处附加数据还指示系统在范围之外,则停止单元,并且在框770处启动完全重新校准程序。否则,过程返回到框715。在一个实施方案中,当校准在范围内但不足够准确时,系统可初始化小型自动重新校准,但当确认系统在范围之外时,启动完全自动校准过程。过程然后在框775处结束。
图8是利用传感器和校准设置机器人单元的一个实施方案的流程图。过程开始于框810处。
在框815处,将基准分布在单元中。在一个实施方案中,基准被放置在单元上的平坦且成角度的表面上。在一个实施方案中,基准也定位在机器人臂上。在一个实施方案中,机器人臂的每个关节部分可具有基准。
在框820处,安装相机和传感器。在一个实施方案中,相机安装在机器人单元的最刚性部分(诸如金属框架)上。然而,即使是金属框架也随时间推移而移位和变形。在一个实施方案中,至少两个相机被安装在单元的顶部上,从而监督工作空间。这使得能够整合来自相机的数据以提供工作区域的立体视图。在一个实施方案中,使用侧面相机来确保对工具末端的检视。工具末端相机可用于工件的特写图像。在一个实施方案中,相机被定位成使得每个相机看到至少两个基准或视觉特征以进行校准。在一个实施方案中,每个相机看到至少三个基准或视觉特征,其中基准或视觉特征中的至少一者定向在不平行于其他元件的元件上。
在框825处,对机器人臂进行编程以执行移动序列。在一个实施方案中,可在有负载和无负载的情况下执行移动序列。在本文中,负载是由机器人臂夹持的某物,或附接到机器人臂的工具。在一个实施方案中,如果机器人臂将在配方中具有多种类型的工具,则可利用将在过程期间附接到机器人臂的负载中的每个负载来执行移动序列。
在框830处,为单元建立原点(根或虚拟0,0,0位置)。在一个实施方案中,相对于单元的最刚性部分选择该根。在一个实施方案中,根被选择成使得至少两个相机可看到位置。在一个实施方案中,基于基准定义根。在一个实施方案中,通过计算布置在正方形中的四个基准的中心的平均值来定义根。
在框835处,计算相机和传感器相对于原点的确切姿态。
在框840处,在移动序列期间使用臂上的基准的姿态来对臂运动进行建模,并且估计其准确度。在一个实施方案中,系统在移动序列期间跟踪机器人臂上的基准以建立臂准确度并创建臂行为模型。由于系统在有负载和没有负载的情况下执行移动,因此行为模型考虑负载。在一个实施方案中,行为模型还基于相对移动和位置以及负载考虑机器人臂准确度的不同之处。
在框845处,系统计算单元的可观察体积(例如,可由至少两个相机观察的工作区域)中可见的元件的位置和取向,并且该数据被存储以用于校准。在一个实施方案中,这包括工作空间内的元件中的所有元件,包括传送装置、工件等。过程然后在框850处结束。
图9是设置工作空间的一个实施方案的概述流程图。过程开始于框910处。
在框915处,定位多个相机。在一个实施方案中,定位确定臂、工具接触和其他相机相对于共享根的相对位置。
在框920处,执行初始校准。在一个实施方案中,上述过程用于该步骤。
在框925处,创建所校准的系统的单个整体表示,包括机器人、相机、传感器、工具末端和所涉及的其他零件。在一个实施方案中,整体表示包括机器人单元内的工件,以及用于引入工件和移除工件的托盘牵拉器和传送带。整体表示提供预测机器人的移动并将该预测或预期与真实世界进行比较以确认准确度的能力。
在框930处,在初始校准之后,系统在空闲周期期间执行校准精化步骤。这确保了可能是温度变化、由于移动引起的漂移等的结果的随时间推移的机器人姿态误差在整体表示中被考虑,并因此在预期中被考虑。
在框935处,基于如上所述的工作空间的整体表示计算考虑误差的目标补偿,当机器人被指示移动到位置X、Y、Z时,由于移动的不准确以及各种关节和零件的相互作用,它将移动到位置X’、Y’和Z’。补偿调整将指令成使得当系统需要机器人移动到位置X、Y、Z时,系统将指示机器人移动到位置X”、Y”、Z”,这将导致机器人移动到位置X、Y、Z。过程在框945处结束。
图10是误差最小化的一个实施方案的流程图。过程开始于框1010处。
在框1020处,相对于原点在空间中定位相机。在一个实施方案中,原点定位在机器人单元框架和机器人的最刚性部分上。在一个实施方案中,相机相对于虚拟根(0,0,0)定位,并且然后相对于机器人和框架定位。
在框1030处,将工作体积或工作空间划分分割成体素。在一个实施方案中,体素在整个工作空间上可以是相同的大小。在另一个实施方案中,体素可以是基于工作空间的各个部分中的准确度需求的不同大小,因为系统针对每个体素对机器人臂准确度进行建模。
在框1040处,使机器人臂以预定模式在体素内四处移动。在一个实施方案中,机器人臂从各种不同的接近角并且以多种不同的重量接近每个体素的中心。这使得能够对机器人臂误差进行建模。
在框1045处,基于数据为每个体素建立模型。模型基于接近角和重量反映机器人臂在该体素内的准确度和精度。机器人臂的准确度取决于机器人臂的位置,例如,在一个实施方案中,机器人臂的定位在靠近工作区域的中心时可能更准确,而在关节延伸时朝向工作区域的边缘不太准确。然后可存储该模型并在接收到机器人指令时使用。框1050至1070表示模型的使用。
在框1050处,接收移动的期望目的地坐标。系统获得起始坐标,例如,机器人臂的当前位置。在一个实施方案中,还提供负载数据。
在框1060处,系统基于上述模型求解要应用于移动的校正值。模型基于机器人臂的接近角、重量和移动的结束位置。
在框1070处,将机器人臂移动到所校正的目的地以执行动作。
过程在框1080处结束。
图11是利用包括一个或多个机器人单元的微型工厂来创建装配的最终产品的过程的简化框图。在一些实施方案中,可将机器人单元插入到传统生产线中,以接管制造的一些子部分。过程包括从经由配方创建器C10的配方创建到经由微型工厂C50的制造/装配的制造层。尽管示出了从初始概念/功能设计到完成的制造的完整过程,但本领域技术人员将理解,该系统可实现这些过程的子集并且包括这些特征的子集。
当然,尽管以流程图形式示出各种过程,但本领域的技术人员将理解,作为流程图的示出并不要求过程元素中的每个过程元素以特定次序发生。另外,各个方面可以是中断驱动的,而不是循环的。此外,不依赖于来自流程图的先前元素的数据或者不具有依赖于它的稍后元素的任何过程可被重新安排为更早、更晚或者与其他过程并行发生。
图12是可与本发明一起使用的计算机系统的一个实施方案的框图。然而,对于本领域的普通技术人员而言将是显而易见的是,还可使用各种系统架构的其他另选系统。
图12中示出的数据处理系统包括用于传送信息的总线或其他内部通信装置1240,以及耦接到总线1240以用于处理信息的处理单元1210。处理单元1210可以是中央处理单元(CPU)、数字信号处理器(DSP)或另一种类型的处理单元1210。
在一个实施方案中,系统还包括耦接到总线1240以用于存储信息和要由处理器1210执行的指令的随机存取存储器(RAM)或其他易失性存储设备1220(称为存储器)。主存储器1220还可用于在处理单元1210执行指令期间存储临时变量或其他中间信息。
在一个实施方案中,系统还包括耦接到总线1240的用于为处理器1210存储静态信息和指令的只读存储器(ROM)1250和/或其他静态存储设备1250。在一个实施方案中,系统还包括数据存储设备1230,诸如磁盘或光盘及其对应的磁盘驱动器,或者当没有电力供应给系统时能够存储数据的闪速存储器或其他存储装置。在一个实施方案中,数据存储设备1230耦接到总线1240,以用于存储信息和指令。
系统还可耦接到输出设备1270,诸如通过总线1260耦接到总线1240以用于输出信息的阴极射线管(CRT)或液晶显示器(LCD)。输出设备1270可以是视觉输出设备、音频输出设备和/或触觉输出设备(例如,振动等)。
输入设备1275可耦接到总线1260。输入设备1275可以是用于使得用户能够向处理单元1210传送信息和命令选择的字母数字混合输入设备,诸如包括字母数字和其他键的键盘。还可包括附加的用户输入设备1280。一个这样的用户输入设备1280是光标控制设备1280,诸如鼠标、轨迹球、触笔、光标方向键或触摸屏,该光标控制设备可通过总线1260耦接到总线1240以用于向处理单元1210传送方向信息和命令选择,并且控制显示设备1270上的移动。
可任选地耦接到计算机系统1200的另一个设备是用于经由网络访问分布式系统的其他节点的网络设备1285。通信设备1285可包括多个可商购获得的联网外围设备中的任一个联网外围设备,诸如用于耦接到以太网、令牌环、互联网、或广域网、个域网、无线网络、或访问其他设备的其他方法的那些联网外围设备。通信设备1285还可以是零调制解调器连接,或提供计算机系统1200和外部世界之间的连接的任何其他机构。
需注意,图12中示出的该系统的部件中的任何或所有部件以及相关联的硬件可用于本发明的各种实施方案中。
本领域普通技术人员将理解,体现本发明的特定机器可根据特定具体实施以各种方式配置。实现本发明的控制逻辑或软件可存储在主存储器1220、大容量存储设备1230或处理器1210可本地或远程访问的其他存储介质中。
对于本领域的普通技术人员而言将是显而易见的是,本文所述的系统、方法和过程可被实现为存储在主存储器1220或只读存储器1250中并且由处理器1210执行的软件。该控制逻辑或软件还可驻留在包括计算机可读介质的制品上,该计算机可读介质具有其中体现有计算机可读程序代码并且可由大容量存储设备1230读取并且用于使处理器1210根据本文的方法和教导进行操作。
本发明还可体现在包含上述计算机硬件组件的子集的手持或便携式设备中。例如,手持设备可被配置为仅包含总线1240、处理器1210以及存储器1250和/或1220。
手持设备可被配置为包括一组按钮或输入信令部件,用户可使用该组按钮或输入信令部件从一组可用选项中进行选择。这些可被认为是输入设备#1 1275或输入设备#21280。手持设备还可被配置为包括输出设备1270,诸如用于向手持设备的用户显示信息的液晶显示器(LCD)或显示元件矩阵。可使用常规方法来实现这种手持设备。对于本领域的普通技术人员而言,给定本文提供的本发明的公开内容,本发明对这种设备的具体实施将是显而易见的。
本发明还可体现在包括上述计算机硬件部件的子集的专用器具诸如机器人单元中。例如,器具可包括处理单元1210、数据存储设备1230、总线1240和存储器1220,并且不包括输入/输出机构,或者仅包括基本通信机构,诸如允许用户以基本方式与设备通信的小触摸屏。一般来讲,设备越专用,设备运行所需的元件越少。在一些设备中,与用户的通信可通过基于触摸屏或类似机构进行。在一个实施方案中,设备可不提供任何直接输入/输出信号,但是可通过网络设备1285通过网站或其他基于网络的连接来配置和访问。
本领域普通技术人员应当理解,根据特定的具体实施,可使用被实现为计算机系统的特定机器的任何配置。实现本发明的控制逻辑部件或软件可存储在处理器1210可本地或远程访问的任何机器可读介质上。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读介质包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存存储器设备或者可用于临时或永久数据存储的其他存储介质。在一个实施方案中,控制逻辑部件可被实现为可传输数据,诸如电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)。
在前述说明书中,已经参考本发明的具体示例性实施方案描述了本发明。然而,显然的是,可在不脱离如所附权利要求书中所阐述的本发明的更广泛的精神和范围的情况下对本发明进行各种修改和改变。因此,说明书和附图被认为是例示性的而不是限制性的。

Claims (20)

1.一种机器人单元校准方法,包括:
提供机器人单元系统,所述机器人单元系统具有包括以下的元件:一个或多个相机、一个或多个传感器、部件和一个机器人臂;
使用公共坐标系相对于所述机器人单元内的所述机器人臂的位置定位所述一个或多个相机和所述部件的位置;
使所述机器人臂以移动模式移动,并且在所述移动期间使用所述相机和所述传感器来多次确定机器人臂位置;
实时识别机器人臂位置在所述移动模式中的预测位置和所确定的机器人臂位置之间的差异;
由自动校准器计算对所识别的差异的补偿,所述自动校准器将所述机器人单元系统中的所述元件作为系统进行求解;以及
基于所述补偿来在所述移动期间实时修改所述机器人臂的动作,以减小所述机器人臂位置的所识别的差异。
2.根据权利要求1所述的机器人单元校准方法,还包括:
形成所述机器人单元系统的虚拟表示,所述虚拟表示使用所述相机、所述传感器和所述机器人臂的所定位的位置来跟踪所述机器人单元的至少一些动作,所述虚拟表示由所述自动校准器使用。
3.根据权利要求1所述的机器人单元校准方法,还包括
确定机器人臂位置是否在所确定的准确度范围内;以及
当所述机器人臂在所确定的准确度范围之外时,启动由所述自动校准器进行的重新校准。
4.根据权利要求1所述的机器人单元校准方法,还包括:在所述机器人臂通过移动模式移动时提供机器人臂位置的连续校准。
5.根据权利要求1所述的机器人单元校准方法,还包括:
使所述机器人臂在变化的负载下、以变化的速度移动以及沿着变化的路径移动以识别所述差异。
6.根据权利要求1所述的机器人单元校准方法,还包括:执行使用前校准,所述使用前校准包括:
选择机器人臂移动模式以改善在所述机器人单元的可观察体积中能够看见的部件的位置定位;以及
在包括一个或多个基准的对象附接到所述机器人臂时,执行所选择的机器人臂移动模式。
7.根据权利要求1所述的机器人单元校准方法,还包括:校准所述一个或多个相机,所述校准考虑相机镜头失真。
8.根据权利要求1所述的机器人单元校准方法,还包括:执行预校准,所述预校准包括:
利用所述机器人臂的位置度量来构建位置准确度图;以及
基于所述位置准确度图来调整所述移动模式。
9.根据权利要求1所述的机器人单元校准方法,其中所述计算包括对所述机器人单元系统中的动态和静态部件进行建模。
10.根据权利要求1所述的机器人单元校准方法,还包括:
在所述机器人单元处于使用中时在处理器的空闲周期执行校准精化步骤,所述空闲时间校准确定所述机器人单元是否保持校准。
11.根据权利要求1所述的机器人单元校准方法,其中所述方法包括当所述机器人单元不处于使用中时的初始校准。
12.根据权利要求11所述的机器人单元校准方法,其中所述方法包括使用中校准,所述使用中校准在所述机器人单元处于使用中时应用以更新校准,从而解决所述使用期间所述机器人单元的变化。
13.一种机器人单元系统,包括:
一个或多个相机;
一个或多个传感器;
机器人臂;
处理器,所述处理器被配置为:
使用公共坐标系相对于所述机器人单元内的所述机器人臂的位置定位相机和部件的位置;
以移动模式控制所述机器人臂的移动,并且在所述移动期间使用所述相机和所述传感器来多次确定机器人臂位置;
实时识别机器人臂位置在所述移动模式中的预测位置和所确定的机器人臂位置之间的差异;
由自动校准器计算对所识别的差异的补偿,所述自动校准器将所述机器人单元系统中的元件作为系统进行求解;以及
基于所述补偿来在所述移动期间实时修改所述机器人臂的动作,以减小所述机器人臂位置的所识别的差异。
14.根据权利要求13所述的机器人单元系统,还包括:
所述处理器,所述处理器被进一步配置为形成所述机器人单元系统的虚拟表示,所述虚拟表示使用所述相机、所述传感器和所述机器人臂的所定位的位置来跟踪所述机器人单元的至少一些动作,所述虚拟表示由所述自动校准器使用。
15.根据权利要求13所述的机器人单元系统,还包括:所述处理器,所述处理器被配置为确定机器人臂位置是否在所确定的准确度范围内,并且当所述机器人臂在所确定的准确度范围之外时,启动由所述自动校准器进行的重新校准。
16.根据权利要求13所述的机器人单元系统,其中在所述机器人臂通过移动模式移动时,所述系统提供机器人臂位置的连续校准。
17.根据权利要求13所述的机器人单元系统,还包括:
机器人控件,所述机器人控件被配置为使所述机器人臂在变化的负载下、以变化的速度移动以及沿着变化的路径移动以识别所述差异。
18.根据权利要求13所述的机器人单元系统,还包括:
自动校准器,所述自动校准器被配置为执行使用前校准,所述使用前校准包括:
选择机器人臂移动模式以改善在所述机器人单元的可观察体积中能够看见的部件的位置定位;以及
在包括一个或多个基准的对象附接到所述机器人臂时,执行所选择的机器人臂移动模式。
19.根据权利要求18所述的机器人单元系统,其中所述使用前校准还包括:所述处理器被配置为利用所述机器人臂的位置度量来构建位置准确度图,并且基于所述位置准确度图来调整所述移动模式。
20.根据权利要求13所述的机器人单元系统,其中所述处理器被配置为在所述机器人单元处于使用中时在处理器的空闲周期执行校准精化步骤,所述空闲时间校准确定所述机器人单元是否保持校准。
CN202180079561.3A 2020-11-10 2021-11-09 用于机器人单元的改进的自动校准的方法和系统 Pending CN116568465A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063198757P 2020-11-10 2020-11-10
US63/198,757 2020-11-10
PCT/US2021/072308 WO2022104328A1 (en) 2020-11-10 2021-11-09 Method and system for improved auto-calibration of a robotic cell

Publications (1)

Publication Number Publication Date
CN116568465A true CN116568465A (zh) 2023-08-08

Family

ID=78844848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180079561.3A Pending CN116568465A (zh) 2020-11-10 2021-11-09 用于机器人单元的改进的自动校准的方法和系统

Country Status (8)

Country Link
US (1) US20220147026A1 (zh)
EP (1) EP4221944A1 (zh)
JP (1) JP2023548983A (zh)
CN (1) CN116568465A (zh)
CA (1) CA3201287A1 (zh)
IL (1) IL302824A (zh)
MX (1) MX2023005423A (zh)
WO (1) WO2022104328A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117901142A (zh) * 2024-03-15 2024-04-19 陇东学院 基于超声波机器人的特种加工方法及相关产品
CN117901142B (zh) * 2024-03-15 2024-06-04 陇东学院 基于超声波机器人的特种加工方法及相关产品

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11912513B1 (en) * 2021-04-14 2024-02-27 Amazon Technologies, Inc. Robotic system camera calibration and localization using robot-mounted registered patterns
US11514633B1 (en) 2022-03-10 2022-11-29 Pointr Limited Systems and methods for automating conversion of drawings to indoor maps and plans
US20240078442A1 (en) * 2022-09-07 2024-03-07 International Business Machines Corporation Self-development of resources in multi-machine environment
EP4335599A1 (en) * 2022-09-12 2024-03-13 fruitcore robotics GmbH Robot cell calibration
US20240135585A1 (en) * 2022-10-21 2024-04-25 Dexterity, Inc. Camera calibration process and interface

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103153553B (zh) * 2010-08-27 2016-04-06 Abb研究有限公司 视觉引导对准系统和方法
US20190380794A1 (en) * 2012-06-21 2019-12-19 Globus Medical, Inc. Surgical robotic automation with tracking markers
US9417625B2 (en) * 2012-11-29 2016-08-16 Fanuc America Corporation Robot system calibration method
US9740191B2 (en) * 2015-02-12 2017-08-22 The Boeing Company Location calibration for automated production manufacturing
US10723022B2 (en) * 2016-09-16 2020-07-28 Carbon Robotics, Inc. System and calibration, registration, and training methods
DE102016225613A1 (de) * 2016-12-20 2018-06-21 Kuka Roboter Gmbh Verfahren zum Kalibrieren eines Manipulators eines diagnostischen und/oder therapeutischen Manipulatorsystems
WO2020016750A1 (en) * 2018-07-15 2020-01-23 Samaneh Saghatchi Improving accuracy of electromagnetic navigation systems
TWI696529B (zh) * 2018-11-30 2020-06-21 財團法人金屬工業研究發展中心 自動定位方法以及自動控制裝置
US11618163B2 (en) * 2018-12-27 2023-04-04 Fanuc Corporation Industrial robot system
GB2581843B (en) * 2019-03-01 2021-06-02 Arrival Ltd Calibration system and method for robotic cells
US10906184B2 (en) * 2019-03-29 2021-02-02 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
JP7326911B2 (ja) * 2019-06-20 2023-08-16 オムロン株式会社 制御システムおよび制御方法
JP2021058972A (ja) * 2019-10-08 2021-04-15 ファナック株式会社 ロボットシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117901142A (zh) * 2024-03-15 2024-04-19 陇东学院 基于超声波机器人的特种加工方法及相关产品
CN117901142B (zh) * 2024-03-15 2024-06-04 陇东学院 基于超声波机器人的特种加工方法及相关产品

Also Published As

Publication number Publication date
EP4221944A1 (en) 2023-08-09
CA3201287A1 (en) 2022-05-19
IL302824A (en) 2023-07-01
JP2023548983A (ja) 2023-11-21
MX2023005423A (es) 2023-07-13
WO2022104328A1 (en) 2022-05-19
US20220147026A1 (en) 2022-05-12

Similar Documents

Publication Publication Date Title
CN116568465A (zh) 用于机器人单元的改进的自动校准的方法和系统
EP3705239B1 (en) Calibration system and method for robotic cells
US10401844B2 (en) Simulator, simulation method, and simulation program
US20190036337A1 (en) System for robotic 3d printing
US10331728B2 (en) System and method of robot calibration using image data
EP3733355A1 (en) Robot motion optimization system and method
US20130015596A1 (en) Robotic fabricator
CN102985232A (zh) 用于位于可移动平台上的机器人的校准的方法
KR20140084062A (ko) 로봇의 캘리브레이션 및 프로그래밍
JP6915441B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
KR20220080080A (ko) 동적 계획 제어기
Bhatt et al. Optimizing part placement for improving accuracy of robot-based additive manufacturing
KR100644174B1 (ko) 로봇 용접의 보정방법
CN113580126A (zh) 用于设置机器人装配操作的系统和方法
Rousseau et al. Machine vision system for the automatic identification of robot kinematic parameters
WO2022181688A1 (ja) ロボットの設置位置測定装置、設置位置測定方法、ロボット制御装置、教示システムおよびシミュレーション装置
US20230130816A1 (en) Calibration system, calibration method, and calibration apparatus
EP4241241A1 (en) Optimizing calibration with constraints between different coordinate frames
Scaria et al. Cost Effective Real Time Vision Interface for Off Line Simulation of Fanuc Robots
JP2021186929A (ja) 多軸ロボットの制御方法
WO2020175425A1 (ja) ロボットシステム、ロボットの制御装置、およびロボットの制御プログラム
Kirkpatrick Digital Twins in Advanced Manufacturing to Enhance Manufacturing Efficiency
WO2023176218A1 (ja) ロボットに教示を行うための装置、ロボットに教示を行うための方法、および、ロボットに教示を行うためのプログラム
US20240066701A1 (en) Simulation device using three-dimensional position information obtained from output from vision sensor
TW202402493A (zh) 機器人點位演算校正系統與校正方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination