CN116728397A - 机器人系统、机器人控制方法和计算机可读存储介质 - Google Patents
机器人系统、机器人控制方法和计算机可读存储介质 Download PDFInfo
- Publication number
- CN116728397A CN116728397A CN202310186248.0A CN202310186248A CN116728397A CN 116728397 A CN116728397 A CN 116728397A CN 202310186248 A CN202310186248 A CN 202310186248A CN 116728397 A CN116728397 A CN 116728397A
- Authority
- CN
- China
- Prior art keywords
- robot
- workpiece
- path
- target area
- job
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 103
- 238000003860 storage Methods 0.000 title claims abstract description 51
- 238000012545 processing Methods 0.000 claims abstract description 146
- 230000008569 process Effects 0.000 claims description 83
- 238000013459 approach Methods 0.000 claims description 22
- 239000012636 effector Substances 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 20
- 238000011156 evaluation Methods 0.000 claims description 10
- 230000033001 locomotion Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 15
- 238000005259 measurement Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000007789 sealing Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000003466 welding Methods 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/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- 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/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- 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/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40504—Simultaneous trajectory and camera planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本发明涉及机器人系统、机器人控制方法和计算机可读存储介质。该机器人系统包括:存储单元,其被构造为存储预定的作业要求,作业要求指示要由机器人处理的工件的处理目标区域;识别单元,其被构造为将放置工件的作业空间的环境识别为作业环境,其中,作业环境包括放置在作业空间中的工件的位置和姿态;生成单元,其被构造为基于放置在作业空间中的工件的位置和姿态,确定放置在作业空间中的工件的处理目标区域;并且基于作业要求和所确定的处理目标区域,实时地生成机器人在所确定的处理目标区域上操作的路径;以及控制单元,其被构造为基于生成的路径控制机器人。
Description
技术领域
本公开的一个方面涉及机器人系统、规划系统、机器人控制方法和规划程序。
背景技术
日本专利No.6860843描述了一种机器人系统,该机器人系统包括:测量姿态存储单元,其将与机器人作业环境中提供的多个测量机器人姿态有关的信息存储在机器人控制器上;测量位置获取单元,其针对多个测量机器人姿态中的每一者,基于传感器的检测结果来获取测量位置;以及校正单元,其基于测量位置来校正机器人的操作位置。
发明内容
在本公开的一个方面,增强了机器人的自主性。
根据本公开的一个方面的机器人系统包括:存储单元,其被构造为存储预定的作业要求,作业要求指示要由机器人处理的工件的处理目标区域;识别单元,其被构造为将放置工件的作业空间的环境识别为作业环境,其中,作业环境包括放置在作业空间中的工件的位置和姿态;生成单元,其被构造为基于放置在作业空间中的工件的位置和姿态,确定放置在作业空间中的工件的处理目标区域;并且基于作业要求和所确定的处理目标区域,实时地生成机器人在所确定的处理目标区域上操作的路径;以及控制单元,其被构造为基于生成的路径控制机器人。
根据本公开的一方面的机器人控制方法可由包括至少一个处理器的机器人系统执行。该方法包括:存储预定的作业要求,作业要求指示要由机器人处理的工件的处理目标区域;将放置工件的作业空间的环境识别为作业环境,其中,作业环境包括放置在作业空间中的工件的位置和姿态;基于放置在作业空间中的工件的位置和姿态,确定放置在作业空间中的工件的处理目标区域;基于作业要求和所确定的处理目标区域,实时地生成机器人在所确定的处理目标区域上操作的路径;并且基于生成的路径控制机器人。
根据本公开的一个方面的计算机可读存储介质存储处理器可执行指令以:从存储单元中检索指示要由机器人处理的工件的处理目标区域的预定的作业要求;将放置工件的作业空间的环境识别为作业环境,其中,作业环境包括放置在作业空间中的工件的位置和姿态;基于放置在作业空间中的工件的位置和姿态,确定放置在作业空间中的工件的处理目标区域;并且基于作业要求和所确定的处理目标区域,实时地生成机器人在所确定的处理目标区域上操作的路径。
根据本公开的一个方面,可以增强机器人的自主性。
附图说明
图1是示出机器人系统的示例性构造的视图。
图2是示出机器人控制器的示例性硬件构造的视图。
图3是示出用于定义工件的作业要求的示例性处理的流程图。
图4是示出工件的示例性作业要求的视图。
图5是示出用于对机器人生成命令的示例性处理的流程图。
图6是示出作业空间中的机器人的示例性路径的视图。
具体实施方式
在下面的描述中,参考附图,相同的附图标记赋予给相同的部件或具有相同功能的相似的部件,并且省略重复的描述。
系统的概述
根据本公开的机器人系统是一种这样的控制系统,该控制系统通过使放置在实际作业空间中的机器人执行预定运动来使诸如机械处理和组装的各种操作自动化。机器人系统基于对工件所预定的作业要求和作业环境来生成机器人的路径,作业环境是放置工件的作业空间的环境。作业要求涉及指示对工件进行处理的信息。作业环境可以是作业空间的实际情况。路径指示机器人的轨迹并且构成对机器人的命令的至少一部分。因此,机器人系统包括规划系统,该规划系统是用于确认机器人的运动的计算机系统。机器人系统生成包括路径的操作程序而作为命令,并且基于该命令控制机器人。机器人根据该控制来处理至少一个工件。
对至少一个工件的一系列处理也称为工作。对一个工件的处理也称为任务,它是构成工作的最小处理单位。作业要求可以指示一个或多个任务。
机器人执行工作的路径可以分为两种类型的路径。一种是作为机器人在任务中的轨迹的路径,并且在本公开中称为作业路径。另一种是连接在工作起点与第一个任务之间、连接在两个连续任务之间或连接在最后一个任务与工作终点之间的路径,并且在本公开中称为空气切断路径(air-cut)。连接相邻任务的空气切断路径将前一个任务中作业路径的终点和后一个任务中作业路径的起点相连接。机器人系统基于作业要求和作业环境来生成单独的作业路径和单独的空气切断路径,从而生成机器人执行工作的完整路径。
在一些示例中,机器人系统基于作业要求和作业环境来设置机器人的路径,而不使用关于机器人的示教点。在机器人系统中,一旦用户示教要对工件执行的处理(即作业要求),则机器人就可以根据实际情况(即作业环境)自主地处理工件。示教点涉及为定义路径而设置的参考点,并且是手动设置的。示教点设置在机器人坐标系中,该机器人坐标系的原点设置为机器人(例如,机器人的底座)。“关于机器人的示教点”涉及为了使机器人操作而在机器人坐标系中设置的示教点。
在相关技术中,设置示教点也称为示教。另外,还有示教回放,作为基于示教点来控制机器人的技术。在这些现有技术中,需要设置机器人在机器人坐标系中的位置。然而,用户很难直观地理解位置的设置与任务之间的对应关系。另外,在相关技术中,还需要示教生成与任务不直接相关的空气切断路径。此外,在机器人与工件的相对位置关系等作业环境发生变化的情况下,用户需要重新创建空气切断路径。由于这些原因,相关技术不适用于任务或流程频繁改变的多产品生产。
如上所述,在一些示例中,机器人系统基于作业要求和作业环境,设置机器人的路径,而无需使用机器人坐标系中的示教点,即不需要示教和示教回放。只要用户可以指示对工件的作业即可,并且无需示教。由于机器人系统通过使用从预定传感器或指示作业环境的模型获得的数据来自动识别作业环境,因此可以根据作业环境灵活地操作机器人。另外,可以在不定位工件或不用夹具固定工件的情况下执行工作。由于对于工件的作业要求是用户可以凭直觉生成的信息,因此用户可以在不关注机器人的情况下使机器人更直观地处理工件。这可以减轻用户的负担。由于这些原因,机器人系统可能会促进将机器人引入多产品生产中。
在一些示例中,机器人系统响应于检测到工件被放置在作业空间中而实时识别作业环境。然后,机器人系统基于工件的作业要求和作业环境,实时地生成包含路径的操作程序而作为命令,并且根据命令实时控制机器人。这样,机器人系统在线规划机器人的操作。这种在线控制也有助于提高机器人的自主性。
系统的构造
图1是示出根据一些示例的机器人系统1的构造的视图。机器人系统1包括放置在作业空间9中的机器人2、控制机器人2的马达的马达控制设备3以及向马达控制设备3输出控制信号的机器人控制器10。机器人控制器10和马达控制设备3通过通信网络连接。机器人控制器10通过另一通信网络连接到主控制器20和操作结果数据库30。连接设备的通信网络可以是有线网络或无线网络。通信网络可以包括互联网和内联网中的至少一个。或者,通信网络可以简单地由一根通信电缆实施。虽然图1示出了一个机器人2和一个机器人控制器10,但是机器人系统1可以包括多于一个机器人2或多于一个机器人控制器10。一个机器人控制器10可以连接到多个机器人2。
机器人2是接收动力并且根据执行有用作业的目的来执行预定操作的设备。在一些示例中,机器人2包括多个关节并且被构造为能够通过将端部执行器2a保持在末端部分来执行各种处理。关节是被驱动对象的一个示例。为多个关节中的每一个关节设置关节轴。机器人2的诸如臂、枢轴等一些部件绕关节轴旋转,使得机器人2能够在预定范围内自由地改变末端部分的位置和姿态。在一些示例中,机器人2是多轴串行链接类型垂直多铰接式机器人。机器人2可以是六轴垂直铰接式机器人,或者可以是在六个轴上增加一个冗余轴的七轴垂直铰接式机器人。机器人2可以是可移动机器人,例如由自动导引车(AGV)支撑的机器人。或者,机器人2可以是固定在预定地点的静止机器人。
端部执行器2a是作用在工件上的设备,例如,是使工件产生某种物理变化的设备。端部执行器2a可以是诸如抛光工具、焊枪、压力机、密封喷嘴、拧紧设备等各种设备。
马达是根据从马达控制设备3供应的电力来生成用于驱动机器人2的被驱动对象的动力的设备。各个被驱动对象由各个马达操作,使得机器人2通过端部执行器2a对工件执行预定的任务。马达可以是使被驱动对象旋转的旋转马达,或者可以是使被驱动对象沿直线移动的线性马达。马达可以是同步马达或感应马达。马达可以是永磁型同步马达,诸如表面永磁(SPM)马达或内置永磁(IPM)马达。马达可以是无永磁体的同步马达,诸如同步磁阻马达。马达可以是DC马达或AC马达。
机器人2可以包括至少一个传感器,该传感器是检测由来自马达控制设备3的动力操作的机器人2的响应的设备。响应涉及机器人响应于作为控制机器人的指令的命令的输出。例如,响应指示与机器人2的运动和状态中的至少一者有关的信息。响应可以指示关于马达的运动和状态中的至少一者的信息,例如,可以指示马达的轴速和磁极位置中的至少一者。在马达为旋转型的情况下,被马达驱动的对象的旋转角度对应于“位置”,并且被马达驱动的对象的旋转速度对应于“速度”。响应可以指示关于被驱动对象的运动和状态中的至少一者的信息,例如,可以指示被驱动对象的位置、速度和力中的至少一者。传感器向机器人控制器10发送对响应进行指示的响应信号。响应可以是由传感器获得的值或者可以由通过预定计算或算法计算或处理的值来表示。传感器的示例可以包括旋转编码器,其输出具有与马达的操作速度成比例的频率的脉冲信号。旋转编码器可以获得马达的位置和速度。
马达控制设备3是使马达的输出追随来自机器人控制器10的控制信号(即命令)的设备。马达控制设备3基于来自机器人控制器10的控制信号,生成使马达移动的电力,并且向马达供应电力。供应的电力对应于诸如扭矩命令、电流命令等的驱动力命令。马达控制设备3例如可以是逆变器或伺服放大器。马达控制设备3可以并入到机器人2中。马达控制设备3可以包括检测马达控制设备3的响应的传感器。
主控制器20是指示机器人控制器10对机器人2进行控制的设备。主控制器20可以是与计算机辅助工程(CAM)相关的设备。在一些示例中,主控制器20向机器人控制器10发送使机器人2对放置在作业空间9中的工件进行处理的请求。
操作结果数据库30是存储指示机器人2或另一机器人先前处理过一个或多个工件的操作结果数据的设备。图1示出作为独立设备的操作结果数据库30,然而操作结果数据库30也可以设在机器人控制器10、主控制器20或其他设备中。操作结果数据可以指示由要控制的机器人2执行的一个或多个处理、由除机器人2之外的一个或多个机器人执行的一个或多个处理、或这两种处理。或者,操作结果数据可以指示由机器人的外围设备(例如,端部执行器)执行的一个或多个处理。先前作业空间可以是放置机器人2的作业空间9,或者可以是与作业空间9不同的地方。
机器人控制器10是生成用于使机器人2操作的命令并且输出基于该命令的控制信号的设备。机器人控制器10是机器人控制系统的示例。在一些示例中,机器人控制器10包括作为功能模块的要求定义单元11、存储单元12、环境识别单元13、顺序设置单元14、命令生成单元15和机器人控制单元16。要求定义单元11是基于操作结果数据来定义对工件的作业要求的功能模块。存储单元12是存储生成命令的信息(例如所定义的作业要求)的功能模块。环境识别单元13是识别作为作业环境的、放置一个或多个工件的作业空间9的环境的功能模块。顺序设置单元14是设置一个或多个工件的处理顺序的功能模块。命令生成单元15是这样的功能模块,该功能模块基于作业要求和作业环境,来生成机器人2的路径,以用于使位于作业空间9中的机器人2按处理顺序来处理一个或多个工件,并且生成包括路径的命令。机器人控制单元16是基于命令来控制机器人2的功能模块。
图2是示出机器人控制器10的示例性硬件构造的视图。机器人控制器10包括电路190。在一些示例中,电路190包括至少一个处理器191、内存器192、存储器193和至少一个通信端口194。存储器193是非易失性存储介质,并且存储用于实现上述每个功能模块的程序。存储器193例如可以由至少一个硬盘或非易失性存储器构成。内存器192临时存储从存储器193加载的程序、处理器191的计算结果等。内存器192可以包括例如至少一个随机存取存储器。处理器191通过与内存器192协作执行程序来构造每个功能模块。通信端口194根据来自处理器191的命令与其他设备进行数据传输。例如,机器人控制器10具有一个通信端口194和另一通信端口194,该一个通信端口194连接至通信网络N并且向主控制器20和操作结果数据库30发送信号并接收来自主控制器20和操作结果数据库30的信号,该另一通信端口194向马达控制设备3发送信号并且接收来自马达控制设备3的信号。
通过使处理器191或内存器192读取机器人控制程序并且使处理器191执行该程序来实施机器人控制器10的每个功能模块。机器人控制程序包括用于实施机器人控制器10的每个功能模块的代码。处理器191根据机器人控制程序来操作通信端口194,并且在内存器192或存储器193中读取和写入数据。
机器人控制程序可以在被固定地记录在诸如CD-ROM、DVD-ROM或半导体内存器的非暂时性记录介质中之后被提供。或者,机器人控制程序可以作为叠加在载波上的数据信号而通过通信网络来提供。
在一些示例中,机器人控制程序包括基于作业要求和作业环境为机器人2生成路径的规划程序。规划程序可以独立提供。
机器人控制方法
作为根据本公开的机器人控制方法的一些示例,将参考图3至图6来描述由机器人控制器10执行的处理流的一些示例。图3是示出作为处理流S1的定义对工件的作业要求的示例性处理的流程图。图4是示出对工件的示例性作业要求的示例的视图。图5是示出作为处理流S2的用于对机器人生成命令的示例性处理的流程图。图6是示出作业空间中的机器人的示例性路径的视图。机器人控制器10执行针对作业要求的定义的处理流S1,并且执行针对命令的生成的处理流S2。
(作业要求的定义)
在一些示例中,作业要求由机器人系统1的用户定义,并且通过用户的预定操作预先存储在存储单元12中。作为其他示例,作业要求可以由要求定义单元11定义。例如,要求定义单元11可以更新用户定义并且存储在存储单元12中的作业要求。将参考图3描述要求定义单元11的作业要求的定义的一些示例。当机器人2或另一机器人在先前作业空间中处理了一个或多个工件并且将指示该处理的操作结果数据存储在操作结果数据库30中之后,执行流程S1。操作结果数据可以指示包括对一个或多个工件进行操作的示教路径的先前过程。在一些示例中,针对多种类型的工件中的每一者执行处理流S1。
在步骤S11中,要求定义单元11获取与工件对应的操作结果数据。在一些示例中,要求定义单元11访问操作结果数据库30以检索与某一类型的工件WP对应的操作结果数据。在之前处理过n个工件WP的情况下,操作结果数据包括指示对工件WP进行n次处理的记录。在这种情况下,要求定义单元11从操作结果数据库30中检索至少一部分记录。
在一些示例中,操作结果数据包括针对机器人2或另一机器人的表示机器人对工件进行处理的多个示教点和之前执行该处理的作业空间中的工件的位置。“工件的位置”由机器人坐标系中的坐标值表示。例如,可以通过将传感器坐标系中的坐标值转换为机器人坐标系中的坐标值来获得位置。传感器坐标系是以传感器为原点的坐标系,并且例如可以是将相机镜头设置为原点的相机坐标系。操作结果数据所指示的示教点和工件的位置可以是在实际作业空间中通过实际处理所获得的值,或者可以是之前仿真所获得的值。仿真涉及在计算机上以仿真的方式表达某一系统的行为的处理。
在步骤S12中,要求定义单元11基于操作结果数据来定义工件的作业要求。在使用多个操作结果数据的记录的情况下,要求定义单元11可以通过包括诸如回归等统计处理的计算来定义作业要求。
在一些示例中,要求定义单元11基于由操作结果数据指示的示教点和工件的位置,将由机器人施加处理的工件上的区域确定为处理目标区域。例如,处理目标区域是受端部执行器影响的区域。处理目标区域是工件中的待处理区域,并且是作业要求的示例。由此,要求定义单元11将处理目标区域定义为作业要求的至少一部分。每个处理目标区域可以是点状、线状或二维形状。要求定义单元11针对一个工件确定一个或多个处理目标区域。在一些示例中,要求定义单元11将指示每个处理目标区域的位置和形状的坐标值从机器人坐标系转换到工件坐标系,并且通过工件坐标系中的坐标值来确定处理目标区域。工件坐标系涉及将工件设置为原点的坐标系。
在一些示例中,要求定义单元11可以进一步使用工件模型来确定处理目标区域,该工件模型是虚拟地表示工件的模型。工件模型是示出工件的结构的三维模型,并且例如通过计算机辅助设计(CAD)生成。由于工件模型是使用工件坐标系表达的,因此要求定义单元11可以将处理目标区域与区域模型相关联。通过这种关联,处理目标区域包括或指示相对于区域模型的相对位置。在一些示例中,“相对于工件模型的相对位置”是在工件坐标系中设置在工件模型上的位置。
要求定义单元11可以将机器人接近工件的接近点确定为处理目标区域的至少一部分,并且定义包括接近点的作业要求。接近点涉及试图处理工件的机器人首先接触工件的位置。
要求定义单元11可以基于由操作结果数据指示的示教点和工件的位置,将机器人的操作速度定义为作业要求的至少一部分。例如,要求定义单元11可以基于工件的位置与时间的对应关系的历史来估计机器人在之前处理中的操作速度,并且将操作速度定义为作业要求的至少一部分。也就是说,预定的作业要求至少部分地基于机器人在执行先前处理中的操作速度。
要求定义单元11可以基于由操作结果数据指示的示教点和工件的位置,将机器人施加到工件的力定义为作业要求的至少一部分。力的示例包括当机器人按压工件时所生成的压力。在一些示例中,要求定义单元11基于工件的位置与时间之间的对应关系的历史以及指示机器人或端部执行器的规格的规格数据,来估计机器人在先前处理中施加到工件的力,并且将力定义为作业要求的至少一部分。也就是说,预定的作业要求至少部分地基于机器人在执行先前处理中施加到一个或多个工件的力。
在步骤S13中,要求定义单元11生成指示所定义的作业要求的作业要求数据,并且将作业要求数据存储在存储单元12中。结果,作业要求被更新或新登记。在一些示例中,要求定义单元11生成并且存储作业要求数据,其中,作业要求与工件模型相互关联。也就是说,作业要求、工件模型和处理目标区域是预定的信息。工件模型和由工件要求数据所指示的处理目标区域均定义在工件坐标系中。因而,作业要求、工件模型和处理目标区域与机器人坐标系中设置的示教点是不同的技术。另外,处理流S1与作为现有技术的示教不同。
将参考图4描述定义的作业要求的示例。该示例示出了在工件模型200上定义的处理目标区域210。例如,处理目标区域210指示待密封的区域。处理目标区域210包括图4中用X标记指示的接近点211。
由要求定义单元11定义的作业要求是基于之前手动设置的示教点,从对工件进行处理的机器人的操作中所获得的。因而,作业要求可以是反映关于对工件的机器人控制的经验和专门知识的信息。在一些示例中,由于包括接近点211的处理目标区域210是自动定义的,因此一旦用户准备好工件模型200,机器人系统1的用户能够准备由工件模型200和处理目标区域210指示的作业要求。需要注意的是,如上所述,图4中所示的作业要求可以由用户定义。
如上所述,可以针对多种类型的工件中的每一种执行处理流S1。在这种情况下,存储单元12可以存储可以由机器人2处理的各种工件的作业要求数据。也就是说,存储单元12可以存储多个工件中的每一者的作业要求。
命令的生成
将参考图5描述用于生成用于操作机器人2的命令的示例性处理。在一些示例中,机器人系统1响应于从主控制器20接收到的预定请求而执行处理流S2。
处理流S2以用于生成命令的信息存储在存储单元12中为前提来执行。如上所述,存储单元12存储作业要求数据。存储单元12还可以存储障碍物模型和工具信息中的至少一种。障碍物模型涉及障碍物的模型,并且例如用指示障碍物的结构的三维模型来表示。工具信息涉及与机器人2的端部执行器2a相关的信息,并且例如指示端部执行器2a的结构和规格。
在步骤S21中,环境识别单元13将放置有至少一个工件的作业空间9的环境识别或检测为作业环境。在一些示例中,环境识别单元13实时识别当前作业环境。在一些示例中,环境识别单元13可以基于从监控作业空间9的传感器获得的传感器数据来识别作业环境。例如,传感器是诸如相机等的成像设备,并且传感器数据是从成像设备获得的图像数据。图像数据可以是静止图像、视频或视频帧。
在一些示例中,环境识别单元13将一个或多个工件中的每一者的位置识别或检测为作业环境的至少一部分。环境识别单元13还可将一个或多个工件中的每一者的姿态,为作业环境的至少一部分。工件的位置涉及放置工件的位置。工件的姿态涉及所放置的工件的方向和倾斜度中的至少一者。在一些示例中,环境识别单元13可以基于工件模型来识别工件的位置和姿态。例如,环境识别单元13可以使用存储在存储单元12中的一个或多个工件模型来分析图像数据,将与特定工件模型匹配的对象确定为工件,并且对确定出的工件的位置和姿态进行识别。
在一些示例中,环境识别单元13将机器人2的位置和姿态识别或检测为作业环境中的至少一部分。例如,环境识别单元13基于从机器人2或马达控制设备3获得的响应来识别机器人2的位置和姿态。
在一些示例中,环境识别单元13将用于要处理工件的机器人2的障碍物,识别或检测为作业环境的至少一部分。需要注意的是,在机器人2处理工件的情况下,工件不是障碍物。环境识别单元13识别障碍物的位置和形状。在障碍物具有可移动部分的情况下,环境识别单元13可以将障碍物的特定姿态,识别为障碍物的形状。在一些示例中,环境识别单元13可以基于障碍物模型来识别障碍物的位置和形状,障碍物模型是指示障碍物的结构的三维模型。例如,环境识别单元13可以使用存储单元12中存储的一个或多个障碍物模型来分析图像数据,将与特定障碍物模型匹配的对象确定为障碍物,并且对确定出的障碍物的位置和形状进行识别。
在步骤S22中,命令生成单元15获取工件的作业要求。在一些示例中,对于识别出的一个或多个工件中的每一者,命令生成单元15从存储单元12中检索与工件对应的作业要求数据以获得作业要求。或者,命令生成单元15可以从存储单元12中检索由主控制器20或用户指令指定的与工件对应的作业要求。命令生成单元15可以基于识别的作业环境来调整至少部分获取的工件的作业要求(例如,操作速度、力、接近点等)。命令生成单元15可以根据主控制器20或用户指令进行调整,或者可以根据预定规则自动进行调整。
在步骤S23中,命令生成单元15基于作业要求和作业环境来识别放置在作业空间9中的工件的处理目标区域。也就是说,命令生成单元15确定实际要在作业空间9中处理的工件上的位置。命令生成单元15为至少一个工件中的每一者确定处理目标区域。命令生成单元15可以基于放置在作业空间9中的工件的位置和姿态以及由作业要求数据指示的相对位置,来确定作业空间9中的处理目标区域。例如,命令生成单元15将工件坐标系中的处理目标区域的坐标值转换为诸如相机坐标系等的传感器坐标系中的坐标值。命令生成单元15还使用通过预先校准所确定的机器人2与传感器坐标系的相对关系,将传感器坐标系上的坐标值转换为机器人坐标系上的坐标值。命令生成单元15通过一连串的处理来确定作业空间9内的处理目标区域。在处理目标区域包括接近点的情况下,命令生成单元15还基于作业要求和作业环境确定放置在作业空间9中的工件的接近点。
在步骤S24中,顺序设置单元14设置至少一个工件的处理顺序。在作业空间9中的工件数量为一个的情况下,顺序设置单元14将该工件的处理顺序设置为一(1)。在一些示例中,顺序设置单元14可以根据来自主控制器20的命令或用户指令来设置处理顺序。或者,顺序设置单元14也可以基于识别出的作业环境中的多个工件的空间布置动态地设置处理顺序。“动态地设置处理顺序”涉及根据作业空间9的实际情况设置处理顺序。顺序设置单元14可以动态地并且自动地设置处理顺序,而无需外部指定。或者,顺序设置单元14可以根据来自主控制器20的命令或实时接收的用户指令来动态地设置处理顺序。顺序设置单元14可以基于一个或多个工件的位置和姿态,通过诸如仿真等的技术来计算与机器人2用于处理一个或多个工件的操作相关的评估值,并且基于评估值设置处理顺序。在一些示例中,顺序设置单元14基于与机器人2的运动相关的物理量计算评估值并且基于评估值设置处理顺序。物理量的示例包括机器人2处理作业空间9中的所有工件所需的移动距离、完成该处理所需的时间(即循环时间)和该处理所需的能量消耗(例如电力消耗)。例如,顺序设置单元14可以基于至少一个物理量,针对每个处理顺序来计算评估值,并且最终设置与期望最优的评估值对应的处理顺序。
在步骤S25中,命令生成单元15设置使机器人2根据处理顺序处理至少一个工件的路径。命令生成单元15基于放置在作业空间9中的工件的位置生成路径。命令生成单元15还可以基于工件的姿态生成路径。在一些示例中,命令生成单元15基于至少一个处理目标区域在作业空间9中的位置(即,在步骤S23中所确定的处理目标区域的位置)来生成路径。除了处理目标区域之外或代替处理目标区域,作业要求可以包括各种其他条件。不依赖于作业的一般条件的示例包括机器人2的操作速度、机器人2的加速/减速速度的调整比、以及机器人2到接近点的接近度。依赖于特定作业的条件的示例包括机器人2施加到工件的力、机器人2的外围设备(例如,端部执行器)的信号输出的条件、以及外围设备的特性条件。例如,命令生成单元15基于操作速度和力中的至少一者来生成路径。在识别到障碍物的情况下,命令生成单元15可以基于障碍物的位置生成路径,使得障碍物不干扰机器人2(即,使得机器人2避开障碍物)。干扰涉及某一对象与另一对象接触或碰撞的现象。需要说明的是,在机器人2对工件进行处理的情况下,机器人2与工件的接触不构成干涉。
在一些示例中,命令生成单元15在生成路径时将由诸如相机坐标系等的传感器坐标系定义的工件、处理目标区域和障碍物的坐标值转换到机器人坐标系中。然后,命令生成单元15基于转换后的坐标值,在机器人坐标系中设置机器人的路径。
机器人2的路径可以是端部执行器2a的路径。在一些示例中,命令生成单元15从存储单元12中检索工具信息并且进一步基于工具信息生成端部执行器2a的路径。
如上所述,机器人2的路径包括至少一个作业路径和至少一个空气切断路径。在一些示例中,命令生成单元15基于各个处理目标区域生成各个作业路径。例如,命令生成单元15生成沿着处理目标区域的作业路径。命令生成单元15还生成单独的空气切断路径。在针对某个工件确定了接近点的情况下,命令生成单元15基于接近点的位置生成用于使机器人2移动到工件的空气切断路径。
在一些示例中,命令生成单元15以下列方式生成每个空气切断路径。也就是说,命令生成单元15确定要生成的空气切断路径的起点和终点,并且生成用直线连接两点的临时路径。命令生成单元15然后通过仿真验证基于临时路径的机器人2的操作。在仿真中检测到机器人2与障碍物发生干涉的情况下,命令生成单元15在起点和终点之间随机或通过优化方法设置一个或多个经由点,并且生成从起点通过一个或多个经由点到终点的新的临时路径。命令生成单元15然后通过仿真基于新的临时路径验证机器人2的操作。在一些示例中,命令生成单元15重复包括临时路径的生成和干扰检查的处理,直到没有检测到干扰,并且将最终获得的临时路径设置为空气切断路径。命令生成单元15可以执行诸如距离减少等的优化。在未检测到干扰的临时路径上,设置空气切断路径。
在多个工件放置在作业空间9中的情况下,多个工件包括第一工件和紧接着第一工件的待处理的第二工件。在该情况下,命令生成单元15生成用于使处理了第一工件的机器人2移动到第二工件的空气切断路径。在多个工件包括三个或更多个工件的情况下,命令生成单元15在改变第一工件和第二工件的组合的同时,即在改变两个连续任务的组合的同时,生成每个空气切断路径。
需要说明的是,命令生成单元15生成的路径是与先前处理中包含的示教路径不同的新路径。在一些示例中,生成的路径可以包括基于工件在作业空间中的位置和姿态对操作速度的实时修改。在一些示例中,所生成的路径可以包括基于工件在作业空间中的位置和姿态对施加的力的实时修改。
在步骤S26中,命令生成单元15生成包括路径的命令。在一些示例中,命令生成单元15生成指示生成的路径的操作程序作为命令。操作程序包括用于沿路径操作机器人2的一系列代码或命令。
在步骤S27中,机器人控制单元16基于命令控制机器人2。在一些示例中,机器人控制单元16根据操作程序生成一系列控制信号并且将控制信号依序地输出至马达控制设备3。马达控制设备3基于控制信号依序生成用于移动马达的电力,并且依序向马达提供电力。结果,机器人2执行工作并且处理存在于作业空间9中的至少一个工件。
将参考图6描述机器人在作业空间中的示例性路径。在本示例中,机器人控制器10使机器人2对放置在作业空间9中的两个工件310和320进行密封。端部执行器2a是密封喷嘴。对于工件310和320,施加密封的处理目标区域311和321分别被预定为至少一部分作业要求。在作业空间9中,障碍物390以夹在工件310和320之间的方式存在。
机器人控制器10将作业空间9这样的环境,识别为作业环境(步骤S21),并且获取工件310和320中的每一个的作业要求(步骤S22)。机器人控制器10基于作业要求和作业环境确定实际的处理目标区域311和321(步骤S23)。此外,机器人控制器10设置工件310和320的处理顺序(步骤S24)。例如,机器人控制器10动态地将工件310的处理顺序设置为一(1),并且将工件320的处理顺序设置为二(2)。机器人控制器10设置用于使机器人2根据该顺序处理工件310和320的路径(步骤S25)。在本示例中,路径表示端部执行器2a的轨迹,并且图6表示作为路径的一部分的空气切断路径400。空气切断路径400从与处理目标区域311对应的作业路径的末端延伸至与处理目标区域321对应的作业路径的起点,以避开障碍物390。机器人控制器10生成包括用于处理工件310和320的路径的命令(步骤S26),并且基于命令控制机器人2(步骤S27)。
关于参考图6描述的一系列处理的示例,部分步骤S21-S27可以手动执行。例如,如上所述,可以基于用户指令来执行处理顺序的设置(步骤S24)。
如上所述,在处理流S2中,命令生成单元15基于作业要求和作业环境生成路径而不使用针对机器人2的示教点,并且生成包括路径的操作程序作为命令。通过将工件在作业空间中的位置与执行先前处理所处的先前作业空间进行比较,可以实时地生成路径。该路径是实时地生成的,而不包括来自先前处理的多个示教点。
处理流S2可以反复执行。例如,机器人控制器10可以响应于新工件被放置在作业空间9中而自动执行处理流S2。或者,机器人控制器10可以基于新工件的放置,响应于来自主控制器20的新请求来执行处理流S220。在一些示例中,环境识别单元13可以检测作业空间中的新工件,并且顺序设置单元14可以响应于检测到新工件来实时设置处理顺序。机器人可以按照处理顺序处理包括新工件在内的多个工件。
如上所述,根据本公开的一个方面的机器人系统包括:存储单元,其被构造为存储预定的作业要求,作业要求指示要由机器人处理的工件的处理目标区域;识别单元,其被构造为将放置工件的作业空间的环境识别为作业环境,其中,作业环境包括放置在作业空间中的工件的位置和姿态;生成单元,其被构造为基于放置在作业空间中的工件的位置和姿态,确定放置在作业空间中的工件的处理目标区域;并且基于作业要求和所确定的处理目标区域,实时地生成机器人在所确定的处理目标区域上操作的路径;以及控制单元,其被构造为基于生成的路径控制机器人。
据本公开的一方面的机器人控制方法可由包括至少一个处理器的机器人系统执行。该方法包括:存储预定的作业要求,作业要求指示要由机器人处理的工件的处理目标区域;将放置工件的作业空间的环境识别为作业环境,其中,作业环境包括放置在作业空间中的工件的位置和姿态;基于放置在作业空间中的工件的位置和姿态,确定放置在作业空间中的工件的处理目标区域;基于作业要求和所确定的处理目标区域,实时地生成机器人在所确定的处理目标区域上操作的路径;并且基于生成的路径控制机器人。
根据本公开的一个方面的计算机可读存储介质存储处理器可执行指令以:从存储单元中检索指示要由机器人处理的工件的处理目标区域的预定的作业要求;将放置工件的作业空间的环境识别为作业环境,其中,作业环境包括放置在作业空间中的工件的位置和姿态;基于放置在作业空间中的工件的位置和姿态,确定放置在作业空间中的工件的处理目标区域;并且基于作业要求和所确定的处理目标区域,实时地生成机器人在所确定的处理目标区域上操作的路径。
在一些方面,一旦提供了针对工件预定的作业要求,则基于工件所在的作业环境和作业要求生成机器人的路径,并且基于该路径控制机器人。由于一旦准备好要由机器人执行的任务,就执行包括路径规划的机器人控制,因此可以增强机器人的自主性。此外,由于作业要求是针对工件定义的,因此用户可以直观地准备作业要求。
在其他方面,一旦提供了针对工件定义的作业要求,则基于工件所在的作业环境和作业要求生成机器人的路径。因此,一旦准备好要由机器人执行的任务,就可以很容易地生成路径。此外,由于作业要求是针对工件定义的,因此用户可以直观地准备作业要求。
在其他方面,由于路径是基于工件的实际位置而生成的,因此可以避免工件的定位。例如,工件的位置和姿态可能无需固定。因此,可以进一步增强处理工件的机器人的自主性。
在其他方面,由于路径是基于机器人实际要处理的处理目标区域在作业空间中的位置而生成的,因此可以更准确地处理工件。
在一些示例中,预定的作业要求可以基于从先前处理中所获得的示教点,示教点包括对一个或多个工件进行操作的示教路径,并且其中,生成单元可以被构造为基于工件在作业空间中的位置和姿态,生成路径作为不同于示教路径的新路径,而在新路径中不包括示教点。由于省略了示教点的设置,因此可以容易地生成路径。
在一些示例中,预定的作业要求可以至少部分地基于机器人在执行先前处理中的操作速度,并且路径可以包括基于作业空间中的工件的位置和姿态对操作速度的实时修改。
在一些示例中,预定的作业要求可以至少部分地基于机器人在执行先前处理中施加到一个或多个工件的力,并且路径可以包括基于工件在作业空间中的位置和姿态对所施加的力的实时修改。
在一些示例中,机器人系统还可以包括一个或多个传感器,一个或多个传感器用于监测工件的位置和姿态,以便实时确定工件的处理目标区域。由于通过这种构造更准确地识别作业环境,因此可以根据实际情况更准确地控制机器人。
在一些示例中,处理目标区域可以包括相对于作为指示工件的模型的工件模型的相对位置,并且电路可以被构造为:基于工件模型,识别放置在作业空间中的工件的位置和姿态;并且基于工件的位置和姿态,以及相对位置,确定作业空间中的处理目标区域。一旦相对于工件模型定义了处理目标区域作为相对位置,则根据处理目标区域在作业空间中的实际位置生成路径,并且基于路径控制机器人。因而,可以进一步增强机器人的自主性。
在一些示例中,处理目标区域可以包括机器人接近工件的接近点,并且生成单元可以被构造为:基于作业要求和作业环境,确定放置在作业空间中的工件的接近点;并且基于所确定的接近点的位置,生成用于将机器人移动到工件的空气切断路径作为路径的至少一部分。由于路径是基于机器人在作业空间中实际要接近的位置而生成的,因此可以更准确地处理工件。
在一些示例中,机器人系统还可以包括还包括设置单元,设置单元被构造为设置机器人的处理顺序。存储单元可以被构造为存储多个工件的作业要求,并且识别单元可以被构造为检测包括放置在作业空间中的工件在内的多个工件,并且识别放置在作业空间中的多个工件的空间布置,并且设置单元可以被构造为设置机器人处理多个工件的处理顺序,并且生成单元可以被构造为至少部分地基于空间布置,生成用于使机器人根据处理顺序处理多个工件的路径。由于考虑了多个工件的处理顺序,因此可以容易地生成用于依序处理放置在作业空间中的多个工件的机器人的路径。
在一些示例中,设置单元可以被构造为:获取与机器人运动相关的物理量;基于物理量计算评估值;并且基于评估值实时设置处理顺序。
在一些示例中,生成单元可以被构造为检测作业空间中的新工件,并且设置单元可以被构造为响应于检测到新工件实时设置处理顺序,其中,机器人按照处理顺序处理包括新工件在内的多个工件。
在一些示例中,电路可以被构造为基于所识别的作业环境中的多个工件的布置,动态地和自动地设置处理顺序。由于多个工件的处理顺序是根据作业空间的实际情况而自动设置的,因此即使没有预先提供处理顺序,也可以生成机器人的路径。
在一些示例中,多个工件可以包括第一工件和第二工件,并且生成单元可以被构造为生成用于将已完成对第一工件的处理的机器人移动到第二工件的空气切断路径,作为路径的至少一部分。在这种情况下,可以容易地生成工件(任务)之间的空气切断路径,而不使用示教点。
在一些示例中,存储单元可以被构造为存储机器人的操作速度作为作业要求,并且生成单元可以被构造为基于操作速度生成路径。机器人的操作速度会影响路径的生成。因此,可以通过考虑操作速度来生成更准确的路径。
在一些示例中,存储单元可以被构造为存储由机器人施加到工件的力作为作业要求,并且生成单元可以被构造为基于施加的力生成路径。为了向工件施加诸如压力之类的力,重要的是设置用于实现施加的路径。因此,可以通过考虑力来生成更准确的路径。
在一些示例中,电路可以被构造为:识别作业环境,该作业环境包括针对要处理工件的机器人的障碍物;并且基于障碍物的位置生成路径,使得障碍物不干扰机器人。通过这种构造,可以容易地生成用于在避开障碍物的同时进行操作的路径。
在一些示例中,存储单元可以被构造为存储障碍物模型,并且识别单元被构造为基于障碍物模型,检测放置在作业空间中的障碍物,并且其中,生成单元可以被构造为生成路径,使得障碍物不干扰机器人。通过使用障碍物模型,可以更准确地识别作业空间中的障碍物。
在一些示例中,存储单元可以被构造为存储关于机器人的端部执行器的工具信息,并且生成单元可以被构造为基于存储的工具信息,生成端部执行器的路径。通过使用端部执行器的信息,可以容易地生成直接作用于工件的端部执行器的路径。
在一些示例中,识别单元可以被构造为基于从监测作业空间的传感器获得的传感器数据,识别作业环境。由于通过这种构造更准确地识别作业环境,因此可以根据实际情况更准确地控制机器人。
在一些示例中,机器人系统还可以包括定义单元,定义单元被构造为基于从对一个或多个工件执行的先前处理中所获得的多个示教点,定义作业要求,并且路径可以通过将工件在作业空间中的位置与已执行了先前处理的先前作业空间进行比较,来实时地生成。由于作业要求是根据先前数据而自动定义的,因此可以消除或减少用于生成作业要求的负担。此外,关于处理工件的经验和专门知识可以自动继承到未来的操作中。
在一些示例中,可以实时地生成路径而不包括来自先前处理的多个示教点。
在一些示例中,识别单元可以被构造为响应于检测到工件放置在作业空间中,实时地识别作业环境,并且生成单元可以被构造为响应于实时识别作业环境,实时地生成路径,并且控制单元可以被构造为基于实时地生成的路径,实时地控制机器人。
附加的示例
应当理解,并非本文描述的所有方面、优点和特征都必须可以由任何一个特定示例实现或包括在任何一个特定示例中。实际上,已经在本文中描述和图示了各种示例,显然可以在布置和细节上修改其他示例。
可以将另一功能构造施加到机器人系统和规划系统。例如,可以省略定义单元和设置单元中的至少一者。作为与规划系统相关的功能模块的定义单元、存储单元、识别单元、设置单元和生成单元中的至少一些可以在诸如主控制器20等的另一设备中实施。与机器人系统相关的功能模块的至少一些可以在马达控制设备中实施。
系统的硬件构造不限于通过执行程序来实施每个功能模块的示例。例如,上述功能模块的至少一部分可以由专用于该功能的逻辑电路构成,或者由集成了该逻辑电路的专用集成电路(ASIC)构成。
由至少一个处理器执行的方法的流程可以与上述示例不同。例如,可以省略上述的一些步骤或处理,或者可以以不同的顺序执行这些步骤。此外,可以将上述步骤中的任意两个或更多个步骤组合,或者可以修改或删除部分步骤。或者,除了上述步骤之外,还可以执行另外的步骤。
在计算机系统或计算机中比较两个数值之间的大小关系的情况下,可以使用“等于或大于”和“大于”两个标准中的任一者,并且可以使用“等于或小于”和“小于”两个标准中的任一者。
我们要求保护落入本文要求保护的主题的精神和范围内的所有修改例和变形例。
关于以上示例,以进一步说明的方式提供以下附记。
(附记1)一种机器人系统,包括:
存储单元,其被构造为存储针对工件所预定的作业要求;
识别单元,其被构造为将放置工件的作业空间的环境识别为作业环境;
生成单元,其被构造为基于作业要求和作业环境,生成放置在作业空间中的机器人的路径,以使机器人处理工件;和
控制单元,其被构造为基于路径控制机器人。
(附记2)根据权利要求1的机器人系统,其中,生成单元基于作业要件和作业环境而不使用针对机器人的示教点生成路径。
(附记3)根据权利要求1或2的机器人系统,其中
作业环境包括工件在作业空间中的位置,并且
生成单元被构造为基于工件的位置生成路径。
(附记4)根据权利要求1至3中任一项的机器人系统,其中
作业要求包括由机器人施加处理的工件上的处理目标区域,并且
生成单元构造为:
基于作业要求和作业环境,确定放置在作业空间中的工件的处理目标区域;和
基于所确定的处理目标区域的位置生成路径。
(附记5)根据权利要求4的机器人系统,其中
处理目标区域包含相对于作为指示工件的模型的工件模型的相对位置,
识别单元被构造为基于工件模型,识别放置在作业空间中的工件的位置和姿态,并且
生成单元被构造为基于工件的位置和姿态以及相对位置,确定作业空间中的处理目标区域。
(附记6)根据权利要求4或5的机器人系统,其中,
处理目标区域包括机器人接近工件的接近点,并且
生成单元被构造为:
基于作业要求和作业环境,确定放置在作业空间中的工件的接近点;并且
基于所确定的接近点的位置,生成用于将机器人移动到工件的空气切断路径作为路径的至少一部分。
(附记7)根据权利要求1至6中任一项的机器人系统,还包括设置单元,设置单元被构造为设置多个工件的处理顺序,
其中,存储单元被构造为存储多个工件中的每一者的作业要求,
识别单元被构造为将放置多个工件的作业空间的环境识别为作业环境,并且
生成单元被构造为基于作业要求和作业环境,生成使机器人按照处理顺序处理多个工件的路径。
(附记8)根据权利要求7的机器人系统,其中,设置单元基于识别出的作业环境中的多个工件的布置,动态地和自动地设置处理顺序。
(附记9)根据权利要求7或8的机器人系统,其中,
多个工件包括第一工件和第二工件,并且
生成单元被构造为生成用于将已完成对第一工件的处理的机器人移动到第二工件的空气切断路径,作为路径的至少一部分。
(附记10)根据权利要求1至9中任一项的机器人系统,其中
存储单元被构造为存储机器人的操作速度作为作业要求,并且
生成单元被构造为进一步基于操作速度生成路径。
(附记11)根据权利要求1至10中任一项的机器人系统,其中
存储单元被构造为进一步存储由机器人施加到工件的力作为作业要求,并且
生成单元被构造为进一步基于力生成路径。
(附记12)根据权利要求1至11中任一项的机器人系统,其中
识别单元被构造为识别包括针对要处理工件的机器人的障碍物在内的作业环境,并且
生成单元被构造为基于障碍物的位置生成路径,使得障碍物不干扰机器人。
(附记13)根据权利要求12的机器人系统,其中
存储单元被构造为进一步存储作为障碍物的模型的障碍物模型,以及
识别单元被构造为基于障碍物模型,识别包括障碍物在内的作业环境。
(附记14)根据权利要求1至13中任一项的机器人系统,其中
存储单元被构造为进一步存储关于机器人的端部执行器的工具信息,并且
生成单元被构造为进一步基于工具信息,生成端部执行器的路径。
(附记15)根据权利要求1至14中任一项的机器人系统,其中识别单元被构造为基于从监测作业空间的传感器获得的传感器数据来识别作业环境。
(附记16)根据权利要求1至15中任一项的机器人系统,还包括定义单元,定义单元被构造为基于针对机器人的多个示教点来定义作业要求,其中,多个示教点表示由机器人或另一机器人对工件执行的处理,以及在已执行了处理的先前作业空间中的工件的位置,
其中,存储单元被构造为存储定义单元所定义的作业要求。
(附记17)一种规划系统,包括:
存储单元,其被构造为存储针对工件所预定的作业要求;
识别单元,其被构造为将放置工件的作业空间的环境识别为作业环境;和
生成单元,其被构造为基于作业要求和作业环境,生成放置在作业空间中的机器人的路径以使机器人处理工件。
(附记18)一种机器人控制方法,其可由包括至少一个处理器的机器人系统执行,该方法包括:
存储针对工件预定的作业要求;
将放置工件的作业空间的环境识别为作业环境;
基于作业要求和作业环境,生成放置在作业空间内的机器人的路径以使机器人处理工件;以及
基于路径控制机器人。
(附记19)一种规划程序,其用于使计算机执行:
从存储单元中检索针对工件所预定的作业要求;
将放置工件的作业空间的环境识别为作业环境;并且
基于作业要求和作业环境,生成放置在作业空间内的机器人的路径以使机器人处理工件。
Claims (17)
1.一种机器人系统,包括:
存储单元,其被构造为存储预定的作业要求,所述作业要求指示要由机器人处理的工件的处理目标区域;
识别单元,其被构造为将放置所述工件的作业空间的环境识别为作业环境,其中,所述作业环境包括放置在所述作业空间中的所述工件的位置和姿态;
生成单元,其被构造为
基于放置在所述作业空间中的所述工件的位置和姿态,确定放置在所述作业空间中的所述工件的所述处理目标区域;并且
基于所述作业要求和所确定的所述处理目标区域,实时地生成所述机器人在所确定的所述处理目标区域上操作的路径;以及
控制单元,其被构造为基于生成的所述路径控制所述机器人。
2.根据权利要求1所述的机器人系统,其中,预定的所述作业要求基于从先前处理中所获得的示教点,所述示教点包括对一个或多个工件进行操作的示教路径,并且
其中,所述生成单元被构造为基于所述工件在所述作业空间中的位置和姿态,生成所述路径作为不同于所述示教路径的新路径,而在所述新路径中不包括所述示教点。
3.根据权利要求2所述的机器人系统,其中,预定的所述作业要求至少部分地基于所述机器人在执行所述先前处理中的操作速度,并且其中,所述路径包括基于所述工件在所述作业空间中的位置和姿态对所述操作速度的实时修改。
4.根据权利要求2所述的机器人系统,其中,预定的所述作业要求至少部分地基于所述机器人在执行所述先前处理中施加到一个或多个工件的力,并且其中,所述路径包括基于所述工件在所述作业空间中的位置和姿态对所施加的力的实时修改。
5.根据权利要求1至4中任一项所述的机器人系统,还包括一个或多个传感器,所述一个或多个传感器被构造为监测所述工件的位置和姿态,以便实时确定所述工件的所述处理目标区域。
6.根据权利要求1至4中任一项所述的机器人系统,其中,所述处理目标区域包括所述机器人接近所述工件的接近点,并且
其中,所述生成单元被构造为:
基于所述作业要求和所述作业环境,确定放置在所述作业空间中的所述工件的所述接近点;并且
基于所确定的所述接近点的位置,生成用于将所述机器人移动到所述工件的空气切断路径作为所述路径的至少一部分。
7.根据权利要求1至4中任一项所述的机器人系统,还包括设置单元,所述设置单元被构造为设置所述机器人的处理顺序,
其中,所述存储单元被构造为存储多个工件的作业要求,并且
其中,所述识别单元被构造为检测包括放置在所述作业空间中的所述工件在内的所述多个工件,并且识别放置在所述作业空间中的所述多个工件的空间布置,并且
其中,所述设置单元被构造为设置所述机器人处理所述多个工件的所述处理顺序,并且
其中,所述生成单元被构造为至少部分地基于所述空间布置,生成用于使所述机器人根据所述处理顺序处理所述多个工件的所述路径。
8.根据权利要求7所述的机器人系统,其中,所述设置单元被构造为:
获取与所述机器人运动相关的物理量;
基于所述物理量计算评估值;并且
基于所述评估值实时设置所述处理顺序。
9.根据权利要求7所述的机器人系统,其中,所述生成单元被构造为检测所述作业空间中的新工件,并且
所述设置单元被构造为响应于检测到所述新工件实时地设置所述处理顺序,其中,所述机器人按照所述处理顺序处理包括所述新工件在内的所述多个工件。
10.根据权利要求7所述的机器人系统,其中,所述多个工件包括第一工件和第二工件,并且
其中,所述生成单元被构造为生成用于将已完成对所述第一工件的处理的所述机器人移动到所述第二工件的空气切断路径,作为所述路径的至少一部分。
11.根据权利要求1至4中任一项所述的机器人系统,其中,所述存储单元被构造为存储所述机器人的操作速度作为所述作业要求,并且
其中,所述生成单元被构造为基于所述操作速度生成所述路径。
12.根据权利要求1至4中任一项所述的机器人系统,其中,所述存储单元被构造为存储由所述机器人施加到所述工件的力作为所述作业要求,并且
其中,所述生成单元被构造为基于所施加的力生成所述路径。
13.根据权利要求1至4中任一项所述的机器人系统,其中,所述存储单元被构造为存储障碍物模型,并且
其中,所述识别单元被构造为基于所述障碍物模型,检测放置在所述作业空间中的障碍物,并且
其中,所述生成单元被构造为生成所述路径,使得所述障碍物不干扰所述机器人。
14.根据权利要求1至4中任一项所述的机器人系统,其中,所述存储单元被构造为存储关于所述机器人的端部执行器的工具信息,并且
其中,所述生成单元被构造为基于存储的所述工具信息,生成所述端部执行器的路径。
15.根据权利要求1至4中任一项所述的机器人系统,还包括定义单元,所述定义单元被构造为基于从对一个或多个工件执行的先前处理中所获得的多个示教点,定义所述作业要求,并且
其中,所述路径通过将所述工件在所述作业空间中的位置与已执行了先前处理的先前作业空间进行比较,来实时地生成。
16.一种机器人控制方法,所述方法能够由包括至少一个处理器的机器人系统执行,所述方法包括:
存储预定的作业要求,所述作业要求指示要由所述机器人处理的工件的处理目标区域;
将放置所述工件的作业空间的环境识别为作业环境,其中,所述作业环境包括放置在所述作业空间中的所述工件的位置和姿态;
基于放置在所述作业空间中的工件的位置和姿态,确定放置在所述作业空间中的所述工件的所述处理目标区域;
基于所述作业要求和所确定的所述处理目标区域,实时地生成所述机器人在所确定的所述处理目标区域上操作的路径;并且
基于生成的所述路径控制所述机器人。
17.一种计算机可读存储介质,其存储处理器可执行指令以:
从存储单元中检索指示要由机器人处理的工件的处理目标区域的预定的作业要求;
将放置工件的作业空间的环境识别为作业环境,其中,所述作业环境包括放置在所述作业空间中的工件的位置和姿态;
基于放置在所述作业空间中的所述工件的位置和姿态,确定放置在所述作业空间中的所述工件的所述处理目标区域;并且
基于所述作业要求和所确定的所述处理目标区域,实时地生成所述机器人在所确定的所述处理目标区域上操作的路径。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022035461A JP2023130891A (ja) | 2022-03-08 | 2022-03-08 | ロボットシステム、プランニングシステム、ロボット制御方法、およびプランニングプログラム |
JP2022-035461 | 2022-03-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116728397A true CN116728397A (zh) | 2023-09-12 |
Family
ID=85283490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310186248.0A Pending CN116728397A (zh) | 2022-03-08 | 2023-03-01 | 机器人系统、机器人控制方法和计算机可读存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230286143A1 (zh) |
EP (1) | EP4241930A1 (zh) |
JP (1) | JP2023130891A (zh) |
CN (1) | CN116728397A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116147527A (zh) * | 2023-02-15 | 2023-05-23 | 思看科技(杭州)股份有限公司 | 三维扫描系统及其扫描路径规划方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4820007A (en) | 1988-02-12 | 1989-04-11 | American Telephone And Telegraph Company At&T Bell Laboratories | Cable closure and methods of assembling |
JP2013184273A (ja) * | 2012-03-09 | 2013-09-19 | Sony Corp | ロボット装置及びロボット装置の制御方法、並びにコンピューター・プログラム |
CN109623656B (zh) * | 2018-11-12 | 2021-05-11 | 南京航空航天大学 | 基于厚度在线检测的移动式双机器人协同打磨装置及方法 |
WO2021025956A1 (en) * | 2019-08-02 | 2021-02-11 | Dextrous Robotics, Inc. | Robotic manipulators |
US11587302B2 (en) * | 2019-12-17 | 2023-02-21 | X Development Llc | Shared dense network with robot task-specific heads |
-
2022
- 2022-03-08 JP JP2022035461A patent/JP2023130891A/ja active Pending
-
2023
- 2023-02-17 EP EP23157369.2A patent/EP4241930A1/en active Pending
- 2023-03-01 CN CN202310186248.0A patent/CN116728397A/zh active Pending
- 2023-03-06 US US18/178,533 patent/US20230286143A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230286143A1 (en) | 2023-09-14 |
EP4241930A1 (en) | 2023-09-13 |
JP2023130891A (ja) | 2023-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11241796B2 (en) | Robot system and method for controlling robot system | |
US10618164B2 (en) | Robot system having learning control function and learning control method | |
JP4271232B2 (ja) | ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体 | |
CN109849025B (zh) | 振动抑制装置 | |
CN108687767B (zh) | 离线编程装置以及离线编程方法 | |
TW201718204A (zh) | 機器人教示方法及機器臂控制裝置 | |
JP2010142910A (ja) | ロボットシステム | |
US11123864B2 (en) | Motion teaching apparatus, robot system, and motion teaching method | |
JP2018126839A (ja) | ロボットシステム及びその制御方法 | |
US11230005B2 (en) | Following robot and work robot system | |
CN111515928B (zh) | 机械臂运动控制系统 | |
CN116728397A (zh) | 机器人系统、机器人控制方法和计算机可读存储介质 | |
CN114536346B (zh) | 一种基于人机协作和视觉检测的机械臂精确路径规划方法 | |
CN109414820B (zh) | 机器人的运转方法、储存部、及机器人系统 | |
CN115502979A (zh) | 一种机械臂力矩主动柔顺精确控制方法及系统 | |
CN110154043B (zh) | 基于加工结果进行学习控制的机器人系统及其控制方法 | |
JPH07266272A (ja) | マニピュレータ用追従方法及び装置 | |
TW201822971A (zh) | 機械手臂教導控制系統 | |
US20210178582A1 (en) | Method and control means for controlling a robot assembly | |
JP5447150B2 (ja) | ロボットの制御装置およびロボットを制御する方法 | |
JP2011062763A (ja) | ロボット制御装置 | |
CN115210048A (zh) | 机器人曲面仿形控制方法 | |
WO2023013698A1 (ja) | ロボット制御装置、ロボット制御システム、及びロボット制御方法 | |
Schütz et al. | Virtual commissioning of the trajectory tracking control of a sensor-guided, kinematically redundant robotic welding system on a PLC | |
WO2023013739A1 (ja) | ロボット制御装置、ロボット制御システム、及びロボット制御方法 |
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 |