一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于EtherCAT自动化的机械臂安全检测方法及系统

2022-04-24 21:28:06 来源:中国专利 TAG:

基于ethercat自动化的机械臂安全检测方法及系统
技术领域
1.本发明涉及工业机械臂的安全检测技术领域,特别是指一种基于ethercat自动化的机械臂安全检测方法及系统。


背景技术:

2.在全球的智能制造业中,工业机械臂扮演着越来越重要的角色,已经遍布各种智能工厂,如汽车组装、工业焊接以及零件挑选等场景,甚至中国的空间站也搭载了机械臂系统。工业机械臂已经成为工业领域不可或缺的一部分,因为其不但可以提高生产效率,还可以降低工作的失误率。并且工业机械臂的数量逐年在增长,具有很大的发展空间。
3.传统的机械臂系统只被应用在封闭的作业环境中,因为传统工业设备主要是靠工人来进行操作或者只作用于独立的工作台。随着通信网络与相关硬件的发展,现在的机械臂系统已经开始组网,形成智能工厂,整个依靠机械臂的生产流程越来越开放,逐渐接入外网组成cpss(cyber-physical-social systems,社会物理信息系统),这样可以对工厂的生产情况与数据进行监控与智能化操作,及其方便了工业化过程。但是系统开放性带来便利的同时,也带来很大的安全威胁。
4.随着针对cpss攻击的深入研究,目前的攻击可涉及到协议攻击、传感器数据攻击以及控制系统攻击等。同时,有针对性攻击造成的损害覆盖了物理域和网络域。上面提到随着智能化生产流程,机械臂难免接入外网,这样对于网络或者协议的攻击就会造成网络域的破坏;对于控制系统的攻击,如篡改指令或者传感数据、控制数据欺骗攻击等,虽不会影响网络域,但是极可能会造成物理损害,甚至人员损伤,后果不堪设想。攻击者会对控制系统以及传感器进行攻击,将机械臂的执行指令逻辑进行篡改,致使机械臂不能够按照正常作业流程来运行,为了避免系统检测出异常,还对传感器进行攻击,将传感器数据篡改为正常数据进行反馈,造成很大的危害。随着入侵技术的提高,现在出现很多隐蔽攻击,系统异常检测更难以发现,可以造成持久的伤害。所以对于机械臂系统的防护成为重中之重,刻不容缓。


技术实现要素:

5.本发明针对现有技术机械臂在流水线作业时安全难以得到保障的问题,提出了本发明。
6.为解决上述技术问题,本发明提供如下技术方案:
7.一方面,本发明提供了一种基于ethercat自动化的机械臂安全检测方法,该方法由基于ethercat自动化的机械臂安全检测系统实现,该系统包括控制系统模块、协议模块、传感器模块、数据捕获模块、入侵检测模块、远程日志模块;该方法包括:
8.s1、控制系统模块通过协议模块下发控制数据控制机械臂完成自动化作业流程,并接收传感器模块实时反馈的关节数据。
9.s2、数据捕获模块获取机械臂的实时数据;其中,实时数据包括协议数据以及关节
数据;关节数据由数据捕获模块通过传感器模块获取得到。
10.s3、入侵检测模块基于实时数据进行协议数据规则匹配与物理过程检测,得到入侵检测结果;其中入侵检测结果为检测机械臂在进行正常作业时,是否发生入侵行为。
11.s4、远程日志模块基于入侵检测结果,完成机械臂作业时发生入侵行为后的日志记录与响应工作。
12.可选地,s3中的入侵检测模块包括协议入侵检测模块以及物理过程入侵检测模块。
13.入侵检测模块基于实时数据进行协议数据规则匹配与物理过程检测,得到入侵检测结果包括:
14.将实时数据的协议数据输入到协议入侵检测模块,检测机械臂作业时、以太网控制自动化技术ethercat协议数据是否发生入侵行为。
15.将实时数据的关节数据输入到物理过程入侵检测模块,检测机械臂作业时物理过程是否发生入侵行为。
16.可选地,协议入侵检测模块的建立过程包括:
17.获取机械臂正常运行状态下的协议数据。
18.对协议数据进行特征提取。
19.基于特征提取后的协议数据建立白名单规则库,得到协议入侵检测模块。
20.可选地,将实时数据的协议数据输入到协议入侵检测模块,检测机械臂作业时、以太网控制自动化技术ethercat协议数据是否发生入侵行为包括:
21.将实时数据的协议数据输入到协议入侵检测模块,判断实时数据是否符合白名单规则库,如果实时数据符合白名单规则库,则判断机械臂作业时ethercat协议数据未发生入侵行为,如果实时数据不符合白名单规则库,则判断机械臂作业时ethercat协议数据发生了入侵行为。
22.可选地,物理过程入侵检测模块的建立过程包括:
23.获取机械臂正常运行状态下的运动学与动力学参数。
24.基于运动学与动力学参数建立数据集。
25.基于数据集,训练机器学习模型,机器学习模型对机械臂的运行状态进行分类,从而判断运行状态是否异常,得到物理过程入侵检测模块;其中,运行状态包括初始化状态、向抓取点运行状态、抓取状态、向放置点运行状态以及放置状态。
26.可选地,将实时数据的关节数据输入到物理过程入侵检测模块,检测机械臂作业时物理过程是否发生入侵行为包括:
27.将实时数据的关节数据输入到物理过程入侵检测模块,判断机械臂在运行过程中,任一时刻运行状态是否衔接上一时刻运行状态或运行状态未发生变化,如果任一时刻运行状态衔接上一时刻运行状态或运行状态未发生变化,则判断机械臂作业时物理过程未发生入侵行为,如果任一时刻运行状态未衔接上一时刻运行状态且运行状态发生变化,则判断机械臂作业时物理过程发生了入侵行为。
28.可选地,s4中的远程日志模块基于入侵检测结果,完成机械臂作业时发生入侵行为后的日志记录与响应工作包括:
29.当入侵检测结果为机械臂在进行作业时发生入侵行为时,远程日志模块将发生入
侵行为的异常数据反馈给安全员主机,安全员主机向控制系统模块下达停机指令,并根据异常数据构建异常日志文件。
30.另一方面,本发明提供了一种基于ethercat自动化的机械臂安全检测系统,该系统应用于实现基于ethercat自动化的机械臂安全检测方法,该系统包括控制系统模块、协议模块、传感器模块、数据捕获模块、入侵检测模块、远程日志模块;其中:
31.控制系统模块,用于通过协议模块下发控制数据控制机械臂完成自动化作业流程,并接收传感器模块实时反馈的关节数据。
32.协议模块,用于传输控制系统模块与传感器模块之间的数据。
33.传感器模块,用于获取并实时反馈的关节数据。
34.数据捕获模块,用于获取机械臂的实时数据;其中,实时数据包括协议数据以及关节数据;关节数据由数据捕获模块通过传感器模块获取得到。
35.入侵检测模块,用于基于实时数据进行协议数据规则匹配与物理过程检测,得到入侵检测结果;其中入侵检测结果为检测机械臂在进行正常作业时,是否发生入侵行为。
36.远程日志模块,用于基于入侵检测结果,完成机械臂作业时发生入侵行为后的日志记录与响应工作。
37.可选地,入侵检测模块包括协议入侵检测模块以及物理过程入侵检测模块。
38.入侵检测模块,进一步用于:
39.将实时数据的协议数据输入到协议入侵检测模块,检测机械臂作业时、以太网控制自动化技术ethercat协议数据是否发生入侵行为。
40.将实时数据的关节数据输入到物理过程入侵检测模块,检测机械臂作业时物理过程是否发生入侵行为。
41.可选地,入侵检测模块,进一步用于:
42.获取机械臂正常运行状态下的协议数据。
43.对协议数据进行特征提取。
44.基于特征提取后的协议数据建立白名单规则库,得到协议入侵检测模块。
45.可选地,入侵检测模块,进一步用于:
46.将实时数据的协议数据输入到协议入侵检测模块,判断实时数据是否符合白名单规则库,如果实时数据符合白名单规则库,则判断机械臂作业时ethercat协议数据未发生入侵行为,如果实时数据不符合白名单规则库,则判断机械臂作业时ethercat协议数据发生了入侵行为。
47.可选地,入侵检测模块,进一步用于:
48.获取机械臂正常运行状态下的运动学与动力学参数。
49.基于运动学与动力学参数建立数据集。
50.基于数据集,训练机器学习模型,机器学习模型对机械臂的运行状态进行分类,从而判断运行状态是否异常,得到物理过程入侵检测模块;其中,运行状态包括初始化状态、向抓取点运行状态、抓取状态、向放置点运行状态以及放置状态。
51.可选地,入侵检测模块,进一步用于:
52.将实时数据的关节数据输入到物理过程入侵检测模块,判断机械臂在运行过程中,任一时刻运行状态是否衔接上一时刻运行状态或运行状态未发生变化,如果任一时刻
运行状态衔接上一时刻运行状态或运行状态未发生变化,则判断机械臂作业时物理过程未发生入侵行为,如果任一时刻运行状态未衔接上一时刻运行状态且运行状态发生变化,则判断机械臂作业时物理过程发生了入侵行为。
53.可选地,远程日志模块,进一步用于:
54.当入侵检测结果为机械臂在进行作业时发生入侵行为时,远程日志模块将发生入侵行为的异常数据反馈给安全员主机,安全员主机向控制系统模块下达停机指令,并根据异常数据构建异常日志文件。
55.本发明实施例提供的技术方案带来的有益效果至少包括:
56.上述方案中,适用于所有的工业机械臂作业环境,采用ethercat协议保证了数据的实时性与可靠性传输。本发明将入侵检测系统嵌入到整个机械臂作业系统,在可以检测入侵的同时不会影响机械臂的正常运行与系统的实时性。本发明的入侵检测系统包含了协议与机械臂物理过程的入侵检测,构成了面防御,比点防御更有效,可以有效检测隐蔽攻击,引入了元组与状态分类器,提高了检测精度,在机械臂流水线作业过程中,保护了机械臂的运行安全,提高了系统的安全性。本发明采用ethercat协议作为数据传输协议,拓扑结构灵活,可随时增减设备,不会影响整个系统的功能性。本发明实现了对机械臂系统的隐蔽攻击检测,提高了系统放入安全性与稳定性。
附图说明
57.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
58.图1是本发明基于ethercat自动化的机械臂安全检测方法流程示意图;
59.图2是本发明物理平台框架图;
60.图3是本发明ros控制系统模块的控制流程图;
61.图4是本发明数据捕获模块的工作示意图;
62.图5是本发明ethercat协议入侵检测的工作流程图;
63.图6是本发明机械臂物理过程入侵检测的工作流程图;
64.图7是本发明远程日志模块的原理图;
65.图8是本发明基于ethercat自动化的机械臂安全检测系统框图。
具体实施方式
66.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
67.如图1所示,本发明实施例提供了一种基于ethercat自动化的机械臂安全检测方法,该方法可以由基于ethercat自动化的机械臂安全检测系统实现。如图1所示的基于ethercat自动化的机械臂安全检测方法流程图,该方法的处理流程可以包括如下的步骤:
68.s1、控制系统模块通过协议模块下发控制数据控制机械臂完成自动化作业流程,并接收传感器模块实时反馈的关节数据。
69.一种可行的实施方式中,在机械臂完成自动化作业流程中,使用到软件平台与硬件平台,软件平台依托于硬件平台实现。
70.1)如图2所示,硬件平台主要包含:控制系统pc(personal computer,个人计算机)、et2000网络探针、ethercat(ethe control automation technology,以太网控制自动化技术)从站板卡以及执行器。
71.①
控制系统pc可以采用台式计算机;cpu可以使用intel i5-7500;内存可以为32gb,64位操作系统;搭载linux的ubuntu16.04系统,用于控制系统模块的运行以及底层通信的运行环境。控制系统pc用于安装ros(robot operating system,机器人控制系统),ros可以进行机械臂的运动规划任务,并且ros具有ethercat软主站通信功能,可以保证控制数据与传感器数据的下发与接收,进而保证机械臂的可靠运行。如图3所示,ros包括rviz三维可视化界面、moveit配置包、配置层以及信息传输层。三维可视化界面用于机械臂模型显示以及各种插件的配置;moveit配置包为机械臂的运动规划提供api(application programming interface,应用程序接口),实现具体任务的开发;ros的配置层可用于配置ros的参数服务器以及机械臂的关节特性参数数据;信息传输层在本发明中依靠ethercat协议,将软主站的链接库配置到的ros的功能包中,功能包包括机械臂控制程序。
72.ros控制机械臂完成自动化作业流程的步骤可以包括:根据作业流程的需求,采集机械臂作业过程中必须到达的三维空间点对应的末端位姿点,将必须到达的三维空间点对应的末端位姿点作为机械臂的目标点;规划器根据目标点以及通过监听器接收的传感器模块采集的传感器数据进行路径规划,找到最优路径后,将最优路径中的路径点代入逆解器求解各个关节的运动参数,将运动参数下发到执行器,执行器控制机械臂的各个关节按照接收到的运动参数进行运动。
73.优选地,上述逆解器可以是自行编写的ik(inverse kinematics,反向运动)逆解器,规划器可以是ompl(the open motion planning library,基于采样方法的开源机器人运动规划库)规划器。
74.②
et2000网络探针可以采用倍福的产品,具有8端口4通道,延时小于1μs,时间戳的精度在1ns,运行期间允许的环境温度范围是0℃- 55℃,探针端口的速度可达100mbit/s;et2000网络探针用于协议数据包的捕获,在物理平台中的位置是在控制系统pc与ethercat从站板卡之间,在捕获数据包的同时不会影响数据的传输速率,不会影响整个系统的功能。
75.③
ethercat从站板卡的处理器可以采用arm cortex-m3架构的stm32f407zet6,ethercat从站板卡的芯片可以采用lan9252,用于接收软主站发送的控制数据,并将控制数据转换为can(controller area network,控制器局域网络)数据进行机械臂的控制,stm32f407zet6的处理器用于控制从站板卡进行数据的转发,lan9252用于ethercat数据的卸载与加载。软主站通过网线与网络探针连接,网络探针通过网线与从站板卡连接,上述过程的数据传输通过ethercat协议完成。
76.④
执行器,用于完成物理空间的作业任务,根据控制系统模块下发的指令,按照规定的操作顺序完成运动。执行器是由7个伺服电机和末端手爪组成,7个伺服电机分布在机械臂的7个关节,用于带动相应的连杆进行运动,末端手爪通过2个舵机控制2个指关节进行物品的抓取,由以上组合完成完整的作业任务。
77.控制系统pc、et2000网络探针与ethercat从站板卡之间采用超六类千兆网线连接,上游设备的out接口接入下游设备的in接口,串联而成。软主站将控制数据下发,每一个从站板卡从控制数据的数据包中只卸载自己对应的数据,并将对应的数据转换为can数据,从而控制机械臂运动完成作业任务,每个从站板卡装载需要上传的传感器数据,上传至软主站后,软主站将传感器数据卸载。
78.2)软件平台主要包括:控制系统模块、协议模块、传感器模块、数据捕获模块、入侵检测模块以及远程日志模块。
79.①
控制系统模块,主要用于在机械臂的自动化作业流程中对路径轨迹进行规划运动,并接收传感器模块实时反馈的关节数据,将计算好的控制指令通过ethercat协议下发到从站板卡,进而控制机械臂的运行,完成整个作业流程。
80.②
协议模块,用于传输控制系统模块与传感器模块之间的数据,采用ethercat协议,此协议的结构为主从站模式,实时性、可靠性高。
81.③
传感器模块,用于实时采集每个关节的关节数据,可以包括关节角度数据与关节速度数据,并反馈给控制系统模块。传感器采用的是绝对式编码器,精度在0.005
°

82.s2、数据捕获模块获取机械臂的实时数据。
83.其中,实时数据包括协议数据以及关节数据;关节数据由数据捕获模块通过传感器模块获取得到。
84.一种可行的实施方式中,如图4所示,数据捕获模块主要分为2个子模块,分别为ethercat协议数据包捕获子模块与机械臂关节数据捕获子模块。ethercat协议数据包捕获子模块通过et2000网络探针实现,et2000放置在软主站与从站板卡之间,用来捕获协议数据的数据包。机械臂关节数据捕获子模块是通过libpcap函数来抓取关节数据,具体的,关节数据是在传感器数据反馈至控制系统模块时,通过libpcap函数抓取得到。
85.s3、建立协议入侵检测模块。
86.可选地,如图5所示,上述步骤s3可以包括下述步骤s31-s33:
87.s31、获取机械臂正常运行状态下的协议数据。
88.一种可行的实施方式中,通过放置在软主站与从站板卡之间的et2000,捕获机械臂正常运行状态下的ethercat协议数据包,进而获取机械臂正常运行状态下的协议数据。
89.s32、对协议数据进行特征提取。
90.一种可行的实施方式中,对协议数据进行深度解析,包括对机械臂正常运行状态下的协议数据进行关键特征参数提取,将提取到的关键特征参数进一步构建为元组。
91.s33、基于特征提取后的协议数据建立白名单规则库,得到协议入侵检测模块。
92.一种可行的实施方式中,在构建白名单规则库时使用三种类别的元组,分别为:协议数据规则元组、流量特征规则元组以及控制器数据规则元组。其中:
93.1)协议数据规则元组选用协议数据中的目的地址、源地址、帧类型、ethercat数据长度和ethercat头类型作为规则检测内容,协议数据规则元组如下:《规则id,目的地址,源地址,帧类型,ethercat数据长度,类型》,设定协议数据规则的规则id为1。
94.2)流量特征规则元组中选用数据包大小、最小流量与最大流量作为规则检测内容,流量特征规则元组如下:《规则id,数据包大小,最小流量,最大流量》,最小流量与最大流量指的都是单位时间内的流量,设定流量特征规则的规则id为2。
95.3)控制器数据规则元组中选用地址区、三环pid参数作为规则检测内容,三环为电流环、速度环以及位置环,设定控制器数据规则的规则id为3。因为机械臂有多个关节,每一个关节都需要有一个控制器数据规则元组,所以控制器数据规则元组由一个上层元组与多个对应的下属子规则元组组成。以7个关节为例,其上层元组如下:《规则id,地址区,joint1_id,joint2_id,joint3_id,joint4_id,joint5_id,joint6_id,joint7_id》,joint1_id-joint7_id表示关节的id号,每个关节的id号对应的下属子规则元组为:《joint_id,cp,ci,cd,vp,vi,vd,pp,pi,pd》,其中cp为电流环的比例参数,ci为电流环的积分参数,cd为电流环的微分参数为,vp为速度环的比例参数,vi为为速度环的积分参数,vd为速度环的微分参数,pp为位置环的比例参数,pi为位置环的积分参数,pd为位置环的微分参数。
96.构建完成规则元组之后建立trie树,该trie树用于后续的规则匹配检测。当机械臂进行作业任务时,会根据当前作业任务建立白名单规则库;当机械臂作业任务更新为下一个作业任务时,会根据下一个作业任务建立白名单规则库,并将白名单规则库更新,更新后的白名单规则库包括当前作业任务白名单规则库和下一个作业任务白名单规则库。举例来说,当前机械臂作业任务为任务1,构建白名单规则库1,下一个机械臂作业任务为任务2,构建白名单规则库2,则更新后的白名单规则库包括白名单规则库1和白名单规则库2.
97.s4、将实时数据的协议数据输入到协议入侵检测模块,检测机械臂正常作业时,ethercat协议数据是否发生入侵行为。
98.可选地,将实时数据的协议数据输入到协议入侵检测模块,判断实时数据是否符合白名单规则库,如果实时数据符合白名单规则库,则判断机械臂作业时ethercat协议数据未发生入侵行为,如果实时数据不符合白名单规则库,则判断机械臂作业时ethercat协议数据发生了入侵行为。
99.一种可行的实施方式中,获取实时数据的协议数据,利用上述建立的trie树的高效模式匹配算法,判断该协议数据是否符合白名单规则库中三种类别元组的内容,若协议数据属于三种类别元组的内容,则判断机械臂作业时ethercat协议数据未发生入侵行为;若协议数据不属于三种类别元组的内容,则判断机械臂作业时ethercat协议数据发生入侵行为。
100.s5、建立物理过程入侵检测模块。
101.一种可行的实施方式中,上述步骤s5可以包括下述步骤s51-s53:
102.s51、获取机械臂正常运行状态下的运动学与动力学参数。
103.一种可行的实施方式中,机械臂正常运行时,利用libpcap函数抓取整个作业流程的关节数据,对抓取到的关节数据进行解析后,计算机械臂正常运行状态下的运动学与动力学参数,运动学包括末端位姿,根据关节角度数据使用运动学的正运动学求解末端位姿,设末端位姿用表示,其中t为齐次变换矩阵,由关节角度计算得出,k为位姿数量。在计算动力学参数之前,可以先对机械臂进行一次参数辨识,确定动力学模型中所使用的参数是正确的,然后计算动力学参数,动力学参数为各关节力矩,利用牛顿-欧拉方法进行求解即可得到。
104.需要说明的是,上述获取机械臂正常运行状态下的运动学与动力学参数的过程,可以采用现有技术中常用的技术手段,本发明此处不再赘述。
105.s52、基于运动学与动力学参数建立数据集。
106.一种可行的实施方式中,将机械臂的关节角度、夹爪角度、关节速度、关节加速度、以及关节力矩作为特征值,其中,关节角度、夹爪角度、关节速度、关节加速度通过传感器模块获取,关节力矩通过关节角度、夹爪角度、关节速度、关节加速度计算得到;对每一组数据保存时打上相应的状态标签。加入动力学参数是因为更能代表机械臂的运动特性,分类器的准确率更高。将特征数据进行预处理,去除无效数据,然后进行数据标准化。
107.s53、基于数据集,训练机器学习模型,机器学习模型对机械臂的运行状态进行分类,得到物理过程入侵检测模块。
108.其中,运行状态包括初始化状态、向抓取点运行状态、抓取状态、向放置点运行状态以及放置状态。
109.一种可行的实施方式中,利用pso_svm(particle swarm optimization_support vector machine,基于蚁群优化算法的支持向量)模型对训练数据集进行训练,得到训练好的训练数据集,根据训练好的训练数据集对初始的状态分类器模型中的参数进行调优,达到预期的良好分类效果,得到训练好的状态分类器模型。状态分类器模型可以是现有技术中常用的模型,例如决策树模型、梯度提升树模型或者朴素贝叶斯模型等,本发明对此不做限制。
110.s6、将实时数据的关节数据输入到物理过程入侵检测模块,检测机械臂作业时物理过程是否发生入侵行为。
111.可选地,将实时数据的关节数据输入到物理过程入侵检测模块,判断机械臂在运行过程中,任一时刻运行状态是否衔接上一时刻运行状态或运行状态未发生变化,如果任一时刻运行状态衔接上一时刻运行状态或运行状态未发生变化,则判断机械臂作业时物理过程未发生入侵行为,如果任一时刻运行状态未衔接上一时刻运行状态且运行状态发生变化,则判断机械臂作业时物理过程发生了入侵行为。
112.其中,任一时刻指的是任一检测时刻,上一时刻指的是前一个检测时刻。
113.一种可行的实施方式中,如图6所示,在物理过程入侵检测阶段,将机械臂的实时关节数据进行运动学与动力学参数解算之后,将解算得到的特征数据进行预处理,将预处理后的特征数据代入状态分类器模型进行分类,可以得到当前时刻检测到的运行状态。
114.假设运行状态总共有n个,按照排列顺序分别用s1、s2、
……
sm、
……
、sn表示,当前时刻yi检测到的运行状态为sm,如果上一时刻y
i-1
检测到的运行状态为s
m-1
,说明当前时刻的运行状态衔接上一时刻的运行状态;如果上一时刻y
i-1
检测到的运行状态为sm,说明当前时刻的运行状态与上一时刻的运行状态一致,即运行状态未发生变化,在这两种情况下,判断机械臂作业时物理过程未发生入侵。反之,如果上一时刻y
i-1
检测到的运行状态不是s
m-1
也不是sm,则判断机械臂作业时物理过程发生了入侵。
115.举例来说,假设运行状态可以包括初始化状态、向抓取点运行状态、抓取状态、向放置点运行状态以及放置状态,上述运行状态按顺序排列。
116.判断任一时刻运行状态是否衔接上一时刻运行状态时,如果当前检测到的运行状态是向抓取点运行状态,上一时刻检测到的运行状态是初始化状态,则判断当前时刻运行状态衔接了上一时刻运行状态;如果当前检测到的运行状态是抓取状态,上一时刻检测到的运行状态是向抓取点运行状态,则判断当前时刻运行状态衔接了上一时刻运行状态;如
果当前检测到的运行状态是向放置点运行状态,上一时刻检测到的运行状态是抓取状态,则判断当前时刻运行状态衔接了上一时刻运行状态;如果当前检测到的运行状态是放置状态,上一时刻检测到的运行状态是向放置点运行状态,则判断当前时刻运行状态衔接了上一时刻运行状态。运行状态未发生变化,指的是当前检测到的运行状态与上一检测时刻检测到的运行状态保持一致,例如,当前检测到的运行状态是向抓取点运行状态,且上一检测时刻检测到的运行状态也是向抓取点运行状态,则判断运动状态未发生变化。这种情况下,可以判断机械臂作业时物理过程未发生入侵行为。
117.反过来讲,当前时刻检测到的运行状态是向抓取点运行状态,而上一时刻检测到的运行状态不是初始化状态也不是向抓取点运行状态时,则判断当前运行状态未衔接上一时刻运行状态且运行状态发生了变化;当前时刻检测到的运行状态是抓取状态,而上一时刻检测到的运行状态不是向抓取点运行状态也不是抓取状态时,则判断当前运行状态未衔接上一时刻运行状态且运行状态发生了变化;当前检测到的运行状态为向放置点运行状态,而上一时刻检测到的运行状态不是抓取状态也不是向放置点运行状态,则判断当前运行状态未衔接上一时刻运行状态且运行状态发生了变化;当前检测到的运行状态为放置状态,而上一时刻检测到的运行状态不是向放置点运行状态也不是放置状态,则判断当前运行状态未衔接上一时刻运行状态且运行状态发生了变化;则代表机械臂作业时物理过程发生入侵行为。
118.s7、远程日志模块基于入侵检测结果,完成机械臂作业时发生入侵行为后的日志记录与响应工作。
119.一种可行的实施方式中,当协议入侵检测结果和物理入侵检测结果是未发生入侵时,则机械臂正常执行作业,继续检测所获取的数据。当协议入侵检测结果和物理入侵检测结果的任一个或全部入侵检测结果是发生了入侵时,远程日志模块需要完成机械臂作业时发生入侵行为后的响应工作。
120.发生入侵行为后的响应工作具体可以包括:如图7所示,远程日志模块主要负责机械臂系统出现异常后进行入侵响应工作。当ethercat协议入侵检测或物理过程入侵检测发生异常时,会将异常数据发送给安全员主机,安全员主机可以由机器控制,或人为控制,当安全员主机由机器控制或人为控制时,接收到异常数据之后首先给控制系统下达停机指令,控制系统使机械臂停机,不再运行,避免发生不可逆转的损害,同时根据异常数据生成异常数据日志,供工作人员进行分析收到入侵的具体模块,以及异常数据的具体内容,从而完成发生入侵后的系统响应工作。其中,异常数据可以是不符合白名单规则库的数据以及运行状态未衔接上一时刻运行状态且运行状态发生变化。
121.本发明实施例中,适用于所有的工业机械臂作业环境,采用ethercat协议保证了数据的实时性与可靠性传输。本发明将安全检测系统嵌入到整个机械臂系统中,在可以检测入侵的同时不会影响机械臂的正常运行与系统的实时性。本发明的安全检测系统包含了协议与物理过程的入侵检测,构成了面防御,比点防御更有效,可以有效检测隐蔽攻击,引入了元组与状态分类器,提高了检测精度,在机械臂流水线作业过程中,保护了机械臂的运行安全,提高了系统的安全性。本发明采用ethercat协议作为数据传输协议,拓扑结构灵活,可随时增减设备,不会影响整个机械臂系统的功能性。本发明实现了对机械臂系统的隐蔽攻击检测,提高了系统放入安全性与稳定性。
122.如图8所示,本发明实施例提供了一种基于ethercat自动化的机械臂安全检测系统800,该系统800应用于实现基于ethercat自动化的机械臂安全检测方法,该系统800包括控制系统模块810、协议模块820、传感器模块830、数据捕获模块840、入侵检测模块850、远程日志模块860;其中:
123.控制系统模块810,用于通过协议模块下发控制数据控制机械臂完成自动化作业流程,并接收传感器模块实时反馈的关节数据。
124.协议模块820,用于传输控制系统模块与传感器模块之间的数据。
125.传感器模块830,用于获取并实时反馈的关节数据。
126.数据捕获模块840,用于获取机械臂的实时数据;其中,实时数据包括协议数据以及关节数据;关节数据由数据捕获模块通过传感器模块获取得到。
127.入侵检测模块850,用于基于实时数据进行协议数据规则匹配与物理过程检测,得到入侵检测结果;其中入侵检测结果为检测机械臂在进行正常作业时,是否发生入侵行为。
128.远程日志模块860,用于基于入侵检测结果,完成机械臂作业时发生入侵行为后的日志记录与响应工作。
129.可选地,入侵检测模块包括协议入侵检测模块以及物理过程入侵检测模块。
130.入侵检测模块850,进一步用于:
131.将实时数据的协议数据输入到协议入侵检测模块,检测机械臂作业时、以太网控制自动化技术ethercat协议数据是否发生入侵行为。
132.将实时数据的关节数据输入到物理过程入侵检测模块,检测机械臂作业时物理过程是否发生入侵行为。
133.可选地,入侵检测模块850,进一步用于:
134.获取机械臂正常运行状态下的协议数据。
135.对协议数据进行特征提取。
136.基于特征提取后的协议数据建立白名单规则库,得到协议入侵检测模块。
137.可选地,入侵检测模块850,进一步用于:
138.将实时数据的协议数据输入到协议入侵检测模块,判断实时数据是否符合白名单规则库,如果实时数据符合白名单规则库,则判断机械臂作业时ethercat协议数据未发生入侵行为,如果实时数据不符合白名单规则库,则判断机械臂作业时ethercat协议数据发生了入侵行为。
139.可选地,入侵检测模块850,进一步用于:
140.获取机械臂正常运行状态下的运动学与动力学参数。
141.基于运动学与动力学参数建立数据集。
142.基于数据集,训练机器学习模型,机器学习模型对机械臂的运行状态进行分类,从而判断运行状态是否异常,得到物理过程入侵检测模块;其中,运行状态包括初始化状态、向抓取点运行状态、抓取状态、向放置点运行状态以及放置状态。
143.可选地,入侵检测模块850,进一步用于:
144.将实时数据的关节数据输入到物理过程入侵检测模块,判断机械臂在运行过程中,任一时刻运行状态是否衔接上一时刻运行状态或运行状态未发生变化,如果任一时刻运行状态衔接上一时刻运行状态或运行状态未发生变化,则判断机械臂作业时物理过程未
发生入侵行为,如果任一时刻运行状态未衔接上一时刻运行状态且运行状态发生变化,则判断机械臂作业时物理过程发生了入侵行为。
145.可选地,远程日志模块860,进一步用于:
146.当入侵检测结果为机械臂在进行作业时发生入侵行为时,远程日志模块将发生入侵行为的异常数据反馈给安全员主机,安全员主机向控制系统模块下达停机指令,并根据异常数据构建异常日志文件。
147.本发明实施例中,适用于所有的工业机械臂作业环境,采用ethercat协议保证了数据的实时性与可靠性传输。本发明将入侵检测系统嵌入到整个机械臂作业系统,在可以检测入侵的同时不会影响机械臂的正常运行与系统的实时性。本发明的入侵检测系统包含了协议与机械臂物理过程的入侵检测,构成了面防御,比点防御更有效,可以有效检测隐蔽攻击,引入了元组与状态分类器,提高了检测精度,在机械臂流水线作业过程中,保护了机械臂的运行安全,提高了系统的安全性。本发明采用ethercat协议作为数据传输协议,拓扑结构灵活,可随时增减设备,不会影响整个系统的功能性。本发明实现了对机械臂系统的隐蔽攻击检测,提高了系统放入安全性与稳定性。
148.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
149.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献