1.本发明涉及一种机器人臂,该机器人臂包括多个机器人关节,该多个机器人关节连接机器人基座和机器人工具凸缘,其中机器人控制器被配置成在机器人应用中控制机器人臂。另外,本发明涉及一种用于在机器人应用中控制机器人臂的方法。
背景技术:
2.包括多个机器人关节和连杆的机器人臂(其中马达可使机器人臂的一部分相对于彼此移动)在机器人领域中是已知的。通常,机器人臂包括:机器人基座,其用作机器人臂的安装基座;和机器人工具凸缘,其中各种工具可附接到该机器人工具凸缘。机器人控制器被配置成控制机器人关节,以相对于基座移动机器人工具凸缘。例如,为了指示机器人臂执行多个工作指令。机器人关节可以是被配置成使机器人臂的部分相对于彼此旋转的旋转机器人关节,被配置成使机器人臂的部分相对于彼此平移的棱柱关节和/或被配置成使机器人臂的部分相对于彼此移动的任何其他种类的机器人关节。
3.通常,机器人控制器被配置成基于机器人臂的动态模型控制机器人关节,其中该动态模型限定了作用于机器人臂上的力和所得的机器人臂的加速度之间的关系。通常,动态模型包括机器人臂的运动学模型、关于机器人臂的惯性的知识以及影响机器人臂移动的其他参数。运动学模型限定了机器人臂的不同部分之间的关系,并且可包括机器人臂的信息(诸如关节和连杆的长度、尺寸),并且可例如由denavit-hartenberg参数等来描述。动态模型使得控制器可以确定为了(例如)以指定的速度、加速度移动机器人关节或者为了将机器人臂保持在静态姿势,关节马达将提供哪些扭矩。
4.通常,可以将各种末端执行器附接到机器人臂的机器人工具凸缘或其他部分,诸如夹持器、真空夹持器、磁性夹持器、螺纹车床、焊接装备、分配系统、视觉系统等。
5.机器人臂需要由限定用于机器人臂的各种指令的用户或机器人集成商编程,各种指令诸如预定义的移动模式和工作指令,诸如抓握、等待、释放、螺纹接合指令。指令可基于通常提供用于停止或启动给定指令的触发信号的各种传感器或输入信号。触发信号可由各种指示器提供,诸如安全帘、视觉系统、位置指示器等。
6.在机器人与各种其他装备(诸如外围设备)交互的机器人应用中,安装机器人可能是一项复杂且耗时的任务。机器人臂与其机器人应用之间的交互通常由外部电路(诸如可编程逻辑电路)促进,安装该外部电路需要一定的专业知识水平。这种专业知识的门槛限制了中小型机构将机器人集成于其生产过程中,否则这可以提高生产效率并且使员工免于执行危险的、有损健康的或高强度的任务。
7.此外,机器人系统的编程和重编程可能是一个繁琐的过程。特别地,优化和故障查找可能会有问题,因为无法简单地对机器人臂与其机器人应用的交互方式进行预测。
8.专利申请us 2014/0214203 a1公开了一种操作程序写入系统,包括:块存储部分,其存储了构成操作程序的工作单元的多个块;选择部分,其从多个块中选择任意数量的块;显示部分,其显示由任意数量的块以及这些块中所含的参数组成的路径图;选择和输入部
分,其从任意数量的块中选择至少一个块并输入该至少一个块的参数;运行部分,其为各个任意数量的块布置运行按钮并运行与运行按钮对应的块;和写入部分,其将任意数量的块和至少一个块的输入参数用作基础以写入操作程序。
技术实现要素:
9.本发明的目的是解决关于现有技术的上述限制或现有技术的其他问题。这通过根据独立权利要求所述的方法和机器人系统来实现,其中从属权利要求描述了根据本发明的机器人和方法的可能实施方案。在本发明的具体实施方式中描述了本发明的优点和有益效果。
10.本发明的一个方面涉及一种机器人系统,包括:
11.·
机器人臂,所述机器人臂包括多个机器人关节,所述多个机器人关节将机器人基座连接到机器人工具凸缘,
12.·
机器人控制器,所述机器人控制器被配置成执行:
13.ο基于机器人控制软件程序的机器人控制进程;和
14.ο基于辅助控制软件程序的辅助控制进程;和
15.·
一个或多个外围设备,所述一个或多个外围设备通信地连接到所述机器人控制器,
16.其中由所述机器人控制器来执行所述机器人控制进程的执行过程导致所述机器人臂的操作,
17.其中由所述机器人控制器来执行所述辅助控制进程的执行过程导致基于从所述机器人控制进程和所述一个或多个外围设备中的任一项所接收的至少一个应用输入信号来建立一个或多个逻辑信号,并且
18.其中所述辅助控制进程被配置成基于所述一个或多个逻辑信号来建立至少一个逻辑输出信号,并且基于所述至少一个逻辑输出信号,被配置成控制所述机器人控制进程和所述一个或多个外围设备中的任一项的操作。
19.根据本发明的一个实施方案,所述机器人臂的所述操作基于所述至少一个逻辑输出信号。
20.根据本发明的一个实施方案,控制所述一个或多个外围设备之一基于所述至少一个逻辑输出信号。
21.根据本发明的一个实施方案,从所述机器人控制进程接收所述至少一个应用输入信号。
22.根据本发明的一个实施方案,从所述一个或多个外围设备接收所述至少一个应用输入信号。
23.本发明的优点在于,其具有以下效果:其允许机器人控制器直接控制一个或多个外围设备,而无需机器人控制器与外围设备之间的中间辅助电路,例如plc(plc;可编程逻辑电路)来负责信号处理、促进通信和逻辑操作。此外,本发明的优点在于,其允许基于来自一个或多个外围设备的输入来控制机器人,而无需机器人控制器与外围设备之间的中间辅助电路。
24.通常,此类辅助电路需要丰富的专业知识,可能价格高昂,占据大量的物理体积,
并且可能安装时很耗时。当控制根据本发明的机器人臂时,所有这些都可以避免。
25.因此,本发明的优点在于,其允许以较低水平的所需专业知识,将机器人臂安装于机器人应用或机器人系统中,例如因为无需对plc进行安装和编程。
26.本发明的另一优点在于,其允许将机器人更快速地安装于机器人应用中,因为无需对plc进行编程。
27.本发明的另一优点在于,它减少了将机器人安装于机器人应用中所需的物理体积,因为无需辅助电路。
28.本发明的另一优点在于,它可以降低将机器人安装于机器人应用中的成本。
29.本发明的另一优点在于,增加了机器人与任何外围设备之间的通信速度,因为所需的中间信号处理减少了。
30.本发明的另一优点在于,因为仅需要一个控制器来控制根据本发明的机器人臂和任何外围设备,其允许对辅助控制进程和机器人控制进程进行容易且快速的重编程,并且由此改变或调整机器人臂的操作及其与外围设备的交互。这是因为仅必须访问一个控制器,因为在根据本发明的机器人系统中不存在辅助控制器。
31.本发明的另一优点在于,用户可无需学习使用不同的编程环境,因为机器人编程和辅助编程都可以在相同的编程环境中进行。
32.本发明的另一优点在于,用户可以仅需要获取一件装备,即一个机器人臂,其具有能够控制外围设备的控制器。因此,工业plc和类似装备是多余的。
33.本发明的另一优点在于,分开运行机器人控制进程和辅助控制进程(仍由相同机器人控制器来运行)使得可以确保在比如由于机器人臂的保护和/或安全停止而中断机器人控制进程的情况下,能够继续执行控制外围设备的辅助控制进程。比如,如果辅助控制进程控制了诸如灯塔等警告设备来指示机器人臂的状态。
34.常规地,使用例如plc等来控制外围设备。此外,常规地,在对机器人控制器进行编程期间,可以手动地向机器人控制器提供输入。与常规机器人系统和方法相比,本发明可有利地允许:在操作场景中,由机器人控制器来执行多个任务(控制机器人并直接与外围设备通信)。
35.可以将机器人臂理解为一种机械臂。其通常可具有多个机器人接头和连杆,其中马达可相对于臂的另一部分来移动臂的一部分。机器人臂可以是可控制的,例如,通过可编程机器人控制器。
36.应将机器人控制器理解为控制机器人臂的操作的控制器。
37.机器人臂可以是机器人系统的一部分。机器人系统可例如包括机器人臂以及其机器人控制器。机器人系统还可包括另外的元件,诸如外围设备。
38.通常,可将外围设备理解为一种促进机器人与其机器人应用之间的通信(通常基于输入和/或输出)的外部设备。示例包括相机、传感器、传送带、指示灯或类似物。然而,注意,本发明不限于任何特定设备,而是可包括任何合适的外围设备。在一个实施方案中,外围设备也可以是另一机器人臂。
39.可将机器人应用理解为机器人臂/机器人系统,其被安装和编程为执行某一任务,例如工业任务,例如与工业生产相关的任务。机器人应用经常需要机器人控制器与外围设备之间的通信。机器人应用也可依赖于沿着生产线执行任务的多个机器人臂。
40.可将机器人控制进程和辅助控制进程各自理解为由软件程序所执行且可由单个机器人控制器(例如,单个处理器/处理单元)来执行的独特进程。此类处理单元可具有专用于执行机器人控制进程的多个核以及专用于执行辅助控制进程的多个单独的核。
41.可将机器人控制软件程序理解为由机器人控制器使用的软件,特备是作为用于执行机器人控制进程的基础,以控制机器人臂的移动即各个关节的移动,并由此例如控制机器人工具凸缘的位置和角度。其还可控制任何附接到机器人工具凸缘的机器人工具。
42.可将辅助控制软件程序理解为由机器人控制器使用的软件,特别是作为用于执行辅助控制进程的基础,以促进机器人控制进程与一个或多个外围设备之间的通信并且控制一个或多个外围设备。可将机器人控制进程提供为基于非并发环境中的有限状态机所实现的顺序逻辑,其倾向于保持程序的确定性属性。
43.机器人和辅助控制软件程序可例如基于对应的机器人和辅助控制软件代码,该代码已经在编程设备上进行了编译以建立由机器人控制器可读取的程序。
44.可将应用输入信号理解为从外围设备和/或机器人控制进程提供给辅助控制进程的数字和/或模拟信号。任何应用输入信号可以是有线的或无线的。
45.通常可将逻辑信号和逻辑输出信号理解为二进制信号(高或低,“1”或“0”),例如,由电流、电压、场的极化、磁性存储介质的磁化等表示。然而,注意,本发明不限于二进制信号或上述表示的示例。当机器人控制进程的操作基于逻辑信号时,可将该逻辑信号视作机器人控制进程的输入或者机器人控制软件程序的输入。类似地,当外围设备的操作基于逻辑信号时,可将该逻辑信号视作该外围设备的输入。
46.根据本发明的一个实施方案,所述机器人控制进程和所述辅助控制进程被布置成由所述机器人控制器并行执行。
47.例如通过处理单元的不同核并行地(即同时地)执行机器人控制进程和辅助控制进程是有利的,因为这减少了机器人与其机器人应用之间的延迟,进而降低了出错风险并增加了工作速度。相反,依赖于非并行执行的机器人控制进程和辅助控制进程可能更慢和/或更容易出错。
48.机器人控制进程和辅助控制进程并行/同时执行的实施方案不同于在机器人控制进程的执行过程之前执行(并且可能结束)辅助控制进程的示例。如果在机器人系统的编程期间执行辅助控制进程,则可能例如发生此类单独执行过程的示例。
49.机器人控制进程和辅助控制进程可以被布置成由机器人控制器并行执行,同时相对于在机器人控制进程与辅助控制进程之间传送的应用输入信号和逻辑输出信号中的任一信号的定时,调节机器人臂的操作和一个或多个逻辑信号的建立中的任一项。因此,并行执行过程可有利地维持机器人控制进程的执行过程与辅助控制进程的执行过程之间的协调。
50.根据一个实施方案,辅助控制进程作为连续运行进程来执行,其中辅助控制进程被配置成在程序周期内建立至少一个逻辑输出信号,其中独立于至少一个应用输入信号的状态来执行辅助控制进程。
51.这一点的优点在于,辅助控制进程可以被配置成连续运行而无需等待输入信号的更新,从而确保了辅助控制进程的所有逻辑功能在程序周期的定时内得到执行。因此,在每个程序周期内,生成一个或多个逻辑输出信号,并且如果按规则的时间间隔来执行辅助控
制进程,则可以确保按规则间隔来生成逻辑输出信号。应当理解,至少一个逻辑输出信号的状态可以取决于至少一个应用输入信号的状态。换句话说,独立于至少一个应用输入信号在程序周期期间是否已经改变,辅助控制进程将在每个程序周期中生成逻辑输出信号。
52.根据一个实施方案,辅助控制进程被配置成执行多个子进程,其中每个子进程被配置成建立逻辑输出信号中的至少一个逻辑输出信号。
53.这一点的优点在于,不同的逻辑输出信号可以彼此独立地并且也基于不同的应用输入信号而生成。还结合对辅助控制进程进行调试,程序员仅需调试不按预期执行的子进程。
54.根据一个实施方案,辅助控制进程被配置成同时执行各子进程。
55.这一点的优点在于,可以并行地生成逻辑输出信号,由此可以减少辅助控制进程的程序周期时间,这确保了逻辑输出信号的更快更新。
56.根据本发明的一个实施方案,所述机器人控制器包括多核处理器,并且所述机器人控制进程和所述辅助控制进程分别在所述多核处理器的单独的核上执行。
57.利用多核处理器来实现根据本发明的机器人控制器是有利的,因为它促进了在单独的核上并行执行各进程。
58.根据本发明的一个实施方案,所述一个或多个逻辑信号中的每个信号分别指示所述一个或多个外围设备和所述机器人控制进程中的任一项的状态。
59.将一个或多个逻辑信号用作外围设备和/或机器人控制进程的状态的指示信息是有利的,因为其允许基于这些状态来执行逻辑操作和控制,而无需对诸如plc等外部电路进行编程以及通过外部电路来通信。
60.根据本发明的一个实施方案,所述至少一个逻辑输出信号之一是所述一个或多个逻辑信号之一。
61.根据本发明的一个实施方案,所述至少一个逻辑输出信号是所述一个或多个逻辑信号。
62.将一个或多个逻辑信号用作逻辑输出信号是有利的,因为这些信号通常可以指示外围设备和机器人控制进程中的任一项的状态,并且因此可以用作对外围设备和机器人控制进程中的任一项进行进一步操作的基础。
63.根据本发明的一个实施方案,所述至少一个逻辑输出信号之一基于应用于所述一个或多个逻辑信号的逻辑操作。
64.逻辑操作可例如包括基本的and、or和not操作。它们还可以基于逻辑信号的变化,诸如逻辑信号的上升沿和下降沿的变化,例如,逻辑输出信号可以基于逻辑信号的上升沿/下降沿而变化。
65.使至少一个逻辑输出信号基于逻辑操作是有利的,因为其允许逻辑信号与逻辑输出信号之间的简单且可理解的关系。此外,逻辑操作是所需计算能力最小的处理过程,这也是有利的。
66.根据本发明的一个实施方案,所述一个或多个逻辑信号之一是所述至少一个应用输入信号之一。
67.将一个或多个应用输入信号直接用作逻辑信号是有利的,因为这减少了对辅助电路的需要并且减少了延迟。
68.根据本发明的一个实施方案,基于所述至少一个逻辑输出信号,操作附接到所述机器人工具凸缘的机器人工具。
69.根据本发明的一个实施方案,所述机器人臂的所述操作包括:所述机器人臂将所述机器人工具应用于应用对象。
70.基于至少一个逻辑输出信号来操作机器人工具是有利的,因为其允许与机器人臂和外围设备同步地操作机器人工具。
71.可将操作机器人工具例如理解为旋转机器人工具的钻头、用机器人工具的夹持器进行夹持、使用机器人工具进行焊接、使用机器人工具进行切割等。
72.根据本发明的一个实施方案,所述机器人工具将所述至少一个应用输入信号中的一个应用输入信号供应给所述机器人控制器。
73.使用来自机器人工具的应用输入信号是有利的,因为这允许基于来自机器人工具的输出,例如来自机器人工具的力传感器的输出,操作机器人系统。
74.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备直接通信地连接到所述机器人控制器。
75.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备直接通信地连接到所述辅助控制进程。
76.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备直接通信地连接到所述辅助控制软件程序。
77.根据本发明的一个实施方案,所述一个或多个外围设备中的每个外围设备直接通信地连接到所述机器人控制器。
78.根据本发明的一个实施方案,所述一个或多个外围设备中的每个外围设备直接通信地连接到所述辅助控制进程。
79.根据本发明的一个实施方案,所述一个或多个外围设备中的每个外围设备直接通信地连接到所述辅助控制软件程序。
80.在本发明的上下文中,通信连接应当理解为被连接以便能够通信,例如外围设备通信地连接到机器人控制器促进了它们之间的数据通信。直接通信连接可以理解为在外围设备与机器人控制器之间的直接通信,即不经由诸如plc等辅助电路进行通信。例如,如果外围设备直接通信地连接到机器人控制器,则外围设备与机器人控制器之间的通信连接不涉及辅助电路,例如plc。
81.通信连接可以是有线的或无线的。
82.外围设备与机器人控制器、辅助控制进程和/或辅助控制软件程序之间的直接连接是有利的,因为这减少了对辅助电路的需要并且减少了延迟。
83.根据本发明的一个实施方案,由单个编程设备来实现所述机器人控制软件程序和所述辅助控制软件程序。
84.根据本发明的一个实施方案,基于可配置的机器人控制软件代码,编译所述机器人控制软件程序。
85.根据本发明的一个实施方案,基于可配置的辅助控制软件代码,编译所述辅助控制软件程序。
86.根据本发明的一个实施方案,所述机器人控制软件代码和所述辅助控制软件代码
能够通过所述编程设备来配置。
87.根据本发明的一个实施方案,所述机器人控制软件代码和所述辅助控制软件代码能够通过所述编程设备的编程环境来配置。
88.编程环境通常可包括编程设备上预期用于进行编程的软件。编程环境可例如包括集成开发环境、编辑器、编译器、解释器、操作系统、环境变量、库、辅助程序等。编程环境也可链接到云存储。
89.促进由单个设备和单个编程环境对机器人控制器进行编程是有利的,因为这简化了编程过程。此外,它有利地允许对两个程序和/或两个代码进行同步评估、编译和/或实现,这减少了机器人系统功能调试和测试时间。
90.根据本发明的一个实施方案,所述编程设备被布置成根据分别基于所述机器人控制软件程序和所述辅助控制软件程序的所述机器人控制进程和所述辅助控制进程的执行过程来执行指示所述机器人系统的操作的机器人操作模拟。
91.根据本发明的一个实施方案,基于所述机器人控制软件代码和所述辅助控制软件代码来执行所述机器人操作模拟。
92.根据本发明的一个实施方案,基于所述机器人操作模拟来建立操作可行性的评估,其中所述操作可行性评估指示所述机器人系统是否能够如所述机器人控制软件代码和所述辅助控制软件代码所指示的那样来操作。
93.机器人操作模拟对机器人系统的操作进行模拟。机器人操作模拟可例如包括各种信号的定时,诸如应用输入信号、逻辑信号和逻辑输出信号以及它们的相互依赖性。必要地,机器人操作模拟也可包括:例如通过机器人控制器和外围设备,模拟这些信号的生成/建立。
94.机器人操作模拟也可包括:模拟机器人臂的物理尺寸和移动,例如,相对于应用对象和/或外围设备的尺寸和移动。
95.在本发明的一些实施方案中,当执行机器人操作模拟时,用户(例如编程设备的用户)根据机器人控制进程和辅助控制进程的执行过程,接收机器人系统的操作可行性的评估。这种对操作可行性的评估可以通知用户该机器人系统是否能够按照预期来操作以及/或者预期操作是否未达到最优,例如在耗时、能耗、安全性、部件磨损方面等。
96.执行机器人模拟是有利的,因为其允许评估任何代码和/或程序的效率和可行性。因此,无需操作机器人臂和外围设备来执行此类评估,这又可以减少事故和出错的风险,以及节省时间和能耗。其还允许机器人操作的更大程度的计算机优化。
97.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备是相机。
98.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备是3d相机。
99.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备是传感器。
100.在本发明的各种实施方案中,一个或多个传感器可例如是光幕、距离传感器、激光测距传感器、安全垫和/或位置传感器。
101.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备是传送
带。
102.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备是外围显示器。
103.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备是指示灯。
104.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备是阀门。
105.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备是用户输入机构。
106.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备是移动机器人。
107.移动机器人可例如是自主移动机器人。
108.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备是致动器。
109.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备是处理装备,诸如cnc机器、夹取机器或模制机器。
110.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备是pc或另一计算设备。
111.用户输入机构可例如是按钮、控制杆、键盘、触摸板、或任何其他被布置成由用户来操作以提供输出的机制。用户输入机构也可以是外围显示器的触摸屏功能。然而,注意,用户输入机构不限于这些示例中的任一示例。
112.根据本发明的一个实施方案,所述一个或多个外围设备中的一个外围设备是辅助机器人系统。
113.机器人臂可例如沿着生产线来安装,其中它依赖于一个或多个其他机器人臂(即,辅助机器人系统)所执行的任务。从本发明的机器人系统的观点来看,这些辅助机器人系统在实践中可作为外围设备。
114.根据本发明的一个实施方案,机器人控制器包括plc软件代码导入和翻译模块。
115.这一点的优点在于,其具有以下效果:可以自动导入现有的plc代码,并且如果需要的话,将其翻译成可由机器人控制器执行的代码。此外,其具有以下效果:plc代码写入经验丰富的人可以用plc程序代码语言将软件程序写入机器人控制器。
116.根据本发明的一个实施方案,所述一个或多个外围设备中的至少一个外围设备是输出设备。
117.输出设备可以理解为接收所述机器人控制器的输出/从所述机器人控制器接收输出的设备。其他外围设备是输入设备,其向机器人控制器提供输入。外围设备也可以是既从机器人控制器接收输出又向机器人控制器提供输入的输入/输出设备。输出设备的示例是传送带、外围显示器、指示灯、阀门和致动器。输入设备的示例是传感器、相机和用户输入机构。输入/输出设备的示例是传送带、阀门和致动器,每个设备给出了关于它们状态的输入。
118.因此,输出设备通常可至少部分地由辅助控制进程来控制,例如经由逻辑输出信号。
119.通过使外围设备作为输出设备(其可由机器人控制器经由辅助控制进程来控制),单个控制器(机器人控制器)可执行对机器人臂和外围设备两者的控制,从而导致更简单的设置以及各种控制进程的潜在改进式执行和协调,这是有利的。
120.根据本发明的一个实施方案,所述一个或多个外围设备是所述机器人系统的操作周期的一部分。
121.换句话说,外围设备并非专项用于例如机器人系统的编程或维护期间,而是用于机器人系统的实际操作期间,诸如重复执行的操作周期期间。因此,本发明可以潜在地改进操作执行周期,这是有利的。操作期间使用的用户输入机构的一个示例是按钮,例如每当应用对象准备好由机器人进行处理时,操作者就激活该按钮。
122.操作周期也可以理解为程序周期。
123.根据本发明的一个实施方案,从所述一个或多个外围设备接收所述应用输入信号,并且/或者所述辅助控制进程被配置成控制所述一个或多个外围设备。
124.本发明的一个方面涉及一种用于控制机器人系统的操作的方法,所述方法包括以下步骤:
125.从所述机器人系统的外围设备和所述机器人控制器的机器人控制进程中的任一项,向所述机器人系统的机器人控制器的辅助控制进程提供至少一个应用输入信号,
126.通过执行基于辅助控制软件程序的所述辅助控制进程,基于所述至少一个应用输入信号来生成一个或多个逻辑信号,
127.通过执行基于所述辅助控制软件程序的所述辅助控制进程,基于所述一个或多个逻辑信号来建立至少一个逻辑输出信号,
128.将所述至少一个逻辑输出信号提供给所述外围设备和所述机器人控制器的所述机器人控制进程中的任一项,以及
129.由所述机器人控制器通过执行基于机器人控制软件程序的所述机器人控制进程来控制所述机器人系统的机器人臂,其中所述机器人臂包括将机器人基座连接到机器人工具凸缘的多个机器人关节,并且其中所述机器人控制器基于所述至少一个逻辑输出信号来控制所述外围设备和所述机器人臂中的任一项。
130.根据本发明的一个实施方案,所述方法还包括以下步骤:基于所述至少一个逻辑输出信号,控制所述外围设备和所述机器人臂。
131.根据本发明的一个实施方案,所述方法还包括以下步骤:编译机器人控制软件代码以建立所述机器人控制软件程序。
132.根据本发明的一个实施方案,所述方法还包括以下步骤:编译辅助控制软件代码以建立所述辅助控制软件程序。
133.编译可以理解为,将用一种编程语言所写入的计算机代码翻译成另一语言。这种翻译可例如是从高级编程语言到低级语言,以创建可执行程序。
134.根据本发明的一个实施方案,使用编程设备上的编程环境来建立所述机器人控制软件代码和所述辅助控制软件代码。
135.根据本发明的一个实施方案,所述方法还包括模拟以下所述步骤中的任一项的步骤:提供至少一个应用输入信号;生成一个或多个逻辑信号;建立至少一个逻辑输出信号;提供所述至少一个逻辑输出信号;以及由机器人控制器来控制机器人臂,其中所述模拟步
骤在所述编程设备上执行并且基于所述机器人控制软件代码和所述辅助控制软件代码。
136.模拟本发明方法的任何步骤可例如用于建立机器人操作模拟。
137.根据本发明的一个实施方案,所述方法还包括以下步骤:评估所述机器人控制软件代码和所述辅助控制软件代码的操作可行性,其中所述操作可行性基于所述模拟步骤。
138.根据本发明的一个实施方案,所述操作可行性指示所述机器人系统是否能够如所述机器人控制软件代码和所述辅助控制软件代码所指示的那样来操作。
139.根据本发明的一个实施方案,通过在程序周期内并且独立于所述至少一个应用输入信号的状态来执行所述辅助控制进程,可以将建立所述至少一个逻辑输出信号的所述步骤作为连续运行进程来执行。
140.根据本发明的一个实施方案,建立所述至少一个逻辑输出信号的所述步骤包括在多个子进程处执行的步骤,其中所述子进程中的每个子进程被配置成建立所述逻辑输出信号中的至少一个逻辑输出信号(339)。
141.根据本发明的一个实施方案,同时执行所述子进程。
142.能够如所述机器人控制软件代码和所述辅助控制软件代码所指示的那样来操作也可以理解为能够如分别基于机器人控制软件代码和辅助控制软件代码的机器人控制软件程序和辅助控制软件程序所指示的那样来操作。
143.本发明的任何机器人系统的任何优点也可应用于本发明的方法。
144.根据本发明的一个实施方案,提供所述至少一个应用输入信号的所述步骤在所述辅助控制进程和所述机器人控制进程中的任一项的执行期间执行。
145.通过在执行辅助控制进程和/或机器人控制进程期间提供应用输入信号,可以有利地改进机器人系统的操作。
146.根据本发明的一个实施方案,提供至少一个应用输入信号的所述步骤在所述机器人系统的操作期间执行。
147.换句话说,该方法并非专项在例如机器人系统的编程或维护期间执行,而是在机器人系统的实际操作期间执行。此类操作可例如是正常操作。此类操作可以实现为重复执行的操作周期。
148.在一些实施方案中,机器人系统的操作可以量化为辅助控制进程的执行过程和机器人控制进程的执行过程。
149.根据本发明的一个实施方案,提供至少一个应用输入信号的所述步骤自主地执行。
150.根据本发明的一个实施方案,所述机器人控制进程和所述辅助控制进程是在所述机器人控制器上执行的单独进程。
151.换句话说,这两个进程均在机器人控制器上执行,但是彼此完全不同。它们可例如在机器人处理器的不同核上执行。尽管这些进程可以可选地是单独的进程,但它们可以交互并且相互依赖。
152.根据本发明的一个实施方案,所述方法在预编程的机器人系统上执行。
153.因此,本发明的一些实施方案涉及已经编程的机器人系统的操作,而不涉及对机器人系统进行编程。
154.根据本发明的一个实施方案,至少部分地在所述辅助控制进程和/或所述机器人
控制进程的执行期间,所述一个或多个外围设备与应用对象进行交互。
155.交互可例如是通过移动/操纵该对象或通过感测/检测该对象。与不跟应用对象交互的外围设备(诸如用户输入机构)相反,可以查看与应用对象的此类交互。
156.本发明的一个方面涉及一种用于控制包括机器人臂的机器人系统的外围设备的操作的方法,所述方法包括以下步骤:
157.从机器人控制器和一个或多个外围设备中的任一项,向所述机器人系统的机器人控制器的辅助控制进程提供至少一个应用输入信号;
158.通过执行所述辅助控制进程,基于所述至少一个应用输入信号来生成一个或多个逻辑信号;
159.由所述辅助控制进程基于所述一个或多个逻辑信号来建立至少一个输出信号;以及
160.将所述至少一个输出信号提供给所述一个或多个外围设备中的一个外围设备以控制所述外围设备。
161.因此,本发明允许有利地控制机器人系统的外围设备。
162.根据本发明的一个实施方案,所述至少一个输出信号是至少一个逻辑输出信号。
163.根据本发明的一个实施方案,所述机器人控制器通过执行机器人控制进程来控制所述机器人臂。
164.根据本发明的一个实施方案,在根据本公开的各方面和实施方案中的任一项的机器人系统上促进所述方法。
165.本发明的一个方面涉及一种针对机器人系统的外围设备的分布式控制系统,其中所述机器人系统包括机器人臂、机器人控制器和外围设备,其中所述机器人臂包括将机器人基座连接到机器人工具凸缘的多个机器人关节,其中所述机器人控制器至少被配置成执行机器人控制进程以控制所述机器人臂的操作,其中所述分布式控制系统包括:
166.第一控制块,所述第一控制块位于所述机器人控制器中;和
167.第二控制块,所述第二控制块位于所述机器人控制器外部,
168.其中与控制所述机器人臂的所述机器人控制进程执行性地协调,所述第一控制块和所述第二控制块共同地控制所述外围设备,其中所述执行性协调经由所述机器人控制进程与所述第一控制块之间的通信连接来执行。
169.通过具有针对外围设备的分布式控制系统,可以针对特定应用灵活地定制对外围设备的控制,这是有利的。特别地,对外围设备的一部分控制可以有利地在机器人控制器中实现。
170.两个控制块之间的控制分配不必限于特定的分配。然而,第一控制块可以优选地促进与机器人控制进程的通信,使得可以与控制所述机器人臂的所述机器人控制进程执行性地协调来控制外围设备。控制块与机器人控制进程之间的执行性协调可以理解为两个单独的控制进程(分别处于控制块和机器人控制进程上),其中相对于两个进程中的另一进程,执行这些进程中的至少一个进程。即,对机器人臂的控制可以依赖于对外围设备的控制和/或反之亦然。
171.根据本发明的一个实施方案,所述第二控制块位于所述外围设备中。
172.根据本发明的一个实施方案,所述第一控制块和所述第二控制块位于单独的壳体
中。
173.单独的壳体允许硬件的明确隔离、保护和标记,这是有利的。
174.根据本发明的一个实施方案,所述第一控制块促进了根据本公开的任何方面和实施方案的辅助控制进程。
175.根据本发明的一个实施方案,所述机器人系统是根据本公开的任何方面和实施方案的机器人系统。
176.本发明的一个方面涉及一种外围设备控制器,其被配置成执行:
177.基于机器人控制软件程序的机器人控制进程;和
178.基于辅助控制软件程序的辅助控制进程,
179.其中由所述外围设备控制器执行的所述机器人控制进程的执行过程导致通信地连接到所述外围设备控制器的机器人臂的操作;
180.其中由所述外围设备控制器执行的所述辅助控制进程的执行过程导致基于从所述机器人控制进程和一个或多个外围设备中的任一项所接收的至少一个应用输入信号来建立一个或多个逻辑信号;
181.其中所述辅助控制进程被配置成基于所述一个或多个逻辑信号来建立至少一个逻辑输出信号,并且基于所述至少一个逻辑输出信号,被配置成控制所述机器人控制进程和所述一个或多个外围设备中的任一项的操作。
182.具有能够进一步控制机器人臂的外围设备控制器是有利的。例如,出于相同或类似原因中的至少任一原因,在机器人控制器上具有机器人控制进程和辅助控制进程是有利的。
183.根据本发明的一个实施方案,所述外围设备控制器具有本公开的任何方面和实施方案中的机器人控制器的任何特征。
附图说明
184.图1示出了根据本发明的机器人臂;
185.图2示出了机器人臂和机器人臂的一部分的简化结构图;
186.图3a-图3b分别示出了根据本发明的各实施方案的机器人系统;
187.图4a-图4b示出了根据本发明的一个实施方案的机器人系统和相关联的逻辑时序图;
188.图5示出了根据本发明的一个实施方案的连接到编程设备的机器人系统;
189.图6示出了根据本发明的一些实施方案的方法;并且
190.图7示出了根据本发明的一些其他实施方案的方法。
具体实施方式
191.鉴于仅旨在说明本发明原理的示例性实施方案描述了本发明。技术人员将能够在权利要求的范围内提供若干实施方案。
192.图1示出了机器人臂101,该机器人臂包括多个机器人关节102a、102b、102c、102d、102e、102f,该多个机器人关节连接机器人基座103和机器人工具凸缘104。基座关节102a被配置成使机器人臂101围绕基座轴线105a(以短划虚线示出)旋转,如旋转箭头106a所示;肩
部关节102b被配置成使机器人臂围绕肩部轴线105b(示出为指示轴线的十字)旋转,如旋转箭头106b所示;肘部关节102c被配置成使机器人臂绕肘部轴线105c(示出为指示轴线的十字)旋转,如旋转箭头106c所示,第一腕关节102d被配置成使机器人臂绕第一腕轴线105d(示出为指示轴线的十字)旋转,如旋转箭头106d所示,并且第二腕关节102e被配置成使机器人臂绕第二腕轴线105e(以短划虚线示出)旋转,如旋转箭头106e所示。机器人关节102f是包括机器人工具凸缘104的工具关节,该机器人工具凸缘能够围绕工具轴线105f(以短划虚线示出)旋转,如旋转箭头106f所示。因此,所示的机器人臂是具有六个自由度的六轴机器人臂,具有六个旋转机器人关节,然而,应当注意,本发明可以提供于包括更少或更多机器人关节以及其他类型的机器人关节,诸如提供机器人臂的部分的平移例如线性平移的棱柱机器人关节的机器人臂中。
193.机器人工具凸缘参考点107(也称为工具中心点(tcp))在该机器人工具凸缘处指示,并且限定工具凸缘坐标系的原点,该坐标系限定三个坐标轴x
凸缘
、y
凸缘
、z
凸缘
。在所示实施方案中,机器人工具凸缘坐标系的原点已经被布置在工具凸缘轴线105f上,其中一个轴线(z
凸缘
)与工具凸缘轴线平行,并且其他轴线x
凸缘
、y
凸缘
与机器人工具凸缘104的外表面平行。此外,基座参考点108与限定三个坐标轴x
基座
、y
基座
、z
基座
的机器人基座坐标系的原点重合。在所示实施方案中,机器人基座坐标系的原点已经被布置在基座轴线105a上,其中一个轴(z
基座
)与基座轴线105a平行,并且其他轴x
基座
、y
基座
与机器人基座的底面平行。与机器人臂相关的重力方向109也由箭头指示,并且应当理解,机器人臂可布置在与重力相关的任何位置和取向处。
194.机器人臂包括至少一个机器人控制器110,该机器人控制器被配置成控制机器人臂101并且可被提供为包括界面设备111的计算机,使得用户能够对机器人臂进行控制和编程。控制器110可作为如图1所示的外部设备、作为集成到机器人臂中的设备或作为它们的组合来提供。界面设备可比如作为工业机器人领域中已知的示教器而提供,该示教器可经由有线或无线通信协议与控制器110进行通信。界面设备可例如包括显示器112和多个输入设备113,诸如按钮、滑块、触摸板、操纵杆、轨迹球、手势识别设备、键盘等。显示器可被提供为既充当显示器又充当输入设备的触摸屏。界面设备也可作为被配置成与机器人控制器110通信的外部设备而提供,比如智能电话、平板电脑、pc、膝上型电脑等。
195.机器人工具凸缘104包括集成到该机器人工具凸缘104中的力-扭矩传感器114(有时简称为力传感器)。力-扭矩传感器114提供工具凸缘力信号,该工具凸缘力信号指示在机器人工具凸缘处提供的力-扭矩。在所示实施方案中,力-扭矩传感器被集成到机器人工具凸缘中,并且被配置成指示相对于机器人工具凸缘参考点107施加到机器人工具凸缘的力和扭矩。力传感器114提供力信号,该力信号指示在工具凸缘处提供的力。在所示实施方案中,力传感器被集成到机器人工具凸缘中,并且被配置成指示相对于参考点107并在工具凸缘坐标系中施加到机器人工具凸缘的力和扭矩。然而,力-扭矩传感器可指示相对于可连接到机器人工具凸缘坐标系的任何点施加到机器人工具凸缘的力-扭矩。在一个实施方案中,力-扭矩传感器被提供为六轴力-扭矩传感器,其被配置成指示沿着三个垂直轴线的力和围绕三个垂直轴线的扭矩。例如,力-扭矩传感器可被提供为能够指示相对于参考点的力和扭矩的任何力-扭矩传感器,例如由wo2014/110682a1、us4763531、us2015204742公开的任何力-扭矩传感器。然而,应当理解,与本发明相关的力传感器不一定需要能够感测施加到工
具传感器的扭矩。需注意,力-扭矩传感器可被提供为布置在机器人工具凸缘上或省略的外部设备提供。
196.加速度传感器115布置在机器人工具关节102f处,并且被配置成感测机器人工具关节102f的加速度和/或机器人工具凸缘104的加速度。加速度传感器115提供加速度信号,该加速度信号指示机器人工具关节102f的加速度和/或机器人工具凸缘104的加速度。在所示实施方案中,加速度传感器被集成到机器人工具关节中,并且被配置成指示机器人工具坐标系中机器人工具关节的加速度。然而,加速度传感器可指示机器人工具关节相对于可连接到机器人工具凸缘坐标系的任何点的加速度。加速度传感器可被提供为能够指示物体的加速度的任何加速度计。加速度传感器可例如被提供为能够指示物体的线性加速度和旋转加速度两者的imu(惯性测量单元)。需注意,加速度传感器可被提供为布置在机器人工具凸缘上或省略的外部设备。
197.机器人关节中的每个机器人关节包括机器人关节主体以及能够相对于该机器人关节主体旋转或平移的输出凸缘,并且该输出凸缘直接或经由本领域已知的臂部分连接至相邻的机器人关节。机器人关节包括关节马达,该关节马达被配置成例如经由传动装置或直接连接至马达轴来相对于该机器人关节主体旋转或平移输出凸缘。机器人关节主体可(例如)形成为关节外壳,并且关节马达可布置在该关节外壳内,并且输出凸缘可延伸出该关节外壳。另外,机器人关节包括提供传感器信号的至少一个关节传感器,该传感器信号指示以下参数中的至少一个参数:输出凸缘的角位置和/或线性位置、关节马达的马达轴的角位置和/或线性位置、关节马达的马达电流或试图旋转输出凸缘或马达轴的外力和/或扭矩。例如,输出凸缘的角位置可由输出编码器诸如光学编码器、磁性编码器指示,这些输出编码器可指示输出凸缘相对于机器人关节的角位置。类似地,关节马达轴的角位置可由输入编码器诸如光学编码器、磁性编码器提供,这些输入编码器可指示马达轴相对于机器人关节的角位置。需注意,可提供指示输出凸缘的角位置的输出编码器和指示马达轴的角位置的输入编码器两者,这在已提供传动装置的实施方案中使得可以确定该传动装置的输入侧与输出侧之间的关系。关节传感器还可被提供为指示通过关节马达的电流的电流传感器,并且因此该关节传感器用于获得由马达提供的扭矩。例如,结合多相马达,可提供多个电流传感器以获得通过该多相马达的相位中的每个相位的电流。还需注意,一些机器人关节可包括能够由关节致动器旋转和/或平移的多个输出凸缘,例如,机器人关节中的一个机器人关节可包括第一输出凸缘,该第一输出凸缘相对于机器人关节旋转/平移机器人臂的第一部分;以及第二输出凸缘,该第二输出凸缘相对于机器人关节旋转/平移机器人臂的第二部分。
198.机器人控制器110被配置成通过基于机器人臂的动态模型、重力做功方向109和关节传感器信号控制提供给关节马达的马达扭矩来控制机器人臂的运动。
199.图2示出了图1所示的机器人臂101的简化结构图。机器人关节102a、102b和102f已经以结构形式示出,并且为了附图简单起见,已经省略了机器人关节102c、102d、102e和连接机器人关节的机器人连杆。此外,机器人关节以独立元件示出;然而应当理解,它们如图1所示互相连接。机器人关节包括输出凸缘216a、216b、216f和关节马达217a、217b、217f或另一种致动器,其中输出凸缘216a、216b、216f能够相对于机器人关节主体旋转。关节马达217a、217b、217f分别被配置成经由输出轴218a、218b、218f旋转输出凸缘216a、216b、216f。
应当理解,关节马达或关节致动器可被配置成经由诸如齿轮(未示出)的传输系统旋转输出凸缘。在该实施方案中,工具关节123f的输出凸缘216f构成工具凸缘104。至少一个关节传感器219a、219b、219f提供传感器信号220a、220b、220f,这些传感器信号指示相应关节的至少一个关节传感器参数j
传感器,a
、j
传感器,b
、j
传感器,f
。关节传感器参数可例如指示姿态参数,该姿态参数指示输出凸缘相对于机器人关节主体的位置和取向,输出凸缘的角位置、关节马达的轴的角位置、关节马达的马达电流。例如,输出凸缘的角位置可由输出编码器诸如光学编码器、磁性编码器指示,这些输出编码器可指示输出凸缘相对于机器人关节的角位置。类似地,关节马达轴的角位置可由输入编码器诸如光学编码器、磁性编码器提供,这些输入编码器可指示马达轴相对于机器人关节的角位置。马达电流可由电流传感器获得和指示。
200.机器人控制器110包括处理器220和存储器221,并且被配置成通过向关节马达提供马达控制信号223a、223b、223f来控制机器人关节的关节马达。马达控制信号223a、223b、223f指示每个关节马达应提供给输出凸缘的马达扭矩t
马达,a
、t
马达,b
和t
马达,f
,并且机器人控制器110被配置成基于现有技术中已知的机器人臂的动态模型来确定马达扭矩。该动态模型使控制器110可以计算:为了使机器人臂执行期望的移动,关节马达应向关节马达中的每个关节马达提供的扭矩。机器人臂的动态模型可存储在存储器221中并且可基于关节传感器参数j
传感器,a
、j
传感器,b
、j
传感器,f
进行调整。比如,关节马达可作为多相电动马达来提供,并且机器人控制器110可被配置成通过调节通过多相电动马达的各相的电流来调整关节马达所提供的马达扭矩,如马达调节领域中所已知。
201.机器人工具关节102f包括提供工具凸缘力信号224的力传感器114,该工具凸缘力信号指示提供给工具凸缘的力-扭矩ft
凸缘
。例如,力信号-扭矩ft
凸缘
可被指示为机器人工具凸缘坐标系中的力矢量和扭矩矢量
[0202][0203]
其中是沿着x
凸缘
轴的指示力,是沿着y
凸缘
轴的指示力,并且沿着z
凸缘
轴的指示力。
[0204]
除了上述之外,本发明的机器人控制器110可包括plc代码导入/翻译模块(未示出)。此类模块促进了导入例如存储在plc上或存储在直接(例如,有线或无线连接)或间接(例如,经由互联网)连接到机器人控制器的plc代码开发工具上的plc代码。此外,此类模块可促进将plc代码翻译为机器人控制器可执行的机器人控制软件。
[0205]
在力传感器被提供为组合的力-扭矩传感器的实施方案中,力-扭矩传感器还可另外提供指示提供给工具凸缘的扭矩的扭矩信号,例如作为单独的信号(未示出)或作为力信号的一部分。扭矩可被指示为机器人工具凸缘坐标系中的扭矩矢量:
[0206][0207]
其中是围绕x
凸缘
轴的指示扭矩,是围绕y
凸缘
轴的指示扭矩,并且是围绕z
凸缘
轴的指示扭矩。
[0208]
机器人工具关节102f包括加速度传感器115,该加速度传感器提供指示机器人工具凸缘的加速度的加速度信号225,其中加速度可相对于工具凸缘坐标系进行指示。
[0209][0210]
其中是沿着x
凸缘
轴的感测加速度,是沿着y
凸缘
轴的感测加速度,并且是沿着z
凸缘
轴的感测加速度。
[0211]
在加速度传感器被提供为组合加速度计/陀螺仪(例如,imu)的实施方案中,加速度传感器可另外提供指示输出凸缘相对于机器人工具凸缘坐标系的角加速度的角加速度信号,例如作为单独的信号(未示出)或作为加速度信号的一部分。角加速度信号可指示机器人工具凸缘坐标系中的加速度矢量
[0212][0213]
其中是围绕x
凸缘
轴的角加速度,是围绕y
凸缘
轴的角加速度,并且是围绕z
凸缘
轴的角加速度。
[0214]
所示的机器人臂的力传感器和加速度传感器布置在机器人工具关节102f处;然而,应当理解,力传感器和加速度传感器可布置在机器人臂的任何部分处,并且多个此类传感器可提供在机器人臂处。
[0215]
在本发明的一个示例性实施方案中,机器人臂101是机器人系统的一部分,除了机器人臂101之外,该机器人系统也包括两个外围设备336,在该特定实施方案中,这些外围设备是对象传感器和传送带。机器人工具附接到机器人工具凸缘并且被布置成执行应用对象
的焊接。对象传感器被布置成检测应用对象在焊接位置处的存在。辅助控制进程从对象传感器和机器人控制进程接收应用输入信号,据此建立逻辑信号。此外,基于这些逻辑信号,辅助控制进程向传送带和机器人控制进程提供逻辑输出信号。当没有应用对象处于焊接位置时,辅助控制进程被布置成经由逻辑输出信号来激活传送带。然后,当对象传感器在焊接位置处检测到对象时,辅助控制进程停止传送带,并且经由通往机器人控制进程的逻辑输出信号,启动机器人臂的移动和焊接。当由机器人控制进程所控制的焊接已经完成时,基于来自机器人控制进程的应用输入信号,启动传送带的移动。从这里开始,机器人系统准备好经由传送带来接收新的应用对象,以重复上述焊接过程。
[0216]
因此,在本发明的上述示例性实施方案中,机器人臂101和外围设备336全部直接由机器人控制器110来控制,即,无需使用机器人控制器外部的附加控制器,如下文将述。
[0217]
图3a和图3b示出了根据本发明的各实施方案的机器人系统100。这些示出的实施方案均包括通信地连接到辅助控制进程335的外围设备336a、336b。
[0218]
在这两个示例性实施方案中,机器人臂101被配置成将其工具341应用于应用对象342。应将有时称为工件的应用对象理解为由机器人臂101处理的对象,即由机器人臂101来移动、包装、喷涂、焊接、抛光等的对象。除了上述机器人臂的运动的描述之外,机器人臂相对于应用对象342的运动由机器人控制器110的机器人控制进程334来控制。机器人控制进程334与外围设备336a、336b之间的通信由机器人控制器110的辅助控制进程335来促进。如上所述,机器人控制进程334基于机器人控制软件程序,并且类似地,辅助控制进程335基于辅助控制软件程序。
[0219]
如下所述,在现有技术中通常由plc控制的外围设备336根据本发明由机器人控制器110来控制。这可以通过将由机器人控制器110执行的软件分成机器人控制软件代码和辅助控制软件代码来实现。机器人控制软件代码通常将基于例如如上所述的机器人编程的已知原理来开发,而辅助控制软件代码通常将根据逻辑编程原理(诸如,机器人控制器110可执行的plc编程)来开发。
[0220]
图3a所示的实施方案包括外围设备336a,其是传感器,该传感器能够检测应用对象342的存在,比如,在连接到机器人臂101的工具341的范围内的存在。传感器336a能够将指示应用对象342存在的应用输入信号338提供给辅助控制进程335,辅助控制进程又能够处理该应用输入信号338,以将逻辑输出信号339提供给机器人控制进程334。本发明的机器人系统100的该特定实施方案的操作可例如如下进行。
[0221]
传感器336a持续检测应用对象342是否位于机器人臂101能够将其工具341应用于应用对象342的位置处的传感器336a附近。应用输入信号338指示应用对象342的存在。当传感器336a没有检测到应用对象342时,将应用输入信号338处理成低的逻辑信号337,例如来自传感器336a的应用输入信号338是模拟电压,并且当信号338低于2.5v时,将模拟电压处理成二进制“0”的逻辑信号337,并且当信号338高于2.5v时,将模拟电压处理成二进制“1”的逻辑信号337。该逻辑信号337用作逻辑输出信号339,其被提供给机器人控制进程334。当机器人控制进程334正在接收低逻辑输出信号339时,机器人臂101由机器人控制进程334来操作以处于等待位置,其中机器人臂101不应用其工具341。当应用对象342移动到检测器336a附近时,应用输入信号338相应地变化,并且在辅助控制进程335中,现在将应用输入信号338处理成高的逻辑信号337,该逻辑信号又作为逻辑输出信号339而提供给机器人控制
进程334。接收到高逻辑输出信号339后,机器人臂101由机器人控制进程334来操作,以将其工具341应用于应用对象342。可将工具341例如应用预定时间量,或者通过按预定移动模式移动机器人臂来应用该工具。当已经应用工具341时,机器人臂101由机器人控制进程334来操作,以再次处于等待位置。不能操作机器人臂101以将其工具341应用于应用对象342,直到其已经接收到低逻辑输出信号339,该低逻辑输出信号指示已经移除应用了机器人工具341的应用对象342。在移除应用对象342之后,该进程可重新开始,即,可以将新的应用对象342移到传感器336a附近,使得再次应用机器人工具341。
[0222]
图3b所示的实施方案包括外围设备336b,该外围设备是指示机器人系统100的状态的视觉显示器。在该实施方案中,机器人控制进程334能够提供指示机器人臂101的状态的应用输入信号338,例如,指示当前是否正将工具341应用于应用对象342。辅助控制进程335被布置成将应用输入信号338处理成逻辑信号337,该逻辑信号也用作逻辑输出信号而发送到显示器336b。因此,取决于应用输入信号338,显示器336b接收高或低的逻辑输出信号,并且可以对应地显示当前是否正在操作机器人臂101。显示器336b还可处理所接收的逻辑输出信号339,例如,以建立并显示机器人臂101已被操作的持续时间。
[0223]
参照图3a和图3b所述的本发明的实施方案的优点在于,逻辑信号339(无论它们是输入到机器人控制进程334(图3a)还是从机器人控制进程334(图3b)输出)是在无需如现有技术所需的plc的情况下而建立的。
[0224]
图4a和图4b示出了根据本发明的一个实施方案的机器人系统100和相关联的逻辑时序图。该实施方案包括通信地连接到辅助控制进程335的两个外围设备336c、336d。图4b所示的逻辑时序图示出了与图4a所示的机器人系统100的操作相关联的四个逻辑信号/逻辑输出信号l1、l2、l3、l4,其中相对于时间轴t,显示了这四个信号,并且其中在图4b上表示为t的某一时间点处,每个信号是图4b上表示为h的高或图4b上表示为l的低。
[0225]
在该示例性实施方案中,机器人臂101被配置成将其工具341应用于被带到机器人臂101的应用对象342,例如在传送带上。使用相机来分析是否相对于机器人臂101正确地放置了应用对象342。相机是第一外围设备336c,并且传送带是第二外围设备336d。
[0226]
机器人臂101的运动由机器人控制器110的机器人控制进程334来控制。机器人控制进程334与外围设备336c、336d之间的通信由机器人控制器110的辅助控制进程335来促进。
[0227]
辅助控制进程335从机器人控制进程334接收应用输入信号338,该应用输入信号被处理成机器人臂就绪逻辑信号337,l1,其指示机器人臂101是否就绪。辅助控制进程335还从相机336c接收应用输入信号338,该应用输入信号被处理成外围相机逻辑信号337,l2,其指示是否相对于机器人臂101正确地放置应用对象342。
[0228]
基于逻辑信号337,l1、l2和应用于逻辑信号337,l1、l2的逻辑操作450,辅助控制进程335生成逻辑输出信号339,l3、l4。如参照图3a和图3b所述,在无需plc的情况下,根据本发明的机器人101控制其外围设备336,从而导致上述优点,包括硬件和机器人系统安装时间和占地面积的减少。
[0229]
参考图4a和图4b,操作机器人系统100可例如如下进行。
[0230]
机器人臂操作逻辑输出信号339,l3基于机器人臂就绪逻辑信号337,l1和外围相机逻辑信号337,l2,并且被提供给机器人控制进程334。当两个信号337,l1、l2在时间t1变
为高时,即当机器人就绪并且应用对象342正确放置时,机器人臂操作逻辑输出信号339,l3也变为高,例如在时间t2稍后的时钟周期。因此,机器人控制进程334启动机器人臂101的预定操作,使得将工具341应用于应用对象342。机器人控制进程334还改变应用输入信号338,使得机器人臂就绪逻辑信号337,l1在时间t3处切换到低。机器人臂操作逻辑输出信号l3在机器人及其工具的操作持续时间内保持为高,并且机器人臂就绪逻辑信号337,l1为低,直到机器人臂的操作在时间t4完成为止。在时间t4,当机器人的操作完成时,机器人臂操作逻辑输出信号339,l3变为低,此时外围传送带逻辑输出信号339,l4变为高达预定时间量,直到时间t5为止。因此,在时间t4与t5之间的时间期间,通过传送带336d,移动应用对象342,并且因此外围相机逻辑信号337,l2变为低。换句话说,操作传送带336d以将刚刚应用了工具341的应用对象342替换为尚未应用工具341的新的应用对象342。在时间t5,外围相机逻辑信号337,l2变为高,从而指示操作周期准备好进行重复。
[0231]
注意,图4b的信号l1-l4的定时变化仅用于说明性目的,并且如果如上所述的操作应当实现于真正的机器人系统101中,则信号从高到低的定时变化可进行优化。
[0232]
在该示例性实施方案中,机器人控制器110包括多核处理器,其中机器人控制进程334在多核处理器的一组核上执行,并且辅助控制进程335在多核处理器的单独另一组核上执行。这确保了两个进程334、335可以由机器人控制器110并行执行。
[0233]
图5示出了根据本发明的一个实施方案的连接到编程设备543的机器人系统100。
[0234]
不包括编程设备543,所示的机器人系统100基本上类似于图4a所示的机器人系统,并且关于机器人系统100及其操作的一些细节被排除,以便不提供重复或不必要的细节。
[0235]
与该实施方案相关联的编程设备543包括图形用户界面540,该图形用户界面使得用户能够生成、评估和编辑机器人控制进程334和辅助控制进程335分别基于的机器人控制软件代码546和辅助控制软件代码547。在图5的图示中,代码546、547一起分组到一个方框中。在本发明的一些实施方案中,用户能够在单个编程环境中编辑两个不同的软件代码片段546、547。在其他实施方案中,需要两个单独的编程环境。
[0236]
编程设备允许用户将机器人控制软件代码546和辅助控制软件代码547编译成由机器人控制器110可读取的程序格式。因此,机器人控制器110能够基于机器人控制软件程序544的执行过程来控制机器人控制进程334,并且基于辅助控制软件程序545的执行过程来控制辅助控制进程335。在图5的图示中,程序544、545一起分组到一个方框中。
[0237]
编程设备543被布置成基于机器人控制软件代码546和辅助控制软件代码547来促进机器人操作模拟548。机器人操作模拟548被布置成根据基于机器人控制软件程序544的机器人控制进程334的执行过程和基于辅助控制软件程序545的辅助控制进程335的执行过程,模拟机器人系统100的操作。以此方式,可以模拟机器人控制软件代码546和辅助控制软件代码547这两者的变化对相应机器人和辅助控制进程334、335的影响。
[0238]
例如,机器人操作模拟548可模拟如参照图4a和图4b所述的机器人系统100的操作。例如,机器人操作模拟548可包括逻辑信号337、逻辑输出信号339、由辅助控制进程335基于辅助控制软件程序545所建立的逻辑操作、以及与这些信号和操作相关的任何持续时间和定时的表示。机器人操作模拟548被布置成生成呈现给用户的模拟结果549。因此,机器人操作模拟548可用于评估机器人控制软件代码546和辅助控制软件代码547的操作可行性
以及对其所做出的改变。操作可行性可例如指示机器人系统100是否能够如机器人和辅助控制软件代码546、547所指示的那样来操作。例如,由用户编辑软件代码546、547或集成该机器人系统101的而引入的编程错误可能导致机器人系统100的操作不按照用户所预期的那样进行,例如,如果定时或逻辑操作不准确,并且因此,机器人操作模拟可以向系统用户提供通知。
[0239]
机器人操作模拟548还可包括对机器人臂101的物理运动和/或外围设备336的任何移动的模拟,以根据机器人系统100的预期操作,评估此运动是否可行。
[0240]
在示例性机器人控制软件代码546和辅助控制软件代码547中,机器人系统100已经被错误地编程为,在应用对象342不存在时,应用其机器人工具341。当执行机器人操作模拟548时,用户接收模拟结果549,其根据代码来警告用户:机器人系统被布置成在应用对象不存在时应用其机器人工具。
[0241]
在另一示例性机器人控制软件代码546和辅助控制软件代码547中,用户接收所分配的持续时间太短而不能执行必要操作的警告,例如,用于应用机器人工具的持续时间太短,或用于移动传送带的持续时间太短。
[0242]
在另一示例性机器人控制软件代码546和辅助控制软件代码547中,用户接收以下警告:所分配的持续时间太长并且可以减少以增加机器人系统的效率。
[0243]
在另一示例性实施方案中,由对机器人控制软件代码546和辅助控制软件代码547的模拟,用户能够观察逻辑操作是否不可生成预期输出。例如,基于逻辑输出信号来激活传送带,逻辑输出信号又基于应用于来自对象传感器和机器人控制进程的逻辑信号的逻辑and门。当应用对象存在时,来自对象传感器的逻辑信号为高,当机器人臂空闲时,来自机器人控制进程的逻辑信号为高,并且在逻辑输出信号为高后,移动传送带。因此,在信号空闲后,传送带移动应用对象,但是传送带可能不一定成功地将新的应用对象移到机器人臂,并且因此系统用户从模拟过程中接收到警告。用户可例如通过执行逻辑操作来解决这个问题,这确保了当不存在应用对象时,传送带也移动。
[0244]
在另一示例性机器人控制软件代码546和辅助控制软件代码547中,用户接收机器人臂的编程物理运动不可能的警告,例如其可能与自身或其周围环境碰撞。
[0245]
在另一示例性实施方案中,根据机器人控制软件代码546和辅助控制软件代码547,模拟结果549包括指示机器人系统100的预期性能的参数。例如,周期持续时间、能耗、机器人臂的相对空载持续时间等。
[0246]
在本发明的一些实施方案中,类似于图5所示的系统可用于监测机器人系统。例如,监测一个或多个外围设备与机器人控制器之间的通信。例如,可记录该通信以获得外围信号表示。该外围信号表示可提供给数字存储装置中的操作信号历史。操作信号历史可例如是一个或多个数据文件。基于所存储的外围信号表示,可跟踪/模拟机器人系统的过去操作。因此,在本发明的上下文中,机器人操作模拟548也可解释为模拟已经执行的操作。然后,此类模拟可例如是用于优化、故障排除、预测性维护和/或改变机器人系统未来操作的基础。此类模拟通常可至少基于外围信号表示,但是也可基于其他输入、机器人系统的模型、和/或其他记录数据。
[0247]
图6示出了根据本发明的一些实施方案的方法。该方法用于控制机器人系统的操作并且包括六个步骤m1-m5。
[0248]
在该方法的第一步骤m1中,将一个或多个应用输入信号338传输到机器人控制器110的辅助控制进程335。一个或多个应用输入信号338可以从机器人控制进程334、从一个或多个外围设备336、或者从机器人控制进程334和一个或多个外围设备336两者进行传输。
[0249]
在该方法的下一步骤m2中,通过执行基于辅助控制软件程序的辅助控制进程,基于一个或多个应用输入信号338来生成一个或多个逻辑信号337。辅助控制进程可例如在诸如机器人控制器110等计算机处理器上进行,例如,在多核处理器的一个或多个核上进行。在本发明的一些实施方案中,将应用输入信号338用作逻辑信号337。
[0250]
在该方法的下一步骤m3中,通过执行基于辅助控制软件程序的辅助控制进程来建立至少一个逻辑输出信号339。至少一个逻辑输出信号339可基于通过转换或处理一个或多个应用输入信号338而建立的一个或多个逻辑信号337。然后,取决于辅助控制软件代码的逻辑布尔算子,逻辑信号337的状态/值(高或低)可以产生一个或多个逻辑输出信号339(逻辑输出信号339的值通常是0或1/低或高)。
[0251]
在该方法的下一步骤m4中,可将至少一个逻辑输出信号339提供给外围设备336和机器人控制进程334中的任一项。例如,在一些实施方案中,将逻辑输出信号339提供给外围设备336,在一些实施方案中,将逻辑输出信号339提供给机器人控制进程334,在一些实施方案中,将单个逻辑输出信号339提供给外围设备336和机器人控制进程334两者,并且在一些实施方案中,将一个逻辑输出信号339提供给外围设备336,同时将另一逻辑输出信号339提供给机器人控制进程334。
[0252]
在该方法的下一步骤m5中,机器人系统100的机器人臂101由机器人控制器110通过执行基于机器人控制软件程序的机器人控制进程334来控制。此外,基于一个或多个逻辑输出信号339,机器人控制器110可至少部分地控制外围设备336和机器人臂101中的任一项。在一些实施方案中,外围设备336和机器人臂101至少部分地基于相同的逻辑输出信号339或基于不同的逻辑输出信号339来控制。
[0253]
图7示出了根据本发明的一些其他实施方案的方法。该方法用于至少部分地基于机器人系统100的模拟来控制机器人系统100的操作,并且包括九个步骤m6-m14。
[0254]
在该方法的第一步骤m6中,提供了机器人和辅助控制软件代码546、547。在本发明的一些实施方案中,将该代码546、547提供给相同的编程/模拟设备543,例如个人计算机或机器人控制器110。在本发明的一些实施方案中,该代码能够通过安装在编程/模拟设备543上的编程/模拟环境来配置,例如,该代码可以能够经由与该环境相关联的图形用户界面来编辑。提供机器人和辅助控制软件代码546、547可例如理解为建立代码、输入代码、编辑代码等。
[0255]
在该方法的下一步骤m7中,执行机器人操作模拟548。该模拟548模拟了关于机器人系统100的操作方法的可能即将到来的步骤m10-m14。机器人操作模拟548可例如包括对信号和信号处理的模拟,诸如应用输入信号338、逻辑信号337、逻辑输出信号339、以及对这些信号的处理。机器人操作模拟548还可包括对机器人臂101和任何外围设备336的操作的模拟,例如包括操作的持续时间、以及信号、操作、应用对象342、机器人臂101、机器人工具341、外围设备336、机器人控制进程334和辅助控制进程335之间的交互。机器人操作模拟548可另外包括对机器人系统100的组件(例如,机器人臂101、外围设备336、机器人工具341和应用对象342)的物理延伸及运动的模拟。作为输出,机器人操作模拟548生成模拟结果
549,其是模拟的输出表示,例如指示性能、持续时间、效率等的输出表示。
[0256]
因此,利用一个相同模拟548,可同时模拟机器人和辅助控制软件代码546、547两者。这意味着,可以模拟对机器人和辅助控制软件代码546、547中的任何一项进行改变或添加的效果。因此,在批准将软件用于操作机器人臂101之前,可以发现与此类软件改变或添加的移动或安全性相关的不适当效果,无论是单独的效果还是软件546、547之间相互关联的效果。
[0257]
在该方法的下一步骤m8中,评估模拟结果549。模拟结果可以由系统用户来手动评估或者由自动评估算法来自动评估。在一些实施方案中,基于自动评估和用户交互两者来评估模拟结果549。该评估可例如包括操作可行性的评价、预期机器人系统操作的持续时间的评价等。如果用户和/或自动评估发现模拟结果549指示机器人系统100的性能不令人满意,则可以提供新的机器人控制软件代码和辅助控制软件代码或者可对它们作出更新,即,可以重复该方法的第一步骤m6,随后是新的模拟m7和新的评估m8。以此方式,提供代码m6、执行模拟m7以及评估模拟结果m8是一个迭代的过程,可以重复该迭代过程直到已经实现了令人满意的模拟结果。该迭代过程可以是部分或完全自动化的,或者它可以是部分或完全手动的。
[0258]
模拟结果549是令人满意还是不令人满意可例如基于:用户判断、基于模拟而对机器人系统预期性能的指示参数的计算、或者对操作可行性的评估。
[0259]
在该方法的下一步骤m9中,将机器人控制软件代码546编译成机器人控制软件程序544,并且将辅助控制软件代码547编译成辅助控制软件程序545。这些程序544、545由机器人控制器110可读取。机器人控制器110可例如是多核处理器,并且两个程序544、545可用于在两个单独的核或两组核上执行相应的进程334、335。
[0260]
在本发明的一些其他实施方案中,基于机器人控制软件程序544和辅助控制软件程序545而不是直接基于机器人控制软件代码546和辅助控制软件代码547来执行模拟。在这些实施方案中,在编译步骤m9之前,执行模拟步骤m7。在一些其他实施方案中,基于编译和未编译代码的组合来执行模拟。
[0261]
在该方法的下一步骤m10中,将至少一个应用输入信号338从外围设备336和机器人控制进程334中的任一项传输到机器人控制器110的辅助控制进程335。
[0262]
在该方法的下一步骤m11中,通过执行基于辅助控制软件程序545的辅助控制进程335,基于至少一个应用输入信号338来生成一个或多个逻辑信号337。
[0263]
在该方法的下一步骤m12中,通过执行辅助控制进程335来建立至少一个逻辑输出信号339。以此方式,至少一个逻辑输出信号339可基于在执行辅助控制进程335时所建立的一个或多个逻辑信号337。
[0264]
在该方法的下一步骤m13中,将至少一个逻辑输出信号339提供给外围设备336和/或机器人控制软件代码/程序/进程中的任一项。
[0265]
在该方法的下一步骤m14中,机器人系统100的机器人臂101由机器人控制器110通过执行基于机器人控制软件程序544的机器人控制进程334来控制。此外,基于至少一个逻辑输出信号339,机器人控制器110控制外围设备336和机器人臂101中的任一项。
[0266]
因此,本发明涉及使用机器人控制器来执行辅助控制软件代码,该辅助控制软件代码占用了来自机器人控制器的计算能力,而这计算能力是繁重的机器人臂控制的数学进
程所需要的。然而,通过策略性地执行与有限数量的外围设备相关联的仔细选择的逻辑处理,在针对机器人控制器对机器人控制器的移动控制能力的影响最小的情况下,可以由机器人控制器来执行机器人控制进程和辅助控制进程。因此,本发明可主要应用于中小型机器人应用中,其中需要有限量的计算能力来执行辅助控制进程。这是为了允许机器人控制器同时控制机器人臂移动和应用对象的处理。然而,注意,本发明不限于任何大小或类型的机器人应用,特别是由于处理器的计算能力与日俱增,其可在未来稳定地扩展本发明的机器人应用范围。
[0267]
注意,通常,本发明的任何方法步骤可例如经由计算机或处理器(诸如机器人控制器)自动执行。
[0268]
现在从上文可以清楚地看出,本发明涉及一种机器人系统和用于控制机器人系统的方法。通过策略性地分配机器人控制器110的资源以执行逻辑信号337、339的信号处理,可减少对辅助电路(诸如外部可编程逻辑电路)的需要,以将机器人臂101安装于机器人应用中。该改进式的用以促进机器人臂101与其机器人应用之间的交互的方法还允许增强对机器人系统的编程,该增强又允许对机器人系统100的直接模拟,以评估并优化系统100的推荐操作。本发明也使得用户能够在相同的编程环境中执行机器人臂的编程和逻辑信号的信号处理,因此用户将能够更容易地学习并实现整个机器人系统的机器人编程和信号逻辑编程两者。
[0269]
参考具体的方法和机器人系统示例,出于说明而非限制性目的,上文已经对本发明进行了例示。为了理解本发明的实施方案,已经提供了诸如具体方法和系统结构等细节。需注意,已经省略了众所周知的系统、装置、电路和方法的详细说明,以便不会使用不必要的细节模糊本发明的描述。应当理解,本发明不限于上文所描述的特定示例,并且本领域的技术人员还可以在没有这些具体细节的其他实施方案中实施本发明。因此,本发明可以在如权利要求中所指定的本发明的范围内以多种变体来设计和改变。
[0270]
附图标号简述
[0271]
[0272]
[0273]