CN115091471B - 基于EtherCAT的机械臂安全控制方法和装置 - Google Patents
基于EtherCAT的机械臂安全控制方法和装置 Download PDFInfo
- Publication number
- CN115091471B CN115091471B CN202211029309.4A CN202211029309A CN115091471B CN 115091471 B CN115091471 B CN 115091471B CN 202211029309 A CN202211029309 A CN 202211029309A CN 115091471 B CN115091471 B CN 115091471B
- Authority
- CN
- China
- Prior art keywords
- slave station
- joint
- station
- data frame
- preset
- 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.)
- Active
Links
Images
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/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本发明提供一种基于EtherCAT的机械臂安全控制方法和装置,涉及工业控制技术领域,其中方法包括:当任一从站接收到控制数据帧后,将该从站存储的TXPDO计数索引值加1后写入到控制数据帧中,并将控制数据帧传递给下一从站;待控制数据帧传送回主站后,主站从控制数据帧中读取各个从站对应的TXPDO计数索引值;若在预设时间段内均无法从控制数据帧中读取任一从站对应的TXPDO计数索引值,则确定该从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常;若确定任一从站中存在上述异常,则对其进行异常处理。本发明准确识别了从站内部微控制单元异常或微控制单元与ASIC芯片连接异常,提高了机械臂控制安全性。
Description
技术领域
本发明涉及工业控制技术领域,尤其涉及一种基于EtherCAT的机械臂安全控制方法和装置。
背景技术
随着工业自动化水平的逐渐提升,轻型机器人越来越多的应用在工业实际生产的各种场景中。由于工业生产的功能需求和工况环境愈加复杂,因此对机器人机械臂的扭矩、速度、位置控制等要求越来越精准,对伺服运动控制、外部IO数据采集的传输速度和实时性要求越来越苛刻。在此背景下,EtherCAT总线作为一种实时以太网技术,其具备高速、高数据、高同步性的特点,且兼容标准以太网,具有非常好的硬实时性能,相对于传统的现场总线***,底层的I/O的响应时间更短,各个从站节点的同步性更好、数据量更大,因此在工业自动化控制领域得到了应用。
在将EtherCAT总线技术应用到轻型机器人机械臂的数据传输上,需要重点考虑其中主站和从站的异常检测,以提高机械臂控制的安全性,保障机械臂本身以及机械臂操作对象的安全性。尤其是从站内部ASIC芯片与微处理单元(MCU Slave)之间的传输异常和微处理单元本身的异常,由于其不影响数据帧在主站和从站以及从站和从站之间的传输,因此容易被忽略。但是,上述从站内部的异常会造成相应从站不能及时接收和处理主站发出的位置指令,导致机械臂的相应关节无法正确及时地做出反应,导致机械臂关节之间易发生碰撞而产生损伤,同时也易导致机械臂操作失误,影响工业制造的安全性。
然而,目前针对EtherCAT的异常检测方法中,通常通过主站读取各个从站的ASIC芯片中保存的从站状态,通过从站状态判断从站是否出现异常。上述方式中,由于从站状态保存在ASIC芯片中,因此只能检测到主站与从站ASIC芯片之间的连接异常或者从站ASIC芯片之间的连接异常。若主站与从站ASIC芯片之间或者从站ASIC芯片之间的连接正常,则无法检测出从站内部ASIC芯片与MCUSlave之间的连接异常,导致机械臂的安全得不到全面保障。
发明内容
本发明提供一种基于EtherCAT的机械臂安全控制方法和装置,用以解决现有技术中无法检测从站内部ASIC芯片与MCU之间的连接异常的缺陷。
本发明提供一种基于EtherCAT的机械臂安全控制方法,包括:
在主站的应用程序,以及各个从站的从站描述文件和应用程序中添加TXPDO计数索引;其中,所述TXPDO计数索引用于指示对应从站给主站发送信息的次数,任一从站用于控制所述机械臂的一个关节的运动;
在每一通信周期,所述主站向各个从站发送控制数据帧;当任一从站接收到所述控制数据帧后,将所述任一从站的对象字典中存储的TXPDO计数索引值加1后写入到所述控制数据帧中,并将所述控制数据帧传递给下一从站;待所述控制数据帧传送回所述主站后,所述主站从所述控制数据帧中读取各个从站对应的TXPDO计数索引值;若所述主站在预设时间段内均无法从接收的控制数据帧中读取任一从站对应的TXPDO计数索引值,则确定所述任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常;
若确定任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常,则对所述任一从站进行异常处理。
根据本发明提供的一种基于EtherCAT的机械臂安全控制方法,所述预设时间段是基于预设应用场景下所述各个从站对应的机械臂关节的运动轨迹、运动速度、所述主站的传输延迟时间以及所述预设应用场景的环境干扰确定得到的。
根据本发明提供的一种基于EtherCAT的机械臂安全控制方法,所述预设时间段是基于如下步骤确定得到的:
基于所述主站的传输延迟时间和所述环境干扰,确定所述预设时间段的下限值;
基于所述预设应用场景下所述机械臂各个关节的运动轨迹,确定任一关节固定不动时,所述任一关节对应的存在碰撞风险的其他关节以及存在碰撞风险的时间段,并基于所述任一关节及其对应的存在碰撞风险的其他关节的运动轨迹,确定所述存在碰撞风险的时间段中每一时刻所述任一关节与其对应的存在碰撞风险的其他关节之间的相对位置关系;
基于存在碰撞风险的时间段中每一时刻任一关节与其对应的存在碰撞风险的其他关节之间的相对位置关系,分别确定所述任一关节与其对应的存在碰撞风险的其他关节之间的最短距离,并基于所述任一关节与其对应的存在碰撞风险的其他关节之间的最短距离,确定所述任一关节在固定不动时与其对应的存在碰撞风险的其他关节发生碰撞的最短时间;
基于任一关节在固定不动时与其对应的存在碰撞风险的其他关节发生碰撞的最短时间,确定所述预设时间段的上限值;
基于所述预设时间段的下限值和上限值,确定所述预设时间段。
根据本发明提供的一种基于EtherCAT的机械臂安全控制方法,还包括:
在主站的应用程序,以及各个从站的从站描述文件和应用程序中添加RXPDO计数索引;所述RXPDO计数索引用于指示主站给对应从站发送信息的次数;
所述主站向各个从站发送控制数据帧时,将所述主站的对象字典中存储的RXPDO计数索引值加1后写入到所述控制数据帧;
当任一从站接收到所述控制数据帧后,读取所述控制数据帧中所述主站写入的RXPDO计数索引值并更新所述任一从站的对象字典中存储的RXPDO计数索引值;若任一从站的对象字典中存储的RXPDO计数索引值在所述预设时间段内均未更新,则确定所述主站存在异常或所述任一从站之前存在从站连接异常。
根据本发明提供的一种基于EtherCAT的机械臂安全控制方法,若确定任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常,则对所述任一从站进行异常处理,具体包括:
对所述任一从站进行断电重启操作;
若所述任一从站断电重启后,仍然存在微控制单元异常或微控制单元与ASIC芯片连接异常,则发送硬件故障报警,以提示更换所述任一从站对应的主板。
根据本发明提供的一种基于EtherCAT的机械臂安全控制方法,还包括:
任一从站的微处理单元统计接收到的irq信号以及sync信号;其中,所述irq信号是在每一通信周期所述主站或前一从站的ASIC芯片向所述任一从站发送数据帧之后所述任一从站的ASIC芯片产生的,所述sync信号是所述任一从站的ASIC芯片周期性产生的;
若所述任一从站的微处理单元连续接收到第一预设数量个irq信号,且在所述第一预设数量个irq信号之间没有接收到sync信号,则确定所述任一从站存在同步异常;若所述任一从站的微处理单元连续接收到第二预设数量个sync信号,且在所述第二预设数量个sync信号之间没有接收到irq信号,则确定所述主站存在异常或所述任一从站之前存在从站连接异常。
根据本发明提供的一种基于EtherCAT的机械臂安全控制方法,所述第一预设数量和所述第二预设数量是基于如下步骤确定得到的:
基于所述主站的传输延迟时间和预设应用场景的环境干扰,确定所述第一预设数量和所述第二预设数量的下限值;
基于所述机械臂各个关节在所述预设应用场景下的运动速度以及所述通信周期,确定所述第一预设数量和所述第二预设数量的上限值;其中,所述机械臂各个关节在所述预设应用场景下的运动速度越快,所述第一预设数量和所述第二预设数量的上限值越小;
基于所述第一预设数量和所述第二预设数量的下限值和上限值,确定所述第一预设数量和所述第二预设数量。
本发明还提供一种基于EtherCAT的机械臂安全控制装置,包括:
索引添加单元,用于在主站的应用程序,以及各个从站的从站描述文件和应用程序中添加TXPDO计数索引;其中,所述TXPDO计数索引用于指示对应从站给主站发送信息的次数,任一从站用于控制所述机械臂的一个关节的运动;
从站异常检测单元,用于在每一通信周期,所述主站向各个从站发送控制数据帧;当任一从站接收到所述控制数据帧后,将所述任一从站的对象字典中存储的TXPDO计数索引值加1后写入到所述控制数据帧中,并将所述控制数据帧传递给下一从站;待所述控制数据帧传送回所述主站后,所述主站从所述控制数据帧中读取各个从站对应的TXPDO计数索引值;若所述主站在预设时间段内均无法从接收的控制数据帧中读取任一从站对应的TXPDO计数索引值,则确定所述任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常;
异常处理单元,用于若确定任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常,则对所述任一从站进行异常处理。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于EtherCAT的机械臂安全控制方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于EtherCAT的机械臂安全控制方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于EtherCAT的机械臂安全控制方法的步骤。
本发明提供的基于EtherCAT的机械臂安全控制方法和装置,通过在主站和从站中添加TXPDO计数索引值,控制各个从站将自身的TXPDO计数索引值更新后写入到控制数据帧中传送给主站,主站根据存在MCU异常或者MCU与ASIC芯片之间的连接异常的从站将无法将TXPDO计数索引值写入到控制数据帧中,从而使得主站将无法从接收的控制数据帧中读取该从站对应的TXPDO计数索引值的特点,判断是否在预设时间段内均无法从接收的控制数据帧中读取任一从站对应的TXPDO计数索引值,从而确定各从站是否存在微控制单元异常或微控制单元与ASIC芯片连接异常,从而实现从站内部微控制单元异常或微控制单元与ASIC芯片连接异常的准确识别,克服现有异常检测方法无法检测上述异常的缺陷,从而提高机械臂控制的安全性,避免上述异常导致机械臂关节之间发生碰撞而产生损伤,或是导致机械臂操作失误,影响工业制造的安全性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于EtherCAT总线实现的机械臂控制***的结构示意图;
图2是本发明提供的EtherCAT主从站通信示意图;
图3是本发明提供的主站与各从站之间的连接方式示意图;
图4是本发明提供的基于EtherCAT的机械臂安全控制方法的流程示意图;
图5是本发明提供的基于EtherCAT的机械臂安全控制装置的结构示意图;
图6是本发明提供的电子设备的结构示意图;
附图标记:
1:控制箱;2:机械臂本体;3:轴驱动器;4:末端控制器;
5:EtherCAT主站控制器;6:从站控制器。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于EtherCAT(EtherNet Control Automation Technology,以太网控制自动化技术)总线实现的机械臂控制***的结构如图1所示,该***包括:控制箱1,包括EtherCAT主站控制器和底板数据采集卡(由第一个从站的从站控制器控制);机械臂本体2,该部分包括多个轴驱动器3用于控制各个关节(图1中以六个轴驱动器为例,由第二至第七个从站的从站控制器控制)和末端控制器4(由最后一个从站的从站控制器控制)。其中,EtherCAT主站控制器是整个控制***的中心,是数据交互的发起者;底板数据采集卡可以实时获取数字量、模拟量、Modbus数据包与控制器交互;轴驱动器3可以实时将当前位置、状态、扭矩反馈给主站控制器,并且实时接收主站控制器的位置及扭矩指令;末端控制器4可以实时将数字量、模拟量、末端外设传感器与主站控制器进行数据交互。
如图2所示,在控制机械臂时,EtherCAT主站控制器5产生和控制数据帧在线路中循环,线路中的多个从站控制器6可以接收处理并转发报文,并从报文中提取或***相关的用户数据,然后该报文传输到下一个从站控制器6。最后一个从站控制器6发回完全处理的报文,并由第一个从站控制器6(对应底板数据采集卡)作为响应报文将其发送给EtherCAT主站控制器5。其中,主站与各从站之间的连接方式如图3所示。为了提高机械臂控制的安全性,除了主站与从站ASIC(Application Specific Integrated Circuit,专用集成电路)芯片之间的连接异常或从站ASIC芯片之间的连接异常之外,也要重点检测从站内部ASIC芯片与MCU(Microcontroller Unit,微控制单元)之间的连接异常和MCU自身的异常。
对此,图4为本发明实施例提供的基于EtherCAT的机械臂安全控制方法的流程示意图,如图4所示,该方法包括:
步骤410,在主站的应用程序,以及各个从站的从站描述文件和应用程序中添加TXPDO计数索引;其中,所述TXPDO计数索引用于指示对应从站给主站发送信息的次数,任一从站用于控制所述机械臂的一个关节的运动;
步骤420,在每一通信周期,所述主站向各个从站发送控制数据帧;当任一从站接收到所述控制数据帧后,将所述任一从站的对象字典中存储的TXPDO计数索引值加1后写入到所述控制数据帧中,并将所述控制数据帧传递给下一从站;待所述控制数据帧传送回所述主站后,所述主站从所述控制数据帧中读取各个从站对应的TXPDO计数索引值;若所述主站在预设时间段内均无法从接收的控制数据帧中读取任一从站对应的TXPDO计数索引值,则确定所述任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常;
步骤430,若确定任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常,则对所述任一从站进行异常处理。
此处,在基于EtherCAT的控制***中,主站的应用程序以及从站的从站描述文件和应用程序中保存有对应的对象字典,用于保存部分重要信息。由于从站内部ASIC芯片与MCU之间的连接异常或微控制单元本身的异常,并不会导致数据帧的传输中断,因此,常规的利用主站读取从站状态的方式在该场景下无法识别出上述异常。对此,通过分析得知从站内部ASIC芯片与MCU之间的连接异常或微控制单元本身的异常,会导致从站的MCU无法正常地从主站发出的数据帧中读取相关信息(例如位置指令),也无法正常地将必要信息写入到数据帧中传送回主站。
因此,本发明实施例通过在主站的应用程序的对象字典中,以及各个从站的从站描述文件和应用程序的对象字典中添加TXPDO计数索引,来判断从站的MCU是否能够正常处理接收到的数据帧以及对数据帧进行数据写入操作,从而确定是否存在MCU异常或MCU与ASIC芯片连接异常。其中,TXPDO计数索引用于指示对应从站给主站发送信息的次数,即向数据帧中写入数据的次数。此处,任一从站用于控制机械臂的一个关节的运动。此处,之所以要在从站的从站描述文件和应用程序的对象字典中均添加上述索引,是因为从站在工作时会对比从站描述文件(ESI文件)和应用程序的对象字典,因此要保持从站的从站描述文件和应用程序的对象字典之间的一致性。
在每一通信周期(例如1ms),主站会向各个从站发送控制数据帧,该控制数据帧中包含有针对各个从站对应的关节的位置指令,以控制机械臂各个关节进行相应的运动。当任一从站接收到该控制数据帧(当该从站为首个从站时,是主站直接发送的控制数据帧,否则是其前一个从站转发的控制数据帧)后,如果该从站的MCU正常且MCU与ASIC芯片之间的连接正常,则将该从站的对象字典中存储的TXPDO计数索引值加1后,一方面更新对象字典中的TXPDO计数索引值,另一方面将其写入到控制数据帧中,并将该控制数据帧传递给下一从站。可见,若该从站的MCU异常或者MCU与ASIC芯片之间的连接异常,则该从站将无法将TXPDO计数索引值写入到控制数据帧中,从而使得主站将无法从接收的控制数据帧中读取该从站对应的TXPDO计数索引值。
待上述控制数据帧再次传送回主站后,主站会从该控制数据帧中读取各个从站写入到该控制数据帧中的TXPDO计数索引值并更新对象字典中相应的TXPDO计数索引值。其中,若某一从站的MCU正常且MCU与ASIC芯片之间的连接正常,则主站可以正常读取到该从站对应的TXPDO计数索引值,且恰好比上一通信周期中读取到的该从站对应的TXPDO计数索引值大1。反之,若该从站的MCU异常或者MCU与ASIC芯片之间的连接异常,则主站将无法从接收的控制数据帧中读取到该从站对应的TXPDO计数索引值,对象字典中对应该从站的TXPDO计数索引将无法更新。因此,可以通过判断能否从接收到的控制数据帧中读取到某一从站对应的TXPDO计数索引值,或判断主站对象字典中对应某一从站的TXPDO计数索引是否被更新,确定该从站是否存在MCU异常或者MCU与ASIC芯片之间的连接异常。
此处,为了避免由于主站数据传输延迟或环境干扰等影响导致误报警,可以预先设定一个大于通信周期的预设时间段,例如32ms。若在该预设时间段内,主站始终无法从多个通信周期内接收的各个控制数据帧中读取到某一从站对应的TXPDO计数索引值,则可以确定该从站存在MCU异常或者MCU与ASIC芯片之间的连接异常。
若通过上述方式确定任一从站存在MCU异常或者MCU与ASIC芯片之间的连接异常,则可以对其进行异常处理,提高机械臂控制的安全性,避免上述异常导致机械臂关节之间发生碰撞而产生损伤,或是导致机械臂操作失误,影响工业制造的安全性。
本发明实施例提供的方法,通过在主站和从站中添加TXPDO计数索引值,控制各个从站将自身的TXPDO计数索引值更新后写入到控制数据帧中传送给主站,主站根据存在MCU异常或者MCU与ASIC芯片之间的连接异常的从站将无法将TXPDO计数索引值写入到控制数据帧中,从而使得主站将无法从接收的控制数据帧中读取该从站对应的TXPDO计数索引值的特点,判断是否在预设时间段内均无法从接收的控制数据帧中读取任一从站对应的TXPDO计数索引值,从而确定各从站是否存在微控制单元异常或微控制单元与ASIC芯片连接异常,从而实现从站内部微控制单元异常或微控制单元与ASIC芯片连接异常的准确识别,克服现有异常检测方法无法检测上述异常的缺陷,从而提高机械臂控制的安全性,避免上述异常导致机械臂关节之间发生碰撞而产生损伤,或是导致机械臂操作失误,影响工业制造的安全性。
基于上述实施例,所述预设时间段是基于预设应用场景下所述各个从站对应的机械臂关节的运动轨迹、运动速度、所述主站的传输延迟时间以及所述预设应用场景的环境干扰确定得到的。
此处,由于从站内部MCU异常或MCU与ASIC芯片连接异常存在一定的特殊性,即该异常不会影响数据帧在主站与从站之间或从站与从站之间的传输,但是存在该异常的从站将无法正常接收或处理数据帧中相应的位置指令,因此会出现该异常从站对应的机械臂关节无法运动,但其他正常从站对应的机械臂关节可以正常运动的现象。这一现象可能会导致异常从站对应的关节与正常从站对应的关节之间发生碰撞,导致机械臂受损,同时也将干扰其他从站对应的关节的运动轨迹,可能造成操作失误,影响工艺制造的安全性。
考虑到上述可能带来的安全隐患,在判断从站是否存在MCU异常或MCU与ASIC芯片连接异常时所依据的预设时间段Δt的设置将是避免上述安全隐患的关键所在。其中,Δt的值不能过小,因为主站偶尔的数据传输延迟或工况环境造成的干扰(例如电磁干扰)会对从站更新TXPDO的时间产生影响,若Δt太小,则很容易被上述因素造成误报警,影响机械臂的工作效率;另外,Δt也不能太大,因为Δt太大时,若某一从站的MCU异常或MCU与ASIC之间连接异常,会在较长时间内没有识别出该异常,导致该从站的位置指令长时间得不到更新,该从站对应的机械臂关节维持不动,但其他正常从站对应的关节仍旧正常运动,从而影响其他活动关节的运行轨迹,易造成不动关节与其他活动关节之间相互碰撞,或引发其他活动关节与周边环境相碰撞,影响机械臂本身的安全性和操作的安全性。另外,Δt过大时,异常从站可能在此期间突然恢复正常,该从站接收的新的位置指令与异常发生前接收的位置指令相差较大,使得该从站对应的关节会突然抖动,同样会影响机械臂的操作安全。
对此,在设置预设时间段Δt时,可以基于预设应用场景下各个从站对应的机械臂关节的运动轨迹、运动速度、主站的传输延迟时间以及预设应用场景的环境干扰,确定一个合适的Δt,以同时避免误报警和避免影响机械臂自身安全和操作安全。
具体而言,可以基于主站可能的传输延迟时间,以及根据预设应用场景的环境干扰可能造成的传输延迟时间,确定一个控制数据帧从主站发出到最终传送回主站所需的最大时间。该最大时间内可以作为主站传输延迟或环境干扰的容错时间,将该最大时间作为Δt的下限值,从而可以避免主站传输延迟或环境干扰造成的误报警。
另外,可以基于预设应用场景,确定机械臂各个关节的固定运动轨迹以及运动速度。根据各个关节的固定运动轨迹,可以确定某一关节固定不动时可能与哪些其他关节之间发生碰撞;再基于各关节的运动速度,可以确定该关节与其他存在碰撞风险的关节发生碰撞的最短时间。可见,Δt的值应当小于该最短时间,从而保证在关节碰撞之前及时检测到存在异常的从站对应的关节,避免产生关节碰撞的事故。因此,可以基于各个关节在固定不动时与其他存在碰撞风险的关节发生碰撞的最短时间,确定Δt的上限值。此处需要说明的是,用于判断各个从站是否存在MCU异常或MCU与ASIC芯片连接异常时依据的预设时间段Δt的上限值可以相同,也可以不同。各从站对应的Δt的上限值相同时,可以将各个关节在固定不动时与其他存在碰撞风险的关节发生碰撞的最短时间中的最小值,作为各个从站对应的Δt的上限值。各从站对应的Δt的上限值不同时,则可以将各个关节在固定不动时与其他存在碰撞风险的关节发生碰撞的最短时间,分别作为各从站对应的Δt的上限值。
基于上述预设时间段Δt的上限值和下限值,可以在两者之间选取合适值作为预设时间段Δt的值。其中,各从站对应的预设时间段Δt的值可以相同,也可以不同,本发明实施例对此不作具体限定。此外,为了保证关节运动轨迹的平滑性,避免出现急剧抖动的情况,还可以结合各关节的运动速度,确定Δt的值。其中,任一关节的运动速度越快,其对应的Δt的值越低,从而在该关节对应的从站在检测出异常之前即恢复正常时,保证该关节不会产生剧烈抖动。
基于上述任一实施例,所述预设时间段是基于如下步骤确定得到的:
基于所述主站的传输延迟时间和所述环境干扰,确定所述预设时间段的下限值;
基于所述预设应用场景下所述机械臂各个关节的运动轨迹,确定任一关节固定不动时,所述任一关节对应的存在碰撞风险的其他关节以及存在碰撞风险的时间段,并基于所述任一关节及其对应的存在碰撞风险的其他关节的运动轨迹,确定所述存在碰撞风险的时间段中每一时刻所述任一关节与其对应的存在碰撞风险的其他关节之间的相对位置关系;
基于存在碰撞风险的时间段中每一时刻任一关节与其对应的存在碰撞风险的其他关节之间的相对位置关系,分别确定所述任一关节与其对应的存在碰撞风险的其他关节之间的最短距离,并基于所述任一关节与其对应的存在碰撞风险的其他关节之间的最短距离,确定所述任一关节在固定不动时与其对应的存在碰撞风险的其他关节发生碰撞的最短时间;
基于任一关节在固定不动时与其对应的存在碰撞风险的其他关节发生碰撞的最短时间,确定所述预设时间段的上限值;
基于所述预设时间段的下限值和上限值,确定所述预设时间段。
具体地,一方面,根据主站可能的传输延迟时间和环境干扰可能造成的传输延迟时间,确定预设时间段的下限值。
另一方面,基于预设应用场景下机械臂各个关节的固定运动轨迹,确定任一关节固定不动时,该关节对应的存在碰撞风险的其他关节,即可能与该关节发生碰撞的关节,以及存在碰撞风险的时间段,即存在碰撞风险的其他关节向着该关节方向运动的时间段。基于该关节及其对应的存在碰撞风险的其他关节的运动轨迹,确定存在碰撞风险的时间段中每一时刻该关节与其对应的存在碰撞风险的其他关节之间的相对位置关系。
针对任一关节对应的存在碰撞风险的时间段,基于该时间段中每一时刻该关节与其对应的存在碰撞风险的其他关节之间的相对位置关系,分别确定该关节与其对应的存在碰撞风险的其他关节之间的最短距离。以第一个关节为例,假设其对应的存在碰撞风险的其他关节为第三个关节和第六个关节,那么可以计算在第一个关节对应的存在碰撞风险的时间段内,每一时刻第一个关节与第三个关节之间的距离以及第一个关节与第六个关节之间的距离,并确定第一个关节与第三个关节以及第一个关节与第六个关节之间的距离的最小值,作为上述最短距离。随后,基于该关节与其对应的存在碰撞风险的其他关节之间的最短距离,和对应关节的运动速度,可以确定该关节在固定不动时与其对应的存在碰撞风险的其他关节发生碰撞的最短时间。例如,若第一个关节与第三个关节在某一时刻的距离是各个时刻下第一个关节与第三个关节或第一个关节与第六个关节间距离的最小值,则可以基于第三个关节的运动速度和上述最短距离,计算上述最短时间。
基于各个关节在固定不动时与其对应的存在碰撞风险的其他关节发生碰撞的最短时间,可以确定预设时间段的上限值,从而可以基于预设时间段的上限值和下限值,确定该预设时间段的值。
基于上述任一实施例,该方法还包括:
在主站的应用程序,以及各个从站的从站描述文件和应用程序中添加RXPDO计数索引;所述RXPDO计数索引用于指示主站给对应从站发送信息的次数;
所述主站向各个从站发送控制数据帧时,将所述主站的对象字典中存储的RXPDO计数索引值加1后写入到所述控制数据帧;
当任一从站接收到所述控制数据帧后,读取所述控制数据帧中所述主站写入的RXPDO计数索引值并更新所述任一从站的对象字典中存储的RXPDO计数索引值;若任一从站的对象字典中存储的RXPDO计数索引值在所述预设时间段内均未更新,则确定所述主站存在异常或所述任一从站之前存在从站连接异常。
具体地,为了检测主站异常或从站之间的连接异常,还可以在主站的应用程序,以及各个从站的从站描述文件和应用程序中添加RXPDO计数索引。其中,RXPDO计数索引用于指示主站给对应从站发送信息的次数,即主站发送控制数据帧且从站接收到该控制数据帧的次数。
在主站向各个从站发送控制数据帧时,可以将主站的对象字典中存储的RXPDO计数索引值加1后,一方面更新主站对象字典中的RXPDO计数索引值,另一方面将其写入到控制数据帧中。对于任一从站而言,若主站是正常的,即主站正常发送控制数据帧,且该从站之前所有从站的连接是正常的,那么该从站可以正常接收到该包含有RXPDO计数索引值的控制数据帧,便可以从控制数据帧中读取该索引值以更新自己的对象字典中存储的RXPDO计数索引值。反之,若主站异常,即主站没有发送控制数据帧,或者该从站之前的某一从站i与其后一从站i+1之间存在连接异常,即该从站之前存在从站连接异常,那么该从站将无法接收到该控制数据帧,也无法更新自己的对象字典中存储的RXPDO计数索引值。
因此,从站可以通过判断自己的对象字典中存储的RXPDO计数索引值在上述预设时间段内是否被更新,以确定是否存在主站异常或从站连接异常。若任一从站确定自己的对象字典中存储的RXPDO计数索引值在上述预设时间段内没有被更新,则可以认为主站存在异常或在该从站之前存在从站连接异常。
基于上述任一实施例,步骤430具体包括:
对所述任一从站进行断电重启操作;
若所述任一从站断电重启后,仍然存在微控制单元异常或微控制单元与ASIC芯片连接异常,则发送硬件故障报警,以提示更换所述任一从站对应的主板。
具体地,在确认某一从站内部存在微控制单元异常或微控制单元与ASIC芯片连接异常时,采取的异常处理方式可以是将该从站的主板(包含ASIC芯片和MCU)进行断电重启。若断电重启后,通过上述方式检测到该从站仍然存在微控制单元异常或微控制单元与ASIC芯片连接异常,表明该异常是由硬件故障造成,故可以发送硬件故障报警,以提示工作人员整体更换该从站对应的主板。若断电重启后该从站恢复正常工作,表明可能是MCU软件故障造成上述异常,因此通过断电重启即可有效排除该异常。
基于上述任一实施例,该方法还包括:
任一从站的微处理单元统计接收到的irq信号以及sync信号;其中,所述irq信号是在每一通信周期所述主站或前一从站的ASIC芯片向所述任一从站发送数据帧之后所述任一从站的ASIC芯片产生的,所述sync信号是所述任一从站的ASIC芯片周期性产生的;
若所述任一从站的微处理单元连续接收到第一预设数量个irq信号,且在所述第一预设数量个irq信号之间没有接收到sync信号,则确定所述任一从站存在同步异常;若所述任一从站的微处理单元连续接收到第二预设数量个sync信号,且在所述第二预设数量个sync信号之间没有接收到irq信号,则确定所述主站存在异常或所述任一从站之前存在从站连接异常。
具体地,当主站和各从站建立通信并进入正常工作状态OP之后,从站的ASIC芯片会产生irq信号和sync信号两个信号给该从站的MCU。其中,irq信号是在每一通信周期主站或前一从站的ASIC芯片向当前从站发送数据帧之后该从站的ASIC芯片产生供MCU检测的;sync信号是该从站的ASIC芯片周期性(每个通信周期,如1ms)产生供MCU检测的。在正常通信时,从站的MCU会交替接收到irq信号和sync信号,因此,可以利用该特性检测从站是否存在同步异常或该从站之前存在从站连接异常,或是否存在主站连接异常。
考虑到主站抖动或环境干扰可能会导致偶尔出现irq信号或sync信号未被及时检测到,使得两类信号不是交替出现而是连续出现,为了避免上述情形导致误报警,可以设置容错机制。该容错机制具体为:若任一从站的微处理单元连续接收到第一预设数量个irq信号,且在第一预设数量个irq信号之间没有接收到sync信号,则确定该从站存在同步异常;若任一从站的微处理单元连续接收到第二预设数量个sync信号,且在第二预设数量个sync信号之间没有接收到irq信号,则确定主站存在连接异常或该从站之前存在从站连接异常。其中,第一预设数量和第二预设数量可以预先设定,二者可以相同也可以不同,本发明实施例对此不作具体限定。
基于上述任一实施例,所述第一预设数量和所述第二预设数量是基于如下步骤确定得到的:
基于所述主站的传输延迟时间和预设应用场景的环境干扰,确定所述第一预设数量和所述第二预设数量的下限值;
基于所述机械臂各个关节在所述预设应用场景下的运动速度以及所述通信周期,确定所述第一预设数量和所述第二预设数量的上限值;其中,所述机械臂各个关节在所述预设应用场景下的运动速度越快,所述第一预设数量和所述第二预设数量的上限值越小;
基于所述第一预设数量和所述第二预设数量的下限值和上限值,确定所述第一预设数量和所述第二预设数量。
具体地,合适的第一预设数量和第二预设数量可以提高机械臂控制的安全性,同时也能避免过多的误报警。其中,第一预设数量和第二预设数量不能太小,否则主站抖动或环境干扰会造成频繁误报警,降低机械臂的工作效率;第一预设数量和第二预设数量也不能太大,否则可能长时间没有检测到同步异常或连接异常,在这段时间内该从站对应的关节不会更新位置指令,突然恢复正常后,该机械臂关节再次接收到的位置指令与异常前的位置指令之间的差异将会较大,导致关节运动轨迹不平滑,关节急剧抖动,易影响机械臂操作的安全性。
对此,可以基于主站可能的传输延迟时间和工况环境,以及各个关节的运动速度确定上述第一预设数量和第二预设数量。其中,可以基于主站可能的传输延迟时间和工况环境可能造成的传输干扰,确定第一预设数量和第二预设数量的下限值;随后,可以根据各个关节的运动速度以及通信周期,确定第一预设数量和第二预设数量的上限值。其中,关节的运动速度越快,第一预设数量和第二预设数量的上限值越小,使得异常检测可以更及时,避免在异常期间关节的位置指令长时间得不到更新,在恢复正常后关节运动轨迹不平滑的问题,从而提高机械臂控制的安全性。基于上述第一预设数量和第二预设数量的上限值和下限值,可以确定第一预设数量和第二预设数量。其中,不同从站在异常检测时依据的第一预设数量或第二预设数量之间可以相同,也可以不同,本发明实施例对此不作具体限制。
基于上述任一实施例,图5为本发明实施例提供的基于EtherCAT的机械臂安全控制装置的结构示意图,如图5所示,该装置包括:索引添加单元510、从站异常检测单元520和异常处理单元530。
其中,索引添加单元510用于在主站的应用程序,以及各个从站的从站描述文件和应用程序中添加TXPDO计数索引;其中,所述TXPDO计数索引用于指示对应从站给主站发送信息的次数,任一从站用于控制所述机械臂的一个关节的运动;
从站异常检测单元520用于在每一通信周期,所述主站向各个从站发送控制数据帧;当任一从站接收到所述控制数据帧后,将所述任一从站的对象字典中存储的TXPDO计数索引值加1后写入到所述控制数据帧中,并将所述控制数据帧传递给下一从站;待所述控制数据帧传送回所述主站后,所述主站从所述控制数据帧中读取各个从站对应的TXPDO计数索引值;若所述主站在预设时间段内均无法从接收的控制数据帧中读取任一从站对应的TXPDO计数索引值,则确定所述任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常;
异常处理单元530用于若确定任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常,则对所述任一从站进行异常处理。
本发明实施例提供的装置,通过在主站和从站中添加TXPDO计数索引值,控制各个从站将自身的TXPDO计数索引值更新后写入到控制数据帧中传送给主站,主站根据存在MCU异常或者MCU与ASIC芯片之间的连接异常的从站将无法将TXPDO计数索引值写入到控制数据帧中,从而使得主站将无法从接收的控制数据帧中读取该从站对应的TXPDO计数索引值的特点,判断是否在预设时间段内均无法从接收的控制数据帧中读取任一从站对应的TXPDO计数索引值,从而确定各从站是否存在微控制单元异常或微控制单元与ASIC芯片连接异常,从而实现从站内部微控制单元异常或微控制单元与ASIC芯片连接异常的准确识别,克服现有异常检测方法无法检测上述异常的缺陷,从而提高机械臂控制的安全性,避免上述异常导致机械臂关节之间发生碰撞而产生损伤,或是导致机械臂操作失误,影响工业制造的安全性。
基于上述任一实施例,所述预设时间段是基于预设应用场景下所述各个从站对应的机械臂关节的运动轨迹、运动速度、所述主站的传输延迟时间以及所述预设应用场景的环境干扰确定得到的。
基于上述任一实施例,所述预设时间段是基于如下步骤确定得到的:
基于所述主站的传输延迟时间和所述环境干扰,确定所述预设时间段的下限值;
基于所述预设应用场景下所述机械臂各个关节的运动轨迹,确定任一关节固定不动时,所述任一关节对应的存在碰撞风险的其他关节以及存在碰撞风险的时间段,并基于所述任一关节及其对应的存在碰撞风险的其他关节的运动轨迹,确定所述存在碰撞风险的时间段中每一时刻所述任一关节与其对应的存在碰撞风险的其他关节之间的相对位置关系;
基于存在碰撞风险的时间段中每一时刻任一关节与其对应的存在碰撞风险的其他关节之间的相对位置关系,分别确定所述任一关节与其对应的存在碰撞风险的其他关节之间的最短距离,并基于所述任一关节与其对应的存在碰撞风险的其他关节之间的最短距离,确定所述任一关节在固定不动时与其对应的存在碰撞风险的其他关节发生碰撞的最短时间;
基于任一关节在固定不动时与其对应的存在碰撞风险的其他关节发生碰撞的最短时间,确定所述预设时间段的上限值;
基于所述预设时间段的下限值和上限值,确定所述预设时间段。
基于上述任一实施例,该装置还包括主从站连接异常检测单元,用于:
在主站的应用程序,以及各个从站的从站描述文件和应用程序中添加RXPDO计数索引;所述RXPDO计数索引用于指示主站给对应从站发送信息的次数;
所述主站向各个从站发送控制数据帧时,将所述主站的对象字典中存储的RXPDO计数索引值加1后写入到所述控制数据帧;
当任一从站接收到所述控制数据帧后,读取所述控制数据帧中所述主站写入的RXPDO计数索引值并更新所述任一从站的对象字典中存储的RXPDO计数索引值;若任一从站的对象字典中存储的RXPDO计数索引值在所述预设时间段内均未更新,则确定所述主站存在异常或所述任一从站之前存在从站连接异常。
基于上述任一实施例,异常处理单元530具体用于:
对所述任一从站进行断电重启操作;
若所述任一从站断电重启后,仍然存在微控制单元异常或微控制单元与ASIC芯片连接异常,则发送硬件故障报警,以提示更换所述任一从站对应的主板。
基于上述任一实施例,该装置还包括辅助异常检测单元,用于:
任一从站的微处理单元统计接收到的irq信号以及sync信号;其中,所述irq信号是在每一通信周期所述主站或前一从站的ASIC芯片向所述任一从站发送数据帧之后所述任一从站的ASIC芯片产生的,所述sync信号是所述任一从站的ASIC芯片周期性产生的;
若所述任一从站的微处理单元连续接收到第一预设数量个irq信号,且在所述第一预设数量个irq信号之间没有接收到sync信号,则确定所述任一从站存在同步异常;若所述任一从站的微处理单元连续接收到第二预设数量个sync信号,且在所述第二预设数量个sync信号之间没有接收到irq信号,则确定所述主站存在异常或所述任一从站之前存在从站连接异常。
基于上述任一实施例,所述第一预设数量和所述第二预设数量是基于如下步骤确定得到的:
基于所述主站的传输延迟时间和预设应用场景的环境干扰,确定所述第一预设数量和所述第二预设数量的下限值;
基于所述机械臂各个关节在所述预设应用场景下的运动速度以及所述通信周期,确定所述第一预设数量和所述第二预设数量的上限值;其中,所述机械臂各个关节在所述预设应用场景下的运动速度越快,所述第一预设数量和所述第二预设数量的上限值越小;
基于所述第一预设数量和所述第二预设数量的下限值和上限值,确定所述第一预设数量和所述第二预设数量。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(CommunicationsInterface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行基于EtherCAT的机械臂安全控制方法,该方法包括:在主站的应用程序,以及各个从站的从站描述文件和应用程序中添加TXPDO计数索引;其中,所述TXPDO计数索引用于指示对应从站给主站发送信息的次数,任一从站用于控制所述机械臂的一个关节的运动;在每一通信周期,所述主站向各个从站发送控制数据帧;当任一从站接收到所述控制数据帧后,将所述任一从站的对象字典中存储的TXPDO计数索引值加1后写入到所述控制数据帧中,并将所述控制数据帧传递给下一从站;待所述控制数据帧传送回所述主站后,所述主站从所述控制数据帧中读取各个从站对应的TXPDO计数索引值;若所述主站在预设时间段内均无法从接收的控制数据帧中读取任一从站对应的TXPDO计数索引值,则确定所述任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常;若确定任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常,则对所述任一从站进行异常处理。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于EtherCAT的机械臂安全控制方法,该方法包括:在主站的应用程序,以及各个从站的从站描述文件和应用程序中添加TXPDO计数索引;其中,所述TXPDO计数索引用于指示对应从站给主站发送信息的次数,任一从站用于控制所述机械臂的一个关节的运动;在每一通信周期,所述主站向各个从站发送控制数据帧;当任一从站接收到所述控制数据帧后,将所述任一从站的对象字典中存储的TXPDO计数索引值加1后写入到所述控制数据帧中,并将所述控制数据帧传递给下一从站;待所述控制数据帧传送回所述主站后,所述主站从所述控制数据帧中读取各个从站对应的TXPDO计数索引值;若所述主站在预设时间段内均无法从接收的控制数据帧中读取任一从站对应的TXPDO计数索引值,则确定所述任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常;若确定任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常,则对所述任一从站进行异常处理。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于EtherCAT的机械臂安全控制方法,该方法包括:在主站的应用程序,以及各个从站的从站描述文件和应用程序中添加TXPDO计数索引;其中,所述TXPDO计数索引用于指示对应从站给主站发送信息的次数,任一从站用于控制所述机械臂的一个关节的运动;在每一通信周期,所述主站向各个从站发送控制数据帧;当任一从站接收到所述控制数据帧后,将所述任一从站的对象字典中存储的TXPDO计数索引值加1后写入到所述控制数据帧中,并将所述控制数据帧传递给下一从站;待所述控制数据帧传送回所述主站后,所述主站从所述控制数据帧中读取各个从站对应的TXPDO计数索引值;若所述主站在预设时间段内均无法从接收的控制数据帧中读取任一从站对应的TXPDO计数索引值,则确定所述任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常;若确定任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常,则对所述任一从站进行异常处理。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种基于EtherCAT的机械臂安全控制方法,其特征在于,包括:
在主站的应用程序,以及各个从站的从站描述文件和应用程序中添加TXPDO计数索引;其中,所述TXPDO计数索引用于指示对应从站给主站发送信息的次数,任一从站用于控制所述机械臂的一个关节的运动;
在每一通信周期,所述主站向各个从站发送控制数据帧;当任一从站接收到所述控制数据帧后,将所述任一从站的对象字典中存储的TXPDO计数索引值加1后写入到所述控制数据帧中,并将所述控制数据帧传递给下一从站;待所述控制数据帧传送回所述主站后,所述主站从所述控制数据帧中读取各个从站对应的TXPDO计数索引值;若所述主站在预设时间段内均无法从接收的控制数据帧中读取任一从站对应的TXPDO计数索引值,则确定所述任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常;
若确定任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常,则对所述任一从站进行异常处理;
所述预设时间段是基于如下步骤确定得到的:
基于预设应用场景下所述主站的传输延迟时间和所述预设应用场景的环境干扰,确定所述预设时间段的下限值;
基于所述预设应用场景下所述机械臂各个关节的运动轨迹,确定任一关节固定不动时,所述任一关节对应的存在碰撞风险的其他关节以及存在碰撞风险的时间段,并基于所述任一关节及其对应的存在碰撞风险的其他关节的运动轨迹,确定所述存在碰撞风险的时间段中每一时刻所述任一关节与其对应的存在碰撞风险的其他关节之间的相对位置关系;
基于存在碰撞风险的时间段中每一时刻任一关节与其对应的存在碰撞风险的其他关节之间的相对位置关系,分别确定所述任一关节与其对应的存在碰撞风险的其他关节之间的最短距离,并基于所述任一关节与其对应的存在碰撞风险的其他关节之间的最短距离,确定所述任一关节在固定不动时与其对应的存在碰撞风险的其他关节发生碰撞的最短时间;
基于任一关节在固定不动时与其对应的存在碰撞风险的其他关节发生碰撞的最短时间,确定所述预设时间段的上限值;
基于所述预设时间段的下限值和上限值,确定所述预设时间段。
2.根据权利要求1所述的基于EtherCAT的机械臂安全控制方法,其特征在于,还包括:
在主站的应用程序,以及各个从站的从站描述文件和应用程序中添加RXPDO计数索引;所述RXPDO计数索引用于指示主站给对应从站发送信息的次数;
所述主站向各个从站发送控制数据帧时,将所述主站的对象字典中存储的RXPDO计数索引值加1后写入到所述控制数据帧;
当任一从站接收到所述控制数据帧后,读取所述控制数据帧中所述主站写入的RXPDO计数索引值并更新所述任一从站的对象字典中存储的RXPDO计数索引值;若任一从站的对象字典中存储的RXPDO计数索引值在所述预设时间段内均未更新,则确定所述主站存在异常或所述任一从站之前存在从站连接异常。
3.根据权利要求1所述的基于EtherCAT的机械臂安全控制方法,其特征在于,若确定任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常,则对所述任一从站进行异常处理,具体包括:
对所述任一从站进行断电重启操作;
若所述任一从站断电重启后,仍然存在微控制单元异常或微控制单元与ASIC芯片连接异常,则发送硬件故障报警,以提示更换所述任一从站对应的主板。
4.根据权利要求1至3任一项所述的基于EtherCAT的机械臂安全控制方法,其特征在于,还包括:
任一从站的微处理单元统计接收到的irq信号以及sync信号;其中,所述irq信号是在每一通信周期所述主站或前一从站的ASIC芯片向所述任一从站发送数据帧之后所述任一从站的ASIC芯片产生的,所述sync信号是所述任一从站的ASIC芯片周期性产生的;
若所述任一从站的微处理单元连续接收到第一预设数量个irq信号,且在所述第一预设数量个irq信号之间没有接收到sync信号,则确定所述任一从站存在同步异常;若所述任一从站的微处理单元连续接收到第二预设数量个sync信号,且在所述第二预设数量个sync信号之间没有接收到irq信号,则确定所述主站存在异常或所述任一从站之前存在从站连接异常。
5.根据权利要求4所述的基于EtherCAT的机械臂安全控制方法,其特征在于,所述第一预设数量和所述第二预设数量是基于如下步骤确定得到的:
基于所述主站的传输延迟时间和预设应用场景的环境干扰,确定所述第一预设数量和所述第二预设数量的下限值;
基于所述机械臂各个关节在所述预设应用场景下的运动速度以及所述通信周期,确定所述第一预设数量和所述第二预设数量的上限值;其中,所述机械臂各个关节在所述预设应用场景下的运动速度越快,所述第一预设数量和所述第二预设数量的上限值越小;
基于所述第一预设数量和所述第二预设数量的下限值和上限值,确定所述第一预设数量和所述第二预设数量。
6.一种基于EtherCAT的机械臂安全控制装置,其特征在于,包括:
索引添加单元,用于在主站的应用程序,以及各个从站的从站描述文件和应用程序中添加TXPDO计数索引;其中,所述TXPDO计数索引用于指示对应从站给主站发送信息的次数,任一从站用于控制所述机械臂的一个关节的运动;
从站异常检测单元,用于在每一通信周期,所述主站向各个从站发送控制数据帧;当任一从站接收到所述控制数据帧后,将所述任一从站的对象字典中存储的TXPDO计数索引值加1后写入到所述控制数据帧中,并将所述控制数据帧传递给下一从站;待所述控制数据帧传送回所述主站后,所述主站从所述控制数据帧中读取各个从站对应的TXPDO计数索引值;若所述主站在预设时间段内均无法从接收的控制数据帧中读取任一从站对应的TXPDO计数索引值,则确定所述任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常;
异常处理单元,用于若确定任一从站中存在微控制单元异常或微控制单元与ASIC芯片连接异常,则对所述任一从站进行异常处理;
所述预设时间段是基于如下步骤确定得到的:
基于预设应用场景下所述主站的传输延迟时间和所述预设应用场景的环境干扰,确定所述预设时间段的下限值;
基于所述预设应用场景下所述机械臂各个关节的运动轨迹,确定任一关节固定不动时,所述任一关节对应的存在碰撞风险的其他关节以及存在碰撞风险的时间段,并基于所述任一关节及其对应的存在碰撞风险的其他关节的运动轨迹,确定所述存在碰撞风险的时间段中每一时刻所述任一关节与其对应的存在碰撞风险的其他关节之间的相对位置关系;
基于存在碰撞风险的时间段中每一时刻任一关节与其对应的存在碰撞风险的其他关节之间的相对位置关系,分别确定所述任一关节与其对应的存在碰撞风险的其他关节之间的最短距离,并基于所述任一关节与其对应的存在碰撞风险的其他关节之间的最短距离,确定所述任一关节在固定不动时与其对应的存在碰撞风险的其他关节发生碰撞的最短时间;
基于任一关节在固定不动时与其对应的存在碰撞风险的其他关节发生碰撞的最短时间,确定所述预设时间段的上限值;
基于所述预设时间段的下限值和上限值,确定所述预设时间段。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述基于EtherCAT的机械臂安全控制方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述基于EtherCAT的机械臂安全控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211029309.4A CN115091471B (zh) | 2022-08-26 | 2022-08-26 | 基于EtherCAT的机械臂安全控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211029309.4A CN115091471B (zh) | 2022-08-26 | 2022-08-26 | 基于EtherCAT的机械臂安全控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115091471A CN115091471A (zh) | 2022-09-23 |
CN115091471B true CN115091471B (zh) | 2022-11-15 |
Family
ID=83301477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211029309.4A Active CN115091471B (zh) | 2022-08-26 | 2022-08-26 | 基于EtherCAT的机械臂安全控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115091471B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016088304A1 (ja) * | 2014-12-01 | 2016-06-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 不正検知電子制御ユニット、車載ネットワークシステム及び不正検知方法 |
CN111367842A (zh) * | 2018-12-26 | 2020-07-03 | 沈阳新松机器人自动化股份有限公司 | 一种基于对象字典的多接口伺服驱动装置、方法及*** |
CN113093658A (zh) * | 2021-03-25 | 2021-07-09 | 中国科学院光电技术研究所 | 一种基于EtherCAT的多轴伺服***架构设计方法 |
CN113259217A (zh) * | 2021-03-30 | 2021-08-13 | 宁波安信数控技术有限公司 | 基于can总线的主从驱动器之间过程数据的传输方法 |
CN114248269A (zh) * | 2021-12-09 | 2022-03-29 | 国网浙江省电力有限公司海宁市供电公司 | 一种基于TherCAT的电力六轴机器人控制***及控制方法 |
-
2022
- 2022-08-26 CN CN202211029309.4A patent/CN115091471B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016088304A1 (ja) * | 2014-12-01 | 2016-06-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 不正検知電子制御ユニット、車載ネットワークシステム及び不正検知方法 |
CN111367842A (zh) * | 2018-12-26 | 2020-07-03 | 沈阳新松机器人自动化股份有限公司 | 一种基于对象字典的多接口伺服驱动装置、方法及*** |
CN113093658A (zh) * | 2021-03-25 | 2021-07-09 | 中国科学院光电技术研究所 | 一种基于EtherCAT的多轴伺服***架构设计方法 |
CN113259217A (zh) * | 2021-03-30 | 2021-08-13 | 宁波安信数控技术有限公司 | 基于can总线的主从驱动器之间过程数据的传输方法 |
CN114248269A (zh) * | 2021-12-09 | 2022-03-29 | 国网浙江省电力有限公司海宁市供电公司 | 一种基于TherCAT的电力六轴机器人控制***及控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115091471A (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190079500A1 (en) | Control device and control method | |
US10599104B2 (en) | Control device and motor control system | |
US11782431B2 (en) | Control device and non-transitory computer-readable recording medium recording program | |
CN107957692B (zh) | 控制器冗余方法、装置及*** | |
CN104570721A (zh) | 冗余控制器主从状态确定方法 | |
US5392424A (en) | Apparatus for detecting parity errors among asynchronous digital signals | |
CN114355760A (zh) | 一种主控制站及其热备冗余控制方法 | |
US10924371B2 (en) | Method for monitoring a first node in a communications network and monitoring system | |
CN103970640A (zh) | 一种处理服务器的***温度传感器故障的方法及*** | |
CN109188895A (zh) | 一种基于冗余设计的伺服控制*** | |
CN115091471B (zh) | 基于EtherCAT的机械臂安全控制方法和装置 | |
CN106940533B (zh) | 一种基于云超实时仿真平台与硬件在环的实时决策方法 | |
CN111650886A (zh) | 一种运动控制*** | |
US11269313B2 (en) | Controller and control system that stores data in current control cycle for output in next control cycle | |
CN115176410B (zh) | 用于自动化***中的驱动***的安全驱动控制的安全模块、驱动***和自动化*** | |
US20230113409A1 (en) | Information processing device, information processing method, and non-transitory computer-readable storage medium | |
CN104914784A (zh) | 数值控制装置 | |
CN212324117U (zh) | 一种rs485总线多主机竞争切换*** | |
CN116490829A (zh) | 用于控制具有控制冗余的自动化***的方法以及自动化*** | |
CN112327692A (zh) | SoC芯片、伺服驱动器、伺服驱动器的控制方法及装置 | |
CN110579997A (zh) | 基于可编程逻辑器件的数字靠模控制***及方法 | |
CN113760627B (zh) | 一种采用应答机制的总线中接口调试控制方法及装置 | |
US20230415335A1 (en) | Robot system, method for controlling robot system, method for manufacturing product using robot system, control program, and recording medium | |
Liu et al. | EtherCAT-based functional safety-integrated communication | |
CN110138643B (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 |