CN110587601A - 一种应用于智能巡检机器人的控制*** - Google Patents
一种应用于智能巡检机器人的控制*** Download PDFInfo
- Publication number
- CN110587601A CN110587601A CN201910769622.3A CN201910769622A CN110587601A CN 110587601 A CN110587601 A CN 110587601A CN 201910769622 A CN201910769622 A CN 201910769622A CN 110587601 A CN110587601 A CN 110587601A
- Authority
- CN
- China
- Prior art keywords
- inspection
- layer
- job
- intelligent
- robot
- 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
Links
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/1602—Programme controls characterised by the control system, structure, architecture
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种应用于智能巡检机器人的控制***,其中,所述***包括:交互层:用于接收外部或者内部产生的控制智能巡检机器人的巡检请求,基于所述巡检请求在作业调度器内生成巡检作业,所述巡检作业包括所巡检请求;作业层:用于接收所述巡检作业,基于作业管理组件解析所述巡检作业,将所述巡检作业中的巡检请求分解为若干步骤并依次执行;服务层:用于基于远程过程调用与所述作业层相连接,为所述作业层执行所述巡检作业时提供对应的执行服务;硬件接口层:用于与服务层相连接,且将硬件进行封装及隔离。在本发明实施例中,能够更好的管控智能巡检机器人控制***的复杂性,降低对控制***进行调测、扩展、优化以及跨平台兼容工作的难度。
Description
技术领域
本发明涉及智能控制技术领域,尤其涉及一种应用于智能巡检机器人的控制***。
背景技术
巡检机器人为主要用于工业现场(如变电站控制室、通信机房、工厂车间等)自动巡视、监控等的工业机器人,这类机器人通常是无引导轨的移动机器人。由于其工况复杂性、无引导轨导航模式对SLAM和导航***的较高要求,以及巡检机器人所承载的巡视和监控功能的多样性,这类机器人的软件***极其复杂,其逻辑架构自底层到中上层包含着大量的软件组件。
随着巡检机器人相关的软硬件技术不断成熟,业界的关注点已经转向如何令巡检机器人拥有更强大的自主化、智能化能量。
如前所述,巡检机器人的工况复杂性、高自由度的导航模式以及其承载的巡视和监控功能的多样性,使得其控制软件***高度复杂,表现为组件众多、组件间的关联关系复杂。而对自主化、智能化能量要求的不断提高,使得软件***复杂度更加难以控制。
发明内容
本发明的目的在于克服现有技术的不足,本发明提供了一种应用于智能巡检机器人的控制***,能够更好的管控智能巡检机器人控制***的复杂性,降低对控制***进行调测、扩展、优化以及跨平台兼容工作的难度。
为了解决上述技术问题,本发明实施例提供了一种应用于智能巡检机器人的控制***,所述***包括:
交互层:用于接收外部或者内部产生的控制智能巡检机器人的巡检请求,基于所述巡检请求在作业调度器内生成巡检作业,所述巡检作业包括所巡检请求;
作业层:用于接收所述巡检作业,基于作业管理组件解析所述巡检作业,将所述巡检作业中的巡检请求分解为若干步骤并依次执行;
服务层:用于基于远程过程调用与所述作业层相连接,为所述作业层执行所述巡检作业时提供对应的执行服务;
硬件接口层:用于与服务层相连接,且将硬件进行封装及隔离。
可选的,所述交互层包括:
操作交互模块:用于基于图像用户界面交互或语音交互接收操作用户的控制智能巡检机器人的巡检请求;
测试交互模块:用于基于命令调试工具、WEB API调试工具或者Rviz 二次开发的调试工具接收测试用户的控制智能巡检机器人的巡检请求;
巡检交互模块:基于WEB API接口从服务端同步与本智能巡检机器人相关的配置和用户作业,生成控制智能巡检机器人的巡检请求;
作业调度器:用于基于所述控制智能巡检机器人的巡检请求生成巡检作业,所述巡检作业包括所巡检请求。
可选的,所述操作交互模块、所述测试交互模块以及所述巡检交互模块基于HTTP向所述作业调度器发送控制智能巡检机器人的巡检请求。
可选的,所述巡检交互模块包括:
WEB API接口:用于服务端相连接,同步与本智能巡检机器人相关的配置和用户作业,并基于所述控制***的本地配置数据库将将与本智能巡检机器人相关的配置和用户作业划分为常规巡检计划和即时巡检请求;
巡检解析器:用于对常规巡检计划和即时巡检请求进行解析,获取控制智能巡检机器人的巡检请求。
可选的,所述作业层包括:
作业管理组件:用于接收并解析所述巡检作业,将所述巡检作业中的巡检请求分解为若干巡检步骤;
步骤管理组件:用于对每个巡检步骤进行解析,并根据解析结果生成巡检步骤执行指令;
作业管理组件:用于控制所述智能巡检机器人执行每一个步骤执行指令。
可选的,所述巡检作业包括多个巡检步骤,所述巡检步骤包括多个巡检步骤指令;其中,每个巡检步骤和每个巡检步骤指令均为相互独立的。
可选的,所述服务层包括:
服务模块:用于基于远程过程调用与所述作业层的指令管理组件的相应接口相连接或与所述交互层的Rviz二次开发的调试工具相连接;
软件栈模块:用于基于所述服务模块与所述作业层间接连接,以及接收硬件接口层上传的标准化形式的传感器数据。
可选的,所述服务模块包括建图/导航/避障服务、能量管理服务、图像视频服务、日志服务和其他服务;
其中,所述软件栈模块封装在所述建图/导航/避障服务内;所述软件栈模块基于所述建图/导航/避障服务与所述作业层间接连接。
可选的,所述硬件接口层内依次封装有控制输出接口、路程/距离传感器输入接口、泊位充电运动控制、电量监测与充电控制、USB摄像头操作库、ffmpeg软件。
在本发明实施例中,能够更好的管控智能巡检机器人控制***的复杂性,降低对控制***进行调测、扩展、优化以及跨平台兼容工作的难度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例中的应用于智能巡检机器人的控制***的结构组成示意图;
图2是本发明另一实施例中的应用于智能巡检机器人的控制***的结构组成示意图;
图3是本发明实施例中的巡检作业的一个有限状态机制流程示意图;
图4是本发明实施例中的巡检作业、巡检步骤和巡检步骤指令的has-a 关系示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例
请参阅图1,图1是本发明实施例中的应用于智能巡检机器人的控制***的结构组成示意图。
如图1所示,一种应用于智能巡检机器人的控制***,所述***包括:
交互层11:用于接收外部或者内部产生的控制智能巡检机器人的巡检请求,基于所述巡检请求在作业调度器内生成巡检作业,所述巡检作业包括所巡检请求;
在本发明具体实施过程中,所述交互层11包括:操作交互模块:用于基于图像用户界面交互或语音交互接收操作用户的控制智能巡检机器人的巡检请求;测试交互模块:用于基于命令调试工具、WEB API调试工具或者Rviz二次开发的调试工具接收测试用户的控制智能巡检机器人的巡检请求;巡检交互模块:基于WEB API接口从服务端同步与本智能巡检机器人相关的配置和用户作业,生成控制智能巡检机器人的巡检请求;作业调度器:用于基于所述控制智能巡检机器人的巡检请求生成巡检作业,所述巡检作业包括所巡检请求。
进一步的,所述操作交互模块、所述测试交互模块以及所述巡检交互模块基于HTTP向所述作业调度器发送控制智能巡检机器人的巡检请求。
进一步的,所述巡检交互模块包括:WEB API接口:用于服务端相连接,同步与本智能巡检机器人相关的配置和用户作业,并基于所述控制***的本地配置数据库将将与本智能巡检机器人相关的配置和用户作业划分为常规巡检计划和即时巡检请求;巡检解析器:用于对常规巡检计划和即时巡检请求进行解析,获取控制智能巡检机器人的巡检请求。
具体的,操作交互模块是指具有图像用户界面交互(GUI)功能的操作软件,操作人员通过GUI生成巡检请求,请求智能机器人执行一项动作,并可查看执行过程中返回的进度信息、最终的结果数据;语音交互和GUI 的功能相仿,语音交互主要是用户通过语音交互的方式语音识别输入,生成巡检请求;基于命令调试工具用于开发测试人员可通过该工具直接向机器人发送执行指定作业的指令,并在命令行界面查看进度信息、日志、中间数据和最终的结果数据;WEB API调试工具提供了一套可配置、控制机器人执行作业的WEB API,此API的设计目标是提高调试工具开发的灵活性和可扩展性,其服务端直接部署在机器人上,兼容Web应用、移动端应用、桌面应用等形式的客户端;Rviz二次开发的调试工具也是开发测试人员可通过该工具直接向机器人发送执行指定作业的指令,并在命令行界面查看进度信息、日志、中间数据和最终的结果数据。
WEB API接口、巡检解析器和本地配置数据库则通过协调配合实现作业请求的自动发起;本地配置数据库包含了所有的配置数据,包括但不限于静态地图、目标位置、作业信息(有多少作业,每个作业包含哪些步骤、每个作业在何时或何条件下触发执行)等,这些数据最终组成了常规巡检计划,送入巡检解析器;WEB API接口为机器人与服务端沟通的接口,该接口可以获取保存于服务端的配置数据生成常规巡检计划并送入巡检解析器,也可接收来自服务端的即时执行巡检任务的请求并送入巡检解析器; WEB API接口、巡检解析器和本地配置数据库是关键的机器人作业发起者,机器人的大部分作业都将由巡检解析器触发;巡检解析器的职责是将常规巡检计划和即时巡检请求转换为格式化的作业表示,并进一步地向作业调度器请求执行作业。
作业调度器的功能是代理外部请求,并在作业调度器内部对外部请求进行缓存、排队、抢占等处理。
作业层12:用于接收所述巡检作业,基于作业管理组件解析所述巡检作业,将所述巡检作业中的巡检请求分解为若干步骤并依次执行;
在本发明具体实施过程中,所述作业层12包括:作业管理组件:用于接收并解析所述巡检作业,将所述巡检作业中的巡检请求分解为若干巡检步骤;步骤管理组件:用于对每个巡检步骤进行解析,并根据解析结果生成巡检步骤执行指令;作业管理组件:用于控制所述智能巡检机器人执行每一个步骤执行指令。
进一步的,请参阅图4,图4是本发明实施例中的巡检作业、巡检步骤和巡检步骤指令的has-a关系示意图。
如图4所示,所述巡检作业包括多个巡检步骤,所述巡检步骤包括多个巡检步骤指令;其中,每个巡检步骤和每个巡检步骤指令均为相互独立的。
具体的,作业管理组件是请求机器人执行一项“作业”的入口,在收到一项作业请求之后,其再请求步骤管理组件根据“作业”配置信息将其拆解为若干个“步骤”,每一个步骤都可以用实体,这些实体包括到指定位置采集图像步骤、到指定位置推送视频步骤、全程推送视频步骤或者其他步骤(待扩展)等;执行“作业”,就被转换为执行若干“步骤”;步骤管理组件得到每一个“步骤”后,其将进一步调用作业管理组件将该步骤分解为若干指令,每一个指令都可以用实体表示,这些实体包括前往指定位置指令(服务接口)、电量管理指令(服务接口)、图像采集指令(服务接口)、视频推送指令(服务接口)和其他指令(待扩展)等;执行一个“步骤”,就被转换为执行若干“指令”。上述步骤按“作业”-“步骤”-“指令”的层次自上而下地执行,最终的结果是一个“作业”将被分解为一系列的“指令”,最终在作业管理组件中一一被执行。
请参阅图3,图3是本发明实施例中的巡检作业的一个有限状态机制流程示意图。
如图3所示的作业有限状态机。
服务层13:用于基于远程过程调用与所述作业层相连接,为所述作业层执行所述巡检作业时提供对应的执行服务;
在本发明具体实施过程中,所述服务层13包括:服务模块:用于基于远程过程调用与所述作业层的指令管理组件的相应接口相连接或与所述交互层的Rviz二次开发的调试工具相连接;软件栈模块:用于基于所述服务模块与所述作业层间接连接,以及接收硬件接口层上传的标准化形式的传感器数据。
进一步的,所述服务模块包括建图/导航/避障服务、能量管理服务、图像视频服务、日志服务和其他服务;其中,所述软件栈模块封装在所述建图/导航/避障服务内;所述软件栈模块基于所述建图/导航/避障服务与所述作业层间接连接。
具体的,服务层13是沟通作业层和硬件接口层的桥梁,其与作业层的接口形式是RPC(远程过程调用)。
服务模块包括建图/导航/避障服务、能量管理服务、图像视频服务、日志服务和其他服务;建图/导航/避障服务向上层暴露“添加/删除Named导航目标点”“前往指定的Named导航目标点”“前往指定的(任意)导航目标点”“扫描并保存地图”等操作,提供建图和导航服务,并内建避障机制;上述的“Named导航目标点”指的是带有名称的导航目标点,调用方可通过直接指定目标点名称来令机器人前往某个目标点(该目标点的名称和位置是事先设置并绑定的)。
建图/导航/避障服务内封装了软件栈模块,软件栈模块为ROS(Robot OperationSystem)所内置的navigation软件栈,其包含amcl、move_base 等一系列的组件。作业层的组件并不能直接访问软件栈模块;而只能通过建图/导航/避障服务间接访问。
能量管理服务为上层暴露“去充电”“去充电(若有必要)”等接口,其封装了服务层的“充电桩导航”组件和硬件接口层的“泊位充电运动控制”“电量监测与充电控制”组件。
图像视频服务封装了硬件接口层的“USB摄像头操作库”和“ffmpeg 软件”等组件,向上层暴露“通过指定摄像头采集图像”“通过指定摄像头推送RTMP视频”“停止推送指定的RTMP视频”等操作。
硬件接口层14:用于与服务层相连接,且将硬件进行封装及隔离。
在本发明具体实施过程中,所述硬件接口层14内依次封装有控制输出接口、路程/距离传感器输入接口、泊位充电运动控制、电量监测与充电控制、USB摄像头操作库、ffmpeg软件。
具体的,硬件接口层14的用途主要在于将硬件层进一步封装、隔离,从而当我们将该组件架构运用到不同的机器人平台上时,无需对服务层、作业层以及更高层级的软件组件作任何修改。
硬件接口层14包括“控制输出接口”、“路程/距离传感器输入接口”、“泊位充电运动控制”、“电量监测与充电控制”、“USB摄像头操作库”、“ffmpeg软件”、“其他组件(待扩展)”等。
在本发明实施例中,能够更好的管控智能巡检机器人控制***的复杂性,降低对控制***进行调测、扩展、优化以及跨平台兼容工作的难度。
实施例
请参阅图2,图2是本发明另一实施例中的应用于智能巡检机器人的控制***的结构组成示意图。
如图2所示,一种应用于智能巡检机器人的控制***,包括:
应用层
组件0001是带有GUI交互功能的操作软件,操作人员通过组件0001 可以请求机器人执行一项动作,并可查看执行过程中返回的进度信息、最终的结果数据。组件0002和组件0001的功能相仿,但组件0002的主要输入方式的语音识别输入。
组件0003是命令行调试工具,开发测试人员可通过该工具直接向机器人发送执行指定作业的指令,并在命令行界面查看进度信息、日志、中间数据和最终的结果数据。组件0004则是提供了一套可配置、控制机器人执行作业的WEB API,此API的设计目标是提高调试工具开发的灵活性和可扩展性,其服务端直接部署在机器人上,兼容Web应用、移动端应用、桌面应用等形式的客户端。
综上所述,组件0003、0004、0001、0002均可发出类似的请求,其用途主要是方便操作人员在本地的操控动作,以及为开发测试人员提供便捷的调试、测试、配置功能。所有的这些操作均为人工、手动进行的。
组件0006、组件0007、组件0008则通过协调配合实现作业请求的自动发起。组件0006“本地配置数据库”包含了所有的配置数据,包括但不限于静态地图、目标位置、作业信息(有多少作业,每个作业包含哪些步骤、每个作业在何时或何条件下触发执行)等,这些数据最终组成了常规巡检计划,送入组件0008。组件0007为机器人与服务端沟通的接口,该接口可以获取保存于服务端的配置数据生成常规巡检计划并送入组件0008,也可接收来自服务端的即时执行巡检任务的请求并送入组件0008。组件 0006、0007、0008是关键的机器人作业发起者,机器人的大部分作业都将由组件0008触发。
组件0008“巡检解析器”的职责是将常规巡检计划和即时巡检请求转换为格式化的作业表示,并进一步地向组件0005请求执行作业。
组件0005“作业调度器”的功能是代理外部请求,并在组件0005内部对外部请求进行缓存、排队、抢占等处理。前述的组件0001、0002、0003、 0004向机器人发送的作业请求都将首先进入组件0005.此外,组件0008“巡检解析器”。
交互层
交互层包括内交互和外交互;外交互的发起方,主要是操作人员、开发测试人员和常规巡检计划、即时巡检请求,他们通过组件0001、组件0002、组件0003、组件0004、组件0008、组件0014等访问核心***。
组件0001是具有丰富功能的Web App形式客户端软件,其进一步通过 HTTP请求来向组件0005发起作业请求或者获取正在执行作业、在排队作业的状态,并接收回调通知。组件0001的具体实现非本案的关注点或保护点。
组件0002包含语音识别***,人员通过语音指令触发并生成作业表示 (请见后文“***的数据流”部分),随后进一步通过HTTP向组件0005 发起作业请求,并接收回调通知。组件0002的具体实现非本案的关注点或保护点。
组件0003是一个命令行工具,组件0004是一个HTTP请求发送-接收工具,其可以是Postman或者curl,他们的功能都和组件0001、0002类似,最终都是生成作业表示并向组件0005发起请求。组件0003、0004的具体实现非本案的关注点或保护点。
组件0008是由常规巡检计划(本案对此未有规范定义,可以将其理解为一组配置)和即时巡检请求(本案对此未有规范定义,可以将其理解为用户从远方所下达的指令)驱动的。组件0007负责从服务端同步与本机器人相关的配置和用户指令。最终,组件0008会接收上述的所有数据,并根据上述数据中包含的配置,在给定的时间向组件0005发送适当的HTTP请求。
内交互参考“***的数据流”部分。
***的数据流
1、“作业-步骤-指令”的表示
作业层是核心***的最上层对外接口,其输入数据即为“作业”实体,如图4所示,作业包含步骤,步骤又包含指令,指令包含了指令类型和指令参数(具体请见“相关的概念”部分)。
组件0001、组件0002、组件0003、组件0004、组件0006等向组件0005 发起作业执行请求时,其携JSON格式数据向同一个URL(该URL请求由组件0005处理)发起HTTP POST请求。该数据格式形如:
{
“id”:“job-1”,//作业的ID,用于唯一地标识一个作业
”steps”:[
{“type”:“到x屏柜采集图像”,“data”:“x=P1”},
{“type”:“到x屏柜采集图像”,“data”:“x=P2”},
{“type”:“到x屏柜采集图像”,“data”:“x=P3”},
{“type”:“返回充电”,“data”:“”},
]
}
上述数据格式将作业拆分为给定的若干步骤(steps),即一旦组件0005 接收到JSON格式的作业请求,则请求所包含的步骤已经被确定。为了保持一定的灵活性,以适应不同现场(不同站点、不同车间等)中机器人内部实体(摄像头、其他传感器等)与外部元素(控制柜、机柜、炉、其他装置等)的映射关系可能有所不同的情况(这会导致同样一个步骤在不同现场将被解读为不同的指令),本方案中将单个步骤解析为若干指令的逻辑将交由编程(组件0012)实现,即通过组件0012结合配置文件来实现上述的可变性。
如前所述,作业的缓存、排队、抢占等机制在组件0005实现,而组件 0009则负责启动作业执行的流程。组件0005只是组件0009的代理,因此组件0009收到的作业表示和组件0005是同样的。
2、“作业”执行进度的回调通知
调用方向组件0005发起作业请求后,前者向后者注册一个WebHook,作业的后续执行状态将会通过WebHook回调调用方。任务的后续执行状态通过如下实体表示:
调用方将会收到数次上述的回调通知,通知中包含了如下信息:
(1)这是关于哪一个作业的通知,这通过job_id字段来表达
(2)作业执行进度、失败、成功等,这主要通过progress表示。正常情况下,progress在[1,99]之间时,调用方应认为其正在执行当中,相应的 msg字段为供人类阅读或日志记录的提示信息;progress==-1表示作业已失败或无法执行,此时msg表示错误提示。progress==0表示作业正在排队,等待执行。progress==100表示作业已成功执行完毕。
3、作业层与服务层之间的数据接口
这些接口包括组件0015、组件0016、组件0017的数据输入格式和响应返回格式。
作业层与服务层之间主要采用ROS平台的Service机制进行连接,这是一种基于TCP网络的远程过程调用,并且这种调用可以是同步的(非异步的)。我们采用同步的调用方式,调用方发起一个调用后,控制流会阻塞直到调用返回,这有助于简化调用方的逻辑。
ROS Service机制允许我们自行定义Service调用的数据接口,请见http://wiki.ros.org/rospy/Overview/Services。
其次,服务层还向外提供若干Topic(请见http://wiki.ros.org/Topics),服务层是Topic的发布者,其并不关注谁订阅了相关的Topic。
组件0015提供建图/导航/避障服务,暴露如下Service接口
(1)“添加Named导航目标点”,其Service Request Messages定义为:
(2)“删除Named导航目标点”,其Service Request Messages定义为:
(3)“前往指定的Named导航目标点”,其Service Request Messages 定义为:
(4)“前往指定的(任意)导航目标点”,其Service Request Messages 定义为:
(5)“保存地图”,其Service Request Messages定义为:
组件0016提供能量管理服务,其提供如下Service:
(1)“去充电”,该接口令机器人前往充电桩位置并停靠、连接、充电,其ServiceRequest Messages定义为:
(2)“去充电(若有必要)”,该接口令机器人自行判断是否需要充电,若是则前往充电桩位置并停靠、连接、充电,其Service Request Messages 定义为:
组件0016还提供如下Topic:
(1)“电池电量”,其Message定义为:
组件0017提供图像视频服务,其提供如下Service:
(1)“通过指定摄像头采集图像”,其Service Request Messages定义为:
(2)“通过指定摄像头推送RTMP视频”,其Service Request Messages 定义为:
(3)“停止推送指定的RTMP视频”,其Service Request Messages定义为:
硬件接口层
硬件接口层的用途主要在于将硬件层进一步封装、隔离,从而当我们将该组件架构运用到不同的机器人平台上时,无需对服务层、作业层以及更高层级的软件组件作任何修改。
硬件接口层包括“控制输出接口”、“路程/距离传感器输入接口”、“泊位充电运动控制”、“电量监测与充电控制”、“USB摄像头操作库”、“ffmpeg 软件”、“其他组件(待扩展)”等。
“控制输出接口”用于将来自上层组件0020的机器人运动速度和角速度指令,解析成电机控制指令,并发送给硬件层的“电机控制器”,两者之间通过UART设备和Modbus协议进行通信。“电机控制器”会根据电机控制指令对电机转速进行最终控制。
“路程/距离传感器输入接口”管理相关的传感器数据,包括光电编码器、激光雷达、超声波传感器、陀螺仪/加速度计、深度摄像头等,这些传感器测量的数据用于为上层组件提供机器人周围环境障碍物信息以及机器人行走路程信息。所有的上述传感器数据传输至“路程/距离传感器输入接口”组件后,将被以另一种标准化的形式(例如,ROS机器人平台所内建的标准形式)再传输至上一层的组件0020。
“泊位充电运动控制”组件的功能是,对机器人进行更精细的运动控制,使得其充电机构最终与充电桩精准对接。其如“控制输出接口”一样,可直接向硬件层的“电机控制器”发送电机控制指令。
“电量监测与充电控制”用于通过硬件层的“电源模块”对电池电量、电压、电流等参数进行监测,以及控制充电电路开关。
“USB摄像头操作库”用于控制USB摄像头采集图像。
“ffmpeg软件”主要用于响应上层请求,向指定的网络位置推送RTMP 视频流。
服务层
服务层是沟通作业层和硬件接口层的桥梁,其与作业层的接口形式是 RPC(远程过程调用)。
组件0015“建图/导航/避障服务”向上层暴露“添加/删除Named导航目标点”“前往指定的Named导航目标点”“前往指定的(任意)导航目标点”“扫描并保存地图”等操作,提供建图和导航服务,并内建避障机制。上述的“Named导航目标点”指的是带有名称的导航目标点,调用方可通过直接指定目标点名称来令机器人前往某个目标点(该目标点的名称和位置是事先设置并绑定的)。
组件0015封装了组件0020。组件0020为ROS(Robot Operation System) 所内置的navigation软件栈(http://wiki.ros.org/navigation),其包含amcl、 move_base等一系列的组件。作业层的组件并不能直接访问组件0020,而只能通过组件0015间接访问,从这种意义上而言,组件0015是组件0020 的一个facade模式实现(https://en.wikipedia.org/wiki/Facade_pattern)。
组件0016“能量管理服务”为上层暴露“去充电”“去充电(若有必要)”等接口,其封装了服务层的“充电桩导航”组件和硬件接口层的“泊位充电运动控制”“电量监测与充电控制”组件。组件0016通过调用上述三个组件的功能而实现其功能。
“充电桩导航”组件负责将机器人导航至充电桩附近的位置,为进一步的泊位充电运动控制做好初步准备。
组件0017“图像视频服务”封装了硬件接口层的“USB摄像头操作库”和“ffmpeg软件”等组件,向上层暴露“通过指定摄像头采集图像”“通过指定摄像头推送RTMP视频”“停止推送指定的RTMP视频”等操作。
作业层
作业层包含了本方案中的核心概念“作业”“步骤”和“指令”,详情请见“相关的概念”部分。
“作业”是机器人所执行的任务的最大粒度表示。
组件0009“作业管理组件”是请求机器人执行一项“作业”的入口。组件0009收到一项作业请求之后,其再请求组件0010“步骤管理组件”根据“作业”配置信息将其拆解为若干个“步骤”,每一个步骤都可以用实体0011a~0011d的其中之一表示。执行“作业”,就被转换为执行若干“步骤”。组件0010得到每一个“步骤”后,其将进一步调用组件0012“指令管理组件”将该步骤分解为若干指令,每一个指令都可以用实体0013a~0013e的其中之一表示。执行一个“步骤”,就被转换为执行若干“指令”。上述步骤按“作业”-“步骤”-“指令”的层次自上而下地执行,最终的结果是一个“作业”将被分解为一系列的“指令”,最终在组件0012中一一被执行。
在本发明实施例中,能够更好的管控智能巡检机器人控制***的复杂性,降低对控制***进行调测、扩展、优化以及跨平台兼容工作的难度。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来作业相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
另外,以上对本发明实施例所提供的一种应用于智能巡检机器人的控制***进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种应用于智能巡检机器人的控制***,其特征在于,所述***包括:
交互层:用于接收外部或者内部产生的控制智能巡检机器人的巡检请求,基于所述巡检请求在作业调度器内生成巡检作业,所述巡检作业包括所巡检请求;
作业层:用于接收所述巡检作业,基于作业管理组件解析所述巡检作业,将所述巡检作业中的巡检请求分解为若干步骤并依次执行;
服务层:用于基于远程过程调用与所述作业层相连接,为所述作业层执行所述巡检作业时提供对应的执行服务;
硬件接口层:用于与服务层相连接,且将硬件进行封装及隔离。
2.根据权利要求1所述的应用于智能巡检机器人的控制***,其特征在于,所述交互层包括:
操作交互模块:用于基于图像用户界面交互或语音交互接收操作用户的控制智能巡检机器人的巡检请求;
测试交互模块:用于基于命令调试工具、WEB API调试工具或者Rviz二次开发的调试工具接收测试用户的控制智能巡检机器人的巡检请求;
巡检交互模块:基于WEB API接口从服务端同步与本智能巡检机器人相关的配置和用户作业,生成控制智能巡检机器人的巡检请求;
作业调度器:用于基于所述控制智能巡检机器人的巡检请求生成巡检作业,所述巡检作业包括所巡检请求。
3.根据权利要求2所述的应用于智能巡检机器人的控制***,其特征在于,所述操作交互模块、所述测试交互模块以及所述巡检交互模块基于HTTP向所述作业调度器发送控制智能巡检机器人的巡检请求。
4.根据权利要求2所述的应用于智能巡检机器人的控制***,其特征在于,所述巡检交互模块包括:
WEB API接口:用于服务端相连接,同步与本智能巡检机器人相关的配置和用户作业,并基于所述控制***的本地配置数据库将将与本智能巡检机器人相关的配置和用户作业划分为常规巡检计划和即时巡检请求;
巡检解析器:用于对常规巡检计划和即时巡检请求进行解析,获取控制智能巡检机器人的巡检请求。
5.根据权利要求1所述的应用于智能巡检机器人的控制***,其特征在于,所述作业层包括:
作业管理组件:用于接收并解析所述巡检作业,将所述巡检作业中的巡检请求分解为若干巡检步骤;
步骤管理组件:用于对每个巡检步骤进行解析,并根据解析结果生成巡检步骤执行指令;
作业管理组件:用于控制所述智能巡检机器人执行每一个步骤执行指令。
6.根据权利要求5所述的应用于智能巡检机器人的控制***,其特征在于,所述巡检作业包括多个巡检步骤,所述巡检步骤包括多个巡检步骤指令;其中,每个巡检步骤和每个巡检步骤指令均为相互独立的。
7.根据权利要求1所述的应用于智能巡检机器人的控制***,其特征在于,所述服务层包括:
服务模块:用于基于远程过程调用与所述作业层的指令管理组件的相应接口相连接或与所述交互层的Rviz二次开发的调试工具相连接;
软件栈模块:用于基于所述服务模块与所述作业层间接连接,以及接收硬件接口层上传的标准化形式的传感器数据。
8.根据权利要求7所述的应用于智能巡检机器人的控制***,其特征在于,所述服务模块包括建图/导航/避障服务、能量管理服务、图像视频服务、日志服务和其他服务;
其中,所述软件栈模块封装在所述建图/导航/避障服务内;所述软件栈模块基于所述建图/导航/避障服务与所述作业层间接连接。
9.根据权利要求1所述的应用于智能巡检机器人的控制***,其特征在于,所述硬件接口层内依次封装有控制输出接口、路程/距离传感器输入接口、泊位充电运动控制、电量监测与充电控制、USB摄像头操作库、ffmpeg软件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910769622.3A CN110587601B (zh) | 2019-08-20 | 2019-08-20 | 一种应用于智能巡检机器人的控制*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910769622.3A CN110587601B (zh) | 2019-08-20 | 2019-08-20 | 一种应用于智能巡检机器人的控制*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110587601A true CN110587601A (zh) | 2019-12-20 |
CN110587601B CN110587601B (zh) | 2021-06-15 |
Family
ID=68854824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910769622.3A Active CN110587601B (zh) | 2019-08-20 | 2019-08-20 | 一种应用于智能巡检机器人的控制*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110587601B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111736539A (zh) * | 2020-02-21 | 2020-10-02 | 北京沃东天骏信息技术有限公司 | 一种监控数据显示方法、装置、***、服务器及存储介质 |
CN112035306A (zh) * | 2020-09-04 | 2020-12-04 | 浙江网商银行股份有限公司 | 调试机器人及调试方法 |
CN112734174A (zh) * | 2020-12-28 | 2021-04-30 | 镇江市高等专科学校 | 水下机器人智能交互和服务*** |
CN114301897A (zh) * | 2022-01-05 | 2022-04-08 | 杭州电泰实业有限公司 | 电网站房自动巡检的方法、***、装置、存储介质 |
CN114723077A (zh) * | 2022-03-04 | 2022-07-08 | 贵州电网有限责任公司 | 一种变电站智能巡检方法及*** |
CN114910070A (zh) * | 2022-03-31 | 2022-08-16 | 江西小马机器人有限公司 | 机器人巡检导航路线的规划方法、装置、计算机设备 |
CN117400243A (zh) * | 2023-10-26 | 2024-01-16 | 南京天创电子技术有限公司 | 一种用于巡检机器人的自主任务编排调度***及方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102593739A (zh) * | 2012-03-27 | 2012-07-18 | 沈阳中兴电力通信有限公司 | 磁导航巡检机器人智能控制*** |
JP5267698B2 (ja) * | 2007-02-22 | 2013-08-21 | 富士通株式会社 | 巡回ロボット及び巡回ロボットの自律走行方法 |
CN103699075A (zh) * | 2013-12-11 | 2014-04-02 | 国家电网公司 | 基于视频监控的变电站巡检智能调度与控制*** |
WO2014090901A1 (en) * | 2012-12-11 | 2014-06-19 | Robotics Inventions Sp.Z O.O. | A system for controlling a robot's collision with an obstacle, a robot equipped with such a system and a method of controlling a robot's collision with an obstacle |
US9649766B2 (en) * | 2015-03-17 | 2017-05-16 | Amazon Technologies, Inc. | Systems and methods to facilitate human/robot interaction |
CN106956264A (zh) * | 2017-05-18 | 2017-07-18 | 科大智能电气技术有限公司 | 一种电力巡检机器人的远程遥控控制*** |
CN108038933A (zh) * | 2017-12-06 | 2018-05-15 | 郑州云海信息技术有限公司 | 一种自动巡检方法和装置 |
CN108416866A (zh) * | 2017-02-09 | 2018-08-17 | ***通信有限公司研究院 | 一种巡检任务处理方法及设备 |
CN108858195A (zh) * | 2018-07-16 | 2018-11-23 | 睿尔曼智能科技(北京)有限公司 | 一种双足机器人的三层分布式控制*** |
-
2019
- 2019-08-20 CN CN201910769622.3A patent/CN110587601B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5267698B2 (ja) * | 2007-02-22 | 2013-08-21 | 富士通株式会社 | 巡回ロボット及び巡回ロボットの自律走行方法 |
CN102593739A (zh) * | 2012-03-27 | 2012-07-18 | 沈阳中兴电力通信有限公司 | 磁导航巡检机器人智能控制*** |
WO2014090901A1 (en) * | 2012-12-11 | 2014-06-19 | Robotics Inventions Sp.Z O.O. | A system for controlling a robot's collision with an obstacle, a robot equipped with such a system and a method of controlling a robot's collision with an obstacle |
CN103699075A (zh) * | 2013-12-11 | 2014-04-02 | 国家电网公司 | 基于视频监控的变电站巡检智能调度与控制*** |
US9649766B2 (en) * | 2015-03-17 | 2017-05-16 | Amazon Technologies, Inc. | Systems and methods to facilitate human/robot interaction |
CN108416866A (zh) * | 2017-02-09 | 2018-08-17 | ***通信有限公司研究院 | 一种巡检任务处理方法及设备 |
CN106956264A (zh) * | 2017-05-18 | 2017-07-18 | 科大智能电气技术有限公司 | 一种电力巡检机器人的远程遥控控制*** |
CN108038933A (zh) * | 2017-12-06 | 2018-05-15 | 郑州云海信息技术有限公司 | 一种自动巡检方法和装置 |
CN108858195A (zh) * | 2018-07-16 | 2018-11-23 | 睿尔曼智能科技(北京)有限公司 | 一种双足机器人的三层分布式控制*** |
Non-Patent Citations (1)
Title |
---|
无: "变电站巡检机器人总体设计方案", 《HTTPS://WWW.DOCIN.COM/TOUCH_NEW/PREVIEW_NEW.DO?ID=1721974437》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111736539A (zh) * | 2020-02-21 | 2020-10-02 | 北京沃东天骏信息技术有限公司 | 一种监控数据显示方法、装置、***、服务器及存储介质 |
CN111736539B (zh) * | 2020-02-21 | 2022-09-06 | 北京沃东天骏信息技术有限公司 | 一种监控数据显示方法、装置、***、服务器及存储介质 |
CN112035306A (zh) * | 2020-09-04 | 2020-12-04 | 浙江网商银行股份有限公司 | 调试机器人及调试方法 |
CN112734174A (zh) * | 2020-12-28 | 2021-04-30 | 镇江市高等专科学校 | 水下机器人智能交互和服务*** |
CN112734174B (zh) * | 2020-12-28 | 2023-10-10 | 镇江市高等专科学校 | 水下机器人智能交互和服务*** |
CN114301897A (zh) * | 2022-01-05 | 2022-04-08 | 杭州电泰实业有限公司 | 电网站房自动巡检的方法、***、装置、存储介质 |
CN114301897B (zh) * | 2022-01-05 | 2024-03-15 | 杭州电泰实业有限公司 | 电网站房自动巡检的方法、***、装置、存储介质 |
CN114723077A (zh) * | 2022-03-04 | 2022-07-08 | 贵州电网有限责任公司 | 一种变电站智能巡检方法及*** |
CN114910070A (zh) * | 2022-03-31 | 2022-08-16 | 江西小马机器人有限公司 | 机器人巡检导航路线的规划方法、装置、计算机设备 |
CN117400243A (zh) * | 2023-10-26 | 2024-01-16 | 南京天创电子技术有限公司 | 一种用于巡检机器人的自主任务编排调度***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110587601B (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110587601B (zh) | 一种应用于智能巡检机器人的控制*** | |
Newman | A systematic approach to learning robot programming with ROS | |
Calisi et al. | OpenRDK: a modular framework for robotic software development | |
CN102571396B (zh) | 一种通讯网络***及通讯设备的巡检子***和巡检方法 | |
CN103593173B (zh) | 一种应用程序的一体化开发***、方法及装置 | |
US9233468B2 (en) | Commanding a mobile robot using glyphs | |
US20120233589A1 (en) | Software development kit for blended services | |
US20120233588A1 (en) | Blended service creation, test, and deployment environment for multiple service endpoints | |
WO2023142062A1 (zh) | 工作流生成方法、***、介质及程序产品 | |
JP2018149669A (ja) | 学習装置及び学習方法 | |
Fritsch et al. | A flexible infrastructure for the development of a robot companion with extensible HRI-capabilities | |
CN114024365B (zh) | 变电站监视***、方法、电子设备和存储介质 | |
Obdržálek | Mobile agents in multi-agent UAV/UGV system | |
Lee | Web applications for robots using rosbridge | |
WO2023142079A1 (zh) | 工作流创建方法、***、介质及程序产品 | |
WO2023164841A1 (zh) | 工作流执行方法、装置、存储介质及程序产品 | |
Ma et al. | Networked robot systems for indoor service enhanced via ROS middleware | |
CN110389886A (zh) | 一种主体应用程序的附加功能测试方法、装置及存储介质 | |
Wang et al. | Robotic reliability engineering: Experience from long-term tritonbot development | |
JP2018149670A (ja) | 学習対象装置及び動作方法 | |
CN114490751A (zh) | 机器人故障的确定方法、装置、设备以及可读存储介质 | |
Kato et al. | Remote control experiment of multiple robots using RSNP unit | |
Rogowski | Remote programming and control of the flexible machining cell | |
Garcia et al. | Containerized edge architecture for manufacturing data analysis in Cyber-Physical Production Systems | |
CN114024366B (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 |