一种基于云计算的slam系统
技术领域
1.本发明涉及机器人感知与云计算技术领域,尤其涉及一种基于云计算的slam系统。
背景技术:2.近年来,移动机器人技术在多个应用领域蓬勃发展,包括工业物流、电商仓储、自动驾驶等。其中,“同步定位与建图(slam)”作为移动机器人的关键技术,通过传感器采集环境的几何或视觉信息,构建环境模型,从而赋予智能体感知环境及定位的能力,为运动控制模块提供关键数据。
3.然而,目前常见slam技术架构只支持运行在单台机器人上,该技术架构存在以下局限:机器人不同任务时,对计算机性能要求变化大;多台机器人形成信息孤岛;多模块耦合度高,灵活度差、难组装等局限。
4.为解决以上问题,经检索,专利文献1(中国专利公开号cn106272423a),公开了一种针对大尺度环境的多机器人协同制图与定位的方法。该方法未利用云计算,且依赖额外视觉传感器辅助。
5.专利文献2(中国专利公开号cn 109725327 a)公开了一种多机构建地图的方法及系统。该方法为一次性构建地图,未涉及持续地图更新功能,未涉及如何将全局地图推送到每个机器人,形成移动机器人稳定应用的闭环,且该方法依赖二维码。
6.专利文献3(中国专利公开号cn 108362294 a)公开了一种应用于自动驾驶的多车协同建图方法。该方法为一次性构建地图,未应用云计算架构,且依赖gps数据。
7.专利文献4(中国专利公开号cn 107491071 a)公开了一种智能多机器人协同测图系统及其方法。该方法为一次性构建地图,未应用云计算架构。
8.综上所述,目前的多机协同建图方法有以下局限:
9.1、依赖除激光雷达外的传感器如视觉、二维码或gps,为多机提供“对齐基准”,成本高。
10.2、所有方法均以一次性地图构建完成为终点,未考虑到地图后处理以及机器人持续运行时,不断更新地图的日常维护。
11.3、未使用云平台,无法隔离多租户的应用服务和数据,无法支持saas产品形态。
技术实现要素:12.本发明的目的是为了解决现有技术中存在的缺点,而提出的一种基于云计算的slam系统。
13.为了实现上述目的,本发明采用了如下技术方案:
14.一种基于云计算的slam系统,包括设置在移动机器人上的控制器ipc、激光雷达及相机,还包括有slam云服务器、网页服务系统、用户客户端系统以及设备端应用系统,所述用户客户端系统包括注册模块、登录模块及注销模块,所述设备端应用系统包括基础服务
系统及rpc系统,所述基础服务系统包括设备建图模块及地图处理模块,所述rpc系统包括服务控制模块与设备状态监测模块,所述网页服务系统包括配置管理模块、地图管理模块、地图下载模块、网页建图模块、合并地图模块及地图后处理模块,所述设备端应用系统通过数据层与网页服务系统连接,所述数据层包括多租户隔离模块、公共数据模块及文件数据模块。
15.优选地,所述注册模块用于用户注册,所述登录模块用于用户登录,所述注销模块用于用户注销。
16.优选地,所述控制器ipc、激光雷达及相机均通过单机slam模块与slam云服务器连接。
17.优选地,所述设备建图模块用于设备端建图运算,所述设备状态监测模块用于对设备运行状态进行监测。
18.优选地,所述多租户隔离模块用于配置用户信息、管理用户地图、记载用户使用记录以及控制可用设备,所述公共数据模块用于存储设备资源信息以及端口占用信息,所述文件数据模块用于配置文件信息以及存储地图文件信息。
19.优选地,所述多租户隔离模块还用于创建topic数据流,所述公共数据模块还用于存储设备资源实时状态信息。
20.本发明具有以下有益效果:
21.1、通过将云和端打通,发挥各自优势,利用云服务器可拓展的强大算力,保证slam地图构建的成功率,降低设备端的硬件成本。
22.2、通过采用云原生的架构和容器技术,对传统slam软件架构进行升级,使其支持多租户模式,从而提升slam云平台的服务能力和使用效率。
附图说明
23.图1为本发明提出的一种基于云计算的slam系统的系统结构框图;
24.图2为本发明中用户客户端系统、网页服务系统、设备端应用系统以及数据层的结构示意图;
25.图3为本发明的使用流程示意图。
具体实施方式
26.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
27.一种基于云计算的slam系统,包括设置在移动机器人上的控制器ipc、激光雷达及相机,还包括有slam云服务器、网页服务系统、用户客户端系统以及设备端应用系统,用户客户端系统包括注册模块、登录模块及注销模块,注册模块用于用户注册,登录模块用于用户登录,注销模块用于用户注销。控制器ipc、激光雷达及相机均通过单机slam模块与slam云服务器连接。本发明在使用时,具体流程逻辑为图3所示。
28.具体的,参照图1-2,移动机器人上搭载的单机slam模块,作为端设备,将传感器数据进行采集、预处理(包括局部建图)、压缩后,上传到云服务器。
29.云服务器收到数据,进行建图运算,并提供多种地图后处理服务,如删除动态点、
拼接地图、修改参数后重新建图、标记区域、地图局部更新等操作;移动机器人从云服务器下载地图,使用该地图进行定位;
30.多台移动机器人上的单机slam模块可以同时接入云服务器中,进行协同建图。若移动机器人上只搭载了激光雷达,无其他传感器,则可以通过雷达特征物如反光板反光柱作为基准,不依赖额外传感器如gps、二维码、相机。
31.机器人使用地图正常定位运行时,仍不断上传新数据包,不断维护更新地图。云服务器支持多租户,提供saas产品形态。
32.设备端应用系统包括基础服务系统及rpc系统,基础服务系统包括设备建图模块及地图处理模块,rpc系统包括服务控制模块与设备状态监测模块,设备建图模块用于设备端建图运算,设备状态监测模块用于对设备运行状态进行监测。网页服务系统包括配置管理模块、地图管理模块、地图下载模块、网页建图模块、合并地图模块及地图后处理模块,设备端应用系统通过数据层与网页服务系统连接,数据层包括多租户隔离模块、公共数据模块及文件数据模块。
33.多租户隔离模块用于配置用户信息、管理用户地图、记载用户使用记录以及控制可用设备,公共数据模块用于存储设备资源信息以及端口占用信息,文件数据模块用于配置文件信息以及存储地图文件信息。多租户隔离模块还用于创建topic数据流,公共数据模块还用于存储设备资源实时状态信息。
34.本发明在具体使用时,移动机器人上的控制器ipc与激光雷达、相机,通过网口或usb口进行连接。ipc运行linux ubuntu操作系统,运行雷达或相机的驱动及slam设备端应用软件。slam设备端应用软件对数据进行预处理及录制,累积一定时间后,调用slam云平台的http接口,将采集到的数据及该设备信息一同上传。
35.slam云平台接收到数据后,更新数据库,并根据客户预先的偏好设置,进行数据处理。若客户选择使用更新地图功能,则slam云平台分配空闲容器,将配置参数和数据拷贝到所分配的容器,开启slam地图处理进程,进行处理。任务完成后,将输出的数据更新数据库,并将容器设置为空闲。
36.移动机器人上的控制器,以一定频率调用slam云平台的http接口,查询当前是否有新地图可使用。若存在新地图,则调用slam云平台的下载地图的http接口,进行下载。下载完成后,使用最新地图进行定位。
37.综上所述,本发明通过将云和端打通,发挥各自优势,利用云服务器可拓展的强大算力,保证slam地图构建的成功率,降低设备端的硬件成本。通过采用云原生的架构和容器技术,对传统slam软件架构进行升级,使其支持多租户模式,从而提升slam云平台的服务能力和使用效率。
38.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。