当前位置: 首页 > 专利查询>浙江大学专利>正文

面向基于ROS开发的智能机器人软件状态监控系统及方法技术方案

技术编号:25223525 阅读:69 留言:0更新日期:2020-08-11 23:12
本发明专利技术公开了一种面向基于ROS开发的智能机器人软件状态监控系统及方法,针对机器人运行任务存在着周期性、实时性和逻辑性的需求,从机器人任务运行的特性方面设计实现针对基于ROS系统开发的智能机器人监控方法,针对三种类型的任务软件设计实现基于ROS系统的周期性、实时性和逻辑性监控算法及监视器。本发明专利技术在ROS原有诊断和硬件信息监控系统外添加了针对于软件的监控方法,为监控机器人软件运行状态提供了相应的工具和方法,能够有效地监控不同类型的任务,并通过ROS拥有的通信机制将软件的监控状态以话题的方式发布出去,很方便被其他应用使用,对机器人的管理有重要的借鉴意义。

【技术实现步骤摘要】
面向基于ROS开发的智能机器人软件状态监控系统及方法
本专利技术属于智能机器人
,具体涉及一种面向基于ROS(RobotOperatingSystem)开发的智能机器人软件状态监控系统及方法。
技术介绍
智能机器人可以通过各类外部传感器来感知外部环境信息,从而根据智能算法进行识别、理解并作出相应的规划决策,是一种具有自规划、自组织、自适应能力的高级机器人,能够面对多种复杂场景。随着人工智能技术不断取得新的突破和创新,由此发展出的智能机器人的类型不断增多,其功能也愈加丰富。中国的智能服务机器人市场存在巨大的潜力和发展空间,目前已出现了扫地机器人、送餐机器人、教育机器人、高级的陪护机器人等。由于智能机器人要面对的场景更为复杂,其所要实现的功能也更加复杂多样,这大大增加了其软件系统的复杂性。针对于机器人的工作任务,通常部分任务需要满足实时性、周期性和逻辑性的需求,这就要求对相关的运行软件进行监控来确定机器人当前的工作状态,监控机器人应用软件的运行状态是保障机器人健康工作的重要因素之一。随着机器人开发领域的火热,目前出现了针对机器人的操作系统和相关的开发工具。ROS(RobotOperationSystem,机器人操作系统)是目前较为流行的开源机器人操作系统,并且搭配大量的开发工具和软件库,市场上许多的机器人目前都是以ROS为基础进行开发。然而目前对机器人领域的开发研究主要集中在算法的优化和创新等方面,针对机器人软件状态监控的研究工作并不多,以下为所调研的专利内容:公开号为CN109101356的中国专利提出了一种监控软件状态的方法和装置,其内容包括:周期性获取目标软件的关键指标的当前数值;在关键指标对应的预设的多个指标区间中,查找当前数值所处的目标指标区间;根据预设的指标区间与处理措施的对应关系,确定目标指标区间对应的目标处理措施,通过以上措施保证软件的正常运行。公开号为CN104268081的中国专利提出了一种软件状态监控方法及装置,其内容包括:赋予计数器初值;启动所述计数器从初始值开始计数;接收被测试程序提交的计数器初始化请求,将所述计数器计数值初始化得到所述初值;定时检测计数器计数值是否符合预设门限值要求。公开号为CN105279432的中国专利提出了一种软件监控处理方法及装置,其内容包括:获取客户端上报的目标软件的软件动态行为信息;对所述客户端上报的所述软件动态行为信息进行统计,并根据统计后的所有软件动态行为信息分析目标软件的行为趋势以及进程变动趋势。而目前ROS中提供的针对机器人本身的诊断工具主要是从系统中收集各种硬件的指标和数值信息。根据以上所调研的专利和研究内容显示,目前现有的软件监控主要是通过获取软件的关键数值信息,通过判定数值是否在预设的区间范围来判断软件的运行状态。然而针对于目前机器人中的软件来说,除了监控软件中的重要指标的数值信息之外,机器人还运行着需要满足实时性、周期性和逻辑性的任务,针对这类软件的监控是无法通过软件中某项指标的数值来表现的。目前,现有的一些监控方法无法通过指标数值的方法对机器人运行的不同类型的如周期性、实时性和逻辑性任务进行监控,无法监控所述各类型的任务按照该类型任务所期望的运行模式进行运行。
技术实现思路
鉴于上述,本专利技术提出了一种面向基于ROS开发的智能机器人软件状态监控系统及方法,根据机器人所面临任务的特性设计了三种类型的监控方案即针对周期性、实时性和逻辑性,实现了在基于ROS系统的机器人监控其软件运行状态的目标。一种面向基于ROS开发的智能机器人软件状态监控系统,包括:周期性监视器(CycleMonitor),用于监控执行周期性任务的软件,通过比较软件实际运行的次数和期望的次数来判断周期性任务能否以一定周期运行,从而判断软件运行状态;实时性监视器(DeadlineMonitor),用于监控执行实时性任务的软件,通过任务运行的时间能否满足期望时间的需求,判断软件的运行状态;逻辑性监视器(LogicalMonitor),用于监控执行逻辑性任务的软件,通过任务的实际运行顺序和期望的逻辑顺序之间比较,判断软件的运行状态。进一步地,三种监视器共同拥有的参数配置包括:监视器的唯一标识符ID以及所监控软件的唯一标识符ProcessID、详细信息描述Information和监控状态State(其值为Error或者Correct)。进一步地,所述周期性监视器维护的参数包括期望周期Cycle、期望运行计数ExpectedCounter、实际运行计数Counter、允许误差上界MaxMargin和允许误差下界MinMargin。进一步地,所述周期性监视器的具体工作方式为:首先初始化参数CycleMonitor,该参数包括期望周期Cycle、允许误差上界MaxMargin和允许误差下界MinMargin;当应用程序新开启一条线程,以期望周期Cycle运行,每次运行时将期望运行计数ExpectedCounter的值增加1;在需要对应用程序进行周期性监控时,利用内置函数将实际运行计数Counter的值自增1并检查比较实际运行计数Counter与期望运行计数ExpectedCounter,如果两者误差在给定的范围[MinMargin,MaxMargin]内,认为当前监控的应用程序运行正常,并将期望运行计数ExpectedCounter数值加1;如果两者误差超出给定的范围[MinMargin,MaxMargin],说明此时应用程序软件的运行出现错误,设置其监控状态State为错误Error,否则设置监控状态State为正确Correct。进一步地,所述实时性监视器维护的参数包括任务起始点到达时间SourcePointTime、目标点到达时间TargetPointRime和最大允许时间MaxDeadline。进一步地,所述实时性监视器的具体工作方式为:首先初始化参数DeadMonitor,该参数包括最大允许时间MaxDeadline;在需要进行实时性监控的任务前后分别执行逻辑程序,在任务进程到达起始点时,逻辑程序记录此时时间值为起始点到达时间SourcePointTime,同时开启另一线程,逻辑程序在最大允许时间MaxDeadline后检查任务进程是否到达目标点,如果未到达则设置监视器的监控状态State为错误Error;任务进程到达目标点后,记录此时时间值为目标点到达时间TargetPointRime并判断起始点到目标点所用时间是否超出了最大允许时间MaxDeadline,如果超出设置任务对应软件的监控状态State为错误Error,否则设置监控状态State为正确Correct。进一步地,所述逻辑性监视器维护的参数包括执行流关系图二维数组Graph和记录已执行点的一维数组Reach,Graph为有向图,Graph[i][j]若为1代表执行点i到j之间存在前后联系,Reach[k]若为1代表当前任务已执行过k点。进一步地,所述逻辑性监视器的具体工作方式为:初始化参数LogicalMonitor,该本文档来自技高网
...

【技术保护点】
1.一种面向基于ROS开发的智能机器人软件状态监控系统,其特征在于,包括:/n周期性监视器,用于监控执行周期性任务的软件,通过比较软件实际运行的次数和期望的次数来判断周期性任务能否以一定周期运行,从而判断软件运行状态;/n实时性监视器,用于监控执行实时性任务的软件,通过任务运行的时间能否满足期望时间的需求,判断软件的运行状态;/n逻辑性监视器,用于监控执行逻辑性任务的软件,通过任务的实际运行顺序和期望的逻辑顺序之间比较,判断软件的运行状态。/n

【技术特征摘要】
1.一种面向基于ROS开发的智能机器人软件状态监控系统,其特征在于,包括:
周期性监视器,用于监控执行周期性任务的软件,通过比较软件实际运行的次数和期望的次数来判断周期性任务能否以一定周期运行,从而判断软件运行状态;
实时性监视器,用于监控执行实时性任务的软件,通过任务运行的时间能否满足期望时间的需求,判断软件的运行状态;
逻辑性监视器,用于监控执行逻辑性任务的软件,通过任务的实际运行顺序和期望的逻辑顺序之间比较,判断软件的运行状态。


2.根据权利要求1所述的智能机器人软件状态监控系统,其特征在于:三种监视器共同拥有的参数配置包括:监视器的唯一标识符ID以及所监控软件的唯一标识符ProcessID、详细信息描述Information和监控状态State。


3.根据权利要求1所述的智能机器人软件状态监控系统,其特征在于:所述周期性监视器维护的参数包括期望周期Cycle、期望运行计数ExpectedCounter、实际运行计数Counter、允许误差上界MaxMargin和允许误差下界MinMargin。


4.根据权利要求3所述的智能机器人软件状态监控系统,其特征在于:所述周期性监视器的具体工作方式为:首先初始化参数CycleMonitor,该参数包括期望周期Cycle、允许误差上界MaxMargin和允许误差下界MinMargin;当应用程序新开启一条线程,以期望周期Cycle运行,每次运行时将期望运行计数ExpectedCounter的值增加1;在需要对应用程序进行周期性监控时,利用内置函数将实际运行计数Counter的值自增1并检查比较实际运行计数Counter与期望运行计数ExpectedCounter,如果两者误差在给定的范围[MinMargin,MaxMargin]内,认为当前监控的应用程序运行正常,并将期望运行计数ExpectedCounter数值加1;如果两者误差超出给定的范围[MinMargin,MaxMargin],说明此时应用程序软件的运行出现错误,设置其监控状态State为错误Error,否则设置监控状态State为正确Correct。


5.根据权利要求1所述的智能机器人软件状态监控系统,其特征在于:所述实时性监视器维护的参数包括任务起始点到达时间SourcePointTime、目标点到达时间TargetPointRime和最大允许时间MaxDeadline。


6.根据权利要求5所述的智能机器人软件状态监控系统,其特征在于:所述实时性监...

【专利技术属性】
技术研发人员:杨国青李坦李红吕攀吴朝晖
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1