CN108121221B - 一种机器人命令接口控制系统及方法 - Google Patents
一种机器人命令接口控制系统及方法 Download PDFInfo
- Publication number
- CN108121221B CN108121221B CN201611061743.5A CN201611061743A CN108121221B CN 108121221 B CN108121221 B CN 108121221B CN 201611061743 A CN201611061743 A CN 201611061743A CN 108121221 B CN108121221 B CN 108121221B
- Authority
- CN
- China
- Prior art keywords
- module
- robot
- cli
- command
- interface
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
Abstract
本发明涉及机器人控制技术领域,具体公开一种机器人命令接口控制系统,包括CLI主模块,用于进行命令行显示、命令识别以及与机器人应用模块的进程间通信;CLI接口模块,作为独立线程嵌入在机器人应用模块中,为所述机器人应用模块与CLI主模块的接口;所述CLI主模块通过所述CLI接口模块来进行与所述应用模块的通信,获取所述机器人应用模块的状态信息,并对所述机器人应用模块进行参数配置。本发明具有可实时监测机器人内部系统状态,使用户对对机器人的运行状态更了解,提高用户对机器人的维护效率的有益效果。
Description
技术领域
本发明涉及机器人控制技术领域,特别涉及一种机器人命令接口控制系统及方法。
背景技术
目前的机器人控制系统通常是编译后下发到机器人控制器上执行,执行过程在系统内部,用户和开发者都无法进一步了解内部执行过程和机器人状态。
如果需要增加对机器人运行的监控信息,需要对机器人控制程序修改,重新编译后执行,每个点的调试都要重复这些步骤,这样不仅增加了工作的复杂度同时对系统的稳定性造成较大影响。因此,目前的机器人控制系统,开发者或用户与机器人无法进行实时交互。
发明内容
本发明旨在克服现有机器人与开发者或用户无法进行实时交互的技术缺陷,提供一种机器人命令接口控制系统。
为实现上述目的,本发明采用以下技术方案:
一方面,本发明提供一种机器人命令接口控制系统,包括以下模块:
CLI主模块,用于进行命令行显示、命令识别以及与机器人应用模块的进程间通信;
CLI接口模块,作为独立线程嵌入在机器人应用模块中,为所述机器人应用模块与CLI主模块的接口;
所述CLI主模块通过所述CLI接口模块来进行与所述应用模块的通信,获取所述机器人应用模块的状态信息,并对所述机器人应用模块进行参数配置。
一些实施例中,所述CLI主模块包括命令注册子模块、命令字符串读取子模块、命令解析子模块、进程通信子模块;
命令注册子模块用于实现给交互的命令行字符串注册服务函数;
命令行字符串读取子模块用于实现从终端读取输入的命令行字符串;
命令解析子模块用于实现对输入的命令字符串进行解析,找到之前注册的服务函数;
进程通信子模块用于CLI主模块模块与所述CLI接口模块之间的通信,把所述CLI主模块的服务函数内请求信息发送给所述机器人应用模块,所述机器人应用模块根据所述请求信息执行相应动作或将信息反馈给CLI主模块。
一些实施例中,所述CLI接口模块包括应用模块接口函数注册子模块、进程通信子模块、命令字解析处理子模块及接口函数调用子模块。
一些实施例中,所述应用模块包括多个应用模块进程,所述CLI主模块与所述应用模块进程之间通过Socket通信。
一些实施例中,所述CLI主模块还用于识别用户的输入命令,根据用户的指令,对所述机器人内部模块进行配置和管理。
一些实施例中,所述CLI主模块还用于输出内部应用进行的状态信息。
此外,本发明还公开了一种机器人命令接口控制方法,采用上述机器人命令接口控制系统,获取所述机器人应用模块的状态信息,并对所述机器人应用模块进行参数配置。
本发明的有益效果在于:通过在机器人系统上增加命令行接口技术,可实时监测机器人内部系统状态,并通过命令行接口提供给用户,使用户对机器人的运行状态更了解,并且通过命令行接口可以对机器人内部参数进行调整和配置,提高用户对机器人的维护效率。
附图说明
图1为本发明机器人命令接口控制系统一个实施例的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明的思路为:本发明通过设置两个部分的CLI模块(CLI是Command LineInterface的缩写,即命令行界面),一部分为CLI主模块自身功能,包括命令行显示、命令识别、进程间通信等,另一部分为嵌入到其他应用模块内的CLI接口模块,该部分主要用于应用模块与CLI主模块的接口,可实现开发者或用户与机器人进行实时交互方式,对机器人控制器进行参数配置、运行信息查看和调试。
请参阅图1,为本发明机器人命令接口控制系统一个实施例的结构图,描述了机器人命令行接口实现进程的关系图。其中,图左侧为机器人的应用模块,对应不同的模块进程,右侧围CLI主模块进程。进程间采用Socket接口通信。
本发明的机器人命令接口控制系统包括CLI主模块和CLI接口模块两部分。其中,CLI主模块用于进行命令行显示、命令识别以及与机器人应用模块的进程间通信。CLI接口模块,作为独立线程嵌入在机器人应用模块中,为所述机器人应用模块与CLI主模块的接口。CLI主模块通过CLI接口模块来进行与应用模块的通信,获取机器人应用模块的状态信息,并对所述机器人应用模块进行参数配置。
本实施例中,具体地,CLI主模块软件命令行显示及命令解析软件,满足常用命令的输入和应用模块的状态信息输出功能,实现CLI与其他应用模块的进程间通信协议。CLI主模块包括命令注册子模块、命令字符串读取子模块、命令解析子模块、进程通信子模块。命令注册子模块用于实现给交互的命令行字符串注册服务函数;命令行字符串读取子模块用于实现从终端读取输入的命令行字符串;命令解析子模块用于实现对输入的命令字符串进行解析,找到之前注册的服务函数;进程通信子模块用于CLI主模块模块与CLI接口模块之间的通信,把CLI主模块的服务函数内请求信息发送给机器人应用模块,机器人应用模块根据所述请求信息执行相应动作或将信息反馈给CLI主模块。
CLI接口模块是衔接机器人应用模块和CLI主模块的桥梁,作为一个独立线程嵌入到应用模块的进程中,与应用模块的程序共用地址空间,所以应用模块的数据和函数可以与CLI接口模块线程共享,与CLI主模块通过进程间通信的方式进行数据交互。CLI接口模块包括应用模块接口函数注册子模块、进程通信子模块、命令字解析处理子模块及接口函数调用子模块等。
本实施例中,CLI主模块与机器人的应用模块分属于不同的LINUX系统进程,当CLI主模块需要与其他进程进行数据交换时,就涉及到进程间的通信技术,本实施例中进程通信采用基于Socket的通信方式。由于Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,因此可以用它们来开发TCP/IP网络上的应用程序,同时也适用于同一个系统内不用进程之间的通信。Socket链接建立在客户端和服务器端之间,服务器端负责监听端口,客户端负责发起连接请求。
本发明的CLI主模块还用于识别用户的输入命令,根据用户的指令,对所述机器人内部模块进行配置和管理;同时还用于输出内部应用运行的状态信息。本发明的主CLI模块,对内与机器人的应用模块进行数据交互,对外识别用户的输入命令,根据用户的指令,可对机器人内部模块进行配置和管理,并可对外输出内部应用进程的状态信息,用户通过命令接口即可对机器人进行管理和配置。提高了机器人的维护和管理效率。
本发明通过开发一种机器人命令行接口控制系统,可实现开发者或用户与机器人进行实时交互方式,用于对机器人控制器进行参数配置、运行信息查看和调试等。可以在机器人控制程序内预置监控信息,监控信息默认处于输出关闭状态,可通过命令行接口开启或关闭输出。这样不需要每次对机器人控制系统进行修改,在保障了控制系统稳定性的前提下大大可提高工作效率。
同时,本发明提供采用上述机器人命令接口控制系统实现的一种机器人命令接口的控制方法,获取所述机器人应用模块的状态信息,并对所述机器人应用模块进行参数配置。具体地,对内与机器人的应用模块进行数据交互,对外识别用户的输入命令,根据用户的指令,对机器人内部模块进行配置和管理,并对外输出内部应用进程的状态信息,用户通过命令接口即可对机器人进行管理和配置。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明所提供的一种机器人命令接口控制系统及方法进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种机器人命令接口控制系统,其特征在于,包括以下模块:
CLI主模块,用于进行命令行显示、命令识别以及与机器人应用模块的进程间通信;
CLI接口模块,作为独立线程嵌入在机器人应用模块中,为所述机器人应用模块与CLI主模块的接口;
所述CLI主模块通过所述CLI接口模块来进行与所述应用模块的通信,获取所述机器人应用模块的状态信息,并对所述机器人应用模块进行参数配置;
所述CLI主模块包括命令注册子模块、命令字符串读取子模块、命令解析子模块、进程通信子模块;
命令注册子模块用于实现给交互的命令行字符串注册服务函数;
命令行字符串读取子模块用于实现从终端读取输入的命令行字符串;
命令解析子模块用于实现对输入的命令字符串进行解析,找到之前注册的服务函数;
进程通信子模块用于CLI主模块与所述CLI接口模块之间的通信,把所述CLI主模块的服务函数内请求信息发送给所述机器人应用模块,所述机器人应用模块根据所述请求信息执行相应动作或将信息反馈给CLI主模块。
2.如权利要求1所述的机器人命令接口控制系统,其特征在于,所述CLI接口模块包括应用模块接口函数注册子模块、进程通信子模块、命令字解析处理子模块及接口函数调用子模块。
3.如权利要求1所述的机器人命令接口控制系统,其特征在于,所述应用模块包括多个应用模块进程,所述CLI主模块与所述应用模块进程之间通过Socket通信。
4.如权利要求1所述的机器人命令接口控制系统,其特征在于,所述CLI主模块还用于识别用户的输入命令,根据用户的指令,对所述机器人内部模块进行配置和管理。
5.如权利要求1所述的机器人命令接口控制系统,其特征在于,所述CLI主模块还用于输出内部应用运行的状态信息。
6.一种机器人命令接口控制方法,其特征在于,采用如权利要求1-5任意一项权利要求所述的机器人命令接口控制系统,获取所述机器人应用模块的状态信息,并对所述机器人应用模块进行参数配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611061743.5A CN108121221B (zh) | 2016-11-26 | 2016-11-26 | 一种机器人命令接口控制系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611061743.5A CN108121221B (zh) | 2016-11-26 | 2016-11-26 | 一种机器人命令接口控制系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108121221A CN108121221A (zh) | 2018-06-05 |
CN108121221B true CN108121221B (zh) | 2020-05-01 |
Family
ID=62223707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611061743.5A Active CN108121221B (zh) | 2016-11-26 | 2016-11-26 | 一种机器人命令接口控制系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108121221B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111429030B (zh) * | 2020-04-16 | 2023-08-18 | 蓓安科仪(北京)技术有限公司 | 一种自主移动机器人集成调度系统及集成调度方法 |
CN112306572B (zh) * | 2020-10-29 | 2023-09-12 | 抖音视界有限公司 | 信息处理方法、系统及存储介质 |
CN114338836B (zh) * | 2022-03-15 | 2022-06-17 | 佛山智能装备技术研究院 | 一种基于后台代理的人机命令交互方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135966A (zh) * | 2006-11-24 | 2008-03-05 | 中兴通讯股份有限公司 | 一种基于命令行的图形界面开发方法及系统 |
CN101546264B (zh) * | 2009-04-27 | 2012-08-15 | 成都市华为赛门铁克科技有限公司 | 一种命令行的处理方法、装置和通信系统 |
CN101924656B (zh) * | 2010-08-26 | 2013-11-06 | 北京天融信科技有限公司 | 一种基于动态配置的网络设备cli实现方法和装置 |
CN104898459B (zh) * | 2015-04-13 | 2018-10-23 | 南京阿凡达机器人科技有限公司 | 一种基于命令行接口的机器人测试系统及测试方法 |
CN104899070B (zh) * | 2015-05-19 | 2018-11-02 | 京信通信系统(中国)有限公司 | 设备命令行的实现方法、系统与装置 |
-
2016
- 2016-11-26 CN CN201611061743.5A patent/CN108121221B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108121221A (zh) | 2018-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108121221B (zh) | 一种机器人命令接口控制系统及方法 | |
CN107451147B (zh) | 一种kafka集群动态切换的方法和装置 | |
CN111181943A (zh) | 基于业务中台的服务交互方法、装置、计算机设备及计算机存储介质 | |
CN105704188B (zh) | 应用与服务的部署方法和装置 | |
CN103729292A (zh) | 一种跨主机、跨平台的远程命令调用方法和系统 | |
CN109787864A (zh) | 一种基于Netperf的网络自动测试方法、装置、终端及存储介质 | |
CN112738230B (zh) | 一种自动化网闸测试系统及其工作方法 | |
CN105373734A (zh) | 应用数据的保护方法及装置 | |
CN113672441B (zh) | 对智能设备的测试方法及装置 | |
CN109635561A (zh) | 一种bios和bmc密码设定同步的方法、装置、终端及存储介质 | |
CN105681314A (zh) | 一种云环境安全扫描器及方法 | |
CN104202199A (zh) | 检测接口状态并据接口状态处理接口故障的方法及系统 | |
CN105516337B (zh) | 基于动态加载机制的web站点对接解析方法 | |
CN114328217A (zh) | 应用的测试方法、装置、设备、介质及计算机程序产品 | |
CN108733403A (zh) | 一种bios设置方法和装置 | |
CN107984471A (zh) | 机器人工作状态的确定方法和装置及机器人 | |
CN110187986B (zh) | 一种命令管理方法、系统、装置及计算机可读存储介质 | |
CN103986620A (zh) | 一种基于xml方式的监控项管理方法及系统 | |
CN109254780A (zh) | 一种批量刷新服务器节点固件的方法、装置及受控终端 | |
CN113067739A (zh) | 一种高密度容器网络部署方法及系统 | |
CN104967667A (zh) | 一种基于云服务的软件稳定性测试远程监控系统 | |
CN108089968A (zh) | 一种宿主机监控虚拟机数据库状态的方法 | |
CN104184823A (zh) | 一种自动化任务调度的方法和系统 | |
CN109819064A (zh) | 模块间通信的方法、操作系统模块和会议平板 | |
CN109684138A (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 |