CN110293558A - 用于对工件进行操作的机器人系统和方法 - Google Patents
用于对工件进行操作的机器人系统和方法 Download PDFInfo
- Publication number
- CN110293558A CN110293558A CN201910214861.2A CN201910214861A CN110293558A CN 110293558 A CN110293558 A CN 110293558A CN 201910214861 A CN201910214861 A CN 201910214861A CN 110293558 A CN110293558 A CN 110293558A
- Authority
- CN
- China
- Prior art keywords
- robot
- workpiece
- path point
- working path
- end effector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000033001 locomotion Effects 0.000 claims abstract description 181
- 239000012636 effector Substances 0.000 claims abstract description 141
- 239000007787 solid Substances 0.000 claims description 79
- 230000036544 posture Effects 0.000 claims description 31
- 238000003384 imaging method Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 16
- 238000005070 sampling Methods 0.000 claims description 10
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 2
- 238000004140 cleaning Methods 0.000 description 13
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 13
- 238000004519 manufacturing process Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 239000002131 composite material Substances 0.000 description 6
- 238000007689 inspection Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000005520 cutting process Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 230000004224 protection Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 239000003344 environmental pollutant Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000005498 polishing Methods 0.000 description 2
- 231100000719 pollutant Toxicity 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 210000000323 shoulder joint Anatomy 0.000 description 2
- 241001441547 Caproidae Species 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000009833 condensation Methods 0.000 description 1
- 230000005494 condensation Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 208000019423 liver disease Diseases 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
- 230000009184 walking Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1669—Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
- B25J11/0085—Cleaning
-
- 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/1605—Simulation of manipulator lay-out, design, modelling of manipulator
-
- 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/1615—Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
- B25J9/162—Mobile manipulator, movable base with manipulator arm mounted on it
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme 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
-
- 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
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4097—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/01—Mobile robot
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/02—Arm motion controller
- Y10S901/09—Closed loop, sensor feedback controls arm movement
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/46—Sensing device
- Y10S901/47—Optical
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/49—Protective device
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Automation & Control Theory (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本申请涉及用于对工件进行操作的机器人系统和方法。一种机器人系统包括机器人和处理器,该处理器被配置为自动地生成针对机器人的末端执行器的运动的总体规划以用于对物理环境中的工件的操作表面进行操作。总体规划基于工件的计算机辅助设计(CAD)模型并且基于机器人的机械臂距多个作业路径点中每一个处的到达距离来限定末端执行器的运动路径,该多个作业路径点在总体规划中限定并且对应于工件上的基准标记。处理器将机器人对准到工件,反复调整在全局图中的近似工件位置直到与物理环境中的实际工件位置相匹配,并且构建并执行机械臂轨迹从而使末端执行器沿总体规划中限定的运动路径对操作表面进行操作。
Description
技术领域
本公开总体涉及机器人系统,并且更具体地,涉及用于利用一个或多个移动机器人自动地对工件操作的系统的方法。
背景技术
在生产程序中制造复合部件可能涉及将复合材料层片扭绞在扭绞芯轴的扭绞表面上。每次扭绞复合部件时,首先必须清洁扭绞表面以去除污染物,例如烤焦的树脂、粘附剂、密封化学物质和/或可能由于之前使用扭绞芯轴所存在的其他消耗品。对扭绞表面的清洁可以通过技师利用手持轨道砂光机来执行。然而,对于大型扭绞芯轴,手动清洁是耗时的过程。
已经开发出了自动化的方法来减少扭绞芯轴清洁所需要的时间量。一种方法需要构建芯轴清洁室,其根据将要清洁的最大扭绞芯轴的大小来建造和服役。遗憾地是,构造专用的芯轴清洁室为生产程序带来了显著的一次性成本。一些清洁技术通过在生产设施的车间地板上安装芯轴清洁站避免了对专用芯轴清洁室的需要。然而,对于大型扭绞芯轴,基础设施要求仍然是显著的并且可能包括需要安装基座或轨道系统以用于输送和支撑此类大型扭绞芯轴。此外,被芯轴清洁站占据的地板空间减损了可以用于生产设施的现有制造系统的地板空间量。
其他自动化方法受限于其清洁具有一种以上尺寸或构造的扭绞芯轴的能力。此外,一些方法需要永久安装清洁单元,包括头顶吊架和围栏以允许对大型扭绞芯轴的清洁。此外,一些自动化方法需要针对独特的芯轴构造手动地定制清洁过程并且这导致了显著了人工成本。
正如所见,本领域中仍然需要一种用于清洁扭绞芯轴的系统和方法,其避免了对专用清洁室和/或相关基础设施的需要,并且其对于不同的扭绞芯轴尺寸和构造可以重新配置或可调节并且其无需针对每种独特的芯轴构造手动地定制清洁过程。除了清洁扭绞芯轴之外,系统和方法优选地能够对各种不同类型的工件执行各种不同类型的操作。
发明内容
以上所提到的与对工件执行操作相关的需求通过本公开被具体地解决,本公开提供了一种用于自动地对工件操作的机器人系统。该机器人系统包括至少一个机器人,该机器人可通信地耦接至包括处理器的数据处理系统。该机器人具有机械臂和耦接至机械臂的末端执行器。处理器被配置为针对末端执行器的运动自动地生成总体规划以用于对定位于物理环境中的工件的操作表面进行操作。总体规划基于工件的计算机辅助设计(CAD)模型并且至少部分基于机器人的机械臂在多个作业路径点中每一个处的到达距离(reachdistance)来限定末端执行器的运动路径,该多个作业路径点包含在总体规划中并且对应于安装在工件上且以CAD模型进行表示的多个基准标记。
处理器被配置为针对基准标记中的每一个执行以下步骤的顺序:当机器人正在朝基准标记前方的接近路径点驱进和/或在该接近路径点处时将机器人对准到物理环境中的工件,并且反复调整镶嵌工件碰撞几何在物理环境的全局图内的位置,除非或者直到镶嵌工件碰撞几何在全局图内的近似工件位置与当机器人正在朝对应于基准标记的作业路径点驱进和/或在该作业路径点处时物理环境中的实际工件位置基本匹配;在机器人处于作业路径点时,构建用于沿与作业路径点相关联的运动路径执行末端执行器的一系列运动的机械臂轨迹,并且执行该机械臂轨迹和使末端执行器对工件的操作表面的一部分操作,该工件的操作表面的一部分对应于在作业路径点处针对机器人限定的总体规划中的部分。
在另一个实例中,机器人系统包括多个机器人,其各自具有机械臂和耦接至机械臂的末端执行器。如上所述,机器人系统包括至少一个处理器,该至少一个处理器被配置为自动地生成针对每个末端执行器的运动的总体规划以用于对定位于物理环境中的工件的操作表面进行操作。总体规划基于工件的CAD模型并且包括用于分配给多个机器人的多个子规划。子规划中的每一个限定了机器人中一个的末端执行器的运动路径。如上所述,运动路径至少部分基于由子规划分配了包含在总体规划中的一组唯一作业路径点中一个或多个的机器人的机械臂的到达距离。如上所述,作业路径点对应于安装在工件上且以CAD模型进行表示的多个基准标记。
对于具有多个机器人的机器人系统,处理器被配置为当机器人正在朝分配给该机器人的一组作业路径点中的作业路径点前方的接近路径点驱进和/或在该接近路径点处时,自动地将机器人中的每一个对准到工件。对于机器人中仅一个,当正在朝该组作业路径点中的第一个作业路径点驱进和/或在该第一作业路径点处时,处理器被配置为反复调整镶嵌工件碰撞几何在全局图内的位置,除非或者直到镶嵌工件碰撞几何在全局图内的近似工件位置与当机器人处于作业路径点处时物理环境中的实际工件位置基本匹配。此外,对于机器人中的每一个,当在分配给机器人的该组作业路径点中每个作业路径点处时,处理器配置构建用于沿与作业路径点相关联的运动路径执行末端执行器的一系列运动的机械臂轨迹,并且按照使末端执行器对操作表面的一部分操作的方式执行该机械臂轨迹,该操作表面的一部分对应于在作业路径点处针对机器人限定的子规划中的部分。
还公开了一种对工件操作的方法。方法包括利用处理器自动地生成针对至少一个机器人的相应至少一个末端执行器的运动的总体规划,以用于对在物理环境中的工件的操作表面进行操作。如上所述,总体规划基于工件的CAD模型并且至少部分基于机器人的机械臂在包含在总体规划中的多个作业路径点中每一个处的到达距离来限定末端执行器的运动路径。如上所述,该多个作业路径点对应于安装在工件上且以CAD模型进行表示的多个基准标记。方法进一步包括利用处理器为在多个作业位点中每一个处的机器人自动地执行以下步骤的顺序:当机器人正在朝作业路径点前方的接近路径点驱进和/或在该接近路径点处时将机器人对准到物理环境中的工件,并且反复调整镶嵌工件碰撞几何在物理环境的全局图内的位置,除非或者直到镶嵌工件碰撞几何在全局图内的近似工件位置与当机器人正在朝作业路径点驱进和/或在该作业路径点处时物理环境中的实际工件位置基本匹配;在机器人处于作业路径点时,构建用于沿与作业路径点相关联的运动路径执行末端执行器的一系列运动的机械臂轨迹;并且按照使末端执行器对操作表面的一部分操作的方式执行该机械臂轨迹,该操作表面的一部分对应于在作业路径点处针对机器人限定的总体规划中的部分。
在利用多个机器人的方法的实施方式中,方法包括利用处理器自动地生成针对相应多个机器人的多个末端执行器的运动的总体规划,该多个机器人配置为对定位于物理环境中的工件的操作表面的不同表面分段进行操作。如上所述,总体规划基于工件的CAD模型并且包括用于对应地分配给多个机器人的多个子规划。子规划中的每一个限定了机器人中一个的末端执行器的运动路径。如上所述,运动路径至少部分基于由子规划分配来通过包含在总体规划中的一组唯一作业路径点进行操作的机器人的机械臂的到达距离。同样如上所述,作业路径点对应于安装在工件上且以CAD模型进行表示的基准标记。
利用多个机器人的方法的实施方式进一步包括利用处理器自动地执行以下步骤:当正在朝分配给机器人的一组作业路径点中的作业路径点前方的接近路径点驱进和/或在该接近路径点处时,将机器人中的每一个对准到物理环境中的工件;对于机器人中仅一个,当在该组作业路径点中的作业路径点的第一作业路径点处时,反复调整镶嵌工件碰撞几何在物理环境的全局图内的位置,除非或者直到镶嵌工件碰撞几何在全局图内的近似工件位置与当机器人正在朝该作业路径点驱进和/或在该作业路径点处时物理环境中的实际工件位置基本匹配;对于机器人中的每一个,当在分配给机器人的该组作业路径点中每个作业路径点处时,构建用于沿与该作业路径点相关联的运动路径执行末端执行器的一系列运动的机械臂轨迹;并且对于机器人中的每一个,当在分配给机器人的该组作业路径点中每一个作业路径点处时,按照使末端执行器对操作表面的一部分操作的方式执行该机械臂轨迹,该操作表面的一部分对应于在作业路径点处针对机器人限定的子规划中的部分。
已经进行讨论的特征、功能和优点可以在本公开的各种实施例中独立地获得,或者可以在另外其他的实施例中组合,其进一步的细节可以看考以下描述和附图来理解。
附图说明
通过参考附图本公开的这些以及其他特征将变得更为显而易见,其中在整个附图中相同的附图标记指代相同的部件,并且其中:
图1是机器人系统的示例的框图,该机器人系统具有用于对工件的操作表面进行操作的至少一个机器人以及任选地进一步包括用于为机器人的末端执行器的运动生成总体规划以用于对工件进行操作的远程计算装置;
图2是机器人和/或远程计算装置的数据处理系统的框图并且其具有用于自动地为末端执行器的运动生成总体规划的处理器;
图3是包含工件和机器人的物理环境的示例的透视图;
图4是工件的示例的透视图,并且其示出了操作表面以及机器人在对工件操作之前对准的多个基准标记;
图5是工件的一部分的放大视图,示出了随工件包含的基准标记中的三个;
图6是具有第一标识图案的第一基准标记的示例;
图7是具有不同于第一标识图案的第二标识图案的第二基准标记的示例;
图8是具有不同于第一标识图案和第二标识图案的第三标识图案的第三基准标记的示例;
图9是安装在移动底座上并且包括支撑末端执行器的机械臂的机器人的示例的前透视图;
图10是图9中的机器人的后透视图,其具有用于导航机器人并将机器人对准到工件的传感器系统;
图11示出了显示屏,其显示了图4中工件的CAD模型,几何文件(例如,STEP文件)由该CAD模型自动地生成并且包含对工件的操作表面、基准标记以及镶嵌工件碰撞几何的限定。
图12是几何文件中操作表面的平面图,其示出了在每个基准标记处所自动构建的多个延伸球体(reach sphere),以用于将操作表面划分成多个表面分段,该多个表面分段将由至少一个机器人单独地进行操作;
图13示出了总体规划的示例,该总体规划通过处理器基于几何文件自动地生成并且基于机械臂的到达距离限定了末端执行器的运动路径;
图14示出了机器人和/或远程计算装置的显示屏并示出了全局图,该全局图表示了包含工件的物理环境并包含机器人的计算机表示;
图15示出了图14中的显示屏,其显示镶嵌工件碰撞几何以及定位在全局图内的机器人的计算机表示;
图16示出了图15中的显示屏,其进一步显示了在机器人自动地驱进到对应于物理环境中工件的一个基准标记的作业路径点前方的接近路径点之前,总体规划被叠加在镶嵌工件碰撞几何上;
图17示出了图16中的显示屏,其显示了在机器人自动地对准到物理环境中的工件期间以及在调整镶嵌工件碰撞在全局图中的近似工件位置之前,机器人的计算机表示位于镶嵌工件碰撞几何的接近路径点处;
图18示出了图17中的显示屏,其显示了在将全局图中的近似工件位置调整成与物理环境中的实际工件位置相匹配之后,机器人定位在工件的基准标记前方的接近路径点处;
图19示出了图18中的显示屏,其显示定位在作业路径点处的机器人的计算机表示;
图20是在自动地构建机械臂轨迹之前定位在作业路径点处的图9至图10中机器人示例的透视图,该机械臂轨迹用于沿针对该作业路径点处的机器人限定的运动路径执行末端执行器的一系列运动;
图21是图20中正在对操作表面的一部分执行机械臂轨迹的机器人的透视图,操作表面的该部分对应于总体规划中针对作业路径点处的机器人限定的部分;
图22是示出了显示包含用于同时对工件操作的多个机器人的全局图的显示屏;
图23是包含在对工件自动地操作的方法中的操作的流程图;
图24是用于自动地生成总体规划的操作的流程图;
图25是用于将机器人对准到工件并调整镶嵌工件碰撞几何在全局图内的位置的操作的流程图;
图26是用于针对在作业路径点处的机器人构建机械臂轨迹的操作的流程图。
具体实施方式
现在参考附图,其中,示图是为了例示说明本公开的优选和各种实施例的目的,图1中所示的是机器人系统100的示例的框图,其具有用于自动地对位于物理环境350(图3)中的工件300的操作表面308进行操作的至少一个机器人102。机器人102具有移动底座104,其可以配置为用于沿例如生产设施(例如,物理环境)的地板的表面移动机器人102的自动引导车辆。机器人102具有机械臂106和耦接至机械臂106的末端执行器110。末端执行器110可以配置为对工件300的操作表面308执行操作。在本公开中,工件300被配置为扭绞芯轴302(图3),其具有用于扭绞复合部件(未示出)的扭绞表面314(图3)。末端执行器110可以被配置为轨道缓冲器或砂光机、肝病喷砂器、激光器或用于清洁扭绞表面314(例如,操作表面308)从而在扭绞复合部件之前去除污染物(未示出)的其他装置。然而,末端执行器110可以按照各种不同的配置中的任一种提供以用于对各种不同类型的工件300中任一种形成各种不同类型的操作中的任一种,并且并不限于对扭绞芯轴302的扭绞表面314执行清洁操作。
此外,机器人102可以包括传感器系统114,其具有多个传感器,例如激光器116(例如,激光扫描器)和/或相机118,相机具有基于相机的机器视觉系统以用于围绕物理环境350内的工件300导航机器人102。传感器系统114可以替代地或另外地包括射频传感器、超声波传感器和/或其他类型的传感器以利于对机器人102的导航。传感器系统114被配置为检测工件300上的基准标记316(例如,图4至图5),并且向数据处理系统200传送关于基准标记316的标识数据和定位数据以用于协调机器人102以及机械臂106相对于工件300的运动。基准标记316可以各自包括唯一的标识图案318(例如,图6至图8)以利于将机器人102对准到工件300。工件300可以另外地包括针对机器人102的导航辅助装置(未示出),例如反射对象图表、射频标识(RFID)对象标识符、磁性参考点或它们的组合。
参考图1至图2,机器人102可通信地耦接至数据处理系统200,数据处理系统用于控制机器人102的运动,包括控制移动底座104、机械臂106以及末端执行器110的运动。在一些示例中,数据处理系统200可以集成到机器人102内。在其他示例中,数据处理系统200可以是远程计算装置202的一部分,该远程计算装置配置为与机器人102进行(例如,无线)通信以用于控制机器人102对工件300执行操作。远程计算装置202可以是运动计算装置,例如膝上型计算机、平板电脑或其他运动计算装置。可替代地,远程计算装置202可以是固定计算装置,例如台式计算机或个人计算机。远程计算装置202可以通过安装在机器人102和远程计算装置202上的天线(未示出)而与机器人102进行无线通信。
在图2中,数据处理系统200包括处理器204和可通信地耦接至处理器204的存储器206。处理器204配置为自动地生成总体规划222,该总体规划限定了末端执行器110在对工件300的操作表面308进行操作时的运动。总体规划222通过几何文件216(例如,STEP文件)生成,该几何文件基于工件300的计算机辅助设计(CAD)模型208,并且该几何文件可以存储在存储器206中。总体规划222限定了多个作业路径点228,该多个作业路径点对应于安装在工件300上的多个基准标记316。总体规划222还限定了驻于每个作业路径点228处的机器人102的末端执行器110的运动路径238(例如,三维的),并且限定了末端执行器110沿处于每个作业路径点228处的机器人102的运动路径238的一系列运动。末端执行器110的运动路径238至少部分基于机械臂106到达相对于安装至机器人102的机械臂底座108(图9至图10)的旋转中心(未示出)的距离。
如以下更详细进行描述的,处理器204配置为针对在每一个基准标记316处的机器人102自动地按以下顺序执行步骤:(1)当机器人102在对应于基准标记316的作业路径点228前方的接近路径点226处时,自动地将机器人102对准到物理环境350中的工件300,并且反复调整镶嵌工件碰撞几何体218在物理环境350的全局图242中的位置,除非或者直到镶嵌工件碰撞几何体218在全局图242内的近似工件位置244(即,定位和定向)与当机器人102在该作业路径点处时物理环境350中的实际工件位置306(即,定位和定向)基本匹配;(2)在机器人102处于作业路径点228时,自动地构建用于沿与作业路径点相关联的运动路径238执行末端执行器110的一系列运动的机械臂轨迹240;以及(3)自动地执行机械臂轨迹240从而使末端执行器110沿运动路径238执行一系列运动并且由此对工件300的操作表面308的一部分进行操作,该操作表面的一部分对应于在该作业路径点228处针对机器人102限定的总体规划222中的部分。
图3示出了包含工件300和机器人102的示例性的物理环境350的示例。物理环境350可以是生产设施的一部分。在工件300是扭绞芯轴302的示例中,物理环境350可以是复合材料制造设施的指定区域。同样在图3中示出的是在物理环境350内进行操作的机器人102的示例。如上所述,机器人102包括用于使机器人102沿地板表面352平移的移动底座104。此外,机器人102包括机械臂106,机械臂包括用于对工件300的操作表面308执行操作的末端执行器110。
图4示出了被配置为扭绞芯轴302的工件300。扭绞芯轴302包括将要由末端执行器110操作的扭绞表面314(例如,操作表面)。在本示例中,操作表面308包括围绕扭绞芯轴302的周边延伸并制定由机器人102自动清洁的带状扭绞表面314。工件300具有工件底座304,工件底座可以包括用于将工件300支撑在地板表面352上的支腿。如以上所指出的,工件300包括多个基准标记316,机器人102在对工件300操作之前对准到该多个基准标记。基准标记316可以安装在芯轴固定装置(未示出)上,该芯轴固定装置以沿工件300的周边的间隔位置从工件300横向地向外突出。
参考图5至图8,图5中示出了工件300的一部分,其以示例方式说明了安装至工件300从而利于将机器人102对准到工件300的三个基准标记316中。基准标记316中的每一个具有位移的标识图案318。例如,图6示出了具有第一标识图案318a的第一基准标记316a。图7示出了具有不同于第一标识图案318a的第二标识图案318b的第二基准标记316b。图8示出了具有不同于第一标识图案318a和第二标识图案318b的第三标识图案318c的第三基准标记316c。尽管基准标记316被例示为具有正方形且单色的标识图案318,但是基准标记316可以按照各种不同尺寸、形状、样色和配置中的任一种来提供。当在机器人102(图9至图10)的传感器系统114(图9至图10)的视场中时,基准标记316可以通过机器人102的传感器系统114(例如,基于相机的机器视觉系统)成像并且通过处理器204(图2)与工件300的CAD模型208(图2)中所表示的对应基准标记316相匹配,从而允许处理器204去人机器人102相对于工件300的位置。此外,基准标记316利于在以下所述的将全局图242(例如图15)内的近似工件位置244反复调整成在物理环境350(图3)内的实际工件位置306的过程期间,确定工件300相对于机器人102的位置(例如,定位和定向)。
图9至图10示出了可以在本公开中实施的机器人102的示例。如上所述,机器人102具有用于沿地板表面352(图3)自推进运动的移动底座104,并且包括支撑末端执行器110的机械臂106。在所示示例中,机器人102包括用户接口246,该用户接口包括键盘250并具有显示屏248,在所示的示例中,显示屏示出了工件300的CAD模型208以及机器人102在包含工件300和机器人102的物理环境350的全局图242内的计算机表示214。图10是机器人102的另一透视图,其示出了用于导航机器人102并对准到工件300的传感器系统114的示例。
图11是机器人102或远程计算装置202(图9至图10)的显示屏248的例示,显示了工件300的CAD模型208。CAD模型208可以是工件300的三维实体模型,或者CAD模型208可以是工件300的三维表面模型。可以由用户从不同工件300的列表(未示出)中手动地选择CAD模型208。例如,可以利用机器人102或远程计算装置202(图2)的触摸显示屏48或键盘250从CAD模型的下拉式菜单(未示出)选择CAD模型208。
在本公开中,处理器204(图2)被配置为生成以上所述的CAD模型208的几何文件216,总体规划222由该几何文件生成。如下所述,几何文件216包含对工件300的操作表面308(图11)、工件300的基准标记316(图11)以及镶嵌工件碰撞几何体218(图11)的限定。在一个示例中,几何文件216可以按照STEP(产品数据交换标准)格式来保存。然而,几何文件216可以按照不同于STEP格式的格式来保存。
在图11中,操作表面308可以通过用户利用用户接口246(图9至图10)由CAD模型208选择操作表面308。例如,操作表面308可以通过用户手动地选择操作表面308的边界来由CAD模型208手动地选择。在图11的扭绞芯轴302的背景下,用户可以手动地选择内周边310和外周边312,它们限定了围绕扭绞表面314的周边延伸的带状表面区域。然而,在其他示例中,操作表面308可以由CAD模型208开发者在CAD模型208中预先指定,并且一旦由用户选择了CAD模型,处理器204可以自动地由CAD模型208选择预先指定的操作表面308。一旦被选择,操作表面308的限定被保存到几何文件216。在本公开中,自动操作可以被描述为一种在无需手动提示或手动干预的情况下自动执行的操作。
处理器204还可以将对多个基准标记316的限定保存在几何文件216中。如上所述,基准标记316包含在工件300的CAD模型208中。如上所述,基准标记316可以以一定位置和间隔布置在工件300上,该位置和间隔至少部分基于机器人102的机械臂106的到达距离(例如,到达半径)。基准标记316可以被定位成当机器人102在基准标记316附近时处于其传感器系统114(例如,基于相机的机器视觉系统)的视场内。一旦已经限定了基准标记316,处理器204将对基准标记316的限定保存到几何文件216。
处理器204还可以自动地选择并镶嵌CAD模型208的碰撞几何体212以形成用于在与机器人102进行碰撞检查期间使用的镶嵌工件碰撞几何体218。工件300的碰撞几何体可以被描述为机器人102在工件300周围导航时以及机器人102在驻于作业路径点228中任一个处时对操作表面308进行操作时可能潜在地碰撞的工件300的拓扑结构。碰撞几何体212可以是机器人102可能潜在地进行接触的工件300的外面部分的几何结构。碰撞几何体212不包括在工件300的内侧上(例如,在操作表面308的下侧上)的几何结构。通过处理器204对碰撞几何体212的镶嵌可以被描述为将CAD模型208的三维图像简化成多个相互联接的平面多边形形状,它们相对于彼此不重叠且没有间隙。镶嵌工件碰撞几何体218可以降低碰撞检查计算的计算强度。
如上所述,几何文件216可以被保存为STEP文件,该STEP文件包含至少对工件300的操作表面308、基准标记316以及镶嵌工件碰撞几何体218的限定。然而,在其他示例中,几何文件216可以按照初始图形交换规范(IGES)格式或者按照允许对工件300的CAD模型208的三维几何结构、拓扑结构和/或其他配置数据进行限定和分组的任何其他格式保存,该数据利于对机器人102的导航以及由末端执行器110所执行的对工件300的操作。
图12是对按照上述方式通过几何文件216生成的操作表面308的限定的例示说明。叠加在操作表面308上的是多个延伸球体(reach sphere)120,该多个延伸球体由处理器204自动地构建并且对应于每一个基准标记316。延伸球体被构建作为一种用于将操作表面308划分成多个表面分段232的手段,该多个表面分段将由机器人102根据以上所述的通过处理器204自动生成的总体规划222而对其操作。
在生成总体规划222的过程中,处理器204被配置为基于几何文件216自动地构建多个作业路径点228,该多个作业路径点分别在距离基准标记316的预定距离处。在每个基准标记316和作业路径点228之间的距离可以基于机械臂106的到达距离。例如,处理器204可以在距离每一个基准标记316的非零的预定距离处自动地构建作业路径点228。预定距离可以基于移动底座104的外部尺寸、机械臂106的到达距离以及其他机器人102参数,例如组成机械臂106的臂关节的运动学性能、末端执行器110的接口部分112的尺寸,例如轨道缓冲器的缓冲垫的直径以及其他因素。每个作业路径点228可以按照垂直于基准标记316的表面所测量的距离基准标记预定距离处来限定。
在限定了作业路径点228之后,处理器204被配置为在每个作业路径点228处自动地构建上述的延伸球体120。延伸球体120可以被描述为无限小的薄壳。对于利用单个机器人102来对工件300进行操作的机器人系统100,在每个作业路径点228处的延伸球体120具有相同的球体周边,该球体周边可以表示从机械臂底座108(图9至图10)的旋转中心所测量的末端执行器110的最大到达距离。在每个延伸球体120与操作表面308的相交处,处理器204自动地构建在每对相邻球体周边的两个交点之间延伸的边界线122。每对相邻边界线122限定了表面分段232。就这一点而言,表面分段232中的每一个可以至少部分由一对相对的边界线122来限定,并且根据对操作表面308的限定,可以附加地由操作表面308的外周边312(图11)和/或由内周边310(图11)和/或由延伸球体120的一部分来限定。
在限定了表面分段232之后,处理器204可以自动地镶嵌表面分段232中的每一个以形成多个镶嵌表面分段234(图11)。此外,在作业路径点228中的每一个处,处理器204配置为自动地确定用于末端执行器110的切割方向236。切割方向236可以被确定为表面分段232的最大尺寸的方向。例如,切割方向236可以是镶嵌表面分段232的相对侧之间的最长直线距离的方向。切割方向236通常限定了当从上向下方向看操作表面308时末端执行器110的运动方向。在每个作业路径点228处,处理器204可以自动地构建一系列的垂直平面(未示出),其分别被定向成平行于镶嵌表面分段232的切割方向236。垂直平面可以以对应于末端执行器110的接口部分112(图9至图10)的宽度的距离间隔开。如上所述,末端执行器110的接口部分112被描述为末端执行器110中与操作表面308紧密接触的部分,例如缓冲垫中清洁扭绞表面314的部分。
在每个作业路径点228处,垂直平面与镶嵌表面分段232相交(图13),由此形成沿表面分段232的多个运动路径238。运动路径238限定了当机器人102驻于作业路径点228处时末端执行器110沿其运动的三维运动路径。对于每个作业路径点228,处理器204可以指定末端执行器110沿相邻运动路径238的交替运动方向。处理器204自动地保存总体规划222,总体规划包含末端执行器110在所有作业路径点228处的运动路径238以及表示在每个作业路径点228处末端执行器110沿运动路径238的运动的方向和次序的一系列运动。
图13示出了由处理器204(图1至图2)按照上述方式自动地生成的总体规划222的示例。如上所述,总体规划222包含作业路径点228、末端执行器110(图9至图10)在每个作业路径点228处的运动路径238以及末端执行器110沿针对每个作业路径点228的运动路径238的一系列运动。在图13中,作业路径点228被连续地编号以表示机器人102(图9至图10)可以按顺序从作业路径点228移动到作业路径点228所按照的次序的示例,其在每个作业路径点228处停下以允许末端执行器110对表面分段232中对应于该作业路径点228的部分进行操作。
图14示出了机器人102和/或远程计算装置202的显示屏248并且显示了全局图242。全局图242是对用于包含机器人102将对其进行操作的工件300(图3)的物理环境350(图3)的二维或三维表示。物理环境350可以包括机器人102在其中对工件300进行操作的专用空间,或者物理环境350可以包括其中机器人102(图9至图10)对工件300进行操作的设施的局部区域。同样在图14的全局图242中示出的是机器人102的计算机表示214。在机器人系统100的一些示例中,全局图242可能之前已经通过机器人102构建并保存在了数据处理系统200的存储器206中(图2)。如果全局图242之前已经被构建并保存在了存储器206中,则用户可以利用用户接口246(图9至图10)选择全局图242以用于加载到处理器204中,该全局图242来自全局图的列表(例如,下拉菜单)。
在图14中,如果在存储器206中并不存在物理环境350的全局图242,则处理器204可以基于通过机器人102(图9至图10)所记录的成像数据来构建全局图242。成像数据可以表示物理环境350的环境边界354,并且还可以标识位于环境边界354内的对象(未示出)。可以在沿物理环境350(图3)的地板表面352引导机器人102时由传感器系统114来记录成像数据。如上所述,机器人102的传感器系统114可以包括相机118(图10)、激光器116(图10)、超声波装置和/或用于对物理环境350构建三维地图的其他成像装置。例如,机器人102可以包括一个或多个激光扫描器,其配置为在跟踪机器人102在物理环境350内位置的同时执行对物理环境350的即时定位与地图构建(SLAM)。
仍然参考图14,对物理环境350的地图构建可以限定结构的相对位置,例如形成物理环境350的环境边界的墙壁356、天花板、栅栏、围墙以及门道。此外,对物理环境350的地图构建可以限定环境边界内的对象的相对位置,例如柱子、机器人充电站、制造固定装置、公共设施固定装置,例如照明、水管、加热、通风以及其他固定装置。对物理环境350的地图构建可以通过引导在物理环境350周围的远程控制机器人102来执行(例如,通过操作员操纵操纵杆),与此同时传感器系统114映射物理环境350并填充全局图242。作为地图构建操作的一部分,处理器204可以通过粒子滤波将机器人102的计算机表示214定位在全局图242内。在构建了全局图242之后,可以将全局图242以及机器人102的计算机表示214保存到数据处理系统200的存储器206(图2)。
图15示出了图14中的显示屏248,其显示工件300(图3)的镶嵌工件碰撞几何体218以及定位在全局图242内的机器人102(图9至图10)的计算机表示214。如果全局图242之前已经被构建,并且在手动地从列表(例如,下拉菜单)选择之后被自动地从几何文件216提取并由处理器204加载到全局图242内,处理器204可以通过使机器人102的传感器系统114(例如,激光器116)扫描物理环境350并将扫描的数据与全局图242进行比较以确定机器人102的计算机表示214的定位和定向,来自动地调整机器人102在全局图242内的计算机表示214的位置。然而,对于其中机器人102的计算机表示214在全局图242内的位置相对于机器人102在物理环境350内的实际位置之间的差异较大的示例,则可能需要用户来通过用户接口手动地操纵或调整机器人102的计算机表示214在全局图242内的定位和/或定向从而与机器人102在物理环境350内的实际位置近似匹配来定位机器人102的计算机表示214的位置。
图16是图15中显示屏248示出了总体规划222叠加在镶嵌工件碰撞几何体218上的例示。一旦已经加载了镶嵌工件碰撞几何体218,则处理器204可以自动地将总体规划222加载到全局图242内。处理器204可以自动在全局图242中将总体规划222定位成与镶嵌工件碰撞几何体218对齐。例如,总体规划222可以定位成使得总体规划222中的作业路径点228与镶嵌工件碰撞几何体218的作业路径点228的位置相一致。在加载了总体规划222之后,处理器204可以基于镶嵌工件碰撞几何体218自动地形成工件300的凸壳210,并且将该凸壳210设置成在导航机器人102从作业路径点228到作业路径点228期间机器人102的禁区。凸壳210可以被描述为工件300从上到下的轮廓,其反映了工件300的周边,以用于在移动底座104和机械臂106的运动期间在机器人102和工件300之间进行碰撞检查。图16还示出了处理器204已经自动地在机器人102可能要首先导航到的作业路径点228前方构建的接近路径点226。
图17示出了图16中的显示屏248,其显示了机器人102的计算机表示214定位在以上所述的接近路径点226处,该接近路径点对应于作业路径点228中的第一个,在该作业路径点处机器人102自动地对准到工件300。在一些示例中,处理器204可以自动地将机器人102的运动学模型124(图2)加载到全局图242内,并且可以执行到达检查以基于该运动学模型124确定末端执行器110是否能够沿在每个作业路径点228处的机器人102在总体规划222中限定的运动路径238到达所有位置。处理器204可以至少在机器人102对准到工件300之前自动地执行到达检查。机器人102的运动学模型124可以被描述为构成机械臂的各个臂(未示出)的尺寸(例如,长度)的限定并且包括各个臂关节(未示出)的旋转能力。图17还示出了邻近总体规划222的左手侧的箭头,其表示用于调整镶嵌工件碰撞几何体218在全局图242中的位置(例如,定位和/或定向)从而与工件300在物理环境350中的实际工件位置306(例如,定位和/或定向)相匹配的可能方向。
图18示出了在镶嵌工件碰撞几何体218在全局图242内的近似工件位置244已经被调整成与工件300在物理环境350中的实际工件位置306基本匹配之后,定位在基准标记316的前方的接近路径点226处的机器人102的计算机表示214。处理器204首先通过使机器人102从其在物理环境350中的当前位置导航或驱进到接近路径点226来自动地执行对镶嵌工件碰撞几何体218的位置的调整。如上所述,处理器204自动地构建在作业路径点228中每一个前方的接近路径点226。每个接近路径点226位于作业路径点228前方的预定安全距离处,在该处机器人102可以以与工件300的相对较低的碰撞风险监测基准标记316。在接近路径点226和作业路径点228之间的距离可以基于机器人102的外部尺寸以及可能使用激光器116来导航的传感器系统114的距离测量容差(例如,数英寸或厘米)。
参考图17至图19,一旦在如图17中所示的接近路径点226处,机器人102自动地检测工件300上的基准标记316,例如通过使用一个或多个成像系统。例如,机器人102的传感器系统可以包括相机,其与机器人102的基于激光的导航系统相比具有更高的分辨率。例如,机器人102的基于相机的机器视觉系统可以对一基准标记316中的一个或多个成像以确定工件300在物理环境350中的实际工件位置306。处理器204可以接收来自基于相机的机器视觉系统的图像并且可以确认当前正被成像的基准标记316的标识图案318与工件300的几何文件216中的基准标记316的标识图案318相匹配。如上所述,处理器204可以自动地调整镶嵌工件碰撞几何体218在全局图242内的近似工件位置244,直到该近似工件位置244(例如,定位和定向)在物理环境350中工件300的实际工件位置306(例如,定位和定向)的初始容差内。例如,处理器204可以自动地调整在全局图242内的近似工件位置244直到在物理环境350中的实际工件位置306的大约1英寸(例如,2.54厘米)的范围内。如图17中所示,对近似工件位置244的调整可以同时包括对镶嵌碰撞几何体212的平移和定向以匹配物理环境350中的实际工件位置306。
在全局图242内的近似工件位置244已经被调整到在物理环境350中的实际工件位置306的初始容差内之后,如图18中所示,机器人102可以自动地从接近路径点226驱进到对应于该接近路径点226的作业路径点228,如图19中所示。当机器人102在作业路径点228处时,处理器204可以反复调整全局图242内的镶嵌工件碰撞几何体218,直到全局图242在小于初始容差的预定最终容差内与物理环境350中的实际工件位置306基本匹配。例如,最终容差可以在0.100英寸(2.54毫米)的量级上,并且更优选地,小于约0.050英寸(1.27毫米)。在本文所公开示例中的任一个中,一个或多个机器人102可以在朝接近路径点226和/或作业路径点228中的任一个驱进或在该接近路径点和/或作业路径点中的任一个处时,持续地检测、识别以及匹配(例如,利用几何文件216)工件300上的基准标记316作为后台操作。
此外,在本文所公开示例中的任一个中,当机器人102正在朝接近路径点226和/或作业路径点228中的任一个驱进或在该接近路径点和/或作业路径点中的任一个处时,一个或多个机器人102可以持续地(例如,作为后台操作)将其在全局图242内的近似工件位置244更新或调整到在物理环境350中的实际工件位置306的初始或最终容差内。此外,在本文所公开示例中的任一个中,处理器204可以在确定是否要继续反复调整全局图242内的近似工件位置244的过程中,通过机器人102的传感器系统114考量对基准标记316的检测的质量。例如,当机器人102正在从作业路径点228驱进到作业路径点228时和/或当机器人102驻于接近路径点226处时,处理器204可以使用卡尔曼滤波来评估由传感器系统114生成的(例如,基准标记316的)成像数据的质量,作为确定是否要开始调整或继续调整(例如,在迭代期间)在全局图242内的近似工件位置244的因素。替代地或另外地,处理器204可以配置为基于当前在机器人102和基准标记316之间的距离或者基于基准标记316在机器人102的传感器系统114所生成的图像中的位置,来为通过机器人102对基准标记316的每次监测分配置信度值。例如,低置信度值可以分配给其中基准标记位于相机118的镜头(未示出)的周边的成像数据,这是因为相对于在镜头的中心处或附近降低量的失真,已知在镜头的周边存在更大量的失真。相比而言,可以为其中基准标记316位于镜头的中心的成像数据分配高置信度值。
图20是在处理器204(图1至图2)自动地构建用于沿针对在作业路径点228处的机器人102限定的运动路径238(图2)执行末端执行器110的一系列运动的机械臂轨迹240(图2)之前,在物理环境350中且定位在工件300的作业路径点228处的机器人102的是示例的透视图。在针对每个作业路径点228处的机器人102构建机械臂轨迹240的过程中,处理器204配置为以沿与机器人102当前位于的作业路径点228相关联的每个运动路径238的隔开间隔对末端执行器110的多个姿态(未示出)进行采样。末端执行器110的姿态包括末端执行器110的定位和定向的组合。处理器204对末端执行器110的每个姿态多个z轴旋转(未示出)进行采样,并且针对每个采样的姿态对所有的逆运动学解进行求解。处理器204随后构建连接所有姿态的曲线图(未示出),并且接触在姿态之间末端执行器110的运动期间机械臂106的最小关节运动。处理器204构建用于沿基于该最小关节运动的运动路径238执行末端执行器110的一系列运动的机械臂轨迹240。
图21是图20中正在对扭绞芯轴302的一部分(例如,操作表面308)执行机械臂轨迹240(图2)的机器人102的透视图,扭绞芯轴的该部分对应于总体规划222(图2)中针对作业路径点228处的机器人102限定的部分。在本公开的背景下,在执行机械臂轨迹240的过程中,机器人102可以利用轨道缓冲器作为末端执行器110,遵照在总体规划222(图13)中限定的运动路径238来清洁扭绞表面314。机器人102相继地驱进到总体规划222中限定的作业路径点228,并且对操作表面308中在每个作业路径点228处针对末端执行器110限定的每个部分进行操作。
更具体地,对于路径作业点228中的每一个,机器人102按顺序并自动地执行以下步骤:使机器人102驱进到在作业路径点228前方的接近路径点226并将机器人102对准到工件300(图17),将在全局图242中的近似工件位置244调整到在物理环境350中的实际工件位置306的初始容差内(例如,在1.0英寸或2.54厘米范围内)(图17至图18);使机器人102从接近路径点226驱进到作业路径点228并调整机器人102的计算机表示的定位和定向以匹配作业路径点228的定位和定向(图18至图19),反复将在全局图242内的近似工件位置244调整到在物理环境350的实际工件位置306的最终容差内(例如,在0.050英寸或1.27毫米范围内)(图19),构建用于沿与作业路径点228相关联的运动路径238执行末端执行器110的一系列运动的机械臂轨迹240(图20),以及执行该机械臂轨迹240从而使末端执行器110沿运动路径238的一系列运动,使得末端执行器对针对作业路径点228限定的操作表面308的一部分操作。
机器人系统100(例如,处理器204)配置为在作业路径点228中的每一个处自动地执行上述步骤直到机器人102已经将总体规划222执行到完成。机器人102配置为在工件300自动地导航并从作业路径点228移动到作业路径点228,而不会侵犯如上所述的针对工件300构建的凸壳210。在一些示例中,机器人系统100可以配置为在任何时候手动地暂停机器人操作。此类手动暂停可以允许手动输入数据,例如允许修改通过机器人102对物理环境350的扫描以用于更新全局图242。
参考图22,示出了显示屏248,其显示了包含用于同时并自动地对工件300操作的多个机器人102的机器人系统100的全局图242。具有多个机器人102的机器人系统100可以按照与上述具有单个机器人102的机器人系统相同的方式来操作,除了机器人系统具有多个机器人102、总体规划222包括分配给对应多个机器人102的多个子规划224之外。总体规划222可以由机器人102中一个的处理器204或者由远程计算装置202的处理器204生成。处理器204可以自动地将总体规划222划分成多个子规划224以用于对应地分配给多个机器人102。子规划224可以借助于可以随机器人102和/或远程计算装置202包含的天线(未示出)无线地分配。子规划224中的每一个限定了已经分配该子规划224的机器人102的末端执行器110的运动路径238。每个机器人102的运动路径238可以基于机器人102的机械臂106的到达距离。子规划224中的每一个从总体规划222中限定的作业路径点228的总量中为每个机器人102分配了一组唯一的作业路径点230。
仍然参考图22,对于具有多个机器人102的机器人系统100,当机器人102处于由子规划224分配给机器人102的该组作业路径点230中的作业路径点228前方的接近路径点226处时,每个机器人102按照上述方式自动地对准到工件300。然而,机器人102中仅一个在朝其子规划224的第一个作业路径点228驱进和/或在该第一作业路径点处时,被用来调整镶嵌工件碰撞几何体218在全局图242内的位置,除非或者知道近似工件位置244余物理环境350中的实际工件位置306基本匹配。其余的机器人102可以不被用于改变或调整全局图242中的近似工件位置244。一旦全局图242中的近似工件位置244已经被调整到与物理环境350中的实际工件位置306相匹配,机器人系统100被配置为使得之后在每次机器人102移动到它们子规划224的另一作业路径点228时不再调整近似工件位置244。然而,对于机器人102中的每一个,当在分配给机器人的该组作业路径点230中每个作业路径点228处时,处理器204配置为自动地构建用于沿与作业路径点228相关联的运动路径238执行末端执行器110的一系列运动的机械臂轨迹240,并且按照使末端执行器110对操作表面308的一部分操作的方式执行该机械臂轨迹240,该操作表面的一部分对应于在作业路径点228处针对机器人102限定的子规划224中的部分。
如上所述,处理器204自动地生成总体规划222并将总体规划222划分成多个子规划224以用于对应地分配给多个机器人102。在将总体规划222划分成多个子规划224的过程中,处理器204可以基于一个或多个因素为每个机器人102分配一组作业路径点230。例如,作业路径点228可以基于作业路径点228相对于彼此的路径点位置分配给机器人102。就这一点而言,作业路径点228可以基于它们彼此的接近度聚集成组。例如,在图22中所示的四个机器人102中,第一个机器人102被分配标示为1至4的作业路径点228,第二个机器人102被分配标示为5至9的作业路径点228,第三个机器人102被分配标示为10至14的作业路径点228,以及第四个机器人102被分配标示为15至19的作业路径点228。为机器人102分配作业路径点228的另一个因素可以基于末端执行器110相对于彼此的末端执行器110能力。例如,机器人102中的一个或多个可以具有不同于其他机器人102的末端执行器110的末端执行器110,并且因此可以相比于其他末端执行器110更好地对操作表面308的一些区域执行操作。在清洁扭绞芯轴302的扭绞表面314的示例中,一个末端执行器110的抛光盘可以具有比其他末端执行器110的抛光盘更小的直径,并且因此可以能够更好地接入并清洁扭绞表面314中高区率的区域。为机器人102分配作业路径点228的另一个因素可以基于相对于彼此的机器人工作负载。例如,作业路径点228可以按照尝试依据每个机器人102对操作表面308操作的总时间量平衡机器人102之间的工作负荷的方式来分配。
在为具有多个机器人102的机器人系统100构建全局图242的过程中,处理器204可以基于当多个机器人102中的一个或多个在沿物理环境350的地板表面352引导时由其传感器系统114记录的成像数据来构建全局图242。如果必要,处理器204可以将多个机器人102中每一个的计算机表示214定位在全局图242内。如上所述,一个或多个机器人102的计算机表示214的位置可以由用户通过一个或多个机器人102或远程计算装置202的用户接口246来手动地操纵。此外,处理器204可以为每个机器人102针对由子规划224分配给该角色的该组作业路径点230中的每个作业路径点228执行到达检查。例如,处理器204可以加载机器人102中的每个唯一机器人的运动学模型124以用于确定每个机器人102的末端执行器110是否能够沿分配给机器人102的每个作业路径点228相关联的运动路径238达到所有位置。处理器204可以按照上述方式针对多个机器人102中的每一个构建并执行机械臂轨迹240。
在本文公开的机器人系统100的任何示例中,就机器人102能够在和人类或其他运动对象相同的工作空间中操作的意义而言,机器人102(图9至图10)和/或机械臂106(图9至图10)可以是协作机器人。就这一点而言,机器人系统100的处理器204可以配置为在发生臂停止状况时自动地停止机械臂106和/或末端执行器110的运动。在本公开中,臂停止状况可以被描述为发生了机械臂106和/或末端执行器110与除了工件300的操作表面308之外的对象的接触。例如,机械臂106和/或末端执行器110与静止对象(例如,除了工件300的操作表面308之外的任何表面)或运动对象(例如,另一机器人、人等)的接触可能导致机器人102自动地停止所有运动。在另一示例中,移动底座104沿地板表面352的运动可以在发生底座停止状况时被自动地停止。在本公开中,底座停止状况可以在检测到任何对象在与移动底座104的碰撞路线上且在机器人102的特定距离范围内时发生。底座停止状况可以通过处理器204基于来自机器人102的成像数据或其他传感器输入来确定。在确定存在底座停止状况时,处理器204可以在机器人102与对象明显碰撞之前停止移动底座104的运动。
明显碰撞可以被描述为通过处理器204计算的将要在检测到对象数秒内发生的碰撞,或者当正在运动的对象到机器人102的数英尺范围内时可以将碰撞描述为明显的。针对碰撞检测的保护可以通过持续地监测在机器人102的传感器系统114(例如,激光器116、相机118、其他传感器)的视场内的对象来提供。机器人102可以包括用于检测位于机器人102的高度以上的对象的超声波传感器。在机器人102和对象之间的距离可以针对机器人102的速度来映射以确保机器人102能够在与对象碰撞之前停下。替代地或另外地,防碰撞保护可以通过监测机器人102中的马达编码器从而持续地确定机器人的速度、相对于对象的速度差以及机器人102相对于对象的运动方向来提供。防碰撞的其他安全保护可以包括在机械臂106和移动底座104之间的联锁,从而防止机械臂106和移动底座104的同时操作。
有利地,在当前公开的机器人系统100的任一个示例中,处理器204动态地围绕物理环境350内的所有运动对象规划,无论此类对象是通过激光器116、通过相机118还是通过例如超声波传感器(未示出)的其他类型的传感器检测到。如果人在机器人102的移动底座104前方行走,则处理器204可以在机器人102的导航期间,例如当机器人从作业路径点228移动到作业路径点228时,自动地围绕人来规划。另外,如果机械臂106或移动底座104的运动分别由于出现了上述臂停止状况或底座停止状况而被停止,则处理器204可以在其间运动被停止的状态下自动地重新启动对机器人102的操作,或者如果更合适的话,机器人102可以自动地前进到另一个更合适的状态,其中机器人102可以恢复并继续操作。如果机器人102被碰撞并轻微移动到新的位置,例如由于在机器人102驻于作业路径点228时与人相接触,机械臂106的运动可以停止并且处理器204可以在机器人102的新位置处构建新的机械臂轨迹240。
图23是一种自动地对工件300进行操作的方法400中所包含的操作的流程图。方法400的步骤402包括利用处理器204自动地生成针对至少一个机器人102的末端执行器110的运动的总体规划222,以用于对在例如生产设施或复合材料零件扭绞设施的物理环境350中的工件300(例如,扭绞芯轴302)的操作表面308进行操作。如上所述,总体规划222基于工件300的CAD模型208并且至少部分基于当机器人102驻于包含在总体规划222中的多个作业路径点228中每一个处时机器人102的机械臂106的到达距离来限定末端执行器110的运动路径238和一系列运动。如上所述,在总体规划222中的作业路径点228对应于安装在工件300上且在CAD模型208中进行表示的多个基准标记316。
方法400的步骤404包括利用处理器204针对总体规划222中的每个作业路径点228为机器人102执行步骤的顺序。在序列中的步骤406包括当机器人102在作业路径点228前方的接近路径点226处时自动地将机器人102对准到物理环境350中的工件300,并且反复调整镶嵌工件碰撞几何体218在物理环境350的全局图242中的位置(例如,定位和定向),除非或者直到镶嵌工件碰撞几何体218在全局图242内的近似工件位置244(例如,定位和定向)与工件300在物理环境350中的实际工件位置306(例如,定位和定向)基本匹配。在一些示例中,对镶嵌工件碰撞几何体218的位置的调整可以仅在机器人102处于第一个作业路径点228处时执行。除非在镶嵌工件碰撞几何体218的初始调整之后工件300在物理环境350中被运动,当机器人102从作业路径点228移动到作业路径点228时,并不一定需要进一步调整镶嵌工件碰撞几何体218在全局图242中的位置。
在序列中的步骤408包括在机器人102处于作业路径点228时,自动地构建用于沿与作业路径点228相关联的运动路径238执行末端执行器110的一系列运动的机械臂轨迹240,如以下参考图26所更详细进行描述的。序列中的步骤410包括;按照使末端执行器110对操作表面308的一部分进行操作的方式自动地执行机械臂轨迹240,该操作表面的一部分对应于在该作业路径点228处针对机器人102限定的总体规划222的部分。如上所述,机器人102相继地驱进到作业路径点228中的每一个,并且在每个作业路径点228处,处理器204针对总体规划222中对应于该作业路径点228的部分构建机械臂轨迹240并使机械臂106执行该机械臂轨迹240。
图24是步骤402中所提到的自动地生成总体规划222的方法500中所包含的操作的流程图。自动地生成总体规划222的方法500的步骤502包括基于CAD模型208的几何文件216(例如,STEP文件)构建多个作业路径点228,该多个作业路径点分别在基于机械臂106的到达距离的距离基准标记316的一定距离处。如上所述,作业路径点228可以基于移动底座104的尺寸、机械臂106的到达距离和/或基于其他机器人参数在距离每一个基准标记316的预定的非零距离处确立。生成几何文件216的过程进一步包括限定工件300的CAD模型208的操作表面308,例如通过选择操作表面308的边界。替代地,操作表面308可以由CAD模型208的开发者预先指定。此外,生成几何文件216的过程包括限定CAD模型208的多个基准标记316,并且镶嵌CAD模型208的碰撞几何体212以形成镶嵌工件碰撞几何体218,如上所述。几何文件216可以被保存为包含对工件300的操作表面308、基准标记316以及镶嵌工件碰撞几何体218的限定,并且被存储在存储器206中。如上所述,几何文件216可以被保存为STEP文件。
仍然参考图24并另外参考图12,生成总体规划222的步骤504可以包括在作业路径点228中的每一个处构建尺寸对应于机械臂106的到达距离的延伸球体120,如图12中所示。在本公开中,延伸球体120可以被描述为无穷小薄的壳,其具有对应于机械臂106的到达距离的球体直径。生成总体规划222的步骤506可以包括基于每个延伸球体120与操作表面308的相交点来限定多个表面分段232。例如,如以上所指出的,延伸球体120中每一个的球体外周可以与操作表面308相交,并且在每对相邻的相交球体周边的交点之间可以构建边界线122。边界线122可以至少部分地限定表面分段232的边界。总体规划222的生成可以另外地包括镶嵌表面分段232中的每一个以形成多个镶嵌表面分段234。
生成总体规划222的步骤508可以进一步包括为每个表面分段232确定切割方向236,该切割方向可以被描述为表面分段232的最大尺寸的方向。例如,切割方向236可以是从上朝下的方向看操作表面308时镶嵌表面分段232的相对侧边之间的最长直线距离。如上所述,切割方向236可以近似地平行于操作表面308的外周边312和/或内周边310,如图12中所示。生成总体规划222的步骤510包括通过将每个表面分段232与各自近似平行于切割方向236定向的一系列间隔开的垂直平面(未示出)相交来针对每个表面分段232形成运动路径238。垂直平面在每个作业路径点228处与表面分段232的相交点得到了多个三维的运动路径238。如上所述,运动路径是末端执行器110在对操作表面308操作时沿其运动的路径。生成总体规划222的步骤512可以包括为每个作业路径点228指定末端执行器110沿相邻运动路径238的交替运动方向。交替运动方向限定了末端执行器110在每个作业路径点228处的一系列运动。生成总体规划222的步骤514包括保存包含末端执行器110在所有作业路径点228处的运动路径238以及一系列运动的总体规划222。
如上所述,步骤406包括反复调整镶嵌工件碰撞几何体218在全局图242内的位置。如果仍然还未构建和/或在存储器206中并不存在全局图242,则方法可以进一步包括通过沿物理环境350的地板表面352引导(例如,通过远程控制)机器人102,与此同时利用机器人102的传感器系统114(例如,相机118、激光器116等)记录限定物理环境350的环境边界354以及环境边界354内的对象的成像数据来构建全局图242。方法包括利用处理器204基于成像数据构建全局图242。全局图242的构建可以进一步包括通过粒子滤波将机器人102的计算机表示214定位或定位在全局图242内以反映机器人102在物理环境350内的实际位置。
如果存在全局图242,则处理器204可以自动地将工件300的镶嵌工件碰撞几何体218加载并定位到全局图242内。此外,处理器204可以按照如图16中所示的使得总体规划222与镶嵌工件碰撞几何体218对齐的方式自动地将总体规划222加载到全局图242内。在一些示例中,为了降低在碰撞检查期间的计算强度,处理器204可以基于镶嵌工件碰撞几何体218自动地形成工件300的凸壳210,并且将该凸壳210设置成在从作业路径点228导航到作业路径点228期间机器人102的禁区。在生成总体规划222之后且在将机器人102对准到工件300之前,处理器204可以在作业路径点228中的每一个处为机器人102执行到达检查。就这一点而言,处理器204自动地将机器人102的运动学模型124加载到全局图242内,并且基于该运动学模型124确定机器人102的末端执行器110是否能够沿与每个作业路径点228相关联的运动路径238达到所有位置。如果机器人系统100包括多个机器人102,则机器人102中的每个唯一机器人的运动学模型124被加载并用于确定每个机器人102的末端执行器110是否能够沿分配给机器人102的每个作业路径点228的运动路径238达到所有位置。
参考图25,示出了可以包含步骤406中所提到的将机器人102对准到工件300并调整镶嵌工件碰撞几何体218在全局图242内的位置的方法600中的操作的流程图。方法600的步骤602包括使机器人102驱进到接近路径点226并对机器人102定向,直到机器人中心线(未示出)近似地平行于接近路径点226的路径点的路径点中心线(未示出)且与其对齐,如图16至图17中所示。步骤604包括在机器人102处于接近路径点226处时,确认在该接近路径点226处工件300上的基准标记316的标识图案318与在几何文件216中限定并在CAD模型地208中表示的基准标记316的标识图案318相匹配。如果匹配,则步骤606包括调整镶嵌工件碰撞几何体218在全局图242内的近似工件位置244,直到该近似工件位置244在物理环境350中的实际工件位置306的预定初始容差内,如图17至图18中所示以及以上所述。如上所述,相对于几何文件216检测、识别和匹配工件300上的基准标记316以及更新(例如,调整)镶嵌工件碰撞几何体218在全局图242内的位置从而与物理环境350中的实际工件位置306基本匹配的过程可以随着一个或多个机器人102围绕工件300导航,例如当朝接近路径点226和/或作业路径点228中的任一个驱进时和/或驻于该接近路径点和/或作业路径点中任一个处时,被持续地执行(例如,实时地)。此外,处理器204可以在确定是否要继续反复调整全局图242内的近似工件位置244的过程中考虑对基准标记316的检测的质量。例如,处理器204可以使用卡尔曼滤波和/或分配置信度值来评估(例如,基准标记316的)成像数据的质量,作为确定是否要发起调整或者继续调整(例如,在迭代期间)全局图242内的近似工件位置244的因素,如上所述。
步骤608包括自动地使机器人102从接近路径点226驱进到作业路径点228,如图18至图19中所示。步骤610包括当机器人102在作业路径点228处时,反复调整镶嵌工件碰撞几何体218在全局图242内的位置,直到镶嵌工件碰撞几何体218在全局图242内的近似工件位置244与物理环境350中的实际工件位置306基本匹配,如图20中所示。
现在参考图26并另外参考图20,示出了可以包含在步骤408中所提到构建机械臂轨迹240的方法700中的操作的流程图。方法700的步骤702可以包括以沿每个运动路径238的隔开间隔采用末端执行器110的多个姿态(未示出)。如图20中所示,在正在构建机械臂轨迹240的同时末端执行器110还仍未运动。步骤704包括针对末端执行器110的每个姿态采样多个z轴旋转。尽管并未示出,末端执行器110的z轴在该姿态的位置处局部垂直于操作表面308定向。步骤706包括针对每个采样的姿态解出所有的逆运动学解,作为用来确保末端执行器110能够移动到每个采样的姿态的手段。步骤708包括构建连接所有姿态并解出每个姿态之间的最小关节运动的曲线图(未示出)。步骤710包括构建用于沿根据该最小关节运动的运动路径238执行末端执行器110的一系列运动的机械臂轨迹240。图21示出机械臂106正在执行机械臂轨迹240从而使末端执行器110对操作表面308进行操作。在针对一个作业路径点228处的运动路径238执行一系列运动之后,机器人102自动地移动到总体规划222中限定的作业路径点228中的另一个(例如,相邻的)。机器人102相继地驱进到作业路径点228中的每一个,在每个作业路径点228处构建并执行机械臂轨迹240,直到已经将总体规划222执行到完成。
对于多个机器人102的机器人系统100,自动地对工件300进行操作的方法与以上针对具有单个机器人102的机器人系统100所述的方法相同,除了当自动地生成总体规划222时处理器204将总体规划222划分成多个子规划224之外,该多个子规划用于对应地分配给多个机器人102。此外,处理器204在作业路径点228中的第一个处仅使用机器人102中的单个来反复调整镶嵌工件碰撞几何体218在全局图242内的位置,从而与物理环境350中的实际工件位置306基本匹配。处理器204可以基于如上所述的作业路径点228相对于彼此的路径点位置、基于末端执行器110相对于彼此的末端执行器能力,和/或基于机器人102相对于彼此的机器人工作负载,将一组唯一的作业路径点230分配给多个机器人102中的每一个。
全局图242的构建可以通过以下来执行:手动地沿物理环境350的地板表面352引导(例如,操纵)多个机器人102中的至少一个,与此同时利用机器人102的传感器系统114记录包含物理环境350的环境边界354和环境边界354内的对象的成像数据,以及利用处理器204基于成像数据构建全局图242。此外,生成全局图242的步骤可以包括将多个机器人102中每一个的计算机表示214定位在全局图242内。在一些示例中,在生成总体规划222之后且在将机器人102对准到工件300之前,方法可以包括对机械臂106执行到达检查。就这一点而言,处理器204将多个机器人102中的每个唯一机器人的运动学模型124加载到全局图242内,并且可以为每个机器人102确定末端执行器110是否能够沿分配给机器人102的每个作业路径点228相关联的运动路径238达到所有位置。
对于其中一个或多个机器人102是协作的机器人系统100,该方法可以包括在发生臂停止状况时停止机械臂106的运动。如上所述,臂停止状况可以包括机械臂106和/或末端执行器110与除了工件300的操作表面308之外的对象相接触。替代地或另外地,方法可以包括在发生底座停止状况时停止移动底座104的运动,如上所述底座停止状况包括检测到对象在与移动底座104的碰撞路线上。如果机械臂106或移动底座104的运动分别由于发生了臂停止状况或底座停止状况而被停止,则方法可以包括在其间运动被停止的步骤或阶段,或者在其间运动被停止的阶段之后的接下啦的合适步骤或阶段,自动地或手动地重新启动对机器人102的操作。
此外,本公开包括根据以下项的实施例:
项1.一种用于自动地对工件进行操作的机器人系统,其包括:至少一个机器人,该至少一个机器人可通信地耦接至包括处理器的数据处理系统并且具有机械臂和耦接至机械臂的末端执行器;处理器被配置为针对末端执行器的运动自动地生成总体规划以用于对定位于物理环境中的工件的操作表面进行操作,总体规划是基于工件的计算机辅助设计(CAD)模型并且至少部分基于机器人的机械臂距多个作业路径点中的每一个处的到达距离来限定末端执行器的运动路径,该多个作业路径点包含在总体规划中、对应于安装在工件上且以CAD模型进行表示的多个基准标记;处理器被配置为针对基准标记中的每一个执行以下步骤的顺序:当机器人正在朝基准标记前方的接近路径点驱进和/或正处于该接近路径点处时将机器人对准到物理环境中的工件,并且反复调整镶嵌工件碰撞几何在物理环境的全局图内的位置,除非或者直到镶嵌工件碰撞几何在全局图内的近似工件位置与当机器人正在朝对应于基准标记的作业路径点驱进和/或正处于该作业路径点处时物理环境中的实际工件位置基本匹配;在机器人处于作业路径点时,构建机械臂轨迹,用于沿与作业路径点相关联的运动路径执行末端执行器的一系列运动;并且执行该机械臂轨迹并使末端执行器对工件的操作表面的一部分进行操作,该工件的操作表面的一部分对应于在作业路径点处于针对机器人限定的总体规划中的部分。
项2.根据项1所述的机器人系统,其中所述处理器在自动地生成总体规划时被配置为按顺序执行以下步骤:基于CAD模型的几何文件来构建多个作业路径点,该多个作业路径点基于机械臂的到达距离而分别与基准标记相距一定距离;在作业路径点中每一个处构建一个尺寸对应于到达距离的延伸球体;基于每个延伸球体与操作表面的相交点来限定多个表面分段;针对每个表面分段确定切割方向,该切割方向被限定为表面分段的最大尺寸的方向;通过将每个表面分段与平行于切割方向而定向的一系列垂直平面相交来形成每个表面分段的运动路径;针对每个作业路径点指定末端执行器沿相邻运动路径的交替运动方向、限定末端执行器的一系列运动的交替运动方向;并且保存总体规划,该总体规划包含末端执行器在所有作业路径点处的运动路径和一系列运动。
项3.根据项2所述的机器人系统,其中,处理器被配置为:限定工件的CAD模型的操作表面,该CAD模型具有碰撞几何;限定CAD模型的多个基准标记;镶嵌CAD模型的碰撞几何以形成镶嵌工件碰撞几何;并且保存至少包含对工件的操作表面、基准标记以及镶嵌工件碰撞几何体的限定的几何文件。
项4.根据项1所述的机器人系统,其中:机器人包括传感器系统;并且处理器被配置为基于物理环境的环境边界以及由传感器系统在沿物理环境的地板表面引导机器人时所记录的环境边界内的对象的成像数据来构建全局图。
项5.根据项4所述的机器人系统,其中,处理器被配置为:在全局图内定位工件的镶嵌工件碰撞几何;基于镶嵌工件碰撞几何形成工件的凸壳;以及将凸壳设置为机器人的禁区。
项6.根据项1所述的机器人系统,其中,处理器被配置为:将机器人的运动学模型加载到全局图中;并且在将机器人对准到工件之前,基于该运动学模型确定末端执行器是否能够沿与每个作业路径点相关联的运动路径到达所有位置。
项7.根据项1所述的机器人系统,其中,在将机器人对准到工件并调整镶嵌工件碰撞几何在全局图内的位置时,处理器被配置为按顺序执行以下步骤:使机器人驱进到接近路径点;当机器人正在朝接近路径点驱进和/或在该接近路径点处时,确认在工件上的基准标记的标识图案与在CAD模型中表示的基准标记的标识图案相匹配;当机器人正在朝接近路径点驱进和/或在该接近路径点处时,调整镶嵌工件碰撞几何体在全局图内的近似工件位置,除非或者直到该近似工件位置在处于物理环境中的工件的实际工件位置的预定初始容差内;将机器人从接近路径点移动到作业路径点;以及在机器人处于该作业路径点处时,反复调整镶嵌工件碰撞几何体在全局图内的位置,除非或者直到镶嵌工件碰撞几何在全局图内的位置与处于物理环境中的实际工件位置基本匹配。
项8.根据项1所述的机器人系统,其中,在构建机械臂轨迹时,处理器被配置为按顺序执行以下步骤:沿每个运动路径以隔开间隔对末端执行器的多个姿态进行采样;对末端执行器的每个姿态的多个z轴旋转进行采样;对每个采样的姿态的所有的逆运动学解进行求解;构建连接所有姿态并且解出每个姿态之间最小关节运动的曲线图;并且构建机械臂轨迹用于沿根据最小关节运动的运动路径执行末端执行器的一系列运动。
项9.一种用于自动地对工件进行操作的机器人系统,其包括:多个机器人,该多个机器人分别具有机械臂和耦接至机械臂的末端执行器;至少一个处理器,该至少一个处理器被配置为针对每个末端执行器的运动自动地生成总体规划以用于对定位于物理环境中的工件的操作表面进行操作,总体规划基于工件的计算机辅助设计(CAD)模型并且包括多个子规划,该多个子规划用于分配给对个机器人并且分别限定了一个机器人的末端执行器的运动路径,运动路径至少部分基于由子规划分配了包含在总体规划中的一组唯一作业路径点中一个或多个的机器人的机械臂的到达距离,作业路径点对应于安装在工件上且以CAD模型进行表示的多个基准标记;处理器被配置为自动地执行以下步骤:对于机器人中的每一个,当正在朝分配给该机器人的一组作业路径点中的作业路径点前方的接近路径点驱进和/或在该接近路径点处时,对准到物理环境中的工件;对于机器人中仅一个,当正在朝该组作业路径点中的第一个作业路径点驱进和/或在该第一作业路径点处时,反复调整镶嵌工件碰撞几何体在物理环境中的全局图内的位置,除非或者直到镶嵌工件碰撞几何体在全局图内的近似工件位置与当机器人正在朝作业路径点驱进和/或在该作业路径点处时物理环境中的实际工件位置基本匹配;对于机器人中的每一个,当在分配给机器人的该组作业路径点中每个作业路径点处时,构建用于沿与作业路径点相关联的运动路径执行末端执行器的一系列运动的机械臂轨迹;以及按照使末端执行器对操作表面的一部分操作的方式执行该机械臂轨迹,该操作表面的一部分对应于在作业路径点处针对机器人限定的子规划中的部分。
项10.根据项9所述的机器人系统,其中处理器被配置为基于以下中的至少一个将一组作业路径点分配给多个机器人中的每一个:作业路径点相对于彼此的路径点位置;末端执行器相对于彼此的末端执行器能力;以及机器人相对于彼此的机器人工作负载。
项11.一种对工件操作的方法:利用处理器自动地生成针对至少一个机器人的相应至少一个末端执行器的运动的总体规划,以用于对在物理环境中的工件的操作表面进行操作,总体规划基于工件的计算机辅助涉及(CAD)模型并且至少部分基于机器人的机械臂在包含在总体规划中的多个作业路径点中每一个处的到达距离来限定末端执行器的运动路径,该多个作业路径点对应于安装在工件上且以CAD模型进行表示的多个基准标记;利用处理器为在多个作业位点中每一个处的机器人自动地执行以下步骤的顺序:当机器人正在朝作业路径点前方的接近路径点驱进和/或在该接近路径点处时将机器人对准到物理环境中的工件,并且反复调整镶嵌工件碰撞几何体在物理环境的全局图内的位置,除非或者直到镶嵌工件碰撞几何体在全局图内的近似工件位置与当机器人正在朝作业路径点驱进和/或在该作业路径点处时物理环境中的实际工件位置基本匹配;在机器人处于作业路径点时,构建用于沿与作业路径点相关联的运动路径执行末端执行器的一系列运动的机械臂轨迹;以及按照使末端执行器对操作表面的一部分操作的方式执行该机械臂轨迹,该操作表面的一部分对应于在作业路径点处针对机器人限定的总体规划中的部分。
项12.根据项11所述方法,其中自动地生成总体规划的步骤包括:基于CAD模型的几何文件构建多个作业路径点,该多个作业路径点分别在距离基于机械臂的到达距离的基准标记的一定距离处;在作业路径点中每一个处构建尺寸对应于到达距离的延伸球体;基于每个延伸球体与操作表面的相交点限定多个表面分段;针对每个表面分段确定切割方向,该切割方向被限定为表面分段的最大尺寸的方向;通过将每个表面分段与平行于切割方向定向的一系列垂直平面相交来针对每个表面分段形成运动路径;针对每个作业路径点指定末端执行器沿相邻运动路径的交替运动方向、限定在每个作业路径点处末端执行器的一系列运动的交替运动方向;以及保存总体规划,该总体规划包含在所有作业路径点处末端执行器的运动路径和一系列运动。
项13.根据项12所述的方法,进一步包括:限定工件的CAD模型的操作表面,该CAD模型具有碰撞几何体;限定CAD模型的多个基准标记;镶嵌CAD模型的碰撞几何体以形成镶嵌工件碰撞几何体;以及通过保存对工件的操作表面、基准标记以及镶嵌工件碰撞几何体的限定来生成几何文件。
项14.根据项11所述的方法,进一步包括通过执行以下步骤来构建全局图:沿物理环境的地板表面引导机器人,与此同时利用机器人的传感器系统记录物理环境的环境边界以及环境边界内的对象的成像数据;以及利用处理器基于成像数据构件全局图。
项15.根据项14所述的方法,其中在构建全局图之后,方法进一步包括:在全局图内定位工件的镶嵌工件碰撞几何体;基于镶嵌工件碰撞几何体形成工件的凸壳;以及将凸壳设置为机器人的禁区。
项16.根据项11所述的方法,其中在生成总体规划之后且在将机器人对准到工件之前,方法包括:将机器人的运动学模型加载到全局图中;基于该运动学模型确定末端执行器是否能够沿与每个作业路径点相关联的运动路径达到所有位置。
项17.根据项11所述的方法,其中在将机器人对准到工件并调整镶嵌工件碰撞几何体在全局图内的位置的步骤包括按顺序执行以下步骤:使机器人驱进到接近路径点;当机器人正在朝接近路径点驱进和/或在该接近路径点处时,确认在工件上的基准标记的标识图案与在CAD模型中表示的基准标记的标识图案匹配;当机器人正在朝接近路径点驱进和/或在该接近路径点处时,调整镶嵌工件碰撞几何体在全局图内的近似工件位置,直到该近似工件位置在物理环境中的实际工件位置的预定初始容差内;将机器人从接近路径点移动到作业路径点;以及当机器人正在朝作业路径点驱进和/或在该作业路径点处时,反复调整镶嵌工件碰撞几何体在全局图内的位置,直到在全局图内的近似工件位置与物理环境中的实际工件近似工件位置基本匹配。
项18.根据项11所述的方法,其中构建机械臂轨迹的步骤包括:沿每个运动路径以隔开间隔采样末端执行器的多个姿态;针对末端执行器的每个姿态采样多个z轴旋转;
针对每个采样的姿态求解所有的逆运动学解;构建连接所有姿态并且解出每个姿态之间最小关节运动的曲线图;以及构建用于沿根据最小关节运动的运动路径执行末端执行器的一系列运动的机械臂轨迹。
项19.一种自动地对工件操作的方法,包括:利用处理器自动地生成针对相应多个机器人的多个末端执行器的总体规划,该多个机器人配置为对定位于物理环境中的工件的操作表面的不同表面分段进行操作,总体规划基于工件的计算机辅助设计(CAD)模型并且包括多个子规划,该多个子规划用于分配给多个机器人并且各自限定了一个机器人的末端执行器的运动路径,运动路径至少部分基于由子规划分配要通过包含在总体规划中的一组唯一作业路径点来操作的机器人的机械臂的到达距离,作业路径点对应于安装在工件上且以CAD模型进行表示的多个基准标记;利用处理器自动地执行以下步骤:当机器人正在朝分配给该机器人的一组作业路径点中的作业路径点前方的接近路径点驱进和/或在该接近路径点处时,将机器人中的每一个对准到物理环境中的工件;对于机器人中仅一个,当正在朝该组作业路径点中的第一个作业路径点驱进和/或在该第一作业路径点处时,反复调整镶嵌工件碰撞几何体在物理环境的全局图内的近似工件位置,除非或者直到在全局图内的近似工件位置与当机器人正在朝作业路径点驱进和/或在该作业路径点处时物理环境中的实际工件位置基本匹配;对于机器人中的每一个,当在分配给机器人的该组作业路径点中每个作业路径点处时,构建用于沿与作业路径点相关联的运动路径执行末端执行器的一系列运动的机械臂轨迹;以及对于机器人中的每一个,当在分配给机器人的该组作业路径点中每个作业路径点处时,按照使末端执行器对操作表面的一部分操作的方式执行该机械臂轨迹,该操作表面的一部分对应于在作业路径点处针对机器人限定的子规划中的部分。
项20.根据项19所述的方法,进一步包括以下步骤:基于以下中的至少一个将一组唯一作业路径点分配给多个机器人中的每一个:作业路径点相对于彼此的路径点位置;末端执行器相对于彼此的末端执行器能力;以及机器人相对于彼此的机器人工作负载。
通过受益于前述描述和相关附图中提出的教导,本公开相关领域的技术人员可以想到本公开的许多修改和其他配置。本文所述的配置为意欲作为例示说明性的而并非旨在作为限制性的或穷尽性的。尽管在本文中采用了特定术语,它们仅在一般性和描述性的含义上使用并且并不用于限制的目的。
Claims (16)
1.一种用于对工件(300)进行自动操作的机器人系统(100),包括:
至少一个机器人(102),所述至少一个机器人通信地耦接至包括处理器(204)的数据处理系统(200)并且具有机械臂(106)和耦接至所述机械臂(106)的末端执行器(110);
处理器(204),所述处理器被配置为针对所述末端执行器(110)的运动自动地生成总体规划(222)以用于对定位于物理环境(350)中的工件(300)的操作表面(308)进行操作,所述总体规划(222)是基于所述工件(300)的计算机辅助设计(CAD)模型(208),并且所述总体规划至少部分基于所述机器人(102)的所述机械臂(106)距多个作业路径点(228)中的每一个处的到达距离来限定所述末端执行器(110)的运动路径(238),所述多个作业路径点包含在所述总体规划(222)中、对应于安装在所述工件(300)上且以所述CAD模型(208)进行表示的多个基准标记(316);
所述处理器(204)被配置为针对所述基准标记(316)中的每一个自动执行以下顺序的步骤:
当所述机器人(102)正在朝所述基准标记(316)前方的接近路径点(226)驱进和/或正处于所述接近路径点处时将所述机器人(102)对准到所述物理环境(350)中的所述工件(300),并且反复地调整镶嵌工件碰撞几何体(218)在所述物理环境(350)的全局图(242)内的位置,除非或者直到所述镶嵌工件碰撞几何体(218)在所述全局图(242)内的近似工件位置(244)与当所述机器人(102)正在朝对应于所述基准标记(316)的作业路径点(228)驱进和/或正处于所述作业路径点处时所述物理环境(350)中的实际工件位置(306)基本匹配;
在所述机器人(102)处于所述作业路径点(228)时构建机械臂轨迹(240),以用于沿与所述作业路径点(228)相关联的所述运动路径(238)执行所述末端执行器(110)的一系列运动;并且
执行所述机械臂轨迹(240)并使所述末端执行器(110)对所述工件(300)的所述操作表面(308)的一部分进行操作,所述工件的所述操作表面的一部分对应于在所述作业路径点(228)处针对所述机器人(102)限定的所述总体规划(222)中的部分。
2.根据权利要求1所述的机器人系统(100),其中,所述处理器(204)在自动地生成所述总体规划(222)时被配置为按顺序执行以下步骤:
基于所述CAD模型(208)的几何文件(216)来构建所述多个作业路径点(228),所述多个作业路径点基于所述机械臂(106)的所述到达距离而分别与所述基准标记(316)相距一定距离;
在所述作业路径点(228)中的每一个处构建一个尺寸对应于所述到达距离的延伸球体(120);
基于每个所述延伸球体(120)与所述操作表面(308)的相交点来限定多个表面分段(232);
针对每个所述表面分段(232)确定切割方向(236),所述切割方向被限定为所述表面分段(232)的最大尺寸的方向;
通过将每个所述表面分段(232)与一系列平行于所述切割方向(236)而定向的垂直平面相交来形成每个所述表面分段(232)的所述运动路径(238);
针对每个所述作业路径点(228)指定所述末端执行器(110)沿相邻的所述运动路径(238)的交替运动方向,所述交替运动方向限定所述末端执行器(110)的一系列运动;并且
保存所述总体规划(222),所述总体规划包含所述末端执行器(110)在所有所述作业路径点(228)处的所述运动路径(238)和所述一系列运动。
3.根据权利要求2所述的机器人系统(100),其中,所述处理器(204)被配置为:
限定所述工件(300)的所述CAD模型(208)的所述操作表面(308),所述CAD模型(208)具有碰撞几何体(212);
限定所述CAD模型(208)的所述多个基准标记(316);
镶嵌所述CAD模型(208)的所述碰撞几何体(212)以形成所述镶嵌工件碰撞几何体(218);并且
保存至少包含所述工件(300)的所述操作表面(308)、所述基准标记(316)以及所述镶嵌工件碰撞几何体(218)的限定的所述几何文件(216)。
4.根据权利要求1所述的机器人系统(100),其中:
所述机器人(102)包括传感器系统(114);并且
所述处理器(204)被配置为基于所述物理环境(350)的环境边界(354)以及由所述传感器系统(114)在沿所述物理环境(350)的地板表面(352)引导所述机器人(102)时所记录的所述环境边界(354)内的对象的成像数据来构建所述全局图(242)。
5.根据权利要求4所述的机器人系统(100),其中,所述处理器(204)被配置为:
在所述全局图(242)内定位所述工件(300)的镶嵌工件碰撞几何体(218);
基于所述镶嵌工件碰撞几何体(218)形成所述工件(300)的凸壳(210);以及
将所述凸壳(210)设置为所述机器人(102)的禁区。
6.根据权利要求1所述的机器人系统(100),其中,所述处理器(204)被配置为:
将所述机器人(102)的运动学模型(124)加载到所述全局图(242)中;并且
在将所述机器人(102)对准到所述工件(300)之前,基于所述运动学模型(124)确定所述末端执行器(110)是否能够到达沿与每个所述作业路径点(228)相关联的所述运动路径(238)的所有位置。
7.根据权利要求1所述的机器人系统(100),其中,在将所述机器人(102)对准到所述工件(300)并调整所述镶嵌工件碰撞几何体(218)在所述全局图(242)内的位置时,所述处理器(204)被配置为按顺序执行以下步骤:
使所述机器人(102)驱进到所述接近路径点(226);
当所述机器人(102)正在朝所述接近路径点(226)驱进和/或正处于所述接近路径点处时,确认在所述工件(300)上的所述基准标记(316)的标识图案(318)与用所述CAD模型(208)进行表示的所述基准标记(316)的标识图案(318)相匹配;
当所述机器人(102)正在朝所述接近路径点(226)驱进和/或正处于所述接近路径点处时,调整所述镶嵌工件碰撞几何体(218)在所述全局图(242)内的近似工件位置(244),除非或者直到所述近似工件位置(244)在处于所述物理环境(350)中的所述工件(300)的实际工件位置(306)的预定初始容差内;
将所述机器人(102)从所述接近路径点(226)移动到所述作业路径点(228);并且
在所述机器人(102)处于所述作业路径点(228)处时,反复调整所述镶嵌工件碰撞几何体(218)在所述全局图(242)内的位置,除非或者直到所述镶嵌工件碰撞几何体(218)在所述全局图(242)内的位置与处于所述物理环境(350)中的所述实际工件位置(306)基本匹配。
8.根据权利要求1所述的机器人系统(100),其中,在构建所述机械臂轨迹(240)时,所述处理器(204)被配置为按顺序执行以下步骤:
沿每个所述运动路径(238)以隔开间隔对所述末端执行器(110)的多个姿态进行采样;
对所述末端执行器(110)的每个所述姿态的多个z轴旋转进行采样;
对每个采样的姿态的所有的逆运动学解进行求解;
构建连接所有所述姿态并且求解出每个所述姿态之间最小关节运动的曲线图;以及
构建所述机械臂轨迹(240)以用于沿根据所述最小关节运动的所述运动路径(238)执行所述末端执行器(110)的所述一系列运动。
9.一种对工件(300)进行操作的方法:
利用处理器(204)自动地生成至少一个机器人(102)的相应至少一个末端执行器(110)的运动的总体规划(222),以用于对处于物理环境(350)中的工件(300)的操作表面(308)进行操作,所述总体规划(222)是基于所述工件(300)的计算机辅助设计(CAD)模型(208),并且所述总体规划至少部分基于所述机器人(102)的机械臂(106)距包含在所述总体规划(222)中的多个作业路径点(228)中的每一个处的到达距离来限定所述末端执行器(110)的运动路径(238),所述多个作业路径点(228)对应于安装在所述工件(300)上且以所述CAD模型(208)进行表示的多个基准标记(316);
利用所述处理器(204)针对在所述多个作业路径点(228)中的每一个处的所述机器人(102)自动地执行以下顺序的步骤:
当所述机器人(102)正在朝所述作业路径点(228)前方的接近路径点(226)驱进和/或正处于所述接近路径点处时将所述机器人(102)对准到所述物理环境(350)中的所述工件(300),并且反复调整镶嵌工件碰撞几何体(218)在所述物理环境(350)的全局图(242)内的位置,除非或者直到所述镶嵌工件碰撞几何体(218)在所述全局图(242)内的近似工件位置(244)与当所述机器人(102)正在朝所述作业路径点(228)驱进和/或在所述作业路径点处时的所述物理环境(350)中的实际工件位置(306)基本匹配;
在所述机器人(102)处于所述作业路径点(228)时构建机械臂轨迹(240),所述机械臂轨迹用于沿与所述作业路径点(228)相关联的所述运动路径(238)执行所述末端执行器(110)的一系列运动;并且
按照使所述末端执行器(110)对所述操作表面(308)的一部分进行操作的方式来执行所述机械臂轨迹(240),所述操作表面的一部分对应于在所述作业路径点(228)处针对所述机器人(102)限定的所述总体规划(222)中的部分。
10.根据权利要求9所述的方法,其中,自动地生成所述总体规划(222)的步骤包括:
基于所述CAD模型(208)的几何文件(216)来构建所述多个作业路径点(228),所述多个作业路径点基于所述机械臂(106)的所述到达距离而分别与所述基准标记(316)相距一定距离;
在所述作业路径点(228)中每一个处构建一个尺寸对应于所述到达距离的延伸球体(120);
基于每个所述延伸球体(120)与所述操作表面(308)的相交点来限定多个表面分段(232);
针对每个所述表面分段(232)确定切割方向(236),所述切割方向被限定为所述表面分段(232)的最大尺寸的方向;
通过将每个所述表面分段(232)与一系列平行于所述切割方向(236)而定向的垂直平面相交来形成每个所述表面分段(232)的所述运动路径(238);
针对每个所述作业路径点(228)指定所述末端执行器(110)沿相邻的所述运动路径(238)的交替运动方向,所述交替运动方向限定处于每个所述作业路径点(228)的所述末端执行器(110)的一系列运动;以及
保存所述总体规划(222),所述总体规划包含所述末端执行器(110)在所有所述作业路径点(228)处的所述运动路径(238)和所述一系列运动。
11.根据权利要求10所述的方法,进一步包括:
限定所述工件(300)的所述CAD模型(208)的所述操作表面(308),所述CAD模型(208)具有碰撞几何体(212);
限定所述CAD模型(208)的所述多个基准标记(316);
镶嵌所述CAD模型(208)的所述碰撞几何体(212)以形成镶嵌工件碰撞几何体(218);并且
通过保存对所述工件(300)的所述操作表面(308)、所述基准标记(316)以及所述镶嵌工件碰撞几何体(218)的限定来生成所述几何文件(216)。
12.根据权利要求9所述的方法,进一步包括通过执行以下步骤来构建所述全局图(242):
沿所述物理环境(350)的地板表面(352)引导所述机器人(102),同时利用所述机器人(102)的传感器系统(114)记录所述物理环境(350)的环境边界(354)以及所述环境边界(354)内的对象的成像数据;以及
利用所述处理器(204)基于所述成像数据来构建所述全局图(242)。
13.根据权利要求12所述的方法,其中,在构建所述全局图(242)之后,所述方法进一步包括:
在所述全局图(242)内定位所述工件(300)的镶嵌工件碰撞几何体(218);
基于所述镶嵌工件碰撞几何体(218)形成所述工件(300)的凸壳(210);并且
将所述凸壳(210)设置为所述机器人(102)的禁区。
14.根据权利要求9所述的方法,其中,在生成所述总体规划(222)之后且在将所述机器人(102)对准到所述工件(300)之前,所述方法包括以下步骤:
将所述机器人(102)的运动学模型(124)加载到所述全局图(242)中;并且
基于所述运动学模型(124)确定所述末端执行器(110)是否能够沿与每个所述作业路径点(228)相关联的所述运动路径(238)到达所有位置。
15.根据权利要求9所述的方法,其中,在将所述机器人(102)对准到所述工件(300)并调整所述镶嵌工件碰撞几何体(218)在所述全局图(242)内的位置的步骤包括按顺序执行的以下步骤:
使所述机器人(102)驱进到所述接近路径点(226);
当所述机器人(102)正在朝所述接近路径点(226)驱进和/或正处于所述接近路径点处时,确认在所述工件(300)上的所述基准标记(316)的标识图案(318)与用所述CAD模型(208)表示的所述基准标记(316)的所述标识图案(318)相匹配;
当所述机器人(102)正在朝所述接近路径点(226)驱进和/或正处于所述接近路径点处时,调整所述镶嵌工件碰撞几何体(218)在所述全局图(242)内的近似工件位置(244),直到所述近似工件位置(244)处于所述物理环境(350)中的实际工件位置(306)的预定初始容差内;
将所述机器人(102)从所述接近路径点(226)移动到所述作业路径点(228);并且
当所述机器人(102)正在朝所述作业路径点(228)驱进和/或正处于所述作业路径点处时,反复调整所述镶嵌工件碰撞几何体(218)在所述全局图(242)内的所述近似工件位置(244),直到在所述全局图(242)内的所述近似工件位置(244)与处于所述物理环境(350)中的所述实际工件(300)近似工件位置(244)基本匹配。
16.根据权利要求9所述的方法,其中,构建所述机械臂轨迹(240)的步骤包括:
沿每个运动路径(238)以隔开间隔对所述末端执行器(110)的多个姿态进行采样;
对所述末端执行器(110)的每个姿态的多个z轴旋转进行采样;
对每个采样的姿态的所有的逆运动学解进行求解;
构建连接所有姿态并且解出每个姿态之间的最小关节运动的曲线图;以及
构建所述机械臂轨迹(240)以沿根据所述最小关节运动的所述运动路径(238)执行所述末端执行器(110)的所述一系列运动。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/927,994 US10625419B2 (en) | 2018-03-21 | 2018-03-21 | Robotic system and method for operating on a workpiece |
US15/927,994 | 2018-03-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110293558A true CN110293558A (zh) | 2019-10-01 |
CN110293558B CN110293558B (zh) | 2024-08-16 |
Family
ID=65598402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910214861.2A Active CN110293558B (zh) | 2018-03-21 | 2019-03-20 | 用于对工件进行操作的机器人系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10625419B2 (zh) |
EP (1) | EP3552775B1 (zh) |
JP (1) | JP7355500B2 (zh) |
CN (1) | CN110293558B (zh) |
AU (1) | AU2019200970B2 (zh) |
CA (1) | CA3033972C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112378402A (zh) * | 2020-11-11 | 2021-02-19 | 四川长虹电器股份有限公司 | 自适应调整路径点容差的移动机器人路径规划方法及装置 |
CN113219900A (zh) * | 2019-12-12 | 2021-08-06 | 牧今科技 | 基于相机生成的图像信息执行运动规划的方法和计算系统 |
CN113406950A (zh) * | 2020-03-16 | 2021-09-17 | Uvd机器人设备公司 | 对移动装置上的紫外光源的保护 |
CN113752256A (zh) * | 2020-04-03 | 2021-12-07 | 牧今科技 | 具有路线规划稳定机构的机器人系统 |
CN118081757A (zh) * | 2024-03-24 | 2024-05-28 | 广东技术师范大学 | 一种机械手的控制系统 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200349737A1 (en) * | 2019-05-03 | 2020-11-05 | Fanuc America Corporation | Multi-target calibration and augmentation |
US11682122B2 (en) * | 2019-12-16 | 2023-06-20 | Intellijoint Surgical Inc. | Auto-tracker characterization with robotics applications |
CN111152229B (zh) * | 2020-02-24 | 2023-08-25 | 群滨智造科技(苏州)有限公司 | 3d机械视觉的机械手引导方法和装置 |
WO2021185805A2 (en) | 2020-03-18 | 2021-09-23 | Teknologisk Institut | A relocatable robotic system for production facilities |
EP3885078A1 (de) * | 2020-03-25 | 2021-09-29 | Siemens Aktiengesellschaft | Hyperspektrale oberflächenabtastung eines körpers |
US11590661B2 (en) | 2020-04-30 | 2023-02-28 | The Boeing Company | Robotic sanding systems and methods |
DE102020129743A1 (de) | 2020-11-11 | 2022-05-12 | Carl Zeiss Ag | Vorrichtung und verfahren zur vermessung, inspektion oder bearbeitung von objekten |
IT202100001268A1 (it) * | 2021-01-25 | 2022-07-25 | Yk Robotics S R L | Sistema e metodo di configurazione e programmazione di una cella robotica |
CN112793831B (zh) * | 2021-02-02 | 2024-07-19 | 昆山骆比特机器人技术有限公司 | 一种新型化妆品粉盒组合包装设备 |
CN113916214A (zh) * | 2021-02-24 | 2022-01-11 | 中铁第四勘察设计院集团有限公司 | 轨道交通车辆车底除尘的多算法融合定位方法及吹扫方法 |
US11981517B2 (en) * | 2021-03-30 | 2024-05-14 | Dexterity, Inc. | Robotic line kitting system safety features |
US11897706B2 (en) | 2021-03-30 | 2024-02-13 | Dexterity, Inc. | Robotic system with zone-based control |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4697239A (en) * | 1984-12-27 | 1987-09-29 | Institut De Recherches De La Construction Navale | Automated installation for processing large objects |
WO1999042257A1 (en) * | 1998-02-18 | 1999-08-26 | Armstrong Healthcare Limited | A method of and apparatus for registration of a robot |
DE10226140A1 (de) * | 2002-06-13 | 2004-01-08 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Vermeiden von Kollisionen zwischen Industrierobotern und anderen Objekten |
CN1747816A (zh) * | 2003-02-13 | 2006-03-15 | Abb公司 | 对工业机器人编程以相对于对象上的限定位置移动、包括表面扫描程序生成的方法和系统 |
JP2010142910A (ja) * | 2008-12-19 | 2010-07-01 | Yaskawa Electric Corp | ロボットシステム |
CN201856249U (zh) * | 2010-01-15 | 2011-06-08 | 广东工业大学 | 工业机器人运动规划与性能测试系统 |
EP2353802A2 (de) * | 2010-02-10 | 2011-08-10 | KUKA Laboratories GmbH | Verfahren für eine kollisionsfreie Bahnplanung eines Industrieroboters |
CN103153553A (zh) * | 2010-08-27 | 2013-06-12 | Abb研究有限公司 | 视觉引导对准系统和方法 |
US8972057B1 (en) * | 2013-01-09 | 2015-03-03 | The Boeing Company | Systems and methods for generating a robotic path plan in a confined configuration space |
CN104736304A (zh) * | 2012-10-19 | 2015-06-24 | 伊诺斯自动化软件有限责任公司 | 工业机器人的在线校准方法,执行该方法的系统和包括该校准系统的工业机器人 |
CN107671857A (zh) * | 2017-10-11 | 2018-02-09 | 上海交通大学 | 用于服务机器人操作演示与算法验证的三维仿真平台 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5407415A (en) * | 1993-01-21 | 1995-04-18 | The Boeing Company | Automated composite trim workstation |
KR100201020B1 (ko) * | 1994-03-11 | 1999-06-15 | 모리시타 요이찌 | 컴퓨터시뮬레이션부착 nc제어미세가공방법과 이 방법에 사용하는 장치 |
JPH07295619A (ja) * | 1994-04-25 | 1995-11-10 | Mitsubishi Electric Corp | 工作機械の数値制御装置 |
JPH08202428A (ja) * | 1995-01-24 | 1996-08-09 | Nissan Motor Co Ltd | 教示プログラム自動生成装置 |
FI117005B (fi) * | 2000-08-29 | 2006-05-15 | Aker Finnyards Oy | Hitsausjärjestely ja -menetelmä |
US7102098B2 (en) * | 2000-12-08 | 2006-09-05 | L'Air Liquide - Societe Anonyme a Directoire et Counseil de Surveillance pour l'Etude et l'Exploitataion des Procedes Georges Claude | Method and system for solving a problem arising during a welding operation or the like |
US6486439B1 (en) * | 2001-01-25 | 2002-11-26 | Lincoln Global, Inc. | System and method providing automated welding information exchange and replacement part order generation |
FI117426B (fi) * | 2003-06-12 | 2006-10-13 | Aker Yards Oy | Menetelmä kolmidimensionaalisen rakenteen hitsauksen ohjaamiseksi |
US8725283B2 (en) * | 2006-08-04 | 2014-05-13 | Hurco Companies, Inc. | Generalized kinematics system |
US8024068B2 (en) * | 2006-08-04 | 2011-09-20 | Hurco Companies, Inc. | Machine tool control system |
US9233470B1 (en) * | 2013-03-15 | 2016-01-12 | Industrial Perception, Inc. | Determining a virtual representation of an environment by projecting texture patterns |
US9782822B2 (en) * | 2014-07-09 | 2017-10-10 | The Boeing Company | Wheel mounting system |
US9839986B2 (en) * | 2014-11-06 | 2017-12-12 | The Boeing Company | Performing surface treatments using an automated guided vehicle |
-
2018
- 2018-03-21 US US15/927,994 patent/US10625419B2/en active Active
-
2019
- 2019-02-11 EP EP19156504.3A patent/EP3552775B1/en active Active
- 2019-02-12 JP JP2019022437A patent/JP7355500B2/ja active Active
- 2019-02-12 AU AU2019200970A patent/AU2019200970B2/en active Active
- 2019-02-15 CA CA3033972A patent/CA3033972C/en active Active
- 2019-03-20 CN CN201910214861.2A patent/CN110293558B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4697239A (en) * | 1984-12-27 | 1987-09-29 | Institut De Recherches De La Construction Navale | Automated installation for processing large objects |
WO1999042257A1 (en) * | 1998-02-18 | 1999-08-26 | Armstrong Healthcare Limited | A method of and apparatus for registration of a robot |
DE10226140A1 (de) * | 2002-06-13 | 2004-01-08 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Vermeiden von Kollisionen zwischen Industrierobotern und anderen Objekten |
CN1747816A (zh) * | 2003-02-13 | 2006-03-15 | Abb公司 | 对工业机器人编程以相对于对象上的限定位置移动、包括表面扫描程序生成的方法和系统 |
JP2010142910A (ja) * | 2008-12-19 | 2010-07-01 | Yaskawa Electric Corp | ロボットシステム |
CN201856249U (zh) * | 2010-01-15 | 2011-06-08 | 广东工业大学 | 工业机器人运动规划与性能测试系统 |
EP2353802A2 (de) * | 2010-02-10 | 2011-08-10 | KUKA Laboratories GmbH | Verfahren für eine kollisionsfreie Bahnplanung eines Industrieroboters |
CN102152308A (zh) * | 2010-02-10 | 2011-08-17 | 库卡实验仪器有限公司 | 用于工业机器人的无碰撞轨迹规划的方法 |
CN103153553A (zh) * | 2010-08-27 | 2013-06-12 | Abb研究有限公司 | 视觉引导对准系统和方法 |
CN104736304A (zh) * | 2012-10-19 | 2015-06-24 | 伊诺斯自动化软件有限责任公司 | 工业机器人的在线校准方法,执行该方法的系统和包括该校准系统的工业机器人 |
US8972057B1 (en) * | 2013-01-09 | 2015-03-03 | The Boeing Company | Systems and methods for generating a robotic path plan in a confined configuration space |
CN107671857A (zh) * | 2017-10-11 | 2018-02-09 | 上海交通大学 | 用于服务机器人操作演示与算法验证的三维仿真平台 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113219900A (zh) * | 2019-12-12 | 2021-08-06 | 牧今科技 | 基于相机生成的图像信息执行运动规划的方法和计算系统 |
CN113406950A (zh) * | 2020-03-16 | 2021-09-17 | Uvd机器人设备公司 | 对移动装置上的紫外光源的保护 |
CN113752256A (zh) * | 2020-04-03 | 2021-12-07 | 牧今科技 | 具有路线规划稳定机构的机器人系统 |
US11806866B2 (en) | 2020-04-03 | 2023-11-07 | Mujin, Inc. | Robotic systems with routing stability mechanisms |
CN112378402A (zh) * | 2020-11-11 | 2021-02-19 | 四川长虹电器股份有限公司 | 自适应调整路径点容差的移动机器人路径规划方法及装置 |
CN112378402B (zh) * | 2020-11-11 | 2022-02-22 | 四川长虹电器股份有限公司 | 自适应调整路径点容差的移动机器人路径规划方法及装置 |
CN118081757A (zh) * | 2024-03-24 | 2024-05-28 | 广东技术师范大学 | 一种机械手的控制系统 |
CN118081757B (zh) * | 2024-03-24 | 2024-07-16 | 广东技术师范大学 | 一种机械手的控制系统 |
Also Published As
Publication number | Publication date |
---|---|
AU2019200970B2 (en) | 2023-09-07 |
AU2019200970A1 (en) | 2019-10-10 |
CA3033972C (en) | 2023-05-02 |
US20190291275A1 (en) | 2019-09-26 |
CN110293558B (zh) | 2024-08-16 |
EP3552775A1 (en) | 2019-10-16 |
JP2019166631A (ja) | 2019-10-03 |
EP3552775B1 (en) | 2023-11-29 |
JP7355500B2 (ja) | 2023-10-03 |
CA3033972A1 (en) | 2019-09-21 |
US10625419B2 (en) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110293558A (zh) | 用于对工件进行操作的机器人系统和方法 | |
CN108885456B (zh) | 一种控制自主式移动机器人的方法 | |
CN103913137B (zh) | 坐标测量装置及其控制方法 | |
CN106068174B (zh) | 机器人控制 | |
US11369983B2 (en) | Automaton for treating a surface | |
CN104608150B (zh) | 通过机器人取出放置在三维空间中的物品的装置及方法 | |
JP6856583B2 (ja) | センシングシステム、作業システム、拡張現実画像の表示方法、拡張現実画像の記憶方法、およびプログラム | |
JP6856590B2 (ja) | センシングシステム、作業システム、拡張現実画像の表示方法、およびプログラム | |
CN110497402A (zh) | 取出散装的工件的机器人系统以及机器人系统的控制方法 | |
US20100092032A1 (en) | Methods and apparatus to facilitate operations in image based systems | |
KR20220131359A (ko) | 도구 경로들의 자동 생성 | |
CN106407857B (zh) | 用于自动化装置配对的系统和方法 | |
CN102152308A (zh) | 用于工业机器人的无碰撞轨迹规划的方法 | |
CN105856216A (zh) | 工件取出机器人系统以及工件取出方法 | |
CN108177162A (zh) | 移动机器人的干扰区域设定装置 | |
CN102985232A (zh) | 用于位于可移动平台上的机器人的校准的方法 | |
JPS63288683A (ja) | 組立てロボット | |
JP6653777B1 (ja) | 自動研磨システム | |
CN108637850A (zh) | 一种运动轨迹自学习的打磨机器人系统及控制方法 | |
NO20161384A1 (en) | Methods, systems and computer program products for shape recognition based programming of sewing robots | |
EP3045394B1 (en) | Method and system for repairing a structure | |
KR20100117931A (ko) | 이동 로봇의 스위핑 작업 경로 생성 방법 | |
JP6325507B2 (ja) | 嵌合部品と被嵌合部品とをロボットによって嵌合する方法 | |
JP2007292474A (ja) | 三次元形状測定装置 | |
CN104760044B (zh) | 一种无动力关节臂式示教器及其在工业机器人中的应用 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |