CN107291589A - 在机器人操作系统中提升系统可靠性的方法 - Google Patents

在机器人操作系统中提升系统可靠性的方法 Download PDF

Info

Publication number
CN107291589A
CN107291589A CN201710309670.5A CN201710309670A CN107291589A CN 107291589 A CN107291589 A CN 107291589A CN 201710309670 A CN201710309670 A CN 201710309670A CN 107291589 A CN107291589 A CN 107291589A
Authority
CN
China
Prior art keywords
node
data
ros
software
health monitoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710309670.5A
Other languages
English (en)
Other versions
CN107291589B (zh
Inventor
邓畅
刘荣宽
李广
左龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
No32 Research Institute Of China Electronics Technology Group Corp
Original Assignee
No32 Research Institute Of China Electronics Technology Group Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by No32 Research Institute Of China Electronics Technology Group Corp filed Critical No32 Research Institute Of China Electronics Technology Group Corp
Priority to CN201710309670.5A priority Critical patent/CN107291589B/zh
Publication of CN107291589A publication Critical patent/CN107291589A/zh
Application granted granted Critical
Publication of CN107291589B publication Critical patent/CN107291589B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种在机器人操作系统中提升系统可靠性的方法,其包括以下步骤:步骤一,提供系统多级健康监控;步骤二,使用高可用管理框架中间件。本发明在硬件节点的内核操作系统之上引入高可用管理框架中间件,ROS系统的软硬件节点在高可用管理框架的保护下运行,当节点出错能自动按照故障保护策略,恢复节点的功能,提升ROS系统的可靠性;健康监控数据用来提供系统运行时的多级健康监控和性能统计分析,并能够通过图形化的方式直观展现,提供了方便强大的检测工具;兼容当前的ROS的软件节点应用模块,已有的软件应用节点模块可不加修改的在高可用框架之上运行,并可以与不使用高可用框架保护的ROS软件节点互联互通,提供系统的灵活性和通用性。

Description

在机器人操作系统中提升系统可靠性的方法
技术领域
本发明涉及一种机器人技术,具体地,涉及一种在机器人操作系统中提升系统可靠性的方法。
背景技术
机器人系统由驱动装置、传感装置和控制系统、复杂机械以及后台的决策系统组成,所有设备通过相互协同和相互影响,共同决定机器人的功能和行为特征,为了满足机器人软件日益复杂的需求,许多机器人软件平台应运而生。机器人软件平台当前最为活跃的是机器人操作系统ROS(Robot Operating System)项目。目前,ROS软件平台已经应用于上百种地面、空中、水面和水下无人系统,成为机器人应用软件平台的事实标准。
ROS分布式运行于多个基于Linux内核的硬件节点操作系统之上,由通信基础设施、机器人应用相关的软件包、开发和运行工具集组成,能够为机器人应用开发提供驱动程序、硬件抽象、资源管理、通信管理、实用工具功能。ROS软件框架及其多个软件节点模块运行在多个异构计算机上,每个计算机为一个硬件节点,如机器人的传感器节点、计算单元节点和执行器节点。ROS本质是一种分布式处理框架,其既支持面向服务的同步远程过程调用通信,也支持面向数据的异步数据流通信,这使执行构件模块能被单独设计,并且在运行时松散耦合,形成完整的机器人控制软件系统。
ROS整合了多个软件模块和硬件模块,但整个系统的可靠性需要进一步考虑和提升,当软硬件节点模块数增加时,运行期间难免有些模块会出现异常退出的问题,其中一个ROS软件节点或硬件节点出错,会导致系统部分功能缺失,甚至导致系统崩溃,需要为系统提供自修复能力,ROS系统依赖于软件中心节点模块ROSMaster,其提供所有其他应用软件节点的注册注销信息和软件节点间通讯所需的配置信息,并提供参数配置,如运行时ROSMaster出错退出,将导致系统崩溃。另外,需提供系统运行时的健康监控和性能分析态势显示工具,以便提前预警或分析系统的当前状态。
可靠性是机器人系统中非常重要的设计考量,但是目前的ROS软件平台缺少对这方面的考虑。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种在机器人操作系统中提升系统可靠性的方法,其在硬件节点的内核操作系统之上引入高可用管理框架中间件,ROS系统的软硬件节点在高可用管理框架的保护下运行,当节点出错能自动按照故障保护策略,恢复节点的功能,提升了ROS系统的可靠性;健康监控数据用来提供系统运行时的多级健康监控和性能统计分析,并能够通过图形化的方式直观展现,提供了方便强大的检测工具;兼容当前的ROS的软件节点应用模块,已有的软件应用节点模块可不加修改的在高可用框架之上运行,并可以与不使用高可用框架保护的ROS软件节点互联互通,提供了系统的灵活性和通用性。
根据本发明的一个方面,提供一种在机器人操作系统中提升系统可靠性的方法,其特征在于,其包括以下步骤:
步骤一,提供系统多级健康监控;
步骤二,使用高可用管理框架中间件。
优选地,所述步骤一具体包括以下步骤:
步骤一十一,使能软件节点的健康监控功能,在每个ROS软件节点上通过统一的数据格式进行记录运行状态和性能统计,如节点的数据包大小、数据包发送率、数据丢包率、心跳包状态,通过ROS软件节点的/统计学数据主题,来完成数据获取收集;
步骤一十二,使能硬件节点的健康监控功能,多个软件节点分布式运行在硬件节点之上,每个硬件节点健康监控数据,如CPU使用率、内存使用率、网络带宽占有率、硬件板级电压电流温度内容,通过工具实时收集,在硬件节点的内核Ubuntu操作系统之上,安装pysensors、psutil工具,来完成数据获取收集;
步骤一十三,健康监控数据的处理与展示,监控服务处理端定期从节点获取监控数据,并在获取到监控数据后,对数据进行整合、分析、记录,在察觉到异常信息后报警,使用特定的ROS软件节点进行监控数据的处理和异常行为的触发,并在ROS的参数服务器中定义各种数据的上下异常门限参数。
优选地,所述步骤二具体包括以下步骤:
步骤二十一,配置和维护整个系统的状态模型和恢复策略,ROS节点在基于内核操作系统上的高可用保护框架中间件里运行,高可用保护框架首先定义框架中各个组件的状态、依赖关系、冗余模型和预定的故障处理方案和策略,使用了符合SAF规范的OpenSAF高可用管理框架中间件,但不限于此,任何提供高可用保护的中间件框架都使用;
步骤二十二,为ROSMaster中心节点和关键的节点设置冗余备份和关键数据同步,ROS的重要节点和ROSMaster中心节点需要热备份,以便宕机时随时切换,采用2N冗余模型的备份方式,主节点的写入信息随时备份,主节点宕机后,备份节点被切换为主节点,并且用备份的主节点完成信息初始化;
步骤二十三,基于健康监控的报警信息执行策略性的系统恢复,节点宕机的时候,需要通过重启或迁移的机制恢复节点,这个重启是无状态的,也是基于备份的有状态的,监控节点上运行的任务,当发生故障时,容错框架根据故障类型采用相应的恢复策略,当产生故障的软件无法在本节点上恢复或整个节点崩溃时,系统提供迁移的手段重建服务。
优选地,所述系统多级健康监控主要包括三部分:ROS软件节点层和ROS硬件节点层的监控数据发布端,基于配置,通过统一的数据格式进行实时记录运行状态和性能统计;监控服务处理端定期从节点获取监控数据,并在获取到监控数据后,对数据进行整合、分析、记录,在察觉到异常信息后报警;图形化的数据展现端,图形化的展示系统当前的健康状态和监控信息。
与现有技术相比,本发明具有如下的有益效果:本发明在硬件节点的内核操作系统之上引入高可用管理框架中间件,ROS系统的软硬件节点在高可用管理框架的保护下运行,当节点出错能自动按照故障保护策略,恢复节点的功能,提升了ROS系统的可靠性;健康监控数据用来提供系统运行时的多级健康监控和性能统计分析,并能够通过图形化的方式直观展现,提供了方便强大的检测工具;兼容当前的ROS的软件节点应用模块,已有的软件应用节点模块可不加修改的在高可用框架之上运行,并可以与不使用高可用框架保护的ROS软件节点互联互通,提供了系统的灵活性和通用性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明在机器人操作系统中提升系统可靠性的方法的流程图。
图2为健康监控工具的模块的组成示意图。
图3为基于高可用管理框架的ROS平台系统的组成示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
如图1所示,本发明在机器人操作系统中提升系统可靠性的方法包括以下步骤:
步骤一,提供系统多级健康监控,具体包括以下步骤:
步骤一十一,使能软件节点的健康监控功能,在每个ROS软件节点上通过统一的数据格式进行记录运行状态和性能统计,如节点的数据包大小、数据包发送率、数据丢包率、心跳包状态,通过ROS软件节点的/statistics(统计学)数据主题,来完成数据获取收集;
步骤一十二,使能硬件节点的健康监控功能,多个软件节点可分布式运行在硬件节点之上,每个硬件节点健康监控数据,如CPU使用率、内存使用率、网络带宽占有率、硬件板级电压电流温度内容,可通过工具实时收集,在硬件节点的内核Ubuntu操作系统之上,安装pysensors、psutil工具,来完成数据获取收集;
步骤一十三,健康监控数据的处理与展示,监控服务处理端定期从节点获取监控数据,并在获取到监控数据后,对数据进行整合、分析、记录,在察觉到异常信息后报警,使用特定的ROS软件节点进行监控数据的处理和异常行为的触发,并在ROS的参数服务器中定义各种数据的上下异常门限等参数。
步骤二,使用高可用管理框架中间件,具体包括以下步骤:
步骤二十一,配置和维护整个系统的状态模型和恢复策略,ROS节点在基于内核操作系统上的高可用保护框架中间件里运行,高可用保护框架首先定义框架中各个组件的状态、依赖关系、冗余模型和预定的故障处理方案和策略,使用了符合SAF规范的OpenSAF高可用管理框架中间件,但不限于此,任何能够提供高可用保护的中间件框架均可使用;
步骤二十二,为ROSMaster中心节点和关键的节点设置冗余备份和关键数据同步,ROS的重要节点和ROSMaster中心节点需要热备份,以便宕机时可以随时切换,采用2N冗余模型的备份方式,主节点的写入信息随时备份,主节点宕机后,备份节点被切换为主节点,并且用备份的主节点完成信息初始化;
步骤二十三,基于健康监控的报警信息执行策略性的系统恢复,节点宕机的时候,需要通过重启或迁移的机制恢复节点,这个重启可以是无状态的,也可是基于备份的有状态的,监控节点上运行的任务,当发生故障时,容错框架根据故障类型采用相应的恢复策略,当产生故障的软件无法在本节点上恢复或整个节点崩溃时,系统提供迁移的手段重建服务。
如图2所示,多级健康监控工具的模块,在每个ROS软件模块节点和每个硬件节点上加入了收集性能数据的数据发布端,数据用来提供系统运行时的多级健康监控和运行状态、性能统计分析,数据包括软件节点的数据包大小、数据包发送率、数据丢包率、心跳包状态等和硬件节点的CPU使用率、内存使用率、网络带宽占有率、硬件板级电压电流温度等内容,基于收集的数据,对于运行的节点实时监控,并检测到严重的错误信息时或超出预定义的门限值时报警和采取必要的动作。
系统多级健康监控主要包括三部分,ROS软件节点层和ROS硬件节点层的监控数据发布端,基于配置,通过统一的数据格式进行实时记录运行状态和性能统计;监控服务处理端定期从节点获取监控数据(对于紧急的报警信息,节点可以把消息推送给监控服务端),并在获取到监控数据后,对数据进行整合、分析、记录,在察觉到异常信息后报警;图形化的数据展现端,图形化的展示系统当前的健康状态和监控信息。
如图3所示,基于高可用管理框架的ROS平台系统,在ROS硬件节点的内核操作系统之上,使用高可用管理框架中间件,在高可用管理框架的环境上运行ROS的软件应用节点和ROSMaster软件中心节点。
为满足系统不间断运行的高可用性需求,系统基于高可用管理框架为应用程序构件提供了高可用管理服务,这些服务组合形成高可用性服务平台,其本质是一组分布在多节点上的中间件,它们协作完成整个系统的高可用性,对外提供统一的接口。基于从健康监控获取的报警信息,高可用管理框架确定了系统的硬件高可用状态。在高可用管理框架运行环境中的应用程序根据系统的状态来改变自己生命周期,并且重新部署活动区域。高可用管理框架通知这些应用程序关于系统的状态,这样应用程序就可以进行必要的重新配置,以适应系统的变化,如硬件节点的损坏退出。
综上所述,本发明在硬件节点的内核操作系统之上引入高可用管理框架中间件,ROS系统的软硬件节点在高可用管理框架的保护下运行,当节点出错能自动按照故障保护策略,恢复节点的功能,提升了ROS系统的可靠性;健康监控数据用来提供系统运行时的多级健康监控和性能统计分析,并能够通过图形化的方式直观展现,提供了方便强大的检测工具;兼容当前的ROS的软件节点应用模块,已有的软件应用节点模块可不加修改的在高可用框架之上运行,并可以与不使用高可用框架保护的ROS软件节点互联互通,提供了系统的灵活性和通用性。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

Claims (4)

1.一种在机器人操作系统中提升系统可靠性的方法,其特征在于,其包括以下步骤:
步骤一,提供系统多级健康监控;
步骤二,使用高可用管理框架中间件。
2.根据权利要求1所述的在机器人操作系统中提升系统可靠性的方法,其特征在于,所述步骤一具体包括以下步骤:
步骤一十一,使能软件节点的健康监控功能,在每个ROS软件节点上通过统一的数据格式进行记录运行状态和性能统计,通过ROS软件节点的/统计学数据主题,来完成数据获取收集;
步骤一十二,使能硬件节点的健康监控功能,多个软件节点分布式运行在硬件节点之上,每个硬件节点健康监控数据通过工具实时收集,在硬件节点的内核Ubuntu操作系统之上,安装pysensors、psutil工具,来完成数据获取收集;
步骤一十三,健康监控数据的处理与展示,监控服务处理端定期从节点获取监控数据,并在获取到监控数据后,对数据进行整合、分析、记录,在察觉到异常信息后报警,使用特定的ROS软件节点进行监控数据的处理和异常行为的触发,并在ROS的参数服务器中定义各种数据的上下异常门限参数。
3.根据权利要求1所述的在机器人操作系统中提升系统可靠性的方法,其特征在于,所述步骤二具体包括以下步骤:
步骤二十一,配置和维护整个系统的状态模型和恢复策略,ROS节点在基于内核操作系统上的高可用保护框架中间件里运行,高可用保护框架首先定义框架中各个组件的状态、依赖关系、冗余模型和预定的故障处理方案和策略,使用了符合SAF规范的OpenSAF高可用管理框架中间件,但不限于此,任何提供高可用保护的中间件框架都使用;
步骤二十二,为ROSMaster中心节点和关键的节点设置冗余备份和关键数据同步,ROS的重要节点和ROSMaster中心节点需要热备份,以便宕机时随时切换,采用2N冗余模型的备份方式,主节点的写入信息随时备份,主节点宕机后,备份节点被切换为主节点,并且用备份的主节点完成信息初始化;
步骤二十三,基于健康监控的报警信息执行策略性的系统恢复,节点宕机的时候,需要通过重启或迁移的机制恢复节点,这个重启是无状态的,也是基于备份的有状态的,监控节点上运行的任务,当发生故障时,容错框架根据故障类型采用相应的恢复策略,当产生故障的软件无法在本节点上恢复或整个节点崩溃时,系统提供迁移的手段重建服务。
4.根据权利要求1所述的在机器人操作系统中提升系统可靠性的方法,其特征在于,所述系统多级健康监控主要包括三部分:ROS软件节点层和ROS硬件节点层的监控数据发布端,基于配置,通过统一的数据格式进行实时记录运行状态和性能统计;监控服务处理端定期从节点获取监控数据,并在获取到监控数据后,对数据进行整合、分析、记录,在察觉到异常信息后报警;图形化的数据展现端,图形化的展示系统当前的健康状态和监控信息。
CN201710309670.5A 2017-05-04 2017-05-04 在机器人操作系统中提升系统可靠性的方法 Active CN107291589B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710309670.5A CN107291589B (zh) 2017-05-04 2017-05-04 在机器人操作系统中提升系统可靠性的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710309670.5A CN107291589B (zh) 2017-05-04 2017-05-04 在机器人操作系统中提升系统可靠性的方法

Publications (2)

Publication Number Publication Date
CN107291589A true CN107291589A (zh) 2017-10-24
CN107291589B CN107291589B (zh) 2020-09-04

Family

ID=60094490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710309670.5A Active CN107291589B (zh) 2017-05-04 2017-05-04 在机器人操作系统中提升系统可靠性的方法

Country Status (1)

Country Link
CN (1) CN107291589B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109188894A (zh) * 2018-08-10 2019-01-11 国网江苏省电力有限公司检修分公司 巡检机器人及其控制系统和控制方法
WO2020108161A1 (zh) * 2018-11-30 2020-06-04 中国人民解放军陆军工程大学 一种基于ros主从节点管理器的通信方法和系统
CN113127248A (zh) * 2021-04-02 2021-07-16 清华大学 面向机器人ros程序的自动崩溃恢复方法和系统
CN113342593A (zh) * 2020-03-02 2021-09-03 慧荣科技股份有限公司 用以进行全快闪存储器阵列伺服器的高可用性管理的方法与设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106126A (zh) * 2013-01-16 2013-05-15 浪潮电子信息产业股份有限公司 一种基于虚拟化的高可用计算机系统
CN103152414A (zh) * 2013-03-01 2013-06-12 四川省电力公司信息通信公司 一种基于云计算的高可用系统及其实现方法
CN104850471A (zh) * 2015-05-12 2015-08-19 浪潮电子信息产业股份有限公司 一种基于安腾平台下实现db2数据库两地三中心的方法
CN105975378A (zh) * 2016-05-11 2016-09-28 国网江苏省电力公司 一种面向超级计算机的分布式层次化自主监控管理系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106126A (zh) * 2013-01-16 2013-05-15 浪潮电子信息产业股份有限公司 一种基于虚拟化的高可用计算机系统
CN103152414A (zh) * 2013-03-01 2013-06-12 四川省电力公司信息通信公司 一种基于云计算的高可用系统及其实现方法
CN104850471A (zh) * 2015-05-12 2015-08-19 浪潮电子信息产业股份有限公司 一种基于安腾平台下实现db2数据库两地三中心的方法
CN105975378A (zh) * 2016-05-11 2016-09-28 国网江苏省电力公司 一种面向超级计算机的分布式层次化自主监控管理系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109188894A (zh) * 2018-08-10 2019-01-11 国网江苏省电力有限公司检修分公司 巡检机器人及其控制系统和控制方法
WO2020108161A1 (zh) * 2018-11-30 2020-06-04 中国人民解放军陆军工程大学 一种基于ros主从节点管理器的通信方法和系统
CN113342593A (zh) * 2020-03-02 2021-09-03 慧荣科技股份有限公司 用以进行全快闪存储器阵列伺服器的高可用性管理的方法与设备
CN113342593B (zh) * 2020-03-02 2024-03-26 慧荣科技股份有限公司 用以进行全快闪存储器阵列伺服器的高可用性管理的方法与设备
CN113127248A (zh) * 2021-04-02 2021-07-16 清华大学 面向机器人ros程序的自动崩溃恢复方法和系统

Also Published As

Publication number Publication date
CN107291589B (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
TWI746512B (zh) 實體機器故障分類處理方法、裝置和虛擬機器恢復方法、系統
CN102231681B (zh) 一种高可用集群计算机系统及其故障处理方法
CN102394774B (zh) 一种云计算操作系统的控制器服务状态监控和故障恢复方法
CN107291589A (zh) 在机器人操作系统中提升系统可靠性的方法
CN105659215B (zh) 一种故障处理方法、相关装置及计算机
US20120284713A1 (en) Systems and methods for analyzing performance of virtual environments
CN105491143A (zh) 一种软件运行状态监控系统及其实现方法
US9122784B2 (en) Isolation of problems in a virtual environment
CN103853627A (zh) 由与物理机器相关地分析虚拟机器性能问题原因的方法和系统
CN104796273A (zh) 一种网络故障根源诊断的方法和装置
CN103729280A (zh) 一种虚拟机高可用机制
CN107479836A (zh) 磁盘故障监控方法、装置以及存储系统
CN102857371B (zh) 一种面向集群系统的动态配置管理方法
CN103116531A (zh) 存储系统故障预测方法和装置
CN103546313A (zh) 基于云计算的it运维管理系统
CN104461752A (zh) 一种两级故障容错的多媒体分布式任务处理方法
EP4020218B1 (en) Analyzing large-scale data processing jobs
CN105243004A (zh) 一种故障资源检测方法及装置
CN106789306A (zh) 通信设备软件故障检测收集恢复方法和系统
CN105516293A (zh) 一种智能变电站云资源监控系统
Araujo et al. Dependability evaluation of a mhealth system using a mobile cloud infrastructure
TW202006564A (zh) 用於偵測階層式系統故障之偵錯裝置及偵錯方法、電腦可讀取之記錄媒體及電腦程式產品
WO2019061364A1 (zh) 故障分析方法及相关设备
CN103246585A (zh) 一种存储控制器故障检测方法
CN106875018B (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