CN112799396A - Slam控制方法、机器人、服务器、终端及存储介质 - Google Patents
Slam控制方法、机器人、服务器、终端及存储介质 Download PDFInfo
- Publication number
- CN112799396A CN112799396A CN202011567176.7A CN202011567176A CN112799396A CN 112799396 A CN112799396 A CN 112799396A CN 202011567176 A CN202011567176 A CN 202011567176A CN 112799396 A CN112799396 A CN 112799396A
- Authority
- CN
- China
- Prior art keywords
- server
- map information
- navigation data
- terminal
- slam
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000005540 biological transmission Effects 0.000 claims abstract description 23
- 230000003993 interaction Effects 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 abstract description 6
- 238000004590 computer program Methods 0.000 description 35
- 230000006870 function Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
一种SLAM控制方法、机器人、服务器、终端及存储介质,所述方法通过消息队列遥测传输协议将获取的实时地图信息和导航数据发送至服务器,以指示所述服务器将所述地图信息和所述导航数据发送至终端,使得所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。突破了终端在监控SLAM时受距离限制的问题,实现终端在所有环境下实时控制及监控SLAM的运行状态。
Description
技术领域
本申请属于机器人技术领域,尤其涉及一种SLAM控制方法、机器人、服务器、终端及存储介质。
背景技术
目前,在机器人的即时定位与地图构建***(Simultaneous Localization AndMapping,SLAM)的主流技术中,需要终端通过rostopic协议或者rosbridge协议与SLAM交互。其中,终端通过rostopic与SLAM交互过程中,SLAM的地图信息与导航数据需要通过rostopic显示在当前机器人的应用程序上,对于有些不需要显示器的机器人来说无为是增加硬件成本,并需要近距离跟随才可以看到SLAM实时的地图信息与导航数据。而在终端通过rosbridge与SLAM通信的方式中,终端通过连接机器人自带的局域网,将地图信息和导航数据显示在终端,可以省去硬件自带显示屏的弊端,但是机器人的无线覆盖范围有限,实时看到地图信息和导航数据也需要终端放置在距离机器人较近的距离,在一些特殊环境下,例如高温环境下,不利于工作人员通过终端跟随观测。
因此,传统的技术方案中存在终端无法在所有环境下实时控制及监控SLAM的运行状态的问题。
发明内容
本申请的目的在于提供一种SLAM控制方法、机器人、服务器、终端及存储介质,旨在解决传统技术方案中终端无法在所有环境下实时控制及监控SLAM的运行状态的问题。
本申请实施例的第一方面提供了一种SLAM控制方法,应用于机器人,所述机器人配置有SLAM***,所述方法包括:
获取实时的地图信息和导航数据;
将所述地图信息和所述导航数据通过消息队列遥测传输协议发送至服务器,以指示所述服务器将所述地图信息和所述导航数据发送至终端,使得所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
在一可选的实现方式中,在将所述地图信息和所述导航数据通过消息队列遥测传输协议MQTT发送至服务器之前,包括:
在ROS***中创建至少一个用于SLAM***的ROS节点;
在所述ROS节点上创建MQTT客户端,所述MQTT客户端用于与所述服务器进行信息交互,所述服务器中配置有MQTT服务端。
在一可选的实现方式中,所述服务器包括HTTP服务器,所述HTTP服务器接收所述MQTT服务端分发的所述地图信息和所述导航数据,并将所述地图信息和所述导航数据分发至所述终端。
在一可选的实现方式中,所述服务器包括Redis服务器用于存储所述地图信息和所述导航数据。
本申请实施例的第二方面提供了一种SLAM控制方法,应用于服务器,所述方法包括:
接收机器人发送的实时地图信息和导航数据,所述地图信息和所述导航数据由机器人通过消息队列遥测传输协议发送;
将所述地图信息和所述导航数据发送至终端,以指示所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
在一可选的实现方式中,所述服务器包括HTTP服务器;
所述将所述地图信息和所述导航数据发送至终端,包括:
通过所述HTTP服务器将所述地图信息和所述导航数据发送至终端。
在一可选的实现方式中,所述服务器还包括redis服务器;所述redis服务器用于存储所述地图信息和导航数据。
本申请实施例第三方面提供了一种SLAM控制方法,应用于终端,所述方法包括:
接收服务器发送的实时地图信息和导航数据;
根据所述地图信息和所述导航数据确定所述SLAM***的运行状态;所述地图信息为所述服务器接收的机器人通过消息队列遥测传输协议发送的实时地图信息和导航数据。
本申请实施例第四方面提供了一种机器人,所述机器人配置有SLAM***,所述机器人包括:
获取模块,用于获取实时的地图信息和导航数据;
第一发送模块,用于将所述地图信息和所述导航数据通过消息队列遥测传输协议发送至服务器,以指示所述服务器将所述地图信息和所述导航数据发送至终端,使得所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
本申请实施例第五方面提供了一种服务器,所述服务器配置有MQTT服务端,所述服务器还包括:
第二发送模块,用于通过MQTT服务端接收机器人通过MQTT发送的SLAM实时的地图信息和导航数据;
第三发送模块,用于将所述地图信息和所述导航数据发送至终端,以指示所述终端根据所述地图信息和所述导航数据确定所述SLAM的运行状态。
本申请实施例第六方面提供了一种SLAM控制***,包括机器人、服务器及终端;
所述机器人配置有SLAM***,所述机器人用于获取实时的地图信息和导航数据,将所述地图信息和所述导航数据通过消息队列遥测传输协议发送至所述服务器;
所述服务器,用于接收机器人通过消息队列遥测传输协议发送的实时地图信息和导航数据,将所述地图信息和所述导航数据发送至所述终端;
所述终端用于接收服务器发送的实时地图信息和导航数据,根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
本申请实施例第七方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第一方面所述方法的步骤。
本申请实施例第八方面提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第二方面所述方法的步骤。
本申请实施例第九方面提供了一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第三方面所述方法的步骤。
本申请实施例第一方面提供的SLAM控制方法与现有技术相比存在的有益效果是:通过消息队列遥测传输协议将获取的实时地图信息和导航数据发送至服务器,以指示所述服务器将所述地图信息和所述导航数据发送至终端,使得所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。突破了终端在监控SLAM***时受距离限制的问题,实现终端在所有环境下实时控制及监控SLAM***的运行状态。
本申请第二方面至第九方面提供的实施例与本申请第一方面提供的实施例与现有技术相比,存在的有益效果相同,在此不再赘述。
附图说明
图1是本申请第一实施例提供的SLAM控制方法的应用场景图;
图2是本申请第二实施例提供的SLAM控制方法的流程示意图;
图3是本申请第三实施例提供的SLAM控制方法的流程示意图;
图4是本申请第四实施例提供的SLAM控制方法的流程示意图;
图5是本申请第五实施例提供的机器人的示意图;
图6是本申请第六实施例提供的服务器的示意图;
图7是本申请第七实施例提供的终端的示意图;
图8是本申请第八实施例提供的机器人的示意图;
图9是本申请第九实施例提供的服务器的示意图;
图10是本申请第十实施例提供的终端的示意图。
具体实施方式
为了使本申请所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
还应当理解,在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
首先结合图1对本申请实施例提供的SLAM控制方法的应用场景进行示例性的说明。如图1所示,图1是本申请第一实施例提供的SLAM控制方法的应用场景图。由图1可知,本申请实施例提供的SLAM控制方法应用于SLAM控制***100;该SLAM控制***100包括机器人101、服务器102和终端103。其中,机器人101配置有SLAM,机器人101可以获取SLAM实时的地图信息和导航数据,并将所述地图信息和所述导航数据通过MQTT发送至服务器102。
在本申请的实施例中,机器人101可以在ROS***中创建至少一个用于SLAM***的ROS节点;具体地,在机器人的ROS***中,ROS节点是ROS***内部通信的模块,通过rostopic订阅发布消息,SLAM下的子模块都是ROS***的一个ROS节点,新创建的ROS节点可以与ROS***的所有节点进行信息交互。
需要说明的是,ROS是Robot Operating System的简称,是一个适用于机器人的开源操作***。它能够提供操作***应有的服务,例如硬件抽象、底层设备控制、常用函数的实现、进程间消息传递以及管理等。它也能够提供用于获取、编译、编写和跨计算机运行代码所需的工具和库函数。在本申请的实施例中,ROS提供了一种发布-订阅式的通信框架,用于简单、快速地构建分布式计算***。具体地,ROS节点直接可以通过订阅或者发布话题进行通信。
示例性地,机器人101在所述ROS***中创建了用于SLAM***的ROS节点后,在ROS节点上创建MQTT客户端,并通过所述MQTT客户端将所述地图信息和所述导航数据发送至服务器102。其中,所述MQTT客户端用于与所述服务器进行信息交互,所述服务器中配置有MQTT服务端。
服务器102配置有MQTT服务端,用于通过MQTT服务端接收机器人101通过MQTT发送的SLAM实时的地图信息和导航数据,将所述地图信息和所述导航数据发送至终端103。
其中,MQTT是ISO标准下基于发布或订阅式的消息协议。MQTT工作在TCP/IP协议族上,是微硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布或订阅型消息协议。MQTT轻量、简单、开放和易于实现,实用范围非常广泛。
在本申请的实施例中,通过在机器人101上配置MQTT客户端,在服务器102上配置MQTT服务端,可以统筹管理机器人101的ROS***内部与ROS***外部的消息,例如,实现如实发布实时位置,上传地图信息,接收终端请求等。MQTT服务端是发布订阅模式的一种轻量级的消息服务器,在本申请的的实施例中,MQTT服务端负责分发终端的消息。
示例性地,所述服务器102包括HTTP服务器;对应地,所述将所述地图信息和所述导航数据发送至终端,可以包括:通过所述HTTP服务器将所述地图信息和所述导航数据发送至终端。
进一步地,所述服务器还可以包括redis服务器;所述redis服务器用于存储所述MQTT服务端接收的所述地图信息和导航数据。
在本申请的一些实施例中,MQTT服务端可以将数据分发到redis服务器与HTTP服务器,redis服务器负责存储机器人发过来的实时数据(临时数据),HTTP服务器负责终端的请求和数据的存储。
终端103用于接收服务器102发送的实时地图信息和导航数据,根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
需要说明的是,MQTT支持websocket协议与http协议,可以直接把信息分发到浏览器上。在本申请的实施例中,终端103上配置有WEB客户端,终端103上的web客户端可以通过http协议获取服务器102存储的数据,也可以订阅MQTT的话题,接收MQTT的分发数据。比如实现实时监控机器人101的位置,机器人101通过MQTT把地图信息存储到服务器102,终端101的web客户端通过服务器101读取机器人101的地图信息,WEB客户端通过MQTT订阅机器人101发布位置信息的话题,实现web客户端在web界面上显示机器人实时的位置信息。
通过上述分析可知,本申请实施例提供的SLAM控制方法,通过消息队列遥测传输协议将获取的实时地图信息和导航数据发送至服务器;所述服务器将所述地图信息和所述导航数据发送至终端,使得所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。突破了终端在监控SLAM***时受距离限制的问题,实现终端在所有环境下实时控制及监控SLAM***的运行状态。
图2是本申请第二实施例提供的SLAM控制方法的流程示意图。本申请实施例提供的SLAM控制方法可以由机器人的硬件或软件实现,所述机器人上配置有SLAM。详述如下:
S201,获取实时的地图信息和导航数据。
S202,将所述地图信息和所述导航数据通过消息队列遥测传输协议发送至服务器,以指示所述服务器将所述地图信息和所述导航数据发送至终端,使得所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
示例性地,在本申请另一可选的实现方式中,在S202之前,还包括:在所述ROS中创建至少一个用于SLAM***的ROS节点;在所述ROS节点上创建MQTT客户端,所述MQTT客户端用于与所述服务器进行信息交互,所述服务器中配置有MQTT服务端。
通过上述实施例可知,本申请提供的SLAM控制方法,通过消息队列遥测传输协议将获取的实时地图信息和导航数据发送至服务器,以指示所述服务器将所述地图信息和所述导航数据发送至终端,使得所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。突破了终端在监控SLAM***时受距离限制的问题,实现终端在所有环境下实时控制及监控SLAM***的运行状态。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图3是本申请第三实施例提供的SLAM控制方法的流程示意图。本申请实施例提供的SLAM控制方法可以由服务器的硬件或软件实现,所述服务器上配置有MQTT服务端。详述如下:
S301,接收机器人发送的实时地图信息和导航数据。
具体地,所述接收机器人发生的实时地图信息和导航数据,可以包括:通过MQTT服务端接收机器人通过MQTT发送的SLAM实时的地图信息和导航数据。
S302,将所述地图信息和所述导航数据发送至终端,以指示所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
在一可选的实现方式中,所述服务器还配置有http服务端;在S302之前,还包括:通过所述MQTT服务端将所述地图信息和所述导航数据分别发送至HTTP服务器;对应地,S203可以包括:通过所述HTTP服务器将所述地图信息和所述导航数据发送至终端。
在一可选的实现方式中,所述服务器还配置有redis服务器;所述redis服务器用于存储所述MQTT服务端接收的所述地图信息和导航数据。
通过上述分析可知,本申请实施例提供的SLAM控制方法,通过消息队列遥测传输协议将获取的实时地图信息和导航数据发送至服务器;所述服务器将所述地图信息和所述导航数据发送至终端,使得所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。突破了终端在监控SLAM***时受距离限制的问题,实现终端在所有环境下实时控制及监控SLAM***的运行状态。
图4是本申请第四实施例提供的SLAM控制方法的流程示意图。本申请实施例提供的SLAM控制方法可以由终端的硬件或软件实现。详述如下:
S401,接收服务器发送的SLAM的实时地图信息和导航数据。
S402,根据所述地图信息和所述导航数据确定所述SLAM的运行状态;所述地图信息为所述服务器通过MQTT服务端接收的机器人通过MQTT发送的SLAM实时的地图信息和导航数据,所述服务器配置有MQTT服务端。
通过上述分析可知,本申请实施例提供的SLAM控制方法,通过消息队列遥测传输协议将获取的实时地图信息和导航数据发送至服务器;所述服务器将所述地图信息和所述导航数据发送至终端,使得所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。突破了终端在监控SLAM***时受距离限制的问题,实现终端在所有环境下实时控制及监控SLAM***的运行状态。
基于上述实施例所提供的SLAM控制方法,本申请实施例进一步给出实现上述各方法实施例的装置实施例。
如图5所示,图5是本申请第五实施例提供的机器人的示意图。包括的各模块用于执行图2对应的实施例中的各步骤。具体请参阅图2对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。需要说明的是,机器人500上配置有SLAM***;参见图5,所述机器人500还包括:
获取模块501,用于获取实时的地图信息和导航数据;
第一发送模块502,用于将所述地图信息和所述导航数据通过消息队列遥测传输协议发送至服务器,以指示所述服务器将所述地图信息和所述导航数据发送至终端,使得所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
在一可选的实现方式中,所述机器人还包括:
第一创建模块,用于在ROS***中创建至少一个用于SLAM***的ROS节点;
第二创建模块,用于在所述ROS节点上创建MQTT客户端,所述MQTT客户端用于与所述服务器进行信息交互,所述服务器中配置有MQTT服务端。
需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本申请图2所示方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见图2方法实施例部分,此处不再赘述。
图6是本申请第六实施例提供的服务器的示意图。包括的各模块用于执行图3对应的实施例中的各步骤。具体请参阅图3对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。需要说明的是,服务器600上配置有MQTT服务端;参见图6,所述服务器600还包括:
第一接收模块601,用于接收机器人发送的实时地图信息和导航数据;
第二发送模块603,用于将所述地图信息和所述导航数据发送至终端,以指示所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
在一可选的实现方式中,所述服务器包括HTTP服务器;
所述第二发送模块603,具体用于:
通过所述HTTP服务器将所述地图信息和所述导航数据发送至终端。
在一可选的实现方式中,所述服务器还配置有redis服务器;所述redis服务器用于存储所述MQTT服务端接收的所述地图信息和导航数据。
需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本申请图3所示方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见图3方法实施例部分,此处不再赘述。
图7是本申请第七实施例提供的终端的示意图。包括的各模块用于执行图4对应的实施例中的各步骤。具体请参阅图4对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图7,所述终端700包括:
第二接收模块701,用于接收服务器发送的实时地图信息和导航数据;
确定模块702,用于根据所述地图信息和所述导航数据确定所述SLAM***的运行状态;所述地图信息为所述服务器通过MQTT服务端接收的机器人通过MQTT发送的SLAM实时的地图信息和导航数据,所述服务器配置有MQTT服务端。
需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本申请图4所示方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见图4方法实施例部分,此处不再赘述。
图8是本申请第八实施例提供的机器人的示意图。如图8所示,该实施例的机器人8包括:处理器80、存储器81以及存储在所述存储器81中并可在所述处理器80上运行的计算机程序82,例如SLAM控制程序。所述处理器80执行所述计算机程序82时实现上述图2所示方法实施例中的步骤。或者,所述处理器80执行所述计算机程序82时实现上述图5所示实施例中各模块/单元的功能。
示例性的,所述计算机程序82可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器81中,并由所述处理器80执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述机器人8中的执行过程。例如,所述计算机程序82可以被分割成获取模块和第一发送模块(虚拟装置中的模块),各模块具体功能如下:
获取模块,用于获取实时的地图信息和导航数据;
第一发送模块,用于将所述地图信息和所述导航数据通过消息队列遥测传输协议发送至服务器,以指示所述服务器将所述地图信息和所述导航数据发送至终端,使得所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
所述机器人8可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是机器人8的示例,并不构成对机器人8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人8还可以包括输入输出设备、网络接入设备、总线等。
所称处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器81可以是所述机器人8的内部存储单元,例如机器人8的硬盘或内存。所述存储器81也可以是所述机器人8的外部存储设备,例如所述机器人8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述机器人8的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述机器人8所需的其他程序和数据。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
图9是本申请第九实施例提供的服务器的示意图。如图9所示,该实施例的服务器9包括:处理器90、存储器91以及存储在所述存储器91中并可在所述处理器90上运行的计算机程序92,例如SLAM控制程序。所述处理器90执行所述计算机程序92时实现上述图3所示方法实施例中的步骤。或者,所述处理器90执行所述计算机程序92时实现上述图6所示实施例中各模块/单元的功能。
示例性的,所述计算机程序92可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器91中,并由所述处理器90执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序92在所述服务器9中的执行过程。例如,所述计算机程序92可以被分割成第二发送模块和第三发送模块(虚拟装置中的模块),各模块具体功能如下:
第二发送模块,用于接收机器人发送的SLAM实时的地图信息和导航数据;
第三发送模块,用于将所述地图信息和所述导航数据发送至终端,以指示所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
所述服务器9可包括,但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是服务器9的示例,并不构成对服务器9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器9还可以包括输入输出设备、网络接入设备、总线等。
所称处理器90可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器91可以是所述服务器9的内部存储单元,例如服务器9的硬盘或内存。所述存储器91也可以是所述机器人8的外部存储设备,例如所述服务器9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器91还可以既包括所述服务器9的内部存储单元也包括外部存储设备。所述存储器91用于存储所述计算机程序以及所述服务器9所需的其他程序和数据。所述存储器91还可以用于暂时地存储已经输出或者将要输出的数据。
图10是本申请第十实施例提供的终端的示意图。如图10所示,该实施例的终端10包括:处理器1000、存储器1001以及存储在所述存储器1001中并可在所述处理器1000上运行的计算机程序1002,例如SLAM控制程序。所述处理器1000执行所述计算机程序1002时实现上述图4所示方法实施例中的步骤。或者,所述处理器1000执行所述计算机程序1002时实现上述图7所示实施例中各模块/单元的功能。
示例性的,所述计算机程序1002可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器1001中,并由所述处理器1000执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序1002在所述终端10中的执行过程。例如,所述计算机程序1002可以被分割成获取模块和第一发送模块(虚拟装置中的模块),各模块具体功能如下:
接收模块,用于接收服务器发送的实时地图信息和导航数据;
确定模块,用于根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
所述终端10可包括,但不仅限于,处理器1000、存储器1001。本领域技术人员可以理解,图10仅仅是终端10的示例,并不构成对终端10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端10还可以包括输入输出设备、网络接入设备、总线等。
所称处理器1000可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器1001可以是所述终端10的内部存储单元,例如终端10的硬盘或内存。所述存储器1001也可以是所述终端10的外部存储设备,例如所述终端10上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器1001还可以既包括所述终端10的内部存储单元也包括外部存储设备。所述存储器1001用于存储所述计算机程序以及所述终端10所需的其他程序和数据。所述存储器1001还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种SLAM控制方法,其特征在于,应用于机器人,所述机器人配置有SLAM***,所述方法包括:
获取实时的地图信息和导航数据;
将所述地图信息和所述导航数据通过消息队列遥测传输协议发送至服务器,以指示所述服务器将所述地图信息和所述导航数据发送至终端,使得所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
2.如权利要求1所述的方法,其特征在于,在将所述地图信息和所述导航数据通过消息队列遥测传输协议MQTT发送至服务器之前,包括:
在ROS***中创建至少一个用于SLAM***的ROS节点;
在所述ROS节点上创建MQTT客户端,所述MQTT客户端用于与所述服务器进行信息交互,所述服务器中配置有MQTT服务端。
3.如权利要求2所述的方法,其特征在于,所述服务器包括HTTP服务器,所述HTTP服务器接收所述MQTT服务端分发的所述地图信息和所述导航数据,并将所述地图信息和所述导航数据分发至所述终端。
4.如权利要求2所述的方法,其特征在于,所述服务器包括Redis服务器用于存储所述地图信息和所述导航数据。
5.一种SLAM控制方法,其特征在于,应用于服务器,所述方法包括:
接收机器人发送的实时地图信息和导航数据,所述地图信息和所述导航数据由机器人通过消息队列遥测传输协议发送;
将所述地图信息和所述导航数据发送至终端,以指示所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
6.如权利要求5所述的方法,其特征在于,所述服务器包括HTTP服务器;
所述将所述地图信息和所述导航数据发送至终端,包括:
通过所述HTTP服务器将所述地图信息和所述导航数据发送至终端。
7.如权利要求6所述的方法,其特征在于,所述服务器还包括redis服务器;所述redis服务器用于存储所述地图信息和导航数据。
8.一种SLAM控制方法,其特征在于,应用于终端,所述方法包括:
接收服务器发送的实时地图信息和导航数据;
根据所述地图信息和所述导航数据确定所述SLAM***的运行状态;所述地图信息为所述服务器接收的机器人通过消息队列遥测传输协议发送的实时地图信息和导航数据。
9.一种机器人,其特征在于,所述机器人配置有SLAM***,所述机器人包括:
获取模块,用于获取实时的地图信息和导航数据;
第一发送模块,用于将所述地图信息和所述导航数据通过消息队列遥测传输协议发送至服务器,以指示所述服务器将所述地图信息和所述导航数据发送至终端,使得所述终端根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
10.一种SLAM控制***,其特征在于,包括机器人、服务器及终端;
所述机器人配置有SLAM***,所述机器人用于获取实时的地图信息和导航数据,将所述地图信息和所述导航数据通过消息队列遥测传输协议发送至所述服务器;
所述服务器,用于接收机器人通过消息队列遥测传输协议发送的实时地图信息和导航数据,将所述地图信息和所述导航数据发送至所述终端;
所述终端用于接收服务器发送的实时地图信息和导航数据,根据所述地图信息和所述导航数据确定所述SLAM***的运行状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011567176.7A CN112799396A (zh) | 2020-12-25 | 2020-12-25 | Slam控制方法、机器人、服务器、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011567176.7A CN112799396A (zh) | 2020-12-25 | 2020-12-25 | Slam控制方法、机器人、服务器、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112799396A true CN112799396A (zh) | 2021-05-14 |
Family
ID=75805009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011567176.7A Pending CN112799396A (zh) | 2020-12-25 | 2020-12-25 | Slam控制方法、机器人、服务器、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799396A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109269506A (zh) * | 2018-10-31 | 2019-01-25 | 北京猎户星空科技有限公司 | 移动机器人的地图创建方法、装置、机器人及*** |
CN111198978A (zh) * | 2019-12-27 | 2020-05-26 | 深圳市优必选科技股份有限公司 | 信息处理方法、装置、存储介质和智能终端 |
CN111818138A (zh) * | 2020-06-28 | 2020-10-23 | 电子科技大学 | 面向智能车的车云实时数据通信方法 |
CN111866141A (zh) * | 2020-07-21 | 2020-10-30 | 珠海格力电器股份有限公司 | 机器人的监控方法、***、装置、存储介质和处理器 |
-
2020
- 2020-12-25 CN CN202011567176.7A patent/CN112799396A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109269506A (zh) * | 2018-10-31 | 2019-01-25 | 北京猎户星空科技有限公司 | 移动机器人的地图创建方法、装置、机器人及*** |
CN111198978A (zh) * | 2019-12-27 | 2020-05-26 | 深圳市优必选科技股份有限公司 | 信息处理方法、装置、存储介质和智能终端 |
CN111818138A (zh) * | 2020-06-28 | 2020-10-23 | 电子科技大学 | 面向智能车的车云实时数据通信方法 |
CN111866141A (zh) * | 2020-07-21 | 2020-10-30 | 珠海格力电器股份有限公司 | 机器人的监控方法、***、装置、存储介质和处理器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109889551B (zh) | 一种智能硬件接入的物联网云平台的方法 | |
US9781189B2 (en) | Managed device-to-device communication in business computing systems | |
CN109561171B (zh) | 虚拟私有云服务的配置方法和装置 | |
US9288272B2 (en) | System and method for secure real-time cloud services | |
CN109729040B (zh) | 协议的选择的方法、设备以及计算机可读介质 | |
US9100424B1 (en) | System and method for secure real-time cloud services | |
US20190132276A1 (en) | Unified event processing for data/event exchanges with existing systems | |
CN111371898B (zh) | 一种消息监听方法、装置、设备及存储介质 | |
CN112860451A (zh) | 一种基于SaaS的多租户数据处理方法和装置 | |
Hugo et al. | Bridging MQTT and Kafka to support C-ITS: a feasibility study | |
CN105183452A (zh) | 一种用于配电设备监测基于Spring AOP的远程规约服务中间件 | |
CN115562757A (zh) | 数据处理方法、配置中心***、电子设备及存储介质 | |
CN114285793A (zh) | 一种分发方法、装置、设备和存储介质 | |
KR20180031852A (ko) | Mqtt 프로토콜 연동을 위한 어댑터 및 그를 이용한 데이터 교환 시스템 | |
CN109683780A (zh) | 控制移动终端的方法、***和被控终端 | |
CN110572476B (zh) | 一种远程控制方法、装置及设备 | |
CN112202605A (zh) | 服务配置方法、装置、设备及存储介质 | |
CN112799396A (zh) | Slam控制方法、机器人、服务器、终端及存储介质 | |
CN103533071A (zh) | 终端软件的更新方法、装置及*** | |
CN112039749B (zh) | 基于Nodejs的物联网设备管理方法、***和存储介质 | |
KR101740236B1 (ko) | 엠큐티티(mqtt) 및 디디에스(dds) 클라이언트 모듈을 갖는 장치를 위한 원격관리시스템 | |
CN115102992A (zh) | 数据发布方法、装置、电子设备和计算机可读介质 | |
CN114244844A (zh) | 多媒体数据传输方法、终端设备及存储介质 | |
CN112328417A (zh) | 一种嵌入式多程序通讯方法和*** | |
US10078314B2 (en) | Method for providing functions within an industrial automation system, and industrial automation system |
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 |