在机器人操作系统中提升系统可靠性的方法与流程

文档序号:12034478阅读:221来源:国知局
在机器人操作系统中提升系统可靠性的方法与流程

本发明涉及一种机器人技术,具体地,涉及一种在机器人操作系统中提升系统可靠性的方法。



背景技术:

机器人系统由驱动装置、传感装置和控制系统、复杂机械以及后台的决策系统组成,所有设备通过相互协同和相互影响,共同决定机器人的功能和行为特征,为了满足机器人软件日益复杂的需求,许多机器人软件平台应运而生。机器人软件平台当前最为活跃的是机器人操作系统ros(robotoperatingsystem)项目。目前,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软件节点互联互通,提供了系统的灵活性和通用性。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1